[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Acentuação na Debian 2.2 Potato



Carlos Henrique Santos Laviola wrote:
> 
> Estou tendo problemas para configurar acentuação corretamente no X. No
> Netscape a situação é a mais crítica, pois não posso utilizar o til, nem
> o ', nem qualquer outra "dead key" (eu tentei alguns scripts que
> prometem acentuação fácil hehe). Estou com acentos em programas comuns
> no X (como esse, balsa) bem como no console. Alguém tem sugestões?

Olá Carlos e pessoal da lista

Em 30/08/1999, postei aqui na lista 2 mensagens falando de acentuação em
sistemas Debian 2.X . Pois bem, após atualizar meu sistema para a versão
2.2 da Potato, percebi que algumas configurações já não eram mais
necessárias. Acredito que este assunto interesse a várias pessoas, por
isso estarei reproduzindo algumas partes daquelas mensagens com as
devidas alterações:

Existe 3 tipos de programas que suportam acentuação:

a) Programas escritos com suporte a Internacionalização (I18N):
precisamos configurar o X para reconhecer as dead-keys (teclas que,
quando são pressionadas, não geram caracteres porém modificam a tecla
seguinte a ser apertada. Os acentos são dead-keys). Por exemplo: xterm,
aplicativos do KDE e GNOME, aplicativos escritos em Tcl/TK.

b) Programas com suporte próprio a acentuação: a configuração depende do
aplicativo. Ex: Emacs, Lyx.

c) Programas sem suporte a acentuação: precisamos de alguns truques.
Ex.: StarOffice

Falamos acima que os programas I18N somente necessitam que o sistema X
seja configurado para aceitar acentuação. Pois bem, se esse é o
seu caso, a página Xkb-Br , de Ricardo Y. Igarashi, 
<http://lie-br.conectiva.com.br/~iga/> contém instruções e arquivos
necessários para incluir mapas de teclado para o X, com configuração
para dead-keys e teclado ABNT2. O script preparado pelo Ricardo
inclui os arquivos necessários e altera o que for preciso. A partir
daí, o sistema X reconhece o teclado ABNT2 e o US com suporte a 
acentos de uma forma natural. Eu mesmo fiz testes com essa solução e
pude constatar que funciona. Meu sistema era Debian 2.1, com teclado
US101 e a versão do XFree86 era 3.3.2.3 .  Atualmente utilizo sistema
Debian 2.2 e a versão do XFree86 é a 3.3.6 . Esta versão do XFree86 já
possui os mapas de teclado ABNT e US c/ suporte a acentos. Por isso, as
modificações sugeridas pela home page citada já não são necessárias, mas
recomendo uma visita à página para conhecer mais a fundo a questão de
acentuação no X.

Se você, como eu, usa o StarOffice, e quer usar uma solução para os
programas que não aceitam acentuação, vamos falar sobre o patch do
Quinot.

O Linux Portuguese-HOWTO e a página do Ricardo Igarashi falam sobre uma
modificação implementada na biblioteca Xlib pelo francês Thomas Quinot.
Recompilei o sistema XFree86 utilizando o patch citado, substituí o
arquivo da biblioteca e efetuei os testes. Vejam os resultados:

a) rxvt e xterm - acentuação normal

b) Netscape Communicator versão 4.7 - acentuação normal

c) StarOffice 5.1:
- RECONHECE a sequência 'c para gerar o c-cedilha -> para aqueles que
possuem o teclado EUA
- Acentuação normal
                    
d) Corel WordPerfect 8:
- Acentuação normal
- A sequência de teclas 'c é aceita, desde que usemos uma Xlib compilada
com libc5

e) xedit - acentuação normal

Em virtude que somente uma biblioteca do X deve ser modificada, eu criei
os seguintes arquivos:

libX11-XF3.3.2.3-libc5.tar.gz - arquivo libX11.so.6.1, compilado com
                                libc5 p/ sistema XFree86 3.3.2.3
libX11-XF3.3.2.3.tar.gz       - arquivo libX11.so.6.1, compilado com
                                libc6 p/ sistema XFree86 3.3.2.3
libX11-XF3.3.6-libc5.tar.gz   - arquivo libX11.so.6.1, compilado com
                                libc5 p/ sistema XFree86 3.3.6
libX11-XF3.3.6.tar.gz         - arquivo libX11.so.6.1, compilado com
                                libc6 p/ sistema XFree86 3.3.6

Observações:
1) Em todos os arquivos, incluí o patch original
XFree86-3.3.1-dead-keys.diff para aqueles que queiram por si mesmos
construir os pacotes do XFree86 com a alteração.

2) Os usuários da Debian Potato podem observar que os pacotes do
Netscape Navigator e Communicator versão 4.7 são compilados com a libc5
(vejam o arquivo /usr/doc/netscape-base-47/changelog.Debian.gz ). Por
isso, é necessário instalar a biblioteca libX11.so.6.1 nas versões libc5
e libc6 . 

Peço aos usuários que possuem home page para que me contactem, de forma
que eu possa enviar os arquivos e que estes, então, fiquem à disposição
de outros usuários para download. Por favor, não me contactem para envio
dos arquivos para endereços de e-mail particulares. Não poderei
atendê-los. Já peço aos criadores das páginas que divulguem os endereços
de suas páginas, aqui na lista ou em outras, se quiserem, assim que os
tiver disponibilizado.

De posse dos arquivos, siga as instruções abaixo (com o servidor X
desativado): 

1 - Configure a acentuação no console, inclusive os mapas de teclado
adequados ao seu caso (ABNT2 ou US c/acentos). Utilize, se for
necessário, as instruções da página do Ricardo.

2 - Faça as alterações descritas na página do Ricardo para o arquivo
/usr/X11R6/lib/X11/locale/iso8859-1/Compose para que possamos utilizar a
sequência 'c para gerar o c-cedilha, se você utiliza o teclado EUA. Quem
utiliza a Debian Potato não precisa fazer isso, pois a alteração
necessária já foi incorporada a partir da versão 3.3.4 do sistema
XFree86.

3 - Se você definiu os locales, será necessário também alterar os
arquivos correspondentes no X:

/usr/X11R6/lib/X11/locale/compose.dir
/usr/X11R6/lib/X11/locale/locale.alias
/usr/X11R6/lib/X11/locale/locale.dir

Novamente aqui outro aviso: quem utiliza a Potato, não precisa alterar
os arquivos acima.

4 - Tendo obtido o arquivo apropriado para a versão do sistema
XFree86 que estiver utilizando, na versão compilada com libc6,
copie-o para um diretório temporário. Extraia seu conteúdo e mova
o arquivo /usr/X11R6/lib/libX11.so.6.1 para outro diretório para
guardá-lo como backup. Precisa movê-lo, não apenas renomear, para
qualquer diretório cujo nome NÃO esteja contido no arquivo
/etc/ld.so.conf, nem pode movê-lo para /usr/lib e /lib . Depois,
mova o novo arquivo para o lugar do antigo e execute o programa
ldconfig (deve ser feito pelo usuário root).

Exemplo:

cp libX11-XF3.3.2.3.tar.gz /tmp
cd /tmp
tar xvfz libX11-XF3.3.2.3.tar.gz
mkdir /usr/X11R6/oldlib      --> diretório criado para abrigar o
                                 arquivo a ser substituído
mv /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/oldlib
mv libX11.so.6.1 /usr/X11R6/lib
/sbin/ldconfig

5 - Se você utiliza o Corel WordPerfect 8 e deseja que ele reconheça a
sequência 'c para gerar o c-cedilha, ou então se você utiliza os pacotes
do Netscape Navigator e Communicator em sistema Debian Potato será
necessário também efetuar as instruções acima com o arquivo da libX11
compilada com a libc5 . A biblioteca libX11 compilada com libc5 fica
guardada no diretório /usr/lib/libc5-compat/ . 

Exemplo:

cp libX11-XF3.3.2.3-libc5.tar.gz /tmp
cd /tmp
tar xvfz libX11-XF3.3.2.3-libc5.tar.gz
mkdir /usr/lib/oldlib
mv /usr/lib/libc5-compat/libX11.so.6.1 /usr/lib/oldlib/
mv libX11.so.6.1 /usr/lib/libc5-compat/
/sbin/ldconfig

6 - Inclua a linha XkbDisable no arquivo /etc/X11/XF86Config, seção
Keyboard . Antes, porém, salve o arquivo original.

7 - Com a alteração acima, a tecla BackSpace deixa de funcionar como
tal, assumindo a função da tecla Delete. Para resolver isso, edite o
arquivo /etc/X11/Xmodmap e descomente a linha ! keycode 22 = BackSpace
(basta excluir o ponto de exclamação). Salve o arquivo antes de
alterá-lo.

8 - Reinicie o servidor X. Faça os testes.


Uma outra solução é apresentada pelo Carlos A.M. dos Santos em sua
página
<http://www.inf.ufrgs.br/~casantos/Xaw-dead-keys/> mas não a testei.

Qualquer dúvida, estou a disposição para maiores detalhes.
Um abraço a todos

Fernando


Reply to: