1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
.\" -*- nroff -*-
.\"
.\" Copyright (C) Markus Kuhn, 1995
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.\"
.\" 1995-11-26 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\" First version written
.\"
.TH UNICODE 7 "27/12/1995" "Linux" "Manual do Programador Linux"
.SH NOME
Unicode \- o superconjunto unificado de caracteres de 16 bits
.SH DESCRIO
O padro internacional
.B ISO 10646
define o
.BR "Universal Character Set (UCS)" .
.B UCS
contm todos os caracteres de todos os outros padres de conjuntos de
caracteres. Ele tambm garante a
.BR "compatibilidade retroativa"
,isto , as tabelas de converso podem ser construdas de forma que nenhuma informao seja perdida
quando uma string convertida de qualquer outra codificao para
.B UCS
e vice-versa.
.B UCS
contm os caracteres requeridos para representar quase todas as lnguas
conhecidas. Isto inclui a maioria das lnguas que usam
extenses da escrita latina, e tambm as seguintes escritas e
lnguas: grego, cirlico, hebraico, rabe, armnio, gregoriano, japons,
chins, hiragana, katakana, coreano, hangul, devangari, bengali, gurmukhi,
gujarati, oriya, tamil, telugu, kannada, malaio, thai, lao, bopomofo, e um
muitas outras. Trabalha-se para que sejam includos mais escritas, como
tibetano, khmer, rnico, etope, hierglifos, vrias lnguas
indo-europias, e muitas outras. Para muitas dessas escritas mais antigas,
ainda no era claro como elas poderiam ser codificadas melhor quando o
padro foi publicado, em 1993. Alm dos caracteres requeridos por essas
escritas, foi includo um grande nmero de smbolos grficos,
tipogrficos, matemticos e cientficos, como aqueles fornecidos pelo Tex,
PostScript, MS-DOS, Macintosh, Videotexto, OCR, e muitos sistemas de
processamento de texto, alm de cdigos especiais que garantem
compatibility retroativa para todos os outros padres de conjuntos
de caracteres existentes.
O padro
.B UCS
(ISO 10646) descreve uma arquitetura de conjunto de caracteres de 31 bits,
porm hoje apenas as primeiras 65534 posies de cdigo (0x0000 to 0xfffd),
que so chamadas de
.BR "Plano Multilingual Bsico (Basic Multilingual Plane - BMP)" ,
receberam a atribuio de caracteres, e esperado que somente caracteres
muito exticos (por exemplo, hierglifos) para propsitos cientficos
especiais tero lugar fora desse BMP de 16 bits.
Os caracteres
.B UCS
de 0x0000 a 0x007f so idnticos queles do conjunto clssico de caracteres
.B US-ASCII
, e os caracteres na faixa de 0x0000 a 0x00ff so idnticos queles no
conjunto de caracteres
.B ISO 8859-1 Latin-1
.
.SH COMBINANDO CARACTERES
Alguns pontos de cdigo no
.B UCS
tm sido atribudos aos
.BR "caracteres combinantes" .
Estes so similares s chaves de acento de no-espaamento em uma mquina de escrever. Um
caractere combinante apenas acrescenta um acento a um caractere anterior.
Os caracteres acentuados mais importantes tm seus prprios cdigos em
.BR UCS ,
porm o mecanismo de caracteres combinantes permitem acrescentar acentos e outras
marcas diacrticas a qualquer caractere. Os caracteres combinantes sempres seguem
o caractere que eles modificam. Por exemplo, o caractere alemo
Umlaut-A ("letra A maiscula com trema") pode ser representada
por um cdigo
.B UCS
pr-composto 0x00c4, ou alternativamente como a combinao de uma "letra A
maiscula" normal seguida de um "trema combinante": 0x0041 0x0308.
.SH NVEIS DE IMPLEMENTAO
Como nem todo sistema suporta mecanismos avanados, como
caracteres combinantes, a ISO 10646 especifica os trs
seguintes nveis de implementao da
.BR UCS:
.TP 0.9i
Nvel 1
Caracteres combinantes e caracteres Hangul Jamo (uma codificao especial
e mais complicada da escrita coreana, onde as slabas Hangul so codificadas
como dois ou trs subcaracteres) no so implementados.
.TP
Nvel 2
Como o nvel 1, porm em algumas escritas, alguns caracteres combinantes so
permitidos (por exemplo, para hebraico, rabe, devangari, bengali, gurmukhi,
gujarati, oriya, tamil, telugo, kannada, malaio, thai e lao).
.TP
Nvel 3
Todos os caracteres
.B UCS
so suportados.
.PP
O padro Unicode 1.1 publicado pelo Unicode Consortium contm
exatamente o
.B Plano Multilingual Bsico da UCS
no nvel 3 de implementao, como descrito na ISO 10646. O Unicode 1.1 tambm
acrescenta algumas definies semnticas para alguns caracteres para as
definies da ISO 10646.
.SH UNICODE SOB LINUX
Sob o Linux, somente o nvel de implementao 1 do
.B BMP
deve ser usado no momento, de forma a
manter a complexidade de implementao dos caracteres combinantes baixos. Os
nveis de implementao mais altos so mais confiveis para formatos especiais de
formatao de palavras, mas no como um conjunto de caracteres de um sistema genrico. O tipo
do C
.B wchar_t
, em Linux, um tipo inteiro de 32 bits com sinal, e seu valor interpretado
como um cdigo
.B UCS4
.
A configurao do locale especifica se a codificao de caractere do sistema ,
por exemplo,
.B UTF-8
ou
.BR "ISO 8859-1" .
Funes de biblioteca, como
.BR wctomb,
.BR mbtowc,
ou
.B wprintf
podem ser usadas para transformar os caracteres e strings
.B wchar_t
internos em codificao de caracteres do sistema, e vice-versa.
.SH REA PRIVATIVA
No
.BR BMP ,
a faixa de 0xe000 a 0xf8ff nunca ser atribuda a qualquer caractere pelo
padro, e reservada para uso privativo. Para a comunidade
Linux, esta rea privativa foi dividida
nas faixas: x0e000 a 0xefff pode ser usada individualmente por algum usurio final;
e a zona Linux da faixa de 0xf000 a 0xf8ff onde as extenses so
coordenadas entre todos os usurios Linux. O registro dos caracteres
atribudos zona Linux mantido atualmente por H. Peter Anvin
<Peter.Anvin@linux.org>, Yggdrasil Computing, Inc. Ele contm alguns
caracteres grficos do VT100 da DEC, perdidos no Unicode, d acesso direto aos
caracteres no buffer de fontes do console, e contm os
caracteres usados por escritas um pouco avanadas, como o Klingon.
.SH LITERATURA
.TP 0.2i
*
Tecnologia da informao \- Conjunto Universal de Caracteres Codificados
em Mltiplos Octetos (UCS) \- Parte 1: Arquitetura e Plano Multilingual Bsico.
Padro Internacional ISO 10646-1, Organizao Internacional para
Padronizao, Genebra, 1993.
Esta a especificao oficial do
.BR UCS .
Bem oficial, bem denso, e bem caro. Para informaes sobre
encomenda, verifique www.iso.ch.
.TP
*
O Padro Unicode \- Codificao Mundial de Caracteres Verso 1.0.
O Consrcio Unicode, Addison-Wesley,
Reading, MA, 1991.
J existe o Unicode 1.1.4 disponvel. As mudanas para o livro do 1.0
esto disponveis a partir de ftp.unicode.org. O Unicode 2.0 ser
publicado novamente como um livro em 1996.
.TP
*
S. Harbison, G. Steele. C \- Um Manual de Referncia. Quarta edio,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
Um bom livro de referncia sobre a linguagem de programao C. A quarta
edio agora cobre tambm a Emenda de 1994 para o padro ISO do C
(ISO/IEC 9899:1990), que acrescenta um grande nmero de novas funes da
biblioteca C para manipulao de grandes conjuntos de caracteres.
.SH PROBLEMAS
No momento em que esta pgina de manual foi escrita, o suporte da libc do Linux para o
.B UCS
estava longe de estar completo.
.SH AUTOR
Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.SH "VEJA TAMBM"
.B utf-8(7)
.SH TRADUZIDO POR LDP-BR em 21/08/2000.
\&\fR\&\f(CWRubens de Jesus Nogueira <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWAndr L. Fassone Canova <lonelywolf@blv.com.br> (reviso)\fR
|