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

