Codepages (1)
From
Mauro Veiga@1:2320/100 to
All on Fri Jul 29 12:44:02 2016
O mistrio das paginas de codigo.
Dos textos do B. Piropo.
O MS-DOS 5.0 da Microsoft oferece um total de seis p ginas de c¢digo. Em
todas elas, os primeiros 128 caracteres so os mesmos e obedecem rigorosamente
padronizao ASCII e os 128 remanescentes correspondem a caracteres espec”ficos de determinados idiomas. Nos interessam particularmente trs p ginas de c¢digo (que doravante vamos abreviar para
CP): as CP 860, 437 e 850. A primeira por razes ¢bvias: ela corresponde ao idioma portugus. uma soluo extremamente inteligente:
os caracteres acentuados do portugus e inexistentes na CP 437 foram introduzidos em substituio a outros jamais utilizados em nosso idioma,
como o e-trema e i-circunflexo, deixando intactos os caracteres gr ficos
que muitos programas usam para molduras e as letras gregas utilizadas
como s”mbolos matem ticos e essenciais para relat¢rios tcnicos, por exemplo.
A CP 437 corresponde ao ingls usado nos EUA, e nela faltam alm do a-til
e o-til a maior parte dos caracteres acentuados mai£sculos. Mas provavelmente a que vem gravada na ROM de sua controladora de v”deo, ou
seja, sua p gina de c¢digo de hardware.
A CP 850 a "multilingue latino I". Foi desenvolvida para atender ao
maior n£mero poss”vel de idiomas, particularmente os de ra”zes latinas, dentre os quais o portugus e espanhol, e incorpora caracteres £teis em alguns desses idiomas, mas absolutamente inserv”veis no portugus (a
menos que voc consiga enfiar, por exemplo, um u-circunflexo no meio de
uma palavra). Como quem pretende satisfazer a todos acaba por deixar a maioria insatisfeita, no uma boa soluo: para abrir espao para os
novos caracteres, a maior parte dos s”mbolos gr ficos usados para o desenho de molduras e linhas foram eliminados, assim como muitas letras gregas (o "alfa" sumiu, mas por alguma razo o "beta" permaneceu; provavelmente para continuar permitindo o desenvolvimento de "verses
beta" de software). Entretanto alguns programas utilizam a CP 850 e se
voc usar o Works ou Word 5.0 sem ela, aparecem s”mbolos muito estranhos
no lugar de alguns caracteres acentuados.
Essas so as principais caracter”sticas das p ginas de c¢digo que nos interessam. Mas at agora temos discutido as CP como se elas apenas servissem para o v”deo. E sua ao pode se estender tambm para teclado
e impressora. O que parece ¢timo. Mas no se anime tanto, que a coisa
tem seus percalos. Seno vejamos.
O uso de p ginas de c¢digo na impresso exige que a pr¢pria impressora fornea suporte para elas, e poucas o fazem. De forma que no vamos perder tempo com isso agora. J no que toca ao teclado, a coisa mais simples, posto que se o suporte de p ginas de c¢digo para v”deo tiver
sido implementado com os comandos que j examinamos, basta usar o programa Keyb.Com, do pr¢prio DOS, um residente que intercepta as teclas
e as converte de acordo com a p gina de c¢digo selecionada (lembre-se que
o driver Display.Sys um gerenciador de console, e console inclui o teclado). O lugar ideal para carreg -lo , evidentemente, o Autoexec.Bat. Sua sintaxe admite outros parmetros, mas para n¢s basta a
que segue:
keyb xx,yyy,[via]nomearq
Destrinchemo-la: keyb o nome do comando. O parmetro xx representa o c¢digo do teclado. Dos poss”veis, nos interessam "br", para o teclado brasileiro (dispon”vel apenas a partir da verso 5.0 do MS DOS) e "po"
para o teclado portugus. O parmetro yyy o c¢digo da p gina de c¢digo
a ser utilizada, obrigatoriamente uma das que tiver sido previamente preparada para o console. E [via]nomearq representa a via de diret¢rio e
o nome do arquivo Keyboard.Sys, do DOS, que contm as informaes sobre
os teclados. Tambm nesse caso, se voc copiar o arquivo Keyboard.Sys
para o diret¢rio raiz do disco de boot, pode suprimir a [via] na linha de comando.
Parece ¢timo: com o residente Keyb.Com instalado poss”vel usar caracteres acentuados como em uma m quina de escrever, teclando-se o acento seguido da letra. O problema que Keyb.Com muda o lay-out do teclado de acordo com o pa”s. Se voc estiver usando a CP 860, do idioma portugus, e ajustar o teclado usando o parmetro "po", as teclas de seu teclado ficaro completamente "embaralhadas" e vai ter que teclar o sinal
"<" menor-que toda a vez que precisar de um dois-pontos, por exemplo,
pois as teclas mudam de posio no teclado e aparecem de acordo com a disposio usada em Portugal, completamente diferente do padro americano
da maioria dos nossos teclados, o "US Keyboard".
E verdade que sempre se pode usar o parmetro "br", do teclado brasileiro, que no muda o lay-out do teclado padro americano e permite acentuar da mesma forma (o cedilha obtido teclando o acento agudo seguido do "C"). Mas quando se especifica o teclado deve-se especificar tambm a CP. E os parmetros xx e yyy devem combinar um com o outro e
com o pa”s usado no comando "country". Explicando melhor: quando voc especifica o parmetro xx, ou seja, escolhe o pa”s, somente poder especificar determinadas p ginas de c¢digo que "combinem" com o pa”s escolhido. Em outras palavras: cada c¢digo de teclado somente aceita determinadas p ginas de c¢digo. E a Microsoft, que desenvolveu essa tralha toda, decidiu que o Brasil e a CP 860 do idioma portugus no combinam, ou seja, se for escolhido o teclado brasileiro no ser poss”vel usar a CP 860, do idioma portugus. Parece est£pido? Parece mesmo. Mas acontece que por insond veis razes a Microsoft resolveu que
o Brasil deve usar apenas as CP 850 "multilingue latino I" e 437 americana, jamais a 860. Talvez algum dia os luminares da Microsoft consigam me explicar por que a CP 437 do ingls dos EUA foi tornada compat”vel com o c¢digo de pa”s 055, correspondente ao Brasil e a 860 do idioma portugus no, mas at agora, por meus pr¢prios meios, confesso
no ter conseguido deslindar esse mistrio.
Ento, conforme o evangelho segundo a Microsoft, n¢s brasileiros devemos
usar as CP 437 e 850 e nos privarmos da 860 do idioma portugus. Mas acontece que a CP 850, embora tenha todos os caracteres acentuados do portugus, inclui uma multido de outros que no tm serventia alguma
(para que servem um "e" ou um "u" com acento grave, por exemplo?). E exclui a maior parte das letras gregas usadas em textos tcnicos e uma
srie de s”mbolos gr ficos que muitos programas utilizam para molduras (experimente rodar o XTree ou DesqView na CP 850 e veja que maldita confuso aparece na tela). O que muito inconveniente.
Temos ento um problema: ou usamos a CP 850 e o teclado brasileiro para acentuar, e perdemos os s”mbolos gr ficos e letras gregas, ou usamos a CP
860 do portugus que no tem esse inconveniente. Mas se usarmos seu teclado, embaralhamos as teclas do nosso. Vejamos como resolver este aparente impasse.
B. Piropo
___ Blue Wave/386 v2.30
--- SBBSecho 2.27-Win32
# Origin: Ninho do Abutre 2 - Rio de Janeiro - Brasil * (4:801/194)
* Origin: LiveWire BBS - Synchronet - LiveWireBBS.com (1:2320/100)