home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1999 August
/
PCWorld_1999-08_cd.bin
/
doc
/
HOWTO
/
Portuguese-HOWTO
< prev
next >
Wrap
Text File
|
1999-05-23
|
117KB
|
3,235 lines
Linux Portuguese-HOWTO
Configuraτ⌡es do Linux para a Lφngua Portuguesa
Carlos A. M. dos Santos <casantos@cpmet.ufpel.tche.br>
CPMet/UFPEL -- Pelotas, RS, Brasil
v3.2, 24 May 1999
Este documento pretende ser um guia de referΩncia de configuraτπo do
Linux e seus programas, teclados e fontes de caracteres, permitindo
sua utilizaτπo mais confortßvel por pessoas que falem a Lφngua Por¡
tuguesa.
______________________________________________________________________
═ndice geral
1. Introduτπo
1.1 Finalidades deste HOWTO
1.2 Onde encontrar a versπo mais atual
1.3 Pßgina oficial na WWW
1.4 Como enviar colaboraτ⌡es
2. Informaτ⌡es gerais
2.1 Conjuntos de caracteres
2.2 Modo texto versus Sistema de Janelas X
3. Configuraτπo do console (modo texto)
3.1 Mapas de teclado
3.2 Mapas de traduτπo de tela
3.3 Comandos do pacote KBD
3.4 Carregamento de uma fonte de caracteres
3.4.1 Slackware
3.4.2 Debian
3.4.3 Red Hat
3.4.4 Conectiva Red Hat Linux
3.4.5 S.u.S.E.
3.4.6 Testando a fonte
3.5 Carregando um mapa de teclado
3.5.1 Slackware.
3.5.2 Debian.
3.5.3 Red Hat.
3.5.4 Conectiva Red Hat Linux.
3.5.5 S.u.S.E..
3.5.6 Testando o teclado
3.6 Verificando erros
4. Biblioteca de funτ⌡es libc e aplicativos GNU
4.1 Configurando o suporte internacional
4.2 Problemas com a libc 5
5. Configuraτπo do X
5.1 Configuraτπo do xinit
5.2 Configuraτπo do XDM
5.3 Compose
5.4 Locale
5.5 Geraτπo de mapas com o XKeyCaps
5.6 Contornando os limites do X
5.6.1 Alteraτπo da biblioteca Xlib
5.6.2 Alteraτπo no kernel do Linux
5.6.3 Comparaτπo entre as duas soluτ⌡es
6. Configuraτπo dos vßrios programas
6.1 Aplicativos
6.1.1 Bash (biblioteca GNU readline)
6.1.2 Emacs
6.1.3 flex
6.1.4 Fortune
6.1.5 Ispell
6.1.6 JDK (inclui ICQJava)
6.1.7 Joe
6.1.8 Less
6.1.9 ls
6.1.10 LyX
6.1.11 Man, groff, troff
6.1.12 Midnight Comander (mc)
6.1.13 Minicom
6.1.14 Netscape Communicator
6.1.15 nn
6.1.16 Pine e Pico
6.1.17 tcsh
6.1.18 TeX e LaTeX
6.1.18.1 O pacote Babel
6.1.18.2 Separaτπo silßbica
6.1.18.3 Uso de Font Encoding T1
6.1.18.4 Ediτπo de documentos
6.1.18.5 Teste da configuraτπo do LaTeX
6.1.18.6 Problemas com alguns pacotes do teTeX
6.1.18.7 Lista TeX-BR
6.1.18.8 LaTeX-demo
6.1.19 WordPerfect
6.1.20 Xemacs (antigo lucid emacs)
6.2 Rede local e Internet
6.2.1 FTP (File Transfer Protocol)
6.2.2 Correio eletr⌠nico
7. Ficheiros necessßrios
8. Informaτ⌡es Adicionais
8.1 Fontes de informaτπo sobre Linux em PortuguΩs
8.2 Free Translation Project
8.3 LIE-BR
8.4 Vers⌡es de software testadas
9. Observaτ⌡es finais
9.1 Futuras adiτ⌡es a este documento
9.2 Nota de Direitos de Autor
9.3 Garantia (inexistΩncia de) e nota de responsabilidade
9.4 Agradecimentos
10. Bibliografia comentada
______________________________________________________________________
1. Introduτπo
└ semelhanτa de outras lφnguas faladas na Europa, a Lφngua Portuguesa
tem caracterφsticas especiais, como a utilizaτπo de caracteres
acentuados, que tornam o seu suporte difφcil, pouco intuitivo ou atΘ
mesmo impossφvel, por parte do software utilizado nos nossos
computadores.
Nossa lφngua assume particularidades em cada um dos paφses em que Θ
falada e mesmo dentro de um ·nico paφs como o Brasil, de dimens⌡es
continentais e com influΩncias culturais de muitos outros povos. Este
documento foi originalmente escrito por um portuguΩs, mas agora Θ
mantido por um brasileiro. Hß uma mistura de sotaques que deve se
manter por um bom tempo, pois nπo hß razπo para alterar o texto
original senπo para fazer de adiτ⌡es e correτ⌡es, atΘ por respeito ao
primeiro autor. Termos ``estrangeiros'' desnecessßrios foram
substituφdos por correspondentes da Lφngua Portuguesa, preservando-se
apenas os que jß fazem parte do jargπo da informßtica.
1.1. Finalidades deste HOWTO
Este HOWTO Θ um guia de referΩncia de configuraτπo do sistema
operativo Linux e seus programas, teclados e fontes de caracteres,
permitindo sua utilizaτπo mais confortßvel por pessoas que falem a
Lφngua Portuguesa. Como os programas mais antigos nπo foram desenhados
com suporte a caracteres acentuados ou internacionalizaτπo, αs vezes Θ
preciso usar algum artifφcio que permita contornar o problema, mas o
resultado nem sempre Θ totalmente satisfat≤rio e em alguns casos chega
ser frustrante. As dificuldades encontradas centram-se essencialmente
em torno de quatro pontos:
╖ a introduτπo de caracteres acentuados atravΘs do teclado, como seja
a escrita de jo~ao em vez da sua forma correcta: joπo;
╖ a exibiτπo dos mesmos na tela do computador. O suporte resume-se
normalmente α correcta localizaτπo das teclas, nada mais;
╖ o correto tratamento de convenτ⌡es nacionais de formato de datas,
horas e valores monetßrios;
╖ a exibiτπo de mensagens, tφtulos e demais informaτ⌡es dos programas
em outra lφngua que nπo o InglΩs, que Θ a lφngua original da
maioria desses programas.
Vers⌡es anteriores do Portuguese HOWTO concentravam-se em contornar as
duas primeiras dificuldades mencionadas, de forma a fazer que, dentro
do possφvel, tanto o sistema operativo como os programas nele
utilizados aceitassem os caracteres acentuados e usassem os teclados
com suporte para o PortuguΩs. Embora esse objetivo ainda seja
perseguido, os problemas de teclado e caracteres jß tΩm soluτ⌡es
satisfat≤rias, pelo menos para as aplicaτ⌡es mais usadas. As pr≤ximas
vers⌡es deverπo se dedicar mais aos dois ·ltimos problemas.
O texto contΘm uma jß nπo tπo breve discussπo sobre o tratamento do
teclado e das fontes de caracteres do console pelo Linux, bem como do
suporte a vßrias lφnguas nacionais. O Sistema de Janelas X tambΘm Θ
discutido, fazendo-se uma comparaτπo entre ele e o modo de texto. Por
fim, sπo fornecidas instruτ⌡es para a configuraτπo do sistema
operativo e de diversos aplicativos importantes.
O documento tem se tornado menos slackwariano, incluindo cada vez mais
informaτ⌡es relativas a outras distribuiτ⌡es. Slackware e Caldera
ainda se baseiam na versπo 5 da biblioteca de funτ⌡es do sistema para
Linux (libc), enquanto Debian, Red Hat, TurboLinux, S.u.S.E e Stampede
jß suportam a versπo 6 (que na verdade Θ a glibc versπo 2). Esta nova
versπo da biblioteca estß um passo adiante no suporte a
internacionalizaτπo e localizaτπo. A partir da versπo 3.2 do
Portuguese-HOWTO as particularidades de cada distribuiτπo serπo
destacadas quando houver necessidade. A tentativa de tornar Debian uma
distribuiτπo ``de referΩncia'' a partir da versπo 3.0 do HOWTO
fracassou miseravelmente porque o n·mero de diferenτas entre as
distribuiτ⌡es Θ muito grande.
A intenτπo original de nπo tentar concentrar toda a informaτπo em um
·nico texto, tratando apenas de alguns temas essenciais e fornecendo
referΩncias para outras fontes, tambΘm fracassou. O HOWTO em sua
versπo 3.1 jß alcanτava 38 pßginas impressas em formato A4, o que estß
longe de poder ser chamado de sucinto. As principais raz⌡es para tal
gigantismo sπo a necessidade de discutir diferenτas entre as
distribuiτ⌡es e a necessidade de fornecer informaτ⌡es mais detalhadas
sobre aplicativos.
Excetuando-se aspectos muito especφficos do Linux, como a configuraτπo
do modo texto e do kernel, a maioria das informaτ⌡es contidas neste
documento pode ser aplicada a outros sistemas Unix. Exemplos sπo as
configuraτ⌡es do Sistema de Janelas X e de vßrios aplicativos, que
foram aplicadas em Solaris 2.{5,6,7} e Digital UNIX 3.2. Os mapas de
teclado para terminais X e estaτ⌡es de trabalho Sun foram criados e
sπo usados em mßquinas que rodam Solaris. O documento poderß um dia se
tornar o ``Unix Portuguese HOWTO'', embora no momento nπo se tenha
intenτπo ou meios de fazΩ-lo.
1.2. Onde encontrar a versπo mais atual
Os Linux HOWTO fazem parte do Projeto de Documentaτπo Linux (Linux
Documentation Project -- LDP). Os documentos do LDP sπo mantidos em
servidores da Universidade da Carolina do Norte (UNC) e do Instituto
de Tecnologia de Massachusetts (MIT), nos Estados Unidos da AmΘrica, e
podem ser obtidos via FTP an⌠nimo nos seguintes endereτos:
╖ <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO> (conhecida
anteriormente como sunsite.unc.edu).
╖ <ftp://tsx-11.mit.edu/pub/linux/docs/HOWTO>
Pode-se tambΘm folhear os documentos HOWTO em formato HTML no endereτo
╖ <http://metalab.unc.edu/LDP/HOWTO>
Muitas localidades mantΩm c≤pias desses documentos. Deve-se dar
preferΩncia ao acesso α c≤pia mais pr≤xima, para economizar o precioso
trßfego internacional na Internet e tambΘm evitar a sobrecarga da
mßquina metalab.unc.edu. Uma lista completa dessas localidades pode
ser obtida em
╖ <http://metalab.unc.edu/LDP/mirrors.html>
Eis uma lista dos endereτos recomendados:
Brasil
╖ <http://linusp.usp.br/LDP/>
╖ <http://www.conectiva.com.br/LDP/>
╖ <http://www.opensite.com.br/linux/>
╖ <http://taubate.valley-bbs.com.br/LDP/>
╖ <http://linux.unicamp.br/docs/>
Portugal
╖ <http://gil.di.uminho.pt/mirrors/LDP/>
╖ <http://deneb.cec.pt/LDP/>
╖ <http://ftp.dei.uc.pt/LDP/>
╖ <http://www.sc.uevora.pt/LDP/>
╖ <http://lwp.ualg.pt/docs/LDP/>
╖ <http://linux.global-one.pt/LDP/>
╖ <http://linux.ispgaya.pt/LDP/>
╖ <http://ae.fe.up.pt/LDP/>
Os Linux HOWTO estπo disponφveis em diversos formatos: texto simples,
PostScript, DVI, HTML, RTF e Lyx. O formato original Θ SGML e os
demais sπo gerados usando o SGMLtools (maiores informaτ⌡es em
<http://www.sgmltools.org/>).
1.3. Pßgina oficial na WWW
A pßgina oficial do Linux Portuguese-HOWTO, assim como os diversos
arquivos de configuraτπo do sistema e programas aplicativos
mencionados no texto, podem ser encontrados nos seguintes endereτos:
╖ Brasil: <http://linusp.usp.br/~casantos/>
╖ Portugal: <http://linux.fe.up.pt/howto/>
1.4. Como enviar colaboraτ⌡es
Toda a formataτπo deste HOWTO, incluindo a numeraτπo das seτ⌡es Θ
feita pelo SGMLtools. Por isso, ao enviar sugest⌡es ou correτ⌡es,
mencione os tφtulos das seτ⌡es onde as alteraτ⌡es sugeridas devem
ocorrer e nπo os n·meros. Nunca refira-se a um parßgrafo como sendo
``o terceiro da seτπo 3.1''; cite as palavras inicias do trecho a ser
modificado.
Envie sugest⌡es e correτ⌡es via correio eletr⌠nico em texto simples,
opcionalmente com acentuaτπo no c≤digo ISO-8859-1. Se o texto nπo for
composto em um sistema *NIX, certifique-se de usar a codificaτπo
correta. Todas as mensagens recebidas serπo lidas, mas nem todas
receberπo resposta direta, devido α falta de tempo para tanto.
Nπo envie documentos no formato proprietßrio de processadores de texto
nem em formato HTML (o que infelizmente parece ser o comportamento
normal do Netscape Communicator e do Microsoft Outlook).
Mensagens perguntando como configurar seu modem, placa de vφdeo ou
rede nπo serπo respondidas. Para esse tipo de consulta Θ aconselhßvel
procurar uma lista de discussπo sobre Linux em PortuguΩs ou acompanhar
os grupos de discussπo de Linux na USENET comp.os.linux.*.
``Flames'' terπo o destino costumeiro: /dev/null.
2. Informaτ⌡es gerais
2.1. Conjuntos de caracteres
Um conjunto de caracteres Θ definido de acordo com os sφmbolos
constantes no alfabeto utilizado para escrita em uma ou mais lφnguas.
A Organizaτπo Internacional de Normas (International Standards
Organization - ISO) padronizou atravΘs da norma ISO-8859 vßrios desses
conjuntos, identificados por ISO-8859-x onde o x corresponde a um
determinado alfabeto. O conjunto ISO-8859 utiliza 8 bits para
representar cada caracter, o que permite uma gama de 256 sinais
(valores de zero a 255). Em cada um dos conjuntos, os c≤digos zero a
127 correspondem ao conjunto ASCII (American Standard Code for
Information Interchange) e os c≤digos 160 a 255 sπo usados para
caracteres nacionais.
Para a lφngua portuguesa, recomenda-se o uso do conjunto ISO-8859-1,
que compreende o alfabeto latino e letras acentuadas usadas pelas
lφnguas do oeste da Europa e AmΘrica. Este conjunto de caracteres
tambΘm Θ frequentemente chamado de Latin-1 ou ISO Latin-1.
Um padrπo mais recente Θ o Unicode, definido pela norma ISO-10646, que
permite definir caracteres cuja representaτπo interna no computador
utiliza mais de um byte (ou octeto na nomenclatura ISO). Todas as
vers⌡es mais recentes de sistemas Unix suportam Unicode (ou pelo menos
seus fabricantes alegam suportar).
AlΘm dos caracteres alfanumΘricos e sinais de acentuaτπo, Θ possφvel
tambΘm gerar sinais semigrßficos para desenho de linhas e bordas.
Esses sinais podem aproveitar c≤digos nπo utilizados pelo conjunto
oficial, tornando-os nπo portßveis.
O Linux foi desenhado internamente de modo a facilitar a sua fßcil
configuraτπo e extensπo em tempo de execuτπo, nπo constituindo o
tratamento do teclado e fontes de caracteres excepτπo. Ele possui uma
implementaτπo ``nφvel 1'' do padrπo Unicode. Maiores detalhes podem
ser encontrados nos manuais do Linux, que podem ser lido com os
comandos
man unicode
man utf-8
man iso_8859_1
man ascii
mas antes disso certifique-se de que o man estß configurado correta¡
mente, conforme mostrado na seτπo ``Man, groff, troff''.
2.2. Modo texto versus Sistema de Janelas X
Alguns sistemas operativos, tais como MacOS, Microsoft Windows e NeXT,
possuem interfaces grßficas pr≤prias. No Linux, assim como na maioria
dos sistemas compatφveis com Unix, Θ de uso corrente um ambiente
grßfico criado para ser ``multiplataforma'': o X Window System, que
tambΘm foi projetado para suportar diversos conjuntos de caracteres,
idiomas e formatos de teclado, mas ainda nπo suporta totalmente o
padrπo Unicode e sim uma extensπo do ISO-8859.
A rigor o X Window System nπo Θ uma interface grßfica com o
usußrio, mas a combinaτπo de um protocolo de comunicaτπo com
uma interface com programas aplicativos (API) sobre a qual
se construφram vßrias interfaces grßficas. Tanto o proto¡
colo quanto o Sistema de Janelas definem um conjunto de
mecanismos e nπo polφticas (elementos caracterφsticos da
polφtica de uma Interface Grßfica com o Usußrio sπo menus,
bot⌡es e caixas de dißlogo). O uso do termo ``XWindows'' Θ
incorreto e deve ser evitado, dando-se preferΩncia ao nome
genΘrico ``X''.
Existem muitas semelhanτas entre os dois ambientes. Ambos se baseiam
em padr⌡es internacionais para definiτπo de conjuntos de caracteres.
Tanto no X quanto no console do Linux pode-se definir uma tecla
chamada Compose cujo pressionamento seguido de duas outras gerarß o
caracter correspondente. Assim sendo, o pressionamento da seqⁿΩncia
compose-,-c gerarß um c cedilhado.
O tratamento do console Θ feito diretamente pelo sistema operativo e
aplicaτ⌡es comuns nπo se envolvem com o processamento dos c≤digos de
varredura do teclado, recebendo um caracter ou uma seqⁿΩncia deles ao
ser pressionada cada tecla, de tal sorte que tendo sido corretamente
configurados o teclado e a fonte de caracteres pouco mais se tem a
fazer.
O X possui uma arquitetura muito diferente: tanto o teclado quanto
a(s) tela(s) -- pode haver mais de uma tela -- sπo controlados por uma
aplicaτπo especial chamada servidor X. O pressionamento de uma tecla
gera uma mensagem (chamada de evento) que Θ passada pelo servidor X α
aplicaτπo cliente. Hß um programa muito ·til chamado xev que permite
observar cada evento a ele transmitido. Cliente e servidor se
comunicam via rede usando um conjunto de regras chamado protocolo X e
podem rodar em mßquinas diferentes. A mßquina onde roda o servidor Θ
chamada estaτπo de trabalho ou terminal X e a mßquina onde roda a
aplicaτπo (programa cliente) tambΘm Θ chamada de cliente.
Foge ao escopo deste texto a discussπo mais profunda do tratamento de
eventos no X. Para maiores informaτ⌡es, sugere-se a consulta aos
documentos mencionados na seτπo ``Leituras recomendadas'', mas Θ
importante esclarecer que o evento enviado pelo servidor ao cliente
nπo contΘm o c≤digo numΘrico da tecla, chamado keycode na terminologia
do X. Ao invΘs disso, Θ enviado um sφmbolo, chamado keysymbol ou
keysym, obtido pela consulta a uma tabela de conversπo mantida na
mem≤ria do servidor. Esta tabela pode ser modificada total ou
parcialmente a qualquer momento por meio de requisiτ⌡es definidas no
protocolo X.
Existe um programa chamado xmodmap capaz de ler um arquivo contendo
uma tabela de conversπo keycode-->keysym e enviß-la, tambΘm na forma
de mensagens no protocolo X, ao servidor. ╔ responsabilidade do
cliente e nπo do servidor interpretar o keysym, o que significa que a
aplicaτπo deve saber esperar mais um caracter ao receber uma ``tecla
morta'' para compor uma letra acentuada.
Desde a revisπo 5 do X existe na bibliotaca de funτ⌡es (Xlib) um
mecanismo sofisticado de suporte α geraτπo de caracteres em diversos
c≤digos. A funτπo de tratamento de entrada de texto que jß existia
nas vers⌡es anteriores, chamada XLookupString, entretanto, nπo
processa as seqⁿΩncias de acentos e letras de modo transparente αs
aplicaτ⌡es. Ao invΘs disso foi incluφdo um mΘtodo de composiτπo usando
contextos de entrada (input contexts) por meio das funτ⌡es
XmbLookupString e XwcLookupString, cujo uso Θ responsabilidade da
aplicaτπo -- ou do seu programador, melhor dizendo -- mesmo no caso da
tecla Compose. Isto deve-se so fato de o X Consortium ter chegado α
conclusπo de que o sistema de mapeamento de teclas nπo tratava de
forma satisfat≤ria toda a imensa variedade de lφnguas escritas nas
vßrias partes do mundo. Deste modo, decidiu-se que o ``peso'' relativo
α gestπo do teclado fosse transferido para as aplicaτ⌡es X, o que cria
uma dificuldade quando usamos aquelas mais antigas, que nπo usam o
novo mΘtodo de tratar a entrada.
Por essas raz⌡es Θ normalmente mais difφcil conseguir acrescentar
suporte α geraτπo de caracteres acentuados em aplicativos que rodam
sob o X, principalmente quando nπo se possui o c≤digo fonte.
Aplicativos feitos para rodar apenas em modo texto, tais como vi e
minicom dependerπo totalmente dos recursos do emulador de terminal em
uso quando rodando em uma janela do X. Se for usada uma versπo atual
do xterm ou rxvt o emulador farß o tratamento correto dos acentos.
O francΩs Thomas Quinot, cansado de esperar uma soluτπo melhor para o
problema da acentuaτπo no X, resolveu implementar uma modificaτπo para
a Xlib proposta por AndrΘ D. Balsa, que adiciona suporte α acentuaτπo
direta conforme mostrado na seτπo ``Contornando os limites do X''.
Isso permite usar aplicaτ⌡es como xfig ou xedit sem que seja
necessßrio alterß-las. O truque parece funcionar apenas para
caracteres do c≤digo ISO-8859-1 mas Θ suficiente para o PortuguΩs e
outras lφnguas. Como bem observa Balsa, a longo prazo todos os
programas deverπo ser modificados para usar os novos recursos do X,
mas como a longo prazo estaremos todos mortos a soluτπo de curto prazo
de Quinot torna-se bastante atraente...
3. Configuraτπo do console (modo texto)
O documento de referΩncia sobre a configuraτπo do console do Linux Θ o
Keyboard and Console HOWTO, de Andries Brouwer, que pode ser
encontrado nos reposit≤rios do LDP. Conforme lß descrito, a
configuraτπo da fonte de caracteres e mapa de teclado Θ feita usando o
pacote KBD, encontrado em todas as distribuiτ⌡es de Linux.
3.1. Mapas de teclado
Cada tecla do PC possui um c≤digo numΘrico. Ao pressionarmos uma delas
o processador controlador do teclado envia ao computador esse c≤digo
de varredura, tambΘm conhecido como scancode, junto com um sinal de
que a tecla foi pressionada ou solta. As seqⁿΩncias de eventos sπo
entπo processadas pelo driver de teclado e armazenadas em uma fila de
caracteres que Θ lida pelas aplicaτ⌡es por meio da chamada de funτ⌡es
do sistema operativo.
Um mapa de teclado Θ um arquivo de texto que estabelace as
correspondΩncias entre o scancode de tecla e o caracter (ou seqⁿΩncia
de caracteres) a gerar quando ela for pressionada, chamado keycode.
Por exemplo:
# atribuiτπo da tecla '-' do teclado numΘrico α tecla com c≤digo 74
keycode 74 = KP_Subtract
# atribuiτπo da tecla '4' do teclado numΘrico α tecla com c≤digo 75
keycode 75 = KP_4
# etc...
keycode 76 = KP_5 # tecla 5
keycode 77 = KP_6 # tecla 6
keycode 78 = KP_Add # soma
keycode 79 = KP_1 # tecla 1
keycode 80 = KP_2 # tecla 2
AlΘm das teclas alfabΘticas, numΘricas e de sφmbolos, existem outras
chamadas modificadoras que permitem gerar c≤digos que nπo correspondem
a nenhum sinal grßfico: Shift Control Alt e Meta. Esta ·ltima
normalmente nπo Θ encontrada em teclados de PCs, apenas em estaτ⌡es de
trabalho de fabricantes como Sun, SGI, HP e Digital (eles nπo gostam
de ser chamados de ``DEC''). O editor de texto Emacs usa muito a tecla
Meta.
O arquivo de mapa permite tambΘm especificar teclas especiais chamadas
``teclas mortas'' (deadkeys). Quando pressionadas elas nπo resultam no
aparecimento de um caracter na tela, limitando-se a alterar o
comportamento da tecla pressionada a seguir para que, por exemplo, ao
se digitar um ~ seguida de um a, seja gerado um `π'.
3.2. Mapas de traduτπo de tela
Um mapa de traduτπo de tela permite especificar qual o caracter X a
ser exibido na tela, quando um programa deseja exibir um caracter Y.
Desta forma, poderφamos fazer com que ao escrever o caracter com o
c≤digo do c-cedilhado na tela, fosse na realidade exibido um outro
caracter de c≤digo diferente mas cuja imagem na nossa fonte de
caracteres correspondesse α imagem de um c-cedilhado.
Este mapeamento Θ necessßrio apenas quando queremos usar uma fonte
cujos caracteres nπo possuem c≤digos diretamente correspondentes aos
do conjunto usado no mapa de teclado.
3.3. Comandos do pacote KBD
Loadkeys
Permite carregar um mapa de teclado. Por exemplo, o comando a
seguir carrega o mapa armazenado no arquivo portugal.map.
loadkeys /usr/lib/kbd/keytables/portugal.map
Setfont
Permite o carregamento de uma fonte de caracteres de tela,
possibilitando a alteraτπo das fontes utilizadas em modo de
texto. O comando a seguir, por exemplo, irß carregar uma fonte
com o conjunto Latin-1:
setfont lat1u-16.psf
Showfont
mostra todos os caracteres existentes na fonte que estß
atualmente em uso no console. O X tambΘm tem um comanto chamado
showfont, que serve para mostrar as caracterφsticas de uma
determinada fonte, mas nπo os caracteres em si. Para esta ·ltima
finalidade se usa o comando xfd. Se o programa showfont do
pacote KBD for invocado em um emulador de terminal X, como
xterm, ele gerarß um erro ``GIO_SCRNMAP: Invalid argument'', mas
nπo provocarß nenhum dano.
Mapscr
Permite carregar um mapa de traduτπo de tela. Suponhamos que
exista o arquivo /etc/portugal.trad. Se executarmos o comando
mapscrn /etc/portugal.trad
entπo a partir deste momento as traduτ⌡es lß definidas serπo
usadas.
Loadunimap
Carrega um mapa de traduτπo de Unicode para a fonte de tela. O
mapa padrπo, chamado ``def.uni'' considera que estamos usando a
fonte normal do IBM-PC. Este comando nπo Θ necessßrio quando
usamos uma fonte com caracteres definidos no padrπo Unicode,
pois o programa setfont carrega automaticamente a tabela de
mapeamento adequada. O comando a seguir carregarß o mapa de
traduτπo para as fontes latin-1:
loadunimap lat1
3.4. Carregamento de uma fonte de caracteres
O pacote KBD contΘm dois tipos de fontes com codificaτπo latin-1:
╖ as que jß possuem uma tabela de mapeamento unicode, carregada
automaticamente pelo programa setfont. Estas fontes tΩm nomes
lat1u-*.psf;
╖ as que nπo possuem tabela de mapeamento. Neste caso Θ preciso
carregar uma com o programa loadunimap. Estas tΩm nomes lat1-*.psf
(o ``u'' indica Unicode).
Nas vers⌡es mais novas do KBD os arquivos sπo comprimidos com gzip. ╔
preciso carregar uma fonte que tenha os caractres latinos acentuados
no padrπo ISO 8859-1 e tambΘm os sφmbolos semigrßficos. As fontes de
nome iso01.* nπo possuem esses sφmbolos. A fonte mais recomendada Θ a
lat1u-16.psf.
As vers⌡es mais antigas do pacote KBD mantinham essas fontes no
diret≤rio /usr/lib/kbd/consolefonts, que foi trocado depois da versπo
0.92 por /usr/share/consolefonts. Dependendo da sua distribuiτπo e do
quanto ela esteja atualizada o diret≤rio poderß ser um ou outro.
3.4.1. Slackware
Foi criado o script /etc/rc.d/rc.font, contendo o seguinte:
#!/bin/sh
#
# /etc/rc.d/rc.font
#
# Seleciona uma das fontes de caracteres disponiveis em
# /usr/lib/kbd/consolefonts.
#
setfont lat1u-16.psf
# O comando a seguir Θ totalmente desnecessßrio
# com a fonte lat1u-16.psf.
# loadunimap lat1u
# Remova o comentßrio da linha abaixo se estiver usando uma fonte sem
# tabela de mapeamento de Unicode para tela:
# loadunimap lat1
3.4.2. Debian
Edite o arquivo /etc/kbd/config e coloque uma linha contendo
CONSOLE_FONT=lat1u-16.psf
esse arquivo Θ processado pelo script /etc/rc.boot/kbd. Execute-o para
ativar a nova fonte sem ter que dar ``reboot''. Lembre-se sempre:
Linux nπo Θ Windows!
3.4.3. Red Hat
Edite o arquivo /etc/sysconfig/i18n e veja se contΘm o seguinte:
LANG=pt_BR
LINGUAS=pt_BR
LC_CTYPE=ISO-8859-1
LC_ALL=pt_BR
SYSFONT=lat1u-16
SYSTERM=linux-lat
3.4.4. Conectiva Red Hat Linux
Se vocΩ selecionar a lφngua correta durante a instalaτπo nπo hß nada
mais a fazer. A configuraτπo Θ feita extatamente como do Red Hat.
3.4.5. S.u.S.E.
Edite o arquivo /etc/rc.config e procure uma linha que comeτa com
``FONT='' (linha 64, em minha mßquina com S.u.S.E. verπo 5.6) e
coloque
FONT=lat1u-16.psf
Edite os scripts boot.setup e single contidos no diret≤rio /etc/rc.d.
Procure a linha contendo o comando /usr/bin/loadunimap e remova-a ou
ponha no seu inφcio um ``#'' para deixß-la como comentßrio. Veja
comentßrios sobre este comando na seτπo ``Carregamento de uma fonte de
caracteres''.
3.4.6. Testando a fonte
Experimente algumas teclas como ``,.|!"#$%&/()=?'', etc. e use o
comando showfont para mostrar a fonte em uso.
3.5. Carregando um mapa de teclado
A seguir Θ necessßrio carregar o mapa de teclado adequado. AtΘ a
versπo 0.92 do pacote KBD esses mapas ficavam no diret≤rio
/usr/lib/kbd/keytables passando mais tarde para /usr/share/keytables.
Dependendo da distribuiτπo vocΩ terß um diret≤rio ou outro. Os mapas
para diversos tipos de teclados sπo apresentados mais adiante.
3.5.1. Slackware.
Foi criado o script /etc/rc.d/rc.keyboard, contendo o seguinte:
#!/bin/sh
#
# /etc/rc.d/rc.keyboard
#
# Seleciona um dos mapas de teclado disponφveis no diret≤rio
# /usr/lib/kbd/keytables
#
loadkeys abnt2
e acrescentei as seguintes linhas ao /etc/rc.d/rc.S, imediatamente
antes do tratamento do /etc/rc.d/rc.keyboard:
# Carrega uma fonte de caracteres se existe um script rc.font.
if [ -x /etc/rc.d/rc.font ]; then
/etc/rc.d/rc.font start
fi
# Carrega um mapa de teclado se existe um script rc.keyboard.
if [ -x /etc/rc.d/rc.keyboard ]; then
/etc/rc.d/rc.keyboard start
fi
3.5.2. Debian.
Certifique-se de ter instalado o pacote kbd e depois faτa o seguinte:
╖ copie os arquivos com os mapas de teclado fornecidos (veja a seτπo
``Ficheiros necessßrios'') para o diret≤rio /usr/share/keytables/.
Nπo Θ necessßrio descomprimi-los;
╖ copie o mapa correspondente ao seu teclado para o arquivo
/etc/kbd/default.map.gz.
╖ rode o script /etc/init.d/keymaps.sh.
3.5.3. Red Hat.
Certifique-se de ter instalado o pacote kbd. Copie os arquivos com os
mapas de teclado fornecidos (veja a seτπo ``Ficheiros necessßrios'')
para o diret≤rio /usr/lib/kbd/keytables/ (ou
/usr/lib/kbd/keymaps/i386/qwerty/, a pertir do Red Hat 5.2). Nπo Θ
necessßrio descomprimi-los.
Edite o arquivo /etc/sysconfig/keyboard e coloque o nome do mapa a
usar na varißvel KEYTABLE, como por exemplo
KEYTABLE="abnt2"
3.5.4. Conectiva Red Hat Linux.
O CRHL jß vem com os mapas de teclado para PortuguΩs. Se vocΩ
selecionou o teclado correto durante a instalaτπo, nπo hß mais nada a
fazer. Caso contrßrio, edite o arquivo /etc/sysconfig/keyboard e
coloque
KEYTABLE="nome"
Onde ``nome'' Θ br-abnt2, pt ou us-acentos caso o desenho do seu
teclado seja ABNT-2, portuguΩs ou americano.
3.5.5. S.u.S.E..
Certifique-se de ter instalado o pacote kbd. Copie os arquivos com os
mapas de teclado fornecidos (veja a seτπo ``Ficheiros necessßrios'')
para o diret≤rio /usr/lib/kbd/keytables/. Nπo Θ necessßrio
descomprimi-los.
Descomprima o mapa de teclado adequado, copiando para o arquivo
/etc/default.keytab, usando por exemplo um comando como
zcat /usr/lib/kbd/keytables/pt.map.gz > /etc/default.keytab
3.5.6. Testando o teclado
Experimente pressionar a tecla c-cedilhado (se o teclado nπo tem esta
tecla, digite 'c). Verifique se todas as letras acentuadas, mai·sculas
e min·sculas sπo geradas corretamente e aparecem na tela. Se aparecer
algum caracter estranho verifique se carregou o mapa de teclado e a
fonte de caracteres corretos, pois provavelmente uma dessas operaτ⌡es
foi mal sucedida.
Se ao invΘs de c-cedilha min·sculo aparecer um mai·sculo Θ provßvel
que uma tabela de mapeamento Unicode incorreta esteja a ser carregada.
Este problema ocorrerß na distribuiτπo S.u.S.E. se nπo se fizerem as
alteraτ⌡es nos scripts do sistema mencionadas anteriormente.
3.6. Verificando erros
Mas, e se alguns dos caracteres continuarem a nπo aparecer? Bem, antes
de mais nada verifique se a fonte e o mapa de teclado adequados foram
carregados. Um caso especial Θ quando queremos usar uma fonte que nπo
segue a codificaτπo ISO Latin-1 (Θ o caso da fonte padrπo do console
do PC). Terφamos entπo de convencer a tela a mostrar os caracteres
certos em cada caso.
Poderφamos recorrer ao comando mapscrn. O arquivo com a tabela de
traduτπo teria no entanto de ser criado por n≤s, seguindo um processo
moroso de tentativa e erro atΘ encontrar o caracter cuja imagem
desejßvamos. Ou, de uma forma mais fßcil, poderφamos usar o comando
showfont.
Se usarmos a fonte de caracteres correta, o uso deste ·ltimo comando
serß desnecessßrio. ╔ atΘ recomendßvel que nπo se use tal recurso,
pois embora ele permita criar uma tabela de caracteres
``personalizada'' em um computador, serß difφcil que um documento
acentuado produzido nessa mßquina possa ser lido em outra que nπo
tenha a mesma configuraτπo.
4. Biblioteca de funτ⌡es libc e aplicativos GNU
A biblioteca padrπo de funτ⌡es do Linux suporta Internacionalizaτπo e
Localizaτπo segundo o padrπo POSIX (Portable Operating System
Interface). Trata-se de uma norma estabelecida pelo IEEE (Institute
of Electrical and Electronics Engineers) para intercomunicaτπo entre
diferentes sistemas operativos. Existe tambΘm um padrπo estabelecido
pelo ANSI (American National Standards Institute) para a linguagem de
programaτπo C que permite escrever programas com suporte
internacional.
4.1. Configurando o suporte internacional
Resumidamente, podemos dizer que as funτ⌡es que tratam informaτ⌡es
dependentes da lφngua ou do paφs podem ter seu comportamento
modificado, bastando para tanto estabelecer algumas varißveis de
ambiente. E que funτ⌡es sπo essas? Podemos citar as de formataτπo de
datas, valores monetßrios e mensagens de erro do sistema. Se vocΩ nπo
sabe o que Θ uma varißvel de ambiente, sugiro que leia o manual com o
comando
man environ
O padrπo POSIX permite usar diversas varißveis de configuraτπo, cada
uma delas definindo o tratamento dado a um tipo de informaτπo, a saber
LC_COLLATE
Define regras para comparaτπo entre caracteres no alfabeto
local. Por exemplo, a letra `π' deve ser tratada como idΩntica
ao `a' no PortuguΩs quando ordenamos alfabeticamente.
LC_CTYPE
Define regras para comparaτπo entre caracteres mai·sculos e
min·sculos. Se estivermos trabalhando com o c≤digo ASCII,
sabemos que o c≤digo numΘrico de uma letra min·scula Θ 32 a mais
do que a mai·scula correspondente, mas para uma letra acentuada
esta regra nπo Θ vßlida!
LC_MONETARY
Muda o comportamento das funτ⌡es de formataτπo de valores
monetßrios e permite descobrir, por exemplo, o sφmbolo da moeda
local, ou se usa ponto ou vφrgula como separador de milhares e
de casas decimais.
LC_MESSAGES
Estabelece a lφngua em que as mensagens serπo apresentadas e
como Θ uma resposta afirmativa ou negativa (S/N).
LC_NUMERIC
Estabelece o comportamento das funτ⌡es de leitura/escrita de
valores numΘricos permitindo, por exemplo que usemos a vφrgula
decimal.
LC_TIME
Define a formataτπo de datas e horas.
LC_ALL
Define de uma s≤ vez todas as categorias. Se usarmos LC_ALL, nπo
precisaremos definir nenhuma das outras, a nπo ser que queiramos
um comportamento diferente para aquele φtem especφfico.
LANG
Define de uma s≤ vez todas as categorias, se LC_ALL nπo estiver
definida. TambΘm Θ usada pelo comando man para compor os
caminhos pelos quais ele procurarß as pßginas do manual. Veja as
observaτ⌡es a respeito desta varißvel nas seτ⌡es ``Locale'',
``Locale'' e ``Locale''.
Maiores informaτ⌡es podem ser obtidas no manual do sistema com o
comando
man 7 locale
O `7' no comando anterior Θ necessßrio para evitar confusπo com uma
funτπo hom⌠nima da linguagem Perl. Note que as configuraτ⌡es acima
afetam, em princφpio, apenas as funτ⌡es disponφveis na biblioteca de
funτ⌡es da linguagem C. Na prßtica, todos os programas que rodam em
Linux usam aquela biblioteca, mas o sistema operativo nπo provΩ,
catßlogos de mensagens em diversas lφnguas para todos os programas.
A identificaτπo da lφngua e do local Θ feita por dois c≤digos de duas
letras, separados por um sinal ``_''. Se omitirmos o c≤digo de paφs,
assume-se o paφs padrπo para a lφngua informada, mas deve haver um
catßlogo correspondente. Deste modo, o c≤digo ``pt_PT'' significa
PortuguΩs de Portugal, enquanto ``pt_BR'' significa PortuguΩs do
Brasil. Escolher uma combinaτπo lφngua/local basta entπo colocar em
seu arquivo /etc/profile uma linha contendo
LC_ALL="pt_PT"
export LC_ALL
Usußrios brasileiros devem usar ``pt_BR'' ao invΘs de ``pt_PT''. Teste
o resultado com os comandos a seguir (/inexistente Θ o nome de um
arquivo que nπo existe):
echo ┴╔═╙┌ | tr '[:upper:]' '[:lower:]'
tar tf /inexistente
ls -l /
date
cal 1 1999
O resultado do primeiro deverß ser ``ßΘφ≤·''. Os comandos tar e ls
devem retornar mensagens em PortuguΩs e cal deve mostrar um calendßrio
de janeiro de 1999, com do se te qu qu se sß no cabeτalho dos dias da
semana.
Na distribuiτπo Debian, certifique-se de ter instalado o pacote
``locales'', que pertence ao grupo ``admin''. O nome do arquivo que
contΘm o pacote (na versπo 2.0 da distribuiτπo) Θ locales_2.0.7t-1.deb
e em meu CD estß no diret≤rio debian/main/binary-i386/admin.
4.2. Problemas com a libc 5
AtΘ meados de 1997 todas as distribuiτ⌡es de Linux usavam a mesma
biblioteca libc, que estava na versπo 5, desenvolvida a partir de uma
versπo mais antiga da libc do projeto GNU. Esta biblioteca possuia
suporte muito limitado α internacionalizaτπo e normalmente nenhum dos
catßlogos de locais era incluφdo na distribuiτπo, ficando o inglΩs
como lφngua padrπo.
A versπo 6 da libc do Linux baseia-se na versπo 2 da libc do projeto
GNU. O suporte α internacionalizaτπo foi muito melhorado, alΘm de
incluir outros atributos que nπo interessam para os fins deste HOWTO.
Se sua distribuiτπo for a Debian versπo 2, Red Hat versπo 5 ou
qualquer outra que use a nova libc, entπo nπo hß mais nada a fazer
alΘm do descrito na seτπo anterior.
Mas se vocΩ usa uma distribuiτπo ainda baseada na libc 5 (Slackware,
Caldera 1.x ou uma versπo mais antiga de Debian ou Red Hat) Θ preciso
instalar a coleτπo de locais. Nπo tente copiar a coleτπo de uma
distribuiτπo mais recente, pois os formatos dos arquivos sπo
incompatφveis. Pegue na pßgina do Portuguese HOWTO o arquivo locales-
pt.tgz. Para instalß-lo na distribuiτπo Slackware, basta (como usußrio
root) usar o comando
installpkg locales-pt.tgz
e para outras distribuiτ⌡es use o comando
tar xzf locales-pt.tgz -C /
Verifique se hß dois subdiret≤rios do /usr/share/locale chamados pt_BR
e pt_PT. Basta entπo configurar a varißvel de ambiente LC_ALL, como jß
descrito.
5. Configuraτπo do X
Quando o servidor X estß ativo, ele coloca o teclado do computador em
um modo de operaτπo chamado raw (cru), em oposiτπo ao modo normal,
chamado cooked (isto mesmo: cozido). No modo raw o sistema operativo
nπo processa seqⁿΩncias acento-letra. O servidor X Θ uma daquelas
raras aplicaτ⌡es que, por dever de ofφcio, tem que tratar o teclado
``em baixo nφvel''.
O X vem equipado com um utilitßrio destinado α configuraτπo do
teclado, chamado xmodmap, que cumpre uma funτπo correspondente α do
comando loadkeys, ou seja, lΩ um arquivo de mapa de teclado do X,
expecificando as equivalΩncias entre os keycodes e respectivos
keysymbols.
Eis um excerto deste arquivo:
keycode 47 = ccedilla Ccedilla dead_acute dead_doubleacute
keycode 48 = masculine ordfeminine dead_circumflex dead_caron
keycode 49 = backslash bar notsign
keycode 50 = Shift_L
keycode 51 = dead_tilde dead_circumflex dead_grave dead_breve
Observem que, ao contrßrio do loadkeys, o xmodmap nπo possui um
diret≤rio padrπo onde o arquivo Θ procurado.
A configuraτπo do X nπo interfere de forma alguma com a configuraτπo
do modo de texto. De facto, Θ possφvel ter o seu X bem configurado, e
no entanto nπo ter realizado qualquer tipo de configuraτπo ao modo de
texto, e vice-versa. Outro ponto importante de se observar Θ que os
c≤digos numΘricos das teclas no X nπo correspondem aos do console. A
tecla Backspace, por exemplo, tem o n·mero 14 no console, e 22 no X
(em um computador do tipo IBM-PC).
As vers⌡es 3.2 e posteriores do XFree86 permitam definir dead-keys,
mas o seu tratamento Θ responsabilidade da aplicaτπo, conforme visto
na seτπo ``Modo texto versus Sistema de Janelas X''. Hß modos de
contornar esta limitaτπo e tornar o tratamento de dead-keys
transparente αs aplicaτ⌡es, conforme mostrado na seτπo ``Contornando
os limites do X''.
Dividimos a configuraτπo em duas partes: Uma que deve ser feita antes
do login do usußrio e outra depois.
5.1. Configuraτπo do xinit
Junto com este documento sπo fornecidos vßrios mapas de teclado para
uso no X. Para automatizar o processo de configuraτπo do teclado basta
copiar o arquivo adequado para o diret≤rio /usr/X11R6/lib/X11/xinit,
onde normalmente ficam os arquivos de inφcio da seτπo de trabalho no
X. Na distribuiτπo Slackware esse diret≤rio Θ um link simb≤lico para
/var/X11R6/lib/xinit e na Debian e na Red Hat para /etc/X11/xinit.
Nas distribuiτ⌡es Slackware e Red Hat, verifique se no referido
diret≤rio existe um arquivo chamado .Xmodmap. Se existir, copie o
Xmodmap.<alguma-coisa> para ele, ou faτa um link. Normalmente o
arquivo de configuraτπo xinitrc possui os comandos para carregß-lo
automaticamente. Veja o seguinte trecho:
#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
Na distribuiτπo Debian o mapa de teclado padrπo do X Θ
/etc/X11/Xmodmap, basta copiar o mapa desejado para aquele arquivo.
Ele serß carregado pelo xinitrc, que por sua vez Θ um link simb≤lico
para /etc/X11/Xsession, sempre que iniciar a seτπo de trabalho do
usußrio.
5.2. Configuraτπo do XDM
Existe ainda um pequeno problema: no meu computador, por exemplo, o
sistema carrega diretamente o X ao dar boot e o login Θ feito pelo X
Display Manager (xdm). Como o xdm faz o login antes de iniciar a seτπo
de trabalho, o mapa de teclado nπo serß carregado, o que pode criar
problemas se o usußrio usa caracteres como ``['' ou ``]'' em sua
senha, pois nos teclados ABNT-2 e portuguΩs esses sφmbolos sπo gerados
por teclas cujos c≤digos numΘricos nπo sπo os mesmos do teclado
americano.
╔ preciso fazer uma pequena alteraτπo no arquivo de configuraτπo
Xsetup_0. Esse arquivo deve estar no diret≤rio
/usr/X11R6/lib/X11/xdm, que na Slackware Θ um link simb≤lico para
/var/X11R6/lib/xdm e /etc/X11/xdm na Debian e -- sujeito a confirmaτπo
-- RedHat. Eis o conte·do completo desse arquivo:
#!/bin/sh
#
# /usr/X11R6/lib/X11/xdm/Xsetup_0
#
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -r $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -r $sysmodmap ]; then
xmodmap $sysmodmap
fi
xconsole -geometry 480x130-0-0 -daemon -notify -verbose -exitOnFail
A distribuiτπo Debian tem um Xsetup_0 um pouco diferente, em
/etc/X11/xdm/Xsetup_0, mas basta acrescentar-lhe o seguinte:
sysmodmap=/etc/X11/Xmodmap
sysresources=/etc/X11/Xresources
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
Se no seu computador o login do usußrio tambΘm for feito sempre via
xdm, nπo Θ necessßrio mexer no xinitrc, como mostrado na seτπo
anterior, jß que o mapa de teclado serß carregado antes do inφcio na
seτπo do usußrio.
5.3. Compose
Uma das coisas mais importantes a definir quando vamos utilizar
acentuaτπo por meio de dead-keys Θ o conjunto de regras de composiτπo.
Essas regras determinam, por exemplo que a composiτπo do caracter
' com a letra e gerarß um Θ.
Ao contrßrio do console, no qual podemos definir as regras de
composiτπo no pr≤prio mapa de teclado, no X essas regras sπo colocadas
no arquivo /usr/X11R6/lib/X11/locale/???/Compose, onde ??? Θ a
codificaτπo em uso (no nosso caso, iso8859-1).
Para facilitar o uso dos mapas para teclados que nπo tΩm o c-
cedilhado, como o US+ (veja adiante) Θ conveniente definirmos uma nova
regra de composiτπo, permitindo que o ╟ seja gerado pela seqⁿΩncia 'C.
Se nπo fizermos isso, seremos obrigados a digitar <dead_cedilla-C>,
sedo o dead_cedilla produzido pela combinaτπo AltGR-=, o que nπo Θ
nada confortßvel. AlΘm disso, no teclado americano somos obrigados a
usar as aspas duplas para gerar o trema.
O arquivo Compose fornecido foi feito procurando imitar ao mßximo o
comportamento do console e possui as seguintes facilidades para
geraτπo de caracteres:
╖ C-cedilha: tecla ╟ ou seqⁿΩncia <acento-agudo>-C
╖ Ap≤strofo: tecla ' ou seqⁿΩncias <acento-agudo>-<acento-agudo> e
<acento-agudo>-<espaτo>
╖ Acento grave: seqⁿΩncias <acento-grave>-<acento-grave> e <acento-
grave>-<espaτo>
╖ Aspas: tecla " ou seqⁿΩncia <trema>-<trema>
╖ Trema: seqⁿΩncia <trema>-<espaτo>
╖ Til: seqⁿΩncias <til>-<espaτo> e <til>-<til>
╖ Circumflexo: seqⁿΩncias <circumflexo>-<espaτo> e
<circumflexo>-<circumflexo>
Para incluirmos as novas regras, basta aplicar uma alteraτπo α
definiτπo original. O arquivo Compose.patch pode ser obtido via WWW na
pßgina do Portuguese HOWTO. Para aplicar a atualizaτπo, copie-o para o
diret≤rio /usr/X11R6/lib/X11/locale/iso8859-1/, faτa uma c≤pia de
reserva do Compose original e invoque o utilitßrio patch:
cp -p Compose Compose.backup
patch < Compose.patch
Caso vocΩ prefira nπo aplicar o ``patch'', um arquivo Compose pronto
tambΘm Θ fornecido. Lembre-se de fazer c≤pia do original antes de
substituφ-lo!
5.4. Locale
Para os usußrios brasileiros, pode haver mais uma alteraτπo a fazer no
X. Conforme vimos na seτπo ``Biblioteca libc'', uma varißvel de
ambiente (LANG ou LC_ALL) configura o suporte internacional existente
na biblioteca de funτ⌡es padrπo do sistema (libc). A biblioteca de
funτ⌡es do X (Xlib) usa a varißvel LANG para identificar a lφngua em
uso mas atΘ a revisπo 6.3, na qual Θ baseado o XFree86, nπo era
incluφda a combinaτπo ``pt_BR'', correspondente a PortuguΩs/Brasil.
Como resultado, cada vez que executarmos um aplicativo X com LC_ALL
definido como ``pt_BR'' ele emitirß a mensagem ``Warning: locale not
supported by Xlib, locale set to C''.
Para incluir o local pt_BR no X11R6.3 basta alterar trΩs arquivos
existentes no diret≤rio /usr/X11R6/lib/X11/locale. Pegue o arquivo
Xlocale.patch via WWW na pßgina do Portuguese HOWTO. Para aplicar a
atualizaτπo, copie-o para o diret≤rio /usr/X11R6/lib/X11/locale, faτa
uma c≤pia de reserva dos arquivos a serem alterados e invoque o
utilitßrio patch:
cp -p compose.dir compose.dir.backup
cp -p locale.alias locale.alias.backup
cp -p locale.dir locale.dir.backup
patch < Xlocale.patch
Caso vocΩ prefira nπo aplicar o ``patch'', arquivos prontos tambΘm sπo
fornecidos. Lembre-se de fazer c≤pias dos originais antes de
substituφ-los!
Em setembro de 1998 o fix-2 da revisπo 6.4 do X Window System incluiu
oficialmente o suporte ao local pt_BR. Infelizmente neste mesmo fix-2
foi introduzida uma falha em uma das funτ⌡es de tratamento de input
contexts da Xlib que provoca violaτ⌡es de acesso α mem≤ria. Uma das
aplicaτ⌡es afetadas Θ o processador de textos LyX. Uma correτπo
provavelmente serß incluφda no fix-4. O X11R6.4 deverß ser a base para
a versπo 4 do XFree86.
5.5. Geraτπo de mapas com o XKeyCaps
O programa XKeyCaps, criado por Jamie Zawinski Θ uma interface grßfica
para o xmodmap, que mostra na tela o desenho de um teclado e permite
modificar interativamente os sφmbolos gerados por cada tecla e gerar
automaticamente o arquivo .Xmodmap correspondente.
Ele pode ser obtido via WWW em <http://www.jwz.org/xkeycaps/> e, a
partir da versπo 2.43, jß incoropra tambΘm suporte para o desenho
brasileiro (ABNT2), uma contribuiτπo de Andre Gerhard.
5.6. Contornando os limites do X
Conforme foi explicado na seτπo ``Modo texto versus Sistema de Janelas
X'', o tratamento de acentos deve ser feito pela aplicaτπo, mas ainda
hß muitos programas que nπo levam isto em consideraτπo, tais como
Netscape Navigator/Communicator e Nedit. Como nπo Θ possφvel modificar
muitos deles, Θ preciso encontrar outro tipo de soluτπo.
5.6.1. Alteraτπo da biblioteca Xlib
Linux, assim como a maioria dos sistemas operacionais modernos, usa um
sistema de vφnculo de programas a bibliotecas de funτ⌡es chamado
``ligaτπo dinΓmica'' (dynamic binding). Deste modo, podemos modificar
o comportamento de um programa alterando uma dessas bibliotecas.
Maiores informaτ⌡es sobre este tema pode ser obtida nos manuais do
Linux com os comandos
man ld.so
man ldconfig
man ldd
man dlopen
Thomas Quinot criou uma alteraτπo para a biblioteca de funτ⌡es do X
(Xlib) introduzindo o tratamento de acentos na funτπo XLookupString,
Tudo que se tem a fazer Θ substituir o arquivo contendo esta bib¡
lioteca por outro, que pode ser obtido via internet no endereτo
<http://web.fdn.fr/~tquinot/dead-keys.en.html>
Existem duas vers⌡es do arquivo, uma para sistemas onde as bibliotecas
do X suportam o uso seguro de threads (Debian 2.x, Red Hat 5.x, etc.)
e outra para os sistemas que nπo possuem tal atributo (Slackware,
Caldera 1.x). Se vocΩ nπo sabe o que sπo threads nπo se preocupe com
isso, mas saiba que eles permitem criar um programa capaz de se
dividir em sub-processos que rodam concorrentemente em um computador.
Para analisar sua Xlib rode o seguinte comando:
nm --dynamic /usr/X11R6/lib/libXext.so.6|grep _Xglobal_lock
Se aparecer ``U _Xglobal_lock'' seu sistema suporta threads e o
arquivo a obter Θ libX11-XF3.3.1-TS.tar.gz. Se nπo aparecer, seu
sistema nπo suporta threads e o arquivo a obter Θ
libX11-XF3.3.1.tar.gz. Tendo obtido o arquivo, copie-o para um
diret≤rio temporßrio e extraia seu conte·do. Mova o arquivo
/usr/X11R6/libX11.so.6.1 para outro diret≤rio, para preservß-lo. Nπo Θ
suficiente renomeß-lo! Remova-o para um diret≤rio cujo nome nπo esteja
contido no arquivo /etc/ld.so.conf. Depois, mova o novo arquivo para o
lugar do antigo e rode o programa ldconfig (isto deve ser feito pelo
usußrio root):
cp libX11-XF3.3.1-TS.tar.gz /tmp
cd /tmp
tar xzf libX11-XF3.3.1-TS.tar.gz
mkdir /usr/X11R6/oldlib
mv /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/oldlib
mv libX11.so.6.1 /usr/X11R6/lib
chown root:root /usr/X11R6/lib/libX11.so.6.1
chmod 755 /usr/X11R6/lib/libX11.so.6.1
/sbin/ldconfig
╔ aconselhßvel que a operaτπo seja realizada quando nenhuma aplicaτπo
X estiver rodando. A seguir, edite o arquivo de configuraτπo do
servidor X, chamado XF86Config. Este arquivo fica no diret≤rio /etc
(Slackware) ou /etc/X11 (Debian, Red Hat). Procure a seτπo
``Keyboard'' e inclua a opτπo ``XkbDisable'', conforme mostrado a
seguir:
Section "Keyboard"
Protocol "Standard"
XkbDisable
EndSection
A opτπo XkbDisable inabilita a extensπo XKEYBOARD do servidor X, o que
neste caso serve para sinalizar α funτπo XLookupString que ela deve
tratar os acentos. Se quisermos voltar ao comportamento normal, basta
retirar a opτπo do XF86Config.
Configure o mapa de teclado do X conforme explicado nas seτ⌡es
anteriores deste documento. Para testar o resultado, rode o programa
xedit e digite alguns caracteres acentuados.
5.6.2. Alteraτπo no kernel do Linux
Esta seτπo Θ baseada em contribuiτπo enviada por Bruno Bar¡
beri Gnecco e na documentaτπo do diacrd. Podem haver ainda
alguns erros e se alguΘm os detectar, por favor avise-me.
Seguindo a regra geral do mundo *nix, existe sempre mais de um modo se
resolver o mesmo problema. Conforme vimos anteriormente, existem dois
modos de operaτπo do teclado, chamados raw e cooked. Estes modos de
operaτπo podem ser mudados com o programa kbd_mode, integrante do
pacote kbd, o que nπo Θ recomendßvel fazer a nπo ser para restaurar o
estado do console ap≤s um desastre com o servidor X, por exemplo. No
modo raw o kernel nπo processa os diacrφticos (acentos).
Cedric Adjih criou uma alteraτπo para o kernel que permitia tratar os
acentos mesmo em modo raw, inicialmente voltada para o teclado de
desenho francΩs. EnΘas Queiroz, AndrΘ D. Balsa e Claudemir Todo Bom
fizeram melhorias e o adaptaram para os teclados internacional,
portuguΩs e ABNT. O tratemanto de acentos Θ feito parte pelo kernel,
parte por um processo que roda em retaguarda (daemon) chamado diacrd,
conforme descrito a seguir:
╖ Uma modificaτπo no kernel faz que todos os dados lidos do teclado
sejam redirecionados para um dispositivo especial do sistema
chamado /dev/rawkbd quando o teclado estiver em modo raw.
╖ Os dados que o kernel grava no /dev/rawkbd sπo lidos pelo programa
diacrd, que processa as seqⁿΩncias acento-letra e reescreve no
/dev/rawkbd os caracteres acentuados na forma de c≤digos de
varredura (scancodes) que normalmente nπo existem no teclado.
╖ O kernel lΩ no /dev/rawkbd os c≤digos gravados pelo diacrd e os
passa α aplicaτπo, que no caso Θ o servidor X.
╖ O servidor X mapeia os c≤digos de varredura para caracteres. Um
mapa de teclado especial permite entπo gerar as letras acentuadas.
O diacrd pode ser obtido via FTP an⌠nimo no endereτo
<ftp://metalab.unc.edu/pub/Linux/system/keyboards>
Hß vers⌡es diferentes, de acordo com o tipo de teclado e, pelo menos
por enquanto, nπo se pode reconfigurß-lo sem recompilar. Para fazer a
instalaτπo, de acordo com o arquivo ``README'', deve-se fazer o
seguinte (pelo usußrio root):
╖ Obtenha o arquivo -.tar.gz correspondente a seu teclado. Extraia
seu conte·do, o que deverß criar um diret≤rio chamado
diacrd-<versπo>.
╖ Edite o arquivo diacrd.c e remova os comentßrios desejados, de
acordo com suas preferΩncias. Pode-se incluir capacidade de rodar o
programa xmodmap e ejetar o CD-ROM sob controle do pressionamento
de uma combinaτπo de teclas.
╖ Aplique a modificaτπo no kernel. Para isto, execute o comando
``make patch-usr-src''.
╖ Crie o dispositivo /dev/rawkbd executando o comando
``make rawkbd''.
╖ Compile o diacrd e instale-o executando os comandos ``make'' e
``make install''.
╖ Compile e instale o kernel, com os comandos
cd /usr/src/linux
make config
make zlilo
Para maiores informaτ⌡es sobre compilaτπo/instalaτπo do kernel, leia o
Kernel-HOWTO, disponφvel via Internet nos reposit≤rios do LDP men¡
cionados na seτπo ``Onde encontrar a versπo mais atual''.
╖ DΩ um ``reboot'' no computador. Verifique se o suporte ao
dispositivo rawkbd foi instalado com sucesso com o comando
dmesg | grep RAWKBD
Deve aparecer
RAWKBD interface for diacriticals translation enabled...
e teste o dispositivo /dev/rawkbd com o comando
printf "### TESTANDO ###" >> /dev/rawkbd
Veja na seτπo ``Configuraτπo do console'' como carregar um mapa com
suporte α acentuaτπo. O pacote diacrd vem com um arquivo chamada
usintl.map, que corresponde ao nosso us+.map. Se seu teclado nπo for
do tipo americano, use o pt.map ou abnt-2.map.
╖ Substitua o arquivo /usr/X11R6/lib/X11/xkb/keycodes/xfree86 pelo
arquivo fornecido junto com o diacrd.
╖ Se tudo correr bem, rode o programa diacrd. Depois ative o X e use
o xmodmap para carregar o mapa xmodmap.diacrd.
Se a geraτπo de acentos funcionar, Θ preciso tornar permanentes as
alteraτ⌡es necessßrias. Pode-se fazΩ-lo incluindo a carga do diacrd no
arquivo /etc/rc.d/rc.local (Slackware).
Se algum dos leitores tiver criado um script de ativaτπo do
diacrd para a distribuiτπo Debian ou Red Hat, por favor
envie-o para que seja incluφdo aqui.
Mais informaτ⌡es sobre o diacrd podem ser encontradas no ``Dead keys
Mini-HOWTO'' de Claudemir Todo Bom, disponφvel em <http://linux.uni¡
camp.br/docs/diversos/deadkeys.html>.
5.6.3. Comparaτπo entre as duas soluτ⌡es
Em termos de resultados prßticos, a Xlib modificada e o diacrd sπo
equivalentes. Hß porΘm algumas diferenτas entre as duas soluτ⌡es que
merecem atenτπo.
Diacrd exige uma alteraτπo no kernel do Linux para resolver um
problema que o kernel jß resolve, o que nπo deixa de parecer um tanto
redundante. A dependΩncia de um processo de usußrio (o daemon kerneld)
Θ uma desvantagem, pois se esse programa deixar de funcionar perde-se
o suporte α acentuaτπo no X. Trata-se de uma soluτπo ainda em
desenvolvimento e, segundo o conte·do da documentaτπo que o acompanha,
o ideal seria que todo o tratamento fosse feito pelo kernel, sem
depender de outro programa.
AtΘ o momento da publicaτπo deste HOWTO, o diacrd ainda nπo era
compatφvel com a versπo 2.2 do kernel do Linux.
A soluτπo via Xlib Θ, pelo menos em teoria, totalmente transparente αs
aplicaτ⌡es e permite reconfiguraτπo em tempo de execuτπo, bastando
alterar o mapa de teclado do X e as regras de composiτπo. Jß o diacrd
precisa ser recompilado se quisermos trocar o tipo de teclado, mas Θ
possφvel que novas vers⌡es incorporem algum recurso de reconfiguraτπo.
O diacrd s≤ funciona no teclado do pr≤prio computador. Se quisermos
usar um display remoto, seja um terminal X, seja um outro computador,
nπo teremos suporte α acentuaτπo. A troca da Xlib, por outro lado,
enquadra-se plenamente na filosofia do X de que o servidor provΩ
mecanismo, deixando a cargo da aplicaτπo a definiτπo de polφticas.
Exemplo da vantagem deste paradigma Θ poder usar as tΘcnicas descritas
na seτπo ``Configuraτπo do X'' em outros sistemas operativos e com
terminais X.
A soluτπo via Xlib parece-me mais ``limpa'' e Θ minha predileta, mas,
como sempre, fica a critΘrio do usußrio ou do administrador do sistema
qual alternativa escolher. De qualquer modo, sempre Θ bom lembrar qua
ambas as soluτ⌡es sπo remendos. Considerando-se a rßpida evoluτπo que
estß a ocorrer no campo do software livre, com o desenvolvimendo de
ambientes de trabalho como KDE, GNOME e GNUStep, podemos supor que em
breve nenhum desses remendos serß mais necessßrio.
6. Configuraτπo dos vßrios programas
6.1. Aplicativos
A maioria das aplicaτ⌡es que rodam no Unix usa algum tipo de arquivo
de configuraτπo que o usußrio coloca em seu diret≤rio de trabalho
(home) e cujo nome normalmente Θ .alguma-coisarc. Tanto quanto
possφvel, tentei evitar que isso fosse necessßrio, pois alΘm de dar
mais trabalho ao usußrio (e ao administrador da rede ;-) pode
dificultar um pouco as coisas. Por exemplo, aqui no CPMet temos o
diret≤rio home compartilhado entre um servidor Alpha rodando DEC UNIX
com os PCs rodando Linux via NFS (atΘ a maior parte do Linux estß
instalada no Alpha, os PCs s≤ tΩm a partiτπo raiz e uma ßrea de swap).
Os arquivos podem necessitar algum ajuste dependendo da plataforma e
nem todos os programas possuem flexibilidade bastante para isso.
Uma opτπo que muitos programas tambΘm oferecem Θ especificar em uma
varißvel de ambiente o nome do arquivo de configuraτπo ou o uso de
arquivos padrπo que normalmente ficam em um diret≤rio /usr/lib/alguma-
coisa ou /etc/alguma-coisa.
6.1.1. Bash (biblioteca GNU readline)
Os programas que utilizam a biblioteca GNU readline para ler a linha
de comando procuram por um arquivo chamado .inputrc no diret≤rio
``HOME'' do usußrio caso nπo exista uma varißvel de ambiente INPUTRC
contendo o caminho para um arquivo de configuraτπo.
Coloque uma linha no seu arquivo /etc/profile contendo
INPUTRC="/etc/inputrc"
export INPUTRC
e crie um arquivo /etc/inputrc contendo
set meta-flag on
set convert-meta off
set output-meta on
Outra alternativa Θ criar um arquivo .inputrc no diret≤rio home do
usußrio com o conte·do acima, mas Θ muito difφcil manter atualizados
os arquivos de todos os usußrios, principalmente quando eles sπo
muitos. Um inputrc mais completo pode ser obtido via WWW na pßgina do
Portuguese HOWTO. Ele contΘm opτ⌡es para vßrios tipos de terminal e
permite usar as teclas de movimento de cursor para percorrer o
hist≤rico de comandos (setas para cima e para baixo); ir para o
primeiro e para o ·ltimo comandos do hist≤rico (teclas PageUp e Page¡
Down); posicionar o cursor na linha (setas para a esquerda e direita)
e posicionar o cursor no inφcio e no fim da linha (teclas Home e End).
Para maiores informaτ⌡es leia os manuais do bash e da biblioteca
readline com os comandos
man bash
man readline
6.1.2. Emacs
O pai de todos os editores pode ser configurado criando-se um arquivo
chamado .emacs no diret≤rio do usußrio, contendo as seguintes linhas:
(set-input-mode nil nil 1)
(standard-display-european t)
(require 'iso-syntax)
Para tornar esta configuraτπo global, na distribuiτπo Slackware
coloque os comandos no arquivo /usr/lib/emacs/site-lisp/site-start.el.
Na distribuiτπo Debian o emacs executa todos os scripts contidos no
diret≤rio /etc/emacs/site-start.d ao ser carregado. Tudo que se tem a
fazer Θ colocar esses comandos em um arquivo chamado, por exemplo,
01portugues-emacs.el.
Se o estimado leitor, assim como eu, nπo se agrada do tratamento dado
pelo Emacs αs teclas de Delete, Home e End, aproveite a oportunidade e
acrescente ao mesmo arquivo o seguinte:
(global-unset-key [backspace] )
(global-set-key [backspace] 'delete-backward-char)
(global-unset-key [delete] )
(global-set-key [delete] 'delete-char)
(define-key global-map [home] 'beginning-of-line)
(define-key global-map [C-home] 'beginning-of-buffer)
(define-key global-map [end] 'end-of-line)
(define-key global-map [C-end] 'end-of-buffer)
Arquivos de configuraτπo prontos podem ser obtidos via WWW na pßgina
do Portuguese HOWTO. Para Slackware, hß um site-start-emacs.el, que
deve ser copiado para o diret≤rio /usr/lib/emacs/site-lisp com o nome
de site-start.el. Para Debian, hß um 01portugues-emacs.el que deve ser
copiado para o diret≤rio /etc/emacs/site-start.d.
Certifique-se de estar usando a versπo 24-out-1998 ou mais recente do
arquivo de mapa de teclado para o X, pois ela possui uma correτπo no
tratamento das teclas modificadoras Alt e Meta, que sπo muito usadas
pelo Emacs.
6.1.3. flex
Especifique a opτπo -8 se o parser a gerar necessitar de ler dados de
8 bit.
6.1.4. Fortune
Fortune Θ aquele programa que toda vez que Θ invocado apresenta uma
pequena mensagem, geralmente bem humorada. Ele Θ inspirado nos
biscoitos da fortuna chineses (em inglΩs fortune cookies, daφ o nome).
Eis algumas mensagens tφpicas:
dROGA!!oNDE ESTA O cAPSLOCK??
Mouse nπo encontrado, bater no gato? (S/N)
Que fio Θ ess<=V++088.../NO CARRIER
Quem ri por ·ltimo estß conectado a 2400Bit/s.
Tudo que o programa faz Θ escolher aleatoriamente uma mensagem em um
reposit≤rio mantido no diret≤rio /usr/games/fortunes (Slackware) ou
/usr/share/games/fortunes (Debian). Neste diret≤rio existem diversos
arquivos com as ``fortunas'' e um arquivo φndice para cada um deles,
que possui a extensπo .dat. O formato dos arquivos Θ muito simples:
cada fortuna Θ composta de uma sΘrie de linhas de texto. As fortunas
sπo separadas umas das outras por linhas contendo apenas um caracter
%. Veja o trecho a seguir:
O que sπo quatro pontos na parede? Four migas. Ugh!
%
Errar Θ humano, botar a culpa no computador Θ mais humano ainda.
%
Aφ ela me disse: Ou eu ou o modem! Sinto muitas saudades dela...
Tudo que temos a fazer Θ criar um arquivo com as fortunas chamado,
digamos fortunes com o formato descrito acima. Depois basta usar o
programa strfile para gerar o φndice:
strfile fortunes
e um arquivo chamado fortunes.dat serß criado. Claro que se quisermos
que o fortune mostre apenas mensagens em PortuguΩs, teremos que
remover os arquivos existentes no diret≤rio original. Sugiro simples¡
mente renomeß-lo para fortunes-en (de English) e criar outro vazio.
Eu coletei algumas fortunas e as coloquei no arquivo fortunes-
pt.tar.gz que pode ser obtido via WWW na pßgina do Portuguese HOWTO.
Nπo esqueτa de colocar no seu /etc/profile algumas linhas contendo uma
chamada ao fortune, por exemplo
if [ -x /usr/games/fortune -a ! -e $HOME/.hushlogin ]; then
echo
/usr/games/fortune
echo
fi
Uma ·ltima informaτπo: se o nome de um arquivo termina com o sufixo -o
o fortune s≤ o consulta se for chamado com a opτπo -o. Esses arquivos
sπo os que contΘm mensagens cujo conte·do pode ser considerado ofen¡
sivo por algumas pessoas, tais como
S≤ nπo mando a sogra pro inferno, com pena do Diabo.
Claro que existem coisas muito mais ofensivas por aφ, mas este Θ um
Linux HOWTO e nπo queremos realmente ofender ninguΘm, certo?
6.1.5. Ispell
Dicionßrios para o PortuguΩs de Portugal podem ser obtidos via WWW na
pßgina do Projecto Natura em
<http://www.di.uminho.pt/~jj/pln/pln.html>. Para o Brasil, hß uma
versπo compilada pelo Ueda: <http://www.ime.usp.br/~ueda/>.
Eu gostaria de poder colocar maiores informaτ⌡es, mas ainda
nπo tenho conhecimento suficiente sobre o Ispell e nπo posso
ensinar o que nπo sei. Preciso de ajuda aqui.
6.1.6. JDK (inclui ICQJava)
Esta informaτπo Θ baseada em uma mensagem da qual guardei o
conte·do mas nπo o remetente. Peτo desculpas e espero que
perdoe a falha. Nπo testei pessoalmente a informaτπo e peτo
que me escrevam confirmando tanto a correτπo quanto, se
possφvel, a identidade do autor.
O JDK utiliza fontes padrπo que nπo suportam acentos. Isto quer dizer
que letras com acentos sπo ignoradas e, geralmente, confundem o resto
do texto. Resolver isto Θ extremamente fßcil:
╖ entre no diret≤rio jdk1.1.5/lib (no meu caso, /jdk1.1.5/lib);
╖ copie o arquivo font.properties.hu sobrescrevendo o font.properties
atual (lembre-se de fazer backups!);
╖ entre no jdk e divirta-se! Fazendo isto, seu ICQ e todos os
aplicativos que usem o jdk estarπo aptos a lerem acentos! (fßcil,
nπo?)
6.1.7. Joe
Invoque o joe com a opτπo -asis na linha de comando ou altere os
arquivos de configuraτπo para ativar tal opτπo. Na Slackware eles
estπo no diret≤rio /usr/lib/joe. Tudo que se tem a fazer Θ remover o
espaτo em branco existente no inφcio de cada linha. Outra alternativa
Θ acrescentar a seguinte linha ao arquivo /etc/profile:
alias joe='joe -asis'
Joe pode emular os editores Pico, emacs e WordStar. Um arquivo joerc
estß disponφvel via WWW na pßgina do Portuguese HOWTO, contendo
configuraτ⌡es que permitem usar as teclas Home e End para movimentar o
cursor para o inφcio e fim da linha.
6.1.8. Less
Coloque as seguintes linhas no seu arquivo /etc/profile:
LESS="-MM -i"
LESSCHARSET="latin1"
LESSKEY="/etc/lesskey"
LESSOPEN='|lesspipe.sh "%s"'
export LESS LESSCHARSET LESSKEY LESSOPEN
LESSKEY informa o nome de um arquivo contendo uma tabela de seqⁿΩncias
de caracteres geradas por cada tecla e as aτ⌡es a serem tomadas pelo
less. Para criar o arquivo /etc/lesskey, crie primeiro o arquivo
/etc/lesskey.in contendo as seguintes linhas:
# Termianl ANSI (console do Linux, XTerm, etc)
\e[1~ goto-line
\e[4~ goto-end
\e[5~ back-screen
\e[6~ forw-screen
\e[7~ goto-line
\e[8~ goto-end
\e[A back-line
\e[B forw-line
# XTerm
\eOH goto-line
\eOF goto-end
\e[H goto-line
\e[F goto-end
# Console Sun (testado com teclados Type 4/5)
\e[214z goto-line
\e[220z goto-end
\e[216z back-screen
\e[222z forw-screen
# Arquivo seguinte/anterior
:n next-file
:N next-file
:p prev-file
Depois ``compile-o'' usando o comando
# lesskey -o /etc/lesskey /etc/lesskey.in
Crie o arquivo /usr/bin/lesspipe.sh contendo
#!/bin/sh
# This is a preprocessor for 'less'. It is used when this environment
# variable is set: LESSOPEN="|lesspipe.sh %s"
case "$1" in
*.rpm) rpm -qilp "$1" 2>/dev/null ;;
*.tar) tar tvvf "$1" 2>/dev/null ;;
*.tgz | *.tar.gz | *.taz | *.tar.Z | *.tar.z)
tar tzvvf "$1" 2>/dev/null ;;
*.tbz2 | *.tar.bz2)
bzip2 -dc "$1" | tar tvvf - 2>/dev/null ;;
*.Z) gzip -dc "$1" 2>/dev/null ;;
*.z) gzip -dc "$1" 2>/dev/null ;;
*.[1-9].gz | *.n.gz | *.man.gz)
FILE=`file -Lz "$1" | cut -d ' ' -f 2`
if [ "$FILE" = "troff" ]; then
gzip -dc "$1" | groff -s -p -t -e -Tlatin1 -mandoc
fi ;;
*.gz) gzip -dc "$1" 2>/dev/null ;;
*.zip) unzip -l "$1" 2>/dev/null ;;
*.[1-9] | *.n | *.man)
FILE=`file -L "$1" | cut -d ' ' -f 2`
if [ "$FILE" = "troff" ]; then
groff -s -p -t -e -Tlatin1 -mandoc "$1"
fi ;;
esac
Nπo esqueτa de tornß-lo executßvel:
chmod 755 /usr/bin/lesspipe.sh
Na distribuiτπo Debian jß existe um script /usr/bin/lesspipe (note a
ausΩncia da extensπo .sh). Para os curiosos a respeito da referΩncia a
``*.rpm'', embora na mßquina em questπo se use Slackware, Θ possφvel
ter o utilitßrio RPM instalado tambΘm, o que facilita tomar
``emprestados'' pacotes do Red Hat, Caldera e S.u.S.E.. Existe um
RPM+Slackware Mini-HOWTO que explica como fazer isso.
6.1.9. ls
Acrescente a seguinte linha ao arquivo /etc/profile :
alias ls="ls -N"
ou
alias ls="ls -b"
Se a sua distribuiτπo de Linux usa o GNU ls (todas as que eu conheτo
usam) basta acrescentar ao arquivo /etc/profile ou .profile as
seguintes linhas:
# -----------------------------------------
# Set up the color-ls environment variables
# -----------------------------------------
if [ "$SHELL" = "/bin/bash" -o \
"$SHELL" = "/bin/sh" ]; then
eval `dircolors -b`
elif [ "$SHELL" = "/bin/zsh" ]; then
eval `dircolors -z`
elif [ "$SHELL" = "/bin/ash" ]; then
eval `dircolors -s`
elif [ "$SHELL" = "/bin/ksh" -o \
"$SHELL" = "/bin/pdksh" ]; then
eval `dircolors -k`
elif [ "$SHELL" = "/bin/csh" -o \
"$SHELL" = "/bin/tcsh" ]; then
eval `dircolors -c`
else
eval `dircolors -b`
fi
Se o seu shell Θ o csh ou tcsh, acrescente a seguinte linha ao arquivo
/etc/csh.login ou ~/.login:
alias ls 'ls --color'
6.1.10. LyX
Para aqueles que acham trabalhoso escrever documentos para o LaTeX
usando um simples editor de texto (e realmente Θ) LyX Θ uma excelente
opτπo. Este programa cria uma interface grßfica atravΘs da qual
editamos os documentos que serπo depois formatados pelo LaTeX. O
ambiente Θ quase-WYSIWYG (What You See Is What You Get - O que tu vΩs
Θ o que tu obtΘns). LyX nπo roda apenas em Linux, mas em qualquer
Unix. Maiores informaτ⌡es podem ser obtidas em
<http://www.lyx.org>
A partir da versπo 1.0.1 do LyX jß tem a interface com o usußrio em
PortuguΩs, traduzida por Pedro Kr÷ger, que tambΘm estß traduzindo os
manuais, junto com Roberto Mello. Estas traduτ⌡es jß fazem parte da
distribuiτπo oficial do LyX.
Tendo o LyX instalado, Θ muito fßcil criar documentos com acentuaτπo
em PortuguΩs. Seguindo as seguintes regras:
╖ Se o teclado foi configurado para ter dead keys usando um dos mapas
aqui fornecidos, nπo Θ necessßrio fazer mais nada. Basta digitar o
texto normalmente usando as seqⁿΩncias de acentuaτπo. A ·nica
exceτπo Θ o c-cedilha que nπo pode ser gerado usando a seqⁿΩncia
'c, pois o LyX gera um c com acento. Temos que usar a seqⁿΩncia
Compose-vφrgula-c.
╖ Se o teclado nπo foi configurado para ter dead keys ainda assim Θ
possφvel acentuar no LyX. Selecione o menu Options/Keyboard. Na
caixa de dißlogo ``Key Mappings'', selecione no φtem
Language/Primary a opτπo ``American''. Com isto o LyX farß a
composiτπo dos caracteres acentuados usando regras semelhantes αs
das dead keys.
╖ A vφrgula serß tratada como cedilha. Para obter um `╟'digite ,C e
para obter uma vφrgula digite ,,. Cuidado! A seqⁿΩncia ,<espaτo>
gerarß uma cedilha isolada e nπo uma vφrgula!
╖ ~ ^ ' e ` serπo tratados como acentos. Vale a mesma regra anterior:
para obter apenas o acento, pressione a tecla duas vezes
consecutivas.
╖ : ; . / ? e - tambΘm serπo tratados como acentos. ?a gerarß um `σ'
e assim por diante.
Para o LyX imprimir corretamente, Θ necessßrio que, ao criar um novo
documento, sejam selecionados a lφngua e a codificaτπo de caracteres
adequadas. Crie um documento selecionando o menu File/New. Depois
selecione o menu Layout/Document. Na caixa de dißlogo ``Document
Layout'' selecione no φtem Language a opτπo ``brazil'' ou ``portuges''
(sem o u mesmo); no φtem Encoding selecione ``latin1''.
Veja a observaτπo sobre o pacote algorithm na seτπo ``TeX e LaTeX''
Uma observaτπo final sobre o LyX: a versπo atual (1.0.x) utiliza a
biblioteca XForms para construir a interface com o usußrio. Como essa
biblioteca nπo tem suporte para acentuaτπo, nπo Θ possφvel digitar
letras acentuadas nas caixas de dißlogo, somente no corpo do documento
editado. Segundo os desenvolvedores, nas novas vers⌡es do LyX serß
possφvel escolher o tipo de interface ao compilar o programa, o que
permitirß o uso de toolkits mais flexφveis. Jß existe uma versπo de
LyX portada para o toolkit Qt, usado no KDE, chamada KLyX. Os autores
sπo Matthias Ettrich -- autor original do LyX -- e Kalle Dalheimer.
Para maiores informaτ⌡es, consulte via WWW: <http://www-
pu.informatik.uni-tuebingen.de/users/ettrich/>.
6.1.11. Man, groff, troff
Pode-se usar a opτπo de linha de comando -Tlatin1 para o groff, mas Θ
mais simples colocar uma linha no seu arquivo /etc/profile contendo
GROFF_TYPESETTER="latin1"
export GROFF_TYPESETTER
Para maiores informaτ⌡es leia o manual do groff com o comando
man groff
No Linux, o comando man usa o groff para formatar os manuais e deve
ser configurado para usar o conjunto Latin 1, ou nπo serß possφvel
formatar satisfatoriamente manuais que contenham caracteres nπo
pertencentes ao conjunto ASCII, como Θ o caso do ``man iso_8859_1''.
Na distribuiτπo Slackware, Θ preciso editar o arquivo
/usr/lib/man.config e alterar as definiτ⌡es NROFF e NEQN, trocando a
opτπo ``-Tascii'' para ``-Tlatin1'':
NROFF /usr/bin/groff -Tlatin1 -mandoc
NEQN /usr/bin/geqn -Tlatin1
ou, se usarmos a varißvel de ambiente GROFF_TYPESETTER, podemos sim¡
plesmente eliminar a opτπo -Tascii. Na distribuiτπo Debian nπo Θ
necessßrio fazer nenhuma configuraτπo para o man, bastando configurar
GROFF_TYPESETTER e na Red Hat (incluindo Conectiva) o arquivo Θ
/etc/man.config
Groff tambΘm pode ser configurado para fazer a separaτπo silßbica em
portuguΩs, o que Θ muito ·til se tivermos pßginas de manual em
PortuguΩs. Isto Θ bastante simples, porque quando James Clarck p⌠s
suporte a hifenizaτπo no groff ele usou o mesmo algoritmo de
hifenizaτπo do TeX. Para ter hifenizaτπo em portuguΩs, basta copiar o
arquivo de regras do TeX e fazer o groff usß-lo. O arquivo hyphen.pt
pode ser obtido junto com os demais na pßgina do HOWTO. Trata-se do
arquivo pt8hyph.tex (ver seτπo ``TeX e LaTeX'') ao qual foi adicionado
apenas um comentßrio.
Ele deve ser copiado para o diret≤rio /usr/share/groff/tmac/ ou
/usr/lib/groff/tmac/, dependendo da distribuiτπo. ╔ conveniente criar
um ``link'' simb≤lico para hyphen.br. Para usar esse arquivo, basta
colocar no inφcio do seu documento troff/groff as linhas a seguir:
.if \n(.g \{\
.hla pt
.hpf hyphen.pt
.\}
O .if nπo Θ necessßrio para a acentuaτπo, mas ele testa se o proces¡
sador usado Θ o groff. Deste modo pode-se usar o mesmo documento em
outros UNIX nos quais se use o troff normal sem que ele gere mensagens
de erro sobre comandos desconhecidos.
6.1.12. Midnight Comander (mc)
No menu Options sub-menu Display bits... ligue a opτπo ``Full 8 bits''
ou ``ISO 8859-1''. Na versπo 3.2.11 isso permite que sejam mostrados
nomes de arquivos contendo caracteres acentuados, mas nπo foi possφvel
digitar tais caracteres na linha de comando ou nas caixas de dißlogo.
6.1.13. Minicom
Coloque uma linha no seu arquivo /etc/profile contendo
MINICOM="-m -c on"
export MINICOM
Isso permitirß usar a tecla Alt para ativar os comandos (exatamente
como o Telix) e tambΘm usar cores. Para maiores informaτ⌡es, leia o
manual do Minicom usando o comando
man minicom
Mais uma dica sobre o Minicom: para fazΩ-lo usar usar corretamante a
tecla Meta para ativaτπo dos comandos rodando dentro de um xterm,
deve-se invocß-lo com a opτπo ``-m'' e passar a opτπo ``-xrm "*eight¡
BitInput: false"'' para o xterm. Se usarmos o rxvt entπo o minicom
deve ser chamado com a opτπo ``-m'' e a tecla de ativaτπo dos comandos
serß Alt. Fiz uma adaptaτπo no script xminicom que pode ser obtido via
WWW na pßgina do Portuguese HOWTO.
Segundo Arnaldo Carvalho de Melo, as vers⌡es mais recentes do Minicom
suportam internacionalizaτπo. Suporte para o PortuguΩs foi
acrescentado pelo pessoal da Conectiva. O c≤digo fonte pode ser obtido
na pßgina do Jukka (atual mantenedor do Minicom) em
<http://www.clinet.fi/~walker/minicom.html>
6.1.14. Netscape Communicator
O Communicator, assim como muitas aplicaτ⌡es que utilizam toolkits
baseados no X Toolkit (Xt), permite que se modifiquem muitas de suas
caracterφsticas por meio de arquivos de configuraτπo (X Resources). No
caso especφfico do Communicator, pode-se criar um arquivo chamado
Netscape no diret≤rio /usr/X11R6/lib/X11/app-defaults contendo estas
opτ⌡es.
Na distribuiτπo brasileira Conectiva, o pacote do Communicator vem com
um arquivo /usr/lib/netscape/i18n/Netscape.ad.pt_BR e um script
/usr/bin/netscape que executa o Communicator fazendo-o ler este
arquivo. Uma c≤pia do Netscape.ad.pt_BR pode ser obtida na pßgina
oficial do Portuguese-HOWTO. Para usß-lo, simplesmente copie-o para
/usr/X11R6/lib/X11/app-defaults/Netscape, se sua distribuiτπo nπo o
possuir, mas fique atento que seu uso pode criar problemas com novas
vers⌡es do programa.
Maiores informaτ⌡es sobre ``X Resources'' podem ser obtidas em
[GET94], [McC94] e no manual do programa xrdb, com o comando
man xrdb
6.1.15. nn
Al⌠, al⌠, alguΘm usa nn? Informaτπo mais atualizada serß bem
recebida.
Acrescente a seguinte linha ao arquivo ~/.nn/init:
set data-bits 8
6.1.16. Pine e Pico
Para o Pine utilizar o conjunto de caracteres Latin 1, coloque uma
linha no arquivo .pinerc, no diret≤rio do usußrio, contendo
character-set=ISO-8859-1
ou crie um arquivo geral de configuraτπo contendo tal linha. Esse
arquivo normalmente Θ /usr/local/lib/pine.conf ou /usr/lib/pine.conf
A configuraτπo tambΘm pode ser feita usando o pr≤prio programa. No
menu de entrada selecione as opτ⌡es Setup/Configuration. Vß atΘ o φtem
``character-set'' e preencha-o com ``ISO-8859-1''. Para maiores
informaτ⌡es leia o manual do pine com o comando
man pine
6.1.17. tcsh
Nenhuma medida especial Θ necessßria se for feita a correta
configuraτπo das varißveis de ambiente ``LANG'' e ``LC_ALL'', conforme
mostrado mostrado na seτπo ``Biblioteca libc''.
Tcsh tem suporte a internacionalizaτπo e na distribuiτπo Debian hß um
pacote chamado tcsh-i18n com suporte para French, German, Greek and
Spanish.
6.1.18. TeX e LaTeX
Esta seτπo foi escrita com ajuda de Klaus Steding-Jessen.
6.1.18.1. O pacote Babel
O pacote Babel, criado por Johannes Braams provΩ suporte a um grande
n·mero de idiomas para o LaTeX. De acordo com o idioma selecionado ele
define muitas coisa como, por exemplo, os tφtulos dos capφtulos
(Chapter, Capφtulo, Kapitel) e o tφtulo das tabelas (Tabela, Table,
Tabelle). Para usar o pacote, basta incluir no preΓmbulo de seu
documento LaTeX o comando
\usepackage[portuges]{babel}
ou
\usepackage[brazil]{babel}
Hß diferenτas sutis entre o Portugues do Brasil e o de Portugal, tais
como as normas para escrita de datas e nomes de meses com a primeira
letra mai·scula ou min·scula.
Pode-se misturar mais de um idioma no mesmo documento. Para Alemπo e
PortuguΩs ficaria:
\usepackage[german,brazil]{babel}
Nesse caso a ·ltima opτπo (brazil) fica sendo o idioma corrente. Para
mudar ao longo do texto, entre um e outro, use:
\selectlanguage{german}
[...]
\selectlanguage{brazil}
Isto Θ muito ·til tambΘm quando queremos que uma palavra nπo seja
separada. Basta definir um novo idioma e usß-lo nas palavras que nπo
podem ser separadas. Coloque no preΓmbulo:
\newlanguage\nohyphen
\newcommand\nh[1]{{\language\nohyphen #1}}
E use com \nh{FOO BAR}. ╔ melhor do que usar \mbox, que impede quebra
no espaco em \mbox{FOO BAR}.
6.1.18.2. Separaτπo silßbica
Normalmente apenas os suportes a separaτπo silßbica para InglΩs e
Alemπo sπo carregados. Para configurar hifenizaτπo no teTeX, execute
o utilitßrio texconfig, que na distribuiτπo Slackware deve ser o
programa /usr/lib/teTeX/bin/texconfig e na Debian Θ
/usr/bin/texconfig. Digite o comando
texconfig hyphen
O editor usado normalmente Θ o vi. Se o seu editor predileto for
outro, crie uma varißvel de ambiente chamada EDITOR contendo o nome
desse programa, como no exemplo a seguir:
EDITOR=pico
export EDITOR
O editor de texto serß carregado, para editar o arquivo language.dat.
Procure uma linha que comeτa por %portuges e remova o %. Grave o
arquivo e saia do editor. O texconfig atualizarß diversos arquivos de
configuraτπo (nπo se assuste com a quantidade de mensagens que
aparecem na tela).
Se o nome da tabela de hifenizaτπo que consta no seu language.dat Θ
pthyph.tex entπo provavelmente trata-se da versπo 1.0, de 1987. A
versπo 1.2, de 1996, pode ser obtida via FTP an⌠nimo em
<ftp://ftp.tex.ac.uk/tex-archive/language/por¡
tuguese/pt8hyph.tex>
Copie-o para o mesmo diret≤rio onde se encontra o pthyph.tex, que
dependendo de sua distribuiτπo pode ser
/usr/lib/texmf/tex/generic/hyphen /usr/share/texmf/tex/generic/hyphen
ou /usr/lib/teTeX/texmf/tex/generic/hyphen. Execute o comando texcon¡
fig~hash e na mesma linha mencionada anteriormente insira um `8' no
nome do arquivo, de modo que fique pt8hyph.tex.
6.1.18.3. Uso de Font Encoding T1
Se o conjunto de caracteres (encoding) de uma fonte nπo provΩ acesso
direto a caracteres acentuados, (como Θ o caso do OT1, padrπo do
LaTeX) entπo o TeX gera estes caracteres sobrepondo o caracter base
mais o acento. O algoritmo de hifenizaτπo, contudo, nπo hifeniza
palavras formadas dessa forma.
Se uma fonte jß provΩ acesso direto a caracteres acentuados, como as
de codificaτπo T1, estes caracteres sπo usados diretamente sem
prejuφzo do algoritmo de hifenizaτπo. O uso de encoding T1 Θ
fundamental para a correta hifenizaτπo em PortuguΩs.
Note que trata-se da mesma fonte, por falta a Computer Modern, apenas
o que muda Θ o seu encoding, isto Θ, a ordem/disponibilidade dos
caracteres dentro da mesma. Para selecionar estas fontes, inclua no
preΓmbulo do seu documento o comando
\usepackage[T1]{fontenc}
O antigo pacote t1enc nπo deve mais ser usado e existe hoje apenas por
quest⌡es de compatibilidade com documentos antigos. O fontenc Θ mais
atual, continua a ser mantido e Θ de uso mais geral, portanto
preferφvel.
6.1.18.4. Ediτπo de documentos
Normalmente a introduτπo de caracteres acentuados no texto exige o uso
de seqⁿΩncias de escape bastante trabalhosas. Para gerar um ``÷''
deve-se digitar \"o. Com babel pode-se digitar apenas "o, o que nπo
deixa de ser inconveniente para ler o fonte do documento. Hß um pacote
chamado inputenc que permite especificar a codificaτπo em que estπo os
caracteres de um documento. Lembre-se porΘm que se o seu documento for
enviado para outro usußrio que nπo possua o inputenc ele poderß nπo
conseguir processß-lo, mas esse recurso jß estß disponφvel desde a
liberaτπo do LaTeX2e em dezembro 1994. Todas as distribuiτ⌡es de Linux
atuais o incluem.
Sugestπo: uma configuraτπo do GNU Emacs para gerar caracteres
acentuados, pr≤pria para o uso com o pacote inputenc:
(add-hook 'LaTeX-mode-hook
(lambda ()
(standard-display-european 1)
(load-library "iso-acc")
(iso-accents-mode 1)
(iso-accents-customize "portuguese")
(auto-fill-mode 1)
))
E outra que nπo requer o inputenc. O uso da biblioteca `iso-cvt' faz
a transformaτπo de ISO-8859-1 (no buffer do Emacs) para o padrπo do
LaTeX (no arquivo).
(add-hook 'LaTeX-mode-hook
(lambda ()
(standard-display-european 1)
(load-library "iso-cvt")
(load-library "iso-acc")
(iso-accents-mode 1)
(iso-accents-customize "portuguese")
(auto-fill-mode 1)
))
Muitas vezes o usuario jß possui muitos arquivos num formato de acento
do LaTeX e gostaria de passar tudo para o formato ISO, pr≤prio para
uso do pacote inputenc. Uma boa opτπo para isto Θ usar o programa
recode. Se vocΩ possui arquivos .tex e deseja converte-lo para formato
ISO-8859-1 pode usar:
recode -d LaTeX:l1 file.tex
O c≤digo-fonte do GNU recode pode ser obtido via FTP an⌠nimo em
<ftp://prep.ai.mit.edu/pub/gnu/recode/recode-3.4.tar.gz> e em muitos
espelhos do GNU mundo afora. A distribuiτπo Debian tem um pacote
pronto e outras tambΘm devem ter.
6.1.18.5. Teste da configuraτπo do LaTeX
Para testar a nova configuraτπo copie o seguinte trecho para um
arquivo chamado, digamos, exemplo.tex:
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[portuges]{babel}
%%
%% ou \usepackage[brazil]{babel}
%%
\begin{document}
\title{Linux Portuguese-HOWTO}
\author{Carlos Augusto Moreira dos Santos}
\date{\today}
\maketitle
\section{Introduτπo}
Este documento pretende ser um guia de referΩncia de configuraτπo
do \textbf{Linux} e seus programas, teclados e fontes de
caracteres, permitindo sua internacionalizaτπo/utilizaτπo confortßvel
por pessoas que falem a Lφngua Portuguesa.
\end{document}
Esse texto contΘm de prop≤sito uma ``palavra'' bastante longa para
forτar a separaτπo silßbica. Ele estß disponφvel via WWW no arquivo
exemplo.tex na pßgina do Portuguese HOWTO. Para processß-lo, use o
comando latex, conforme mostrado a seguir:
bash$ latex exemplo.tex
This is TeX, Version 3.14159 (C version 6.1)
(exemplo.tex
LaTeX2e <1996/06/01>
Hyphenation patterns for english, german, portuges, loaded.
(/usr/lib/teTeX/texmf/tex/latex/base/article.cls
Document Class: article 1996/05/26 v1.3r Standard LaTeX document class
(/usr/lib/teTeX/texmf/tex/latex/base/size10.clo))
(/usr/lib/teTeX/texmf/tex/latex/base/inputenc.sty beta test version
(/usr/lib/teTeX/texmf/tex/latex/base/latin1.def))
(/usr/lib/teTeX/texmf/tex/latex/base/fontenc.sty
(/usr/lib/teTeX/texmf/tex/latex/base/T1enc.def))
(/usr/lib/teTeX/texmf/tex/generic/babel/babel.sty (portuges.ldf
(/usr/lib/teTeX/texmf/tex/generic/babel/babel.def))) (exemplo.aux) [1]
(exemplo.aux) )
(see the transcript file for additional information)
Output written on exemplo.dvi (1 page, 812 bytes).
Transcript written on exemplo.log.
A mensagem ``Hyphenation patterns for english, german, portuges,
loaded.'' indica que a configuraτπo foi bem sucedida. Se o seu com¡
putador estß rodando o X o documento formatado poderß ser visto com o
comando
xdvi exemplo.dvi
Observe que o ``\today'' gera a data corrente. No ``portugues'' seria
``17 de Julho de 1998'' mas no ``brazil'' seria ``17 de julho de
1998''.
6.1.18.6. Problemas com alguns pacotes do teTeX
Hß um problema com o pacote algorithm do LaTeX, que nπo Θ suportado
pelo babel, fazendo com que a lista de algoritmos saia com o tφtulo
``List of Algorithms'' e o tφtulo de cada um deles seja impresso como
``Algorithm #''. Para evitar esse problema, coloque no preΓmbulo de
seu documento LaTeX, ap≤s o comando ``\usepackage{algorithm}'' o
seguinte:
\makeatletter
\renewcommand{\ALG@name}}{Algoritmo}}
\makeatother
\renewcommand{\listalgorithmname}}{Lista de Algoritmos}}
No teTeX 0.4 (versπo 1.2h do portuges.ldf) o tφtulo do ambiente proof,
encontrado nas classes amsbook, amsart, etc., sai como ``Proof.''.
Para corrigir isso, coloque no preΓmbulo de seu documento o comando
\renewcommand{\proofname}}{Demonstra\c{c}\~ao}
mas o mais recomendßvel Θ que se atualize a versπo do teTeX.
Usußrios do LyX podem incluir esses comandos no preΓmbulo do documento
usando o menu Layout/LaTeX Preamble. Pode-se resolver o problema
alterando o arquivo portuges.ldf que contΘm as definiτ⌡es necessßrias
ao PortuguΩs, mas esta soluτπo nπo Θ portßvel, pois exigirß que tal
arquivo seja alterado em todas os computadores em que o documento deva
ser processado.
A licenτa do Babel nπo me permite distribuir o portuges.ldf separado
do resto do pacote, mas para os interessados, coloquei α disposiτπo na
pßgina do HOWTO um arquivo chamado portuges.ldf.patch que criei para o
meu teTeX antigo (Slackware 3.4). Para aplicar a atualizaτπo, copie-o
para o diret≤rio /usr/lib/teTeX/texmf/tex/generic/babel (Slackware),
faτa uma c≤pia de reserva do portuges.ldf original e invoque o
utilitßrio patch:
cp -p portuges.ldf portuges.ldf.backup
patch < portuges.ldf.patch
Use o patch por sua conta e risco! Se vocΩ deixar o backup no
diret≤rio original ele serß incluφdo no arquivo ls-R da pr≤xima vez
que o programa texhash for executado. Isso nπo farß mal algum, mas
pode-se mover o backup para algum lugar seguro (eu uso /usr/backup).
6.1.18.7. Lista TeX-BR
Hß uma lista de discussπo brasileira de usußrios de TeX/LaTeX, chamada
TeX-BR, que roda no servidor de listas da FURG. Para entrar da lista
mande um mail contendo apenas a palavra ``subscribe'' no corpo para
<tex-br-request@listas.furg.br>. Esta lista Θ administrada por Rafael
Rodrigues Obelheiro.
Hß uma pßgina na WWW em <http://biquinho.furg.br/tex-br/> por meio da
qual se pode ler o hist≤rico de mensagens. TambΘm hß referΩncias para
muitos documentos sobre LaTeX, alguns em PortuguΩs e outros em InglΩs.
6.1.18.8. LaTeX-demo
Pode ser ·til tambΘm um documento de exemplo para ter onde comeτar.
Pensando nisso, Klaus Steding-Jessen preparou um pequeno documento em
PortuguΩs com o objetivo de ser um guia ``by example'' para o usußrio
de LaTeX iniciante e intermedißrio, que pode ser obtido via WWW em
<http://biquinho.furg.br/doc/LaTeX-demo/>.
Klaus ecreveu tambΘm uma sΘrie trΩs artigos destinados a ``descrever o
sistema LaTeX como uma alternativa mais eficiente aos processadores de
texto WYSIWYG'' que podem ser lidos via WWW em
<http://biquinho.furg.br/tex-br/doc/artigo-1-jessen/>.
6.1.19. WordPerfect
O Corel Wordperfect para Linux versπo 8 suporta a acentuaτπo por
teclas mortas. Nπo Θ necessßrio nenhum procedimento especial. Como um
entusiasta de software livre, entretanto, recomendo enfaticamente que
se use o LyX, que jß foi inclusive traduzido para nossa lφngua,
conforme mencionado na seτπo ``LyX''.
6.1.20. Xemacs (antigo lucid emacs)
Agradeτo a colaboraτπo de Judson Santos Santiago e Goedson
Teixeira Paixπo que ajudaram a identificar os problemas com
o Xemacs.
O Xemacs jß tem suporte α acentuaτπo direta no teclado usando ``dead
keys'', mas hß um erro na configuraτπo original que o impede de
reconhecer o acento circunflexo. Este problema nπo ocorre se for
usada a biblioteca Xlib aterada por Thomas Quinot, mencionada na
seτπo ``Contornando os limites do X'', mas mesmo que nπo a usemos,
basta colocar os seguintes comandos no seu arquivo de configuraτπo
.emacs:
;; Ajuste para fazer o acento circunflexo funcionar
;; Contribuiτπo de Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br>
(require 'x-compose)
(define-key global-map 'dead-circumflex compose-circumflex-map)
Na distribuiτπo Debian 2.0 o Xemacs 20.4 executa todos os scripts
contidos no diret≤rio /etc/xemacs20/site-start.d ao ser carregado.
Tudo que se tem a fazer Θ colocar esses comandos em um arquivo
chamado, por exemplo, 01portugues-xemacs.el. Nπo Θ necessßrio instalar
o xemacs20-mule, que possui extens⌡es para lφnguas que nπo usam o
alfabeto romano. Os pacotes a instalar sπo os seguintes:
╖ xemacs20-bin
╖ xemacs20-nomule
╖ xemacs20-support
╖ xemacs20-supportel
Se vocΩ instalou o Xemacs no Slackware ou outro Unix, α moda antiga
(dowload, compilaτπo, instaτπo), entπo o arquivo a alterar Θ o site-
start.el, que deve estar no diret≤rio /usr/lib/xemacs/site-lisp ou
/usr/local/lib/xemacs/site-lisp, dependendo de sua instalaτπo.
Observe que a partir da versπo 20.3 o Xemacs usa uma varißvel especial
para controlar o comportamento da tecla ``Delete'', nπo existente nos
outros emacs chamada delete-key-deletes-forward. Para ativar este
comportamento coloque no seu arquivo .emacs uma linha contendo
(setq delete-key-deletes-forward t)
Arquivos de configuraτπo prontos podem ser obtidos via WWW na pßgina
do Portuguese HOWTO. Para Slackware, hß um site-start-xemacs.el, que
deve ser copiado para o diret≤rio correto com o nome de site-start.el.
Para Debian, hß um 01portugues-xemacs.el que deve ser copiado para o
diret≤rio /etc/xemacs20/site-start.d.
Certifique-se de estar usando a versπo 24-out-1998 ou mais recente do
arquivo de ``mapa de teclado'' para o X, pois ela possui uma correτπo
no tratamento das teclas modificadoras Alt e Meta, que sπo muito
usadas pelo Xemacs.
6.2. Rede local e Internet
6.2.1. FTP (File Transfer Protocol)
Existem dois modos de transferΩncia de arquivos: binary e ASCII, sendo
este utilizado para textos. Deve-se tomar cuidado ao transferir um
arquivo, pois o modo de transfΩrencia ASCII remove o oitavo bit de
cada caracter transmitido, o que terß como conseqⁿΩncia a perda de
todos os caracteres acentuados. Desta forma Θ aconselhado o envio de
documentaτπo em modo binary de forma a manter a integridade da mesma.
Cuidado! Algumas vers⌡es mais antigas do pacote net-tools do Linux tΩm
um cliente FTP que nπo reconhece corretamente quando o servidor remoto
roda Unix. Deste modo ele nπo comutarß o modo de transferΩncia para
binßrio automaticamente. AlΘm disso, alguns servidores FTP tambΘm nπo
fornecem a informaτπo corretamente. Certifique-se de digitar o
comando bin antes de um get quando quiser que a transferΩncia seja
binßria!
6.2.2. Correio eletr⌠nico
O mesmo tipo de restriτ⌡es do FTP se aplica ao envio de documentos
contendo caracteres acentuados atravΘs de correio eletr⌠nico. Embora
isto nπo aconteτa em todos os sistemas em uso na internet, bastarß que
o correio enviado passe no seu trajecto por um sistema que nπo suporte
8 bits de informaτπo para que o nosso documento seja deturpado.
Para que nπo hajam problemas, deve-se utilizar um programa de emeil,
que suporte o formato MIME (Multipurpose Internet Mail Extensions),
formato este que permite o envio de documentaτπo em modo 8 bits.
Exemplos de programas de correio eletr⌠nico com suporte para MIME, sπo
o Eudora e o Pine.
Se o destinatßrio da mensagem nπo usa um agente com suporte para MIME,
existe a opτπo de codificar os documentos com o utilitßrio UUENCODE.
Para maiores informaτ⌡es a esse respeito, leia a documentaτπo usando
os comandos
man uuencode
man uudecode
7. Ficheiros necessßrios
Atenτπo! Os mapas de teclado para o X fornecidos mapeiam a funτπo das
teclas segundo a lista a seguir:
╖ Alt esquerdo: Alt
╖ Alt direito: AltGr
╖ Control esquerdo: Control
╖ Control direito: Control
╖ ScrollLock: ScrollLock
╖ Janela esquerda: Meta
╖ Janela direita: Compose
╖ Menu: Menu
Se o seu teclado nπo possuir as teclas para Windows 95 entπo pode ser
melhor restabelecer a distribuiτπo padrπo: edite o mapa e coloque um
ponto de exclamaτπo no inφcio das linhas que definem os keycodes 64,
113, 115, 116 e 117.
Foram elaborados mapas com suporte α acentuaτπo para seis modelos de
teclado, tanto para uso no console quanto para o X. Eles podem ser
obtidos via WWW em um dos reposit≤rios da pßgina do Portuguese HOWTO:
╖ <http://linusp.usp.br/~casantos/>
Ao instalar um dos mapas fornecidos, lembre-se de ler os comentßrios
contidos neles, pois hß informaτ⌡es importantes sobre opτ⌡es de
configuraτπo e aproveitamento das teclas adicionais dos teclados
padrπo Windows 95. As instruτ⌡es para instalaτπo estπo nas seτ⌡es
``Configuraτπo do console'' e ``Configuraτπo do X''.
O mapa US+ (us+.map e Xmodmap.us+)
Mapas para os teclados que seguem o padrπo americano. Como nπo
existem teclas especiais para gerar o c-cedilhado nem o trema,
foi usado um pequeno truque: o c-cedilhado Θ gerado pela
seqⁿΩncia 'C. No console pode-se fazΩ-lo com a seqⁿΩncia AltGR-
C. O trema Θ gerado pela tecla ". Para gerar as aspas duplas Θ
necessßrio digitar a seqⁿΩncia "<espaτo> e no console pode-se
usar ""; opcionalmente pode-se usar AltGR-", o que nπo Θ uma
soluτπo muito confortßvel, mas funciona...
Testados com teclados de vßrias marcas (e alguns sem marca :-).
O mapa Portugal (pt.map e Xmodmap.pt)
Mapas para teclados com desenho portuguΩs. Esses teclados sπo os
que possuem uma tecla com os caracteres ½ e ╗. Nπo sπo muito
confortßveis, porque para gerar o sφmbolos @ [ ] { } e o trema Θ
necessßrio usar a tecla Alt-GR.
Testado com um teclado da marca Key Tronic.
O mapa ABNT-2 (abnt-2.map e Xmodmap.abnt2)
Os computadores vendidos no Brasil fabricados pela IBM, Compaq e
Itautec, entre outros, vΩm com esses teclados. Eles tambΘm pode
ser adquiridos avulsos e sπo fabricados pela UIS e Keytec (nπo
confundir com Key Tronic). Este desenho Θ o mais confortßvel de
todos, pois tem a mesma distribuiτπo dos acentos encontrada nas
mßquinas de escrever.
Testado com teclados das marcas UIS e IBM.
Sun Type 4 e Type 5 (Xmodmap.Sun4+ e Xmodmap.Sun5c+)
Encontrados nas mßquinas fabricadas pela Sun. Estes mapas foram
testados em SPARCstations modelos 1, 4, IPC e Classic rodando
SunOS 4.1, Solaris 2.5.1 e Linux 2.0.33 (Red Hat 4.2). Como
esses teclados nπo possuem o c-cedilhado, foi usado o mesmo
truque do mapa US+. Apenas o mapa para o X Θ fornecido.
NCD+ (Xmodmap.NCD+)
Este mapa Θ para o teclado modelo N107 e foi testado em
terminais X modelo 16r fabricados pela Network Computing Devices
Inc. (NCD). Embora a distribuiτπo de teclas seja idΩntica α do
Sun Type 4, os keycodes das teclas sπo diferentes. Esses
teclados tambΘm nπo possuem o c-cedilhado, por isso foi usado o
mesmo truque do mapa US+. Apenas o mapa para o X Θ fornecido.
A geraτπo dos caracteres acentuados Θ feita de acordo com a tabela a
seguir:
Para gerar Digitar
-------------------------------------------------
τ 'c ou compose-,-c
ß Θ φ ≤ · 'a 'e 'i 'o 'u
α Φ ∞ ≥ ∙ `a `e `i `o `u
π ⌡ ~a ~o
Γ Ω ε ⌠ √ ^a ^e ^i ^o ^u
Σ δ ∩ ÷ ⁿ "a "e "i "o "u
" (aspas) "" ou AltGR-" no mapa US+
¿ (trema) "-espaτo
' (ap≤strofo) '' ou AltGR-' no mapa US+
` (grave) `` ou AltGR-` no mapa US+
« compose-O-R
⌐ compose-O-C
-------------------------------------------------
8. Informaτ⌡es Adicionais
8.1. Fontes de informaτπo sobre Linux em PortuguΩs
Grupo de Investigaτπo Linux
Grupo de usußrios de linux da Universidade do Minho, em Portugal
que pode ser visitado em <http://gil.di.uminho.pt>.
Grupo de Utilizadores de Linux do ISCTE
Pode ser visitado em
<http://www.students.iscte.pt/~a12593/gul.html>.
Linux Brasil
Servidor da Universidade Estadual de Campinas, Brasil, contendo
informaτ⌡es sobre Linux no Brasil, que absorveu o antigo projeto
LDP-br. Pode ser visitado em <http://linux.unicamp.br>.
Projeto LinUSP
Desenvolvido na Universidade de Sπo Paulo, Brasil, coordenado
por Jorge L. deLyra. Pode ser visitado em
<http://linusp.usp.br/>.
8.2. Free Translation Project
Programadores que quiserem desenvolver aplicaτ⌡es com suporte a mais
de uma lφngua devem usar algum mΘtodo de definir mensagens em tempo de
execuτπo, possivelmente usando uma biblioteca de funτ⌡es para este
fim. O projeto GNU criou o ``Free Translation Project'', com esta
finalidade. Muitos aplicativos GNU jß permitem que se troquem as
mensagens bastando criar um catßlogo que Θ lido pelo programa ao
iniciar. Hß equipes de traduτπo responsßveis por cada lφngua.
Hß uma lista de discussπo via emeil para cada equipe de traduτπo,
rodando em um servidor provido pela <Linux International>. Para fazer
contato com a equipe de traduτπo para PortuguΩs, envie um emeil para
<pt@li.org> e para assinar a lista envie emeil para <pt-
request@li.org> contendo apenas a palavra ``subscribe''. Assine a
lista somente se vocΩ quiser fazer parte da equipe de tradutores, pois
ela nπo se destina ao esclarecimento de d·vidas de usußrios!
Mais informaτ⌡es podem ser encontradas na documentaτπo do pacote
gettext disponφvel via FTP an⌠nimo em qualquer reposit≤rio de software
do GNU. Provavelmente sua distribuiτπo jß tem um pacote pronto para
ser instalado, mas se vocΩ desejar, os fontes da versπo mais recentes
podem ser encontrados em
<ftp://ftp.gnu.org/pub/gnu/>
e o nome do arquivo a copiar Θ ``gettext-<versπo>.tar.gz''.
8.3. LIE-BR
A informaτπo a seguir Θ baseada no conte·do da pßgina de
apresentaτπo da lie-br, escrita por Jorge Godoy.
A lie-br foi criada com o intuito de auxiliar a comunidade Linux
brasileira a obter softwares e documentaτπo em sua lφngua nativa: o
portuguΩs. Essa lista Θ uma ramificaτπo de outra maior, a LIE que
visa a internacionalizaτπo do Linux e sua posterior traduτπo para
todos os idiomas (portuguΩs incluso).
Resumo dos objetivos da lie-br:
╖ contribuir para o projeto de internacionalizaτπo do Linux fazendo a
parte relativa ao portuguΩs para o Brasil;
╖ internacionalizar programas, de modo a poderem ser usados nas
lφnguas nativas de cada paφs, e nπo ficar preso ao idioma original
ou ao inglΩs;
╖ disponibilizar (sic) material em portuguΩs para consulta e
documentaτπo;
╖ aumentar o acervo de documentaτπo disponφvel e, indiretamente,
auxiliar no desenvolvimento iniciado pelo projeto LDP-BR.
Mais informaτ⌡es podem ser encontradas na pßgina WWW da lie-br, no
endereτo
<http://lie-br.conectiva.com.br/>
Ainda hß uma quantidade enorme de documentos por traduzir. Se vocΩ tem
bom domφnio do InglΩs e deseja colaborar, entπo primeiro leia as
instruτ⌡es na pßgina mencionada e assine a lista ``lie-br'', enviando
um emeil para <lie-br-subscribe@bazar.conectiva.com.br>. Nπo Θ preciso
especificar o assunto (subject) nem colocar nada no corpo da mensagem.
8.4. Vers⌡es de software testadas
Todas as informaτ⌡es presentes neste documento foram testadas nas
seguintes vers⌡es de software:
╖ Distribuiτ⌡es Slackware 3.2 (muito modificada), Debian 2.0, Red Hat
5.2, Conectiva 3.0 (Guarani) e S.u.S.E. 5.6
╖ XFree86 vers⌡es 3.3 a 3.3.3.1
╖ Fvwm 2.0.46
╖ Rxvt versπo 2.4.5
╖ Kernel vers⌡es 2.0.33 a 2.0.36
╖ Kbd vers⌡es 0.92 a 0.96
╖ GNU emacs vers⌡es 19.34 a 20.3
╖ Less vers⌡es 321 e 332
╖ GNU Bash vers⌡es 1.14.7 a 2.01.1
╖ tcsh vers⌡es 6.07.02 e 6.07.06
╖ LyX 0.12.0 a 1.0.0pre6
╖ XForms 0.88
╖ Joe 2.8
╖ Pine 3.96 e 4.0
╖ Pico 2.9
╖ teTeX vers⌡es 0.4 e 0.9-9
╖ XEmacs vers⌡es 20.3 e 20.4
9. Observaτ⌡es finais
9.1. Futuras adiτ⌡es a este documento
As pr≤ximas vers⌡es do HOWTO deverπo conter, entre outros assuntos, os
seguintes:
╖ suporte α distribuiτπo Caldera;
╖ informaτ⌡es sobre compartilhamento de arquivos em rede usando NFS,
SAMBA e Mars-NWE;
╖ configuraτπo de toolkits de interface grßfica: Qt, GTK, XForms, Tk
(Tcl) e os baseados em Xt, como Motif, Lesstif, Xaw (*international
ainda nπo estß funcionando);
╖ uma seτπo sobre desenvolvimento de programas;
╖ referΩncias ao Ispell (usß-lo para corrigir o pr≤prio HOWTO :-);
╖ informaτ⌡es sobre X/Open, XPG4 e POSIX, ou pelo menos ponteiros
para elas.
Aceitam-se voluntßrios para qualquer uma destas tarefas.
Parece cada vez mais claro que as informaτ⌡es sobre configuraτπo de
aplicativos devem ser movidas para outro documento, independente do
HOWTO. Na forma como ele estß hoje jß chega a quase quarenta pßginas
impressas e com a adiτπo de outras distribuiτ⌡es e aplicaτ⌡es em breve
chegarß αs 50. Um documento tπo grande foge ao espφrito de um HOWTO,
que deve ser sucinto e concentrado em um assunto especφfico.
9.2. Nota de Direitos de Autor
Este HOWTO teve como autor Joπo Carlos Rodrigues Pereira, baseado em
documentaτπo escrita por JosΘ Bandeira alΘm dos restantes HOWTO's do
Linux. Atualmente ele Θ mantido por Carlos Augusto Moreira dos
Santos, com a colaboraτπo de muitos outros.
Os documentos HOWTO do Linux podem ser reproduzidos e distribuφdos em
todo ou em parte, segundo qualquer meio fφsico ou electr≤nico, desde
que esta Nota de Direitos de Autor se mantenha intacta em todas as
c≤pias dos mesmos. A distribuiτπo comercial Θ autorizada e
encorajada, no entanto, o autor gostaria de ser notificado de tais
ocorrΩncias.
Todas as traduτ⌡es, trabalhos derivados, ou trabalhos agregando
qualquer dos documentos HOWTO do Linux deverπo estar abrangidos por
esta Nota de Direitos de Autor, ou seja, nπo poderß ser imposta
qualquer restriτπo adicional a trabalhos efectuados a partir de um dos
documentos HOWTO do Linux nomeadamente no que diz respeito α sua
distribuiτπo.
Exceτ⌡es a estas regras poderam ser obtidas. Para tal, dever-se-ß
contactar o coordenador dos documentos HOWTO do Linux no endereτo
<linux-howto@metalab.unc.edu>.
9.3. Garantia (inexistΩncia de) e nota de responsabilidade
Apesar de ter sido feito o mßximo esforτo possφvel para que o conte·do
deste documento esteja correto, nπo hß nenhuma garantia de que ele nπo
possua erros, nem de que tenha algum tipo de utilidade ou aplicaτπo
comercial, tΘcnica, educacional ou medicinal. O autor nπo se
responsabiliza por prejuφzos decorrentes do seu uso. Em resumo: se a
informaτπo aqui contida quebrar seu computador em mil pedacinhos,
junte tudo e cole, mas nπo reclame para mim!
Documentos escritos por terceiros sπo de responsabilidade exclusiva
deles e sua referΩncia neste HOWTO nπo representa nenhum tipo de
recomendaτπo, abono ou garantia de suporte.
9.4. Agradecimentos
Deixo aqui os meus agradecimentos a todos os que de alguma forma me
ajudaram quer atravΘs das suas sugest⌡es quer atravΘs de contribuiτ⌡es
de outro tipo, em especial a
Joπo Carlos Rodrigues Pereira
Autor original deste documento que agora mantenho. Nunca tive
contato com ele, nem sei por onde andarß. Sua pßgina no
Departamento de Informßtica da Faculdade de CiΩncias da
Universidade de Lisboa (http://caravela.di.fc.ul.pt/~jcrp/) nπo
existe mais. Lembro-me de tΩ-la visto, anos atrßs.
Greg Hankins
Ex-coordenador dos Linux HOWTO, por me permitir assumir a
manutenτπo deste documento e fornecer as primeiras dicas sobre
autoria de documentos SGML.
As pessoas listadas a seguir enviaram mensagens diretamente para mim
ou para as listas Linux-BR da UNICAMP e TeX-BR com informaτ⌡es,
sugest⌡es ou comentßrios que foram incluφdas neste texto. Se alguΘm
foi esquecido, por favor desculpe a falha.
Andre Gerhard <andre@lme.usp.br>
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Bruno Barberi Gnecco <brunobg@geocities.com>
Cees de Groot <cg@pobox.com>
Francisco Semeraro <semeraro@sti.com.br>
Goedson Teixeira Paixao <gopaixao@dcc.ufmg.br>
Joao Carvalho <foxfire@fe.up.pt>
Jorge Carvalho Pinto <jmcpinto@yahoo.com>
Judson S Santiago <judson@costeira.dimap.ufrn.br>
Ken MacLeod <ken@bitsko.slc.ut.us>
Klaus Steding-Jessen <jessen@acm.org>
Lamarque Vieira Souza <lamarque@dcc.ufmg.br>
Marcelo Malheiros <malheiro@dca.fee.unicamp.br>
Marcos Vinicius Lannes dos Santos <lannes@cnpgl.embrapa.br>
Pedro Kr÷ger <kroger@e-net.com.br>
Rafael Caetano dos Santos <rcaetano@linux.ime.usp.br>
Rafael Rodrigues Obelheiro <obelix@biquinho.furg.br>
Ramiro Morales <morales@siscard.com.ar>
Raul Carvalho <rmpc@ip.pt>
Ricardo Y. Igarashi <iga@originet.com.br>
Roberto Mello <mello@internext.com.br>
Wanderlei Antonio Cavassin <cavassin@conectiva.com.br>
Os seguintes agradecimentos sπo do primeiro autor:
Carlos Ferreira
Pela luta que trava pela defesa da lingua portuguesa, bem
patente na sua Pßgina Portuguesa disponφvel no URL:
http://lila.dei.uc.pt/~cjrf/po/ [Nota do mantenedor atual: esta
pßgina nπo existe]
Joπo C. Silva
Pelo apoio e incentivo e criticas (bem como por me deixar testar
os meus conhecimentos no SEU computador).
JosΘ Bandeira
Autor dos ficheiros port.map e xmodmap. Pelo seu apoio e por
ter escrito alguma da documentaτπo mais elucidativa que eu jß li
sobre o assunto.
10. Bibliografia comentada
Esta seτπo ainda estß incompleta e deve ser melhorada nas pr≤ximas
vers⌡es. Os HOWTOs mencionados aqui geralmente sπo distribuφdos nos
CDs de instalaτπo e todas as distribuiτ⌡es possuem pelo menos alguns
deles em pacotes prontos para instalar. Na Slackwre esses pacotes sπo
os da sΘrie F e os documentos ficam instalados no diret≤rio
/usr/doc/faq/howto e na Debian o diret≤rio Θ /usr/doc/HOWTO. Eles
tambΘm podem ser obtidos via WWW em
<http://metalab.unc.edu/LDP/HOWTO/>.
[BAL97] BALSA, AndrΘ D. Linux and X11 internationalization
Disponφvel via WWW em
<http://wauug.erols.com/~balsa/linux/deadkeys/>
Uma discussπo sobre o problema da acentuaτπo no X. TambΘm contΘm
referΩncias para outros documentos que tratam de
internacionalizaτπo.
[BRO98] Brower Andries. The Linux Keyboard and Console HOWTO
Disponφvel via WWW em
<http://metalab.unc.edu/LDP/HOWTO/Keyboard-and-Console-
HOWTO.html>.
Descreve o tratamento teclado e console no Linux (kernel versπo
2.0) e tem vßrias referΩncias ao X. Leitura obrigat≤ria para
quem quer entender a base do assunto.
[GET94] Gettys, James et al. Xlib - C Language X Interface
Cambridge, X Consortium, Inc., 1994. 473p.
ReferΩncia definitiva sobre programaτπo com Xlib.
[JON89] Jones, Oliver. Introduction to the X Window System
Englewood Cliffs, Prentice Hall, 1990.
Um livro bastante antigo, mas contendo uma excelente e didßtica
introduτπo ao X e α programaτπo com Xlib.
[McC94] McCormack, Joel et al.X Toolkit Intrinsics - C Language
Interface
Digital Equipment Corporation/X Consortium, 1994.
A referΩncia bßsica para programadores interessados em usar Xt.
[OSS92] Ossana, Joseph & Kernighan, Brian. Troff user's manual
Computer Science Technical Report No. 54. Murray Hill, AT&T Bell
Laboratories, 1992.
Descriτπo detalhada de como usar o Troff para formataτπo de
documentos.
[KER82] Kernighan, Brian. A Typesetter-independent TROFF
Murray Hill, AT&T Bell Laboratories, 1982.
O artigo de um dos pais do UNIX sobre o Troff.
[QUI98] Quinot, Thomas. Dead keys under X11
Disponφvel via WWW em
<http://www.fdn.fr/~tquinot/index.en.html>
A versπo em inglΩs do artigo sobre a modificaτπo da Xlib para
dar suporte α acentuaτπo independente da aplicaτπo.
[RAY98] Raymond, Eric S. The Linux XFree86 HOWTO
Disponφvel via WWW em
<http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html>.
Descreve como obter, instalar e configurar o XFree86. Todas as
distribuiτ⌡es de Linux jß vΩm com pacotes do XFree86 prontos
para instalar, mas as informaτ⌡es sobre configuraτπo podem ser
muito ·teis.
[SCH86] Scheifler, Robert; Gettys, James. The X Window System
ACM Transactions on Graphics, New York, ACM, 5 (2): 79-109,
april, 1986.
O artigo seminal de Scheifler e Gettys descrevendo o X Window
System.
[SUN90a] Sun Microsystems. Using NROFF & TROFF.
Sun Microsystems, 1990.
Parte da documentaτπo que acompanhava as estaτ⌡es de trabalho
Sun« e o sistema SunOS«, no tempo em que os fabricantes de
computadores distribuiam documentaτπo de verdade.
[SUN90b] Sun Microsystems. Formatting documents
Sun Microsystems, 1990.
Veja o φtem anterior.
Arquivos cuja leitura pode ser ·til:
/usr/src/linux/Documentation/unicode.txt
Explica como ativar os diversos tipos de fontes no console.
TambΘm explica onde obter fontes para o alfabeto Klingon, o que
pode ser muito ·til se o leitor for um habitante daquele ImpΘrio
ou admirador de Jornada nas Estrelas. Depois das recentes
aventuras espaciais do Linux, nπo duvido de mais nada...
A respeito deste assunto Θ de fundamental importΓncia saber que,
segundo nosso consultor interestrelar Klaus Steding-Jessen,
``Klingon Θ o nome da raτa e do seu idioma. Kling Θ o nome do
planeta. Mas note que o ImpΘrio Klingon Θ formado nπo apenas
por esse planeta, mas por vßrias col⌠nias, teoricamente todas
falando Klingon''. Tenho certeza de que sua vida nunca mais serß
a mesma depois de saber disto.
/usr/src/linux/include/linux/keyboard.h
ContΘm as definiτ⌡es de constantes, funτ⌡es e macros utilizadas
por programas que fazem tratamento de teclado sob Linux.
Normalmente esse arquivo Θ instalado com o pacote que contΘm o
c≤digo fonte do kernel. As distribuiτ⌡es geralmente possuem um
pacote apenas com os arquivos include e outros com o resto dos
programas-fonte do kernel.
/usr/X11R6/include/X11/keysymdef.h
ContΘm as definiτ⌡es de constantes, funτ⌡es e macros utilizadas
por programas que fazem tratamento de teclado sob o X Window
System. Normalmente esse arquivo Θ instalado com o pacote que
contΘm as bibliotecas de desenvolvimento de aplicaτ⌡es para X.