Codepages (1)
From
Mauro Veiga@1:2320/100 to
All on Fri Jul 29 12:44:02 2016
O mist�rio 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 s�o os mesmos e obedecem rigorosamente � padroniza��o ASCII e os 128 remanescentes correspondem a caracteres espec�ficos de determinados idiomas. Nos interessam particularmente tr�s p�ginas de c�digo (que doravante vamos abreviar para
CP): as CP 860, 437 e 850. A primeira por raz�es �bvias: ela corresponde ao idioma portugu�s. � uma solu��o extremamente inteligente:
os caracteres acentuados do portugu�s e inexistentes na CP 437 foram introduzidos em substitui��o 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 t�cnicos, por exemplo.
A CP 437 corresponde ao ingl�s usado nos EUA, e nela faltam al�m 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 portugu�s e espanhol, e incorpora caracteres �teis em alguns desses idiomas, mas absolutamente inserv�veis no portugu�s (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, n�o � uma boa solu��o: para abrir espa�o 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 raz�o o "beta" permaneceu; provavelmente para continuar permitindo o desenvolvimento de "vers�es
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 s�o 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 a��o pode se estender tamb�m para teclado
e impressora. O que parece �timo. Mas n�o se anime tanto, que a coisa
tem seus percal�os. Sen�o vejamos.
O uso de p�ginas de c�digo na impress�o exige que a pr�pria impressora forne�a suporte para elas, e poucas o fazem. De forma que n�o 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 par�metros, mas para n�s basta a
que segue:
keyb xx,yyy,[via]nomearq
Destrinchemo-la: keyb � o nome do comando. O par�metro xx representa o c�digo do teclado. Dos poss�veis, nos interessam "br", para o teclado brasileiro (dispon�vel apenas a partir da vers�o 5.0 do MS DOS) e "po"
para o teclado portugu�s. O par�metro 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 cont�m as informa��es sobre
os teclados. Tamb�m 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 portugu�s, e ajustar o teclado usando o par�metro "po", as teclas de seu teclado ficar�o 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 posi��o no teclado e aparecem de acordo com a disposi��o usada em Portugal, completamente diferente do padr�o americano
da maioria dos nossos teclados, o "US Keyboard".
E verdade que sempre se pode usar o par�metro "br", do teclado brasileiro, que n�o muda o lay-out do teclado padr�o 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 tamb�m a CP. E os par�metros xx e yyy devem combinar um com o outro e
com o pa�s usado no comando "country". Explicando melhor: quando voc� especifica o par�metro 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 portugu�s n�o combinam, ou seja, se for escolhido o teclado brasileiro n�o ser� poss�vel usar a CP 860, do idioma portugu�s. Parece est�pido? Parece mesmo. Mas acontece que por insond�veis raz�es 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 ingl�s dos EUA foi tornada compat�vel com o c�digo de pa�s 055, correspondente ao Brasil e a 860 do idioma portugu�s n�o, mas at� agora, por meus pr�prios meios, confesso
n�o ter conseguido deslindar esse mist�rio.
Ent�o, conforme o evangelho segundo a Microsoft, n�s brasileiros devemos
usar as CP 437 e 850 e nos privarmos da 860 do idioma portugu�s. Mas acontece que a CP 850, embora tenha todos os caracteres acentuados do portugu�s, inclui uma multid�o de outros que n�o t�m 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 t�cnicos e uma
s�rie de s�mbolos gr�ficos que muitos programas utilizam para molduras (experimente rodar o XTree ou DesqView na CP 850 e veja que maldita confus�o aparece na tela). O que � muito inconveniente.
Temos ent�o 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 portugu�s que n�o 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)