Provided by: manpages-pt_20040726-4_all bug

NOME

       Unicode - o superconjunto unificado de caracteres de 16 bits

DESCRIÇÃO

       O padrão internacional ISO 10646 define o Universal Character Set (UCS).  UCS contém todos
       os caracteres de todos os outros padrões de conjuntos de caracteres. Ele também garante  a
       compatibilidade retroativa ,isto é, as tabelas de conversão podem ser construídas de forma
       que nenhuma informação seja perdida quando uma  string  é  convertida  de  qualquer  outra
       codificação para UCS e vice-versa.

       UCS  contém  os  caracteres requeridos para representar quase todas as línguas conhecidas.
       Isto inclui a maioria das línguas que usam  extensões  da  escrita  latina,  e  também  as
       seguintes  escritas  e  línguas:  grego,  cirílico,  hebraico, árabe, armênio, gregoriano,
       japonês, chinês,  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 incluídos mais escritas, como tibetano, khmer, rúnico,  etíope,
       hieróglifos,  várias  línguas indo-européias, e muitas outras. Para muitas dessas escritas
       mais antigas, ainda não era claro como elas  poderiam  ser  codificadas  melhor  quando  o
       padrão  foi  publicado,  em  1993.  Além dos caracteres requeridos por essas escritas, foi
       incluído um grande número de símbolos gráficos, tipográficos, matemáticos  e  científicos,
       como aqueles fornecidos pelo Tex, PostScript, MS-DOS, Macintosh, Videotexto, OCR, e muitos
       sistemas de processamento de texto, além de códigos especiais que  garantem  compatibility
       retroativa para todos os outros padrões de conjuntos de caracteres existentes.

       O  padrão  UCS  (ISO 10646) descreve uma arquitetura de conjunto de caracteres de 31 bits,
       porém hoje apenas as primeiras 65534 posições  de  código  (0x0000  to  0xfffd),  que  são
       chamadas  de  Plano  Multilingual  Básico  (Basic  Multilingual  Plane - BMP), receberam a
       atribuição de caracteres, e é esperado que somente caracteres muito exóticos (por exemplo,
       hieróglifos)  para propósitos científicos especiais terão lugar fora desse BMP de 16 bits.

       Os  caracteres  UCS  de  0x0000  a  0x007f  são  idênticos àqueles do conjunto clássico de
       caracteres US-ASCII , e os caracteres na faixa de 0x0000 a 0x00ff são idênticos àqueles no
       conjunto de caracteres ISO 8859-1 Latin-1

COMBINANDO CARACTERES

       Alguns  pontos de código no UCS têm sido atribuídos aos caracteres combinantes.  Estes são
       similares às chaves de acento de não-espaçamento em uma máquina de escrever. Um  caractere
       combinante  apenas acrescenta um acento a um caractere anterior.  Os caracteres acentuados
       mais importantes têm seus próprios  códigos  em  UCS,  porém  o  mecanismo  de  caracteres
       combinantes permitem acrescentar acentos e outras marcas diacríticas a qualquer caractere.
       Os caracteres combinantes sempres seguem o caractere que eles modificam.  Por  exemplo,  o
       caractere  alemão  Umlaut-A  ("letra  A maiúscula com trema") pode ser representada por um
       código UCS pré-composto 0x00c4, ou alternativamente como a  combinação  de  uma  "letra  A
       maiúscula" normal seguida de um "trema combinante": 0x0041 0x0308.

NÍVEIS DE IMPLEMENTAÇÃO

       Como  nem  todo  sistema  suporta mecanismos avançados, como caracteres combinantes, a ISO
       10646 especifica os três seguintes níveis de implementação da UCS:

       Nível 1  Caracteres combinantes e caracteres Hangul Jamo  (uma codificação especial e mais
                complicada  da  escrita coreana, onde as sílabas Hangul são codificadas como dois
                ou três subcaracteres) não são implementados.

       Nível 2  Como o nível 1, porém em algumas  escritas,  alguns  caracteres  combinantes  são
                permitidos  (por  exemplo,  para  hebraico,  árabe, devangari, bengali, gurmukhi,
                gujarati, oriya, tamil, telugo, kannada, malaio, thai e lao).

       Nível 3  Todos os caracteres UCS são suportados.

       O padrão  Unicode  1.1  publicado  pelo  Unicode  Consortium  contém  exatamente  o  Plano
       Multilingual  Básico  da  UCS  no  nível 3 de implementação, como descrito na ISO 10646. O
       Unicode 1.1 também acrescenta algumas definições semânticas para alguns caracteres para as
       definições da ISO 10646.

UNICODE SOB LINUX

       Sob o Linux, somente o nível de implementação 1 do BMP deve ser usado no momento, de forma
       a manter a complexidade de implementação dos caracteres combinantes baixos. Os  níveis  de
       implementação  mais  altos  são  mais  confiáveis para formatos especiais de formatação de
       palavras, mas não como um conjunto de caracteres de um  sistema  genérico.  O  tipo  do  C
       wchar_t é, em Linux, um tipo inteiro de 32 bits com sinal, e seu valor é interpretado como
       um código UCS4

       A configuração do locale especifica se a  codificação  de  caractere  do  sistema  é,  por
       exemplo,  UTF-8  ou  ISO  8859-1.   Funções de biblioteca, como wctomb, mbtowc, ou wprintf
       podem ser usadas para transformar os caracteres e strings wchar_t internos em  codificação
       de caracteres do sistema, e vice-versa.

ÁREA PRIVATIVA

       No  BMP, a faixa de 0xe000 a 0xf8ff nunca será atribuída a qualquer caractere pelo padrão,
       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 usuário
       final; e a zona Linux da faixa de 0xf000 a 0xf8ff onde as extensões são coordenadas  entre
       todos  os  usuários  Linux.  O  registro  dos caracteres atribuídos à zona Linux é mantido
       atualmente por H. Peter  Anvin  <Peter.Anvin@linux.org>,  Yggdrasil  Computing,  Inc.  Ele
       contém  alguns  caracteres gráficos do VT100 da DEC, perdidos no Unicode, dá acesso direto
       aos caracteres no buffer de fontes do console, e contém os caracteres usados por  escritas
       um pouco avançadas, como o Klingon.

LITERATURA

       * Tecnologia  da  informação  -  Conjunto Universal de Caracteres Codificados em Múltiplos
         Octetos (UCS) - Parte 1: Arquitetura e Plano Multilingual Básico.  Padrão  Internacional
         ISO 10646-1, Organização Internacional para Padronização, Genebra, 1993.

         Esta  é  a  especificação  oficial  do  UCS.   Bem  oficial, bem denso, e bem caro. Para
         informações sobre encomenda, verifique www.iso.ch.

       * O Padrão Unicode - Codificação Mundial de Caracteres Versão 1.0.  O  Consórcio  Unicode,
         Addison-Wesley, Reading, MA, 1991.

         Já  existe o Unicode 1.1.4 disponível. As mudanças para o livro do 1.0 estão disponíveis
         a partir de ftp.unicode.org. O Unicode 2.0 será publicado novamente  como  um  livro  em
         1996.

       * S.  Harbison,  G.  Steele.  C  -  Um Manual de Referência. Quarta edição, Prentice Hall,
         Englewood Cliffs, 1995, ISBN 0-13-326224-3.

         Um bom livro de referência sobre a linguagem de programação C.  A  quarta  edição  agora
         cobre também a Emenda de 1994 para o padrão ISO do C (ISO/IEC 9899:1990), que acrescenta
         um grande número de novas funções da biblioteca C para manipulação de grandes  conjuntos
         de caracteres.

PROBLEMAS

       No momento em que esta página de manual foi escrita, o suporte da libc do Linux para o UCS
       estava longe de estar completo.

AUTOR

       Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>

VEJA TAMBÉM

       utf-8(7)

TRADUZIDO POR LDP-BR em 21/08/2000.

       Rubens  de  Jesus  Nogueira  <darkseid99@usa.net>  (tradução)  André  L.  Fassone   Canova
       <lonelywolf@blv.com.br> (revisão)