Provided by: manpages-pt_20040726-5_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)

Linux                                              27/12/1995                                         UNICODE(7)