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

Acentuação no X em sistemas Debian 2.x - Parte 1



Olá pessoal,

Inicialmente, sobre a acentuação no X, vou comentar as instruções
abaixo, presentes no endereço:

http://www.infohouse.com.br/usuarios/jclaudio/

Como base das minhas observações, estarei me apoiando nos seguintes
documentos:

Linux Portuguese HOWTO versão 3.3 -
http://linusp.usp.br/~casantos/Portuguese-HOWTO/

Teclado e Acentuação versão 0.2, de Ricardo Yassuo Igarashi -
http://lie-br.conectiva.com.br/~iga/


1. Edite o seu /etc/X11/XF86Config incluindo a seguinte linha:

XkbDisable

logo depois da linha Section ¨Keyboard¨ .

- Bem, com isso, desabilitamos as extensões XKB, fazendo com que o X
utilize as configurações do console. É necessário que, no console,
exista suporte a acentuação. Pessoas que utilizam o teclado ABNT2 devem
utilizar um mapa de teclado apropriado. Consulte as páginas relacionadas
acima.


2. Edite o /usr/X11R6/lib/X11/locale/iso8859-1/Compose:

Procure linhas com as seguintes inscrições:
<dead_cedilla> <C>                     : "\307" Ccedilla
<dead_cedilla> <c>                     : "\347" ccedilla
<dead_diaeresis> <space>               : "\250" diaeresis

Coloque um # antes do inicio de cada uma. Elas ficarão assim:

#<dead_cedilla> <C>                    : "\307" Ccedilla
#<dead_cedilla> <c>                    : "\347" ccedilla
#<dead_diaeresis> <space>              : "\250" diaeresis

e acrescente as linhas:

<dead_acute> <C>                       : "\307" Ccedilla
<dead_acute> <c>                       : "\347" ccedilla
<dead_diaeresis> <space>               : "\042" quotedbl

- Para facilitar o uso dos teclados que não possuem o C-cedilhado, é
conveniente definir uma nova regra de composição, permitindo que o Ç
seja gerado pela sequência 'C. No X, as regras de composição são
colocadas no arquivo Compose, daí a alteração acima. 


3. Agora edite o arquivo /etc/X11/Xsession e acrescente a linha :

xmodmap -e 'keycode 22 = BackSpace'

e salve ele no seu home como .xinitrc

- Como utilizamos Debian, o caminho mais fácil aqui é descomentar a
linha !keycode 22 = BackSpace, presente no arquivo /etc/X11/Xmodmap .
Só isso.

- Quando desabilitamos a extensão XKB, a tecla BackSpace deixa de
funcionar. Por isso, existe a necessidade de efetuarmos a alteração
acima.


4. No Netscape Communicator 4.07(ou +) glibc2, ou libc6, acentua
normalmente. Não tenho conhecimento das outras versões do Communicator.

- Sobre os programas que suportam acentuação, existem 3 tipos:

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. Feito as
devidas alterações, esses programas já aceitam acentuação.

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: precisaremos de alguns truques.
Ex.: StarOffice e Applixware

- Segui as instruções acima e fiz testes com os programas que mais
utilizo. Vejam os resultados:

a) rxvt e xterm - acentuação normal
b) Netscape Communicator versão 4.5 - acentuação normal
c) StarOffice 5.1 - não reconhece a sequência 'c para gerar o c-cedilha
                    crase e acento circunflexo com letras maiúsculas não
                    são aceitos
                    o til não é aceito (minúsculas e/ou maiúsculas)
d) Corel WordPerfect 8 - acentuação normal, porém a sequência 'c não é
                         aceita
e) xedit - não acentua


- Caso você tenha definido o uso de locales (variáveis de ambiente LANG
e LC_ALL), será necessário mais uma alteração. A biblioteca de funções
do X (Xlib) usa a variável LANG para identificar a língua em uso mas até
a versão 3.3.2.3 do sistema XFree86 (nossa Slink está atrasada nesse
sentido, não ?), não era incluída a combinação "pt_BR" . Como resultado,
cada vez que executarmos um aplicativo X com LC_ALL definido como
"pt_BR", ele emitirá a mensagem:

locale `pt_BR' not supported by Xlib; trying `C'

Para incluir o local pt_BR no X11R6.3, é necessário alterar 3 arquivos
existentes no diretório /usr/X11R6/lib/X11/locale . O Linux
Portuguese-HOWTO e a página do Ricardo trazem as instruções a respeito. 

A versão 3.3.3.1 do sistema XFree86 em uso na distribuição Potato já
traz essas alterações. Sorte de vocês que usam a "batata", hein ?

Quem utiliza somente programas I18N, não terá problemas com acentuação.
O problema são os demais programas. 

Vamos comentar outras soluções para a questão.

- Continua em outro mail -

Fernando



Reply to: