.\" -*- coding: UTF-8 -*-
.\" Copyright (C) Markus Kuhn, 1995, 2001
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" 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, see
.\" .
.\" %%%LICENSE_END
.\"
.\" 1995-11-26 Markus Kuhn
.\" First version written
.\" 2001-05-11 Markus Kuhn
.\" Update
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH UNICODE 7 "13 agosto 2020" GNU "Manual do Programador do Linux"
.SH NOME
unicode \- conjunto de caracteres universal
.SH 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. 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.
.PP
UCS contém os caracteres necessários para representar quase todas as línguas
conhecidas. Isto inclui não somente a latina, grega, cirílica, hebraica,
árabe, armênia e gregoriana, mas também chinesa, japonesa e coreana, como
também as escritas em ideogramas hiragana, katakana, hangul, devangari,
bengali, gurmukhi, gujarati, oriya, tamil, telugu, kannada, malaio, thai,
lao, khmer, bopomofo, tibetana, rúnica, etíope, silábica canadense,
cherokee, mongol, oghan, myanmar, sinhalam thaana, yi e muitas outras. Para
escritas ainda não cobertas, pesquisas de como se fazer a codificação para o
computador ainda são realizadas e elas serão eventualmente adicionadas. Isto
não inclui somente símbolos gráficos e várias linguagens históricas
indo\-europeias mas, também, escritas artísticas como o tengwar, cirth e
klingon. A UCS também incluí um grande número de símbolos gráficos,
tipográficos, matemáticos e científicos, como aqueles fornecidos pelo Tex,
PostScript, APL, MS\-DOS, MS\-Windows, Macintosh, fontes OCR e muitos sistemas
de processamento de texto e de publicação, e mais será adicionado.
.PP
O padrão UCS (ISO 10646) descreve uma arquitetura de conjunto de caracteres
de 31 bits, consistindo de 128 \fIgrupos\fP de 24 bits divididos em 256
\fIplanos\fP de 16 bits que formam 256 \fIlinhas\fP com 8 bits com 256 \fIcolunas\fP,
uma para cada caractere. A parte 1 do padrão (ISO 10646\-1) define que as
primeiras 65534 posições de código (0x0000 to 0xfffd), formam o \fIPlano
Multilíngue Básico (Basic Multilingual Plane \- BMP)\fP, que é o plano 0 no
grupo 0. A parte 2 do padrão (ISO 10646\-2) adiciona caracteres ao grupo 0
que estão fora do BMP nos vários \fIplanos suplementares\fP no intervalo
0x10000 até 0x10ffff. Não há planos para se adicionar caracteres depois de
0x10ffff no padrão, então de todo espaço de código, somente uma pequena
fração do grupo 0 será sempre usada em um futuro previsto. O BMP contém
todos os caracteres encontrado em outros conjuntos usados normalmente. Os
planos suplementares adicionados pela ISO 10464\-2 cobre somente caracteres
muito exóticos de necessidades especiais científicas, impressão de
dicionários, industria de publicações, protocolo de alto\-nível e
entusiastas.
.PP
A representação de cada caractere UCS como uma palavra de 2 bytes é referida
pela forma UCS\-2 (somente para caracteres BMP), enquanto que UCS\-4 é a
representação de cada caractere por uma palavra de 4 bytes. Adicionalmente,
existem duas formas de codificação UTF\-8 para tratamento de compatibilidade
reversa com processamento ASCII e UTF\-16 para tratamento de compatibilidade
reversa com caracteres que não estejam no BMP para 0x10ffff para UCS\-2.
.PP
Os caracteres UCS 0x0000 até 0x007f são idênticos ao clássico conjunto de
caracteres US\-ASCII e no intervalo de 0x000 até 0x00ff são idênticos ao ISO
8859\-1 (Latin\-1).
.SS "Caracteres combinantes"
Alguns pontos de código no UCS têm sido atribuídos aos \fIcaracteres
combinantes\fP. Estes são similares às teclas 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 no UCS, porém o mecanismo de caracteres combinantes
permitem acrescentar acentos e outras marcas diacríticas a qualquer
caractere. Os caracteres combinantes sempre seguem o caractere que eles
modificam. Por exemplo, o caractere alemão Umlaut\-A ("letra A maiúscula com
trema") pode ser representado pelo 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.
.PP
Caracteres combinantes são essencialmente para codificar a escrita thai ou
tipografia matemática e usuários do Alfabeto Fonético Internacional.
.SS "Níveis de implementação"
Como nem todo sistema suporta mecanismos avançados, como caracteres
combinantes, a ISO 10646\-1 especifica os três seguintes \fIníveis de
implementação\fP da UCS:
.TP 0.9i
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 códigos vogal/consoante) não são implementados.
.TP
Nível 2
Em adição ao nível 1, caracteres combinantes são agora permitidos para
algumas línguas, onde são essenciais (por exemplo, thai, lao, hebraico,
árabe, devangari, malaio, etc.).
.TP
Nível 3
Todos os caracteres UCS são suportados.
.PP
O padrão Unicode 3.0 publicado pelo Unicode Consortium contém exatamente o
Plano Multilíngue Básico do UCS no nível 3 de implementação, como descrito
na ISO 10646:2000. Unicode 3.1 adicionou os planos suplementares da ISO
10646\-2. O padrão Unicode e relatórios técnicos publicados pelo Unicode
Consortium fornecem informações adicionais da semântica e utilização
recomendada dos vários caracteres. Ele fornece diretrizes e algoritmos para
edição, ordenamento, comparação, normalização, conversão e exibição de
strings Unicode.
.SS "Unicode no Linux"
No GNU/Linux, o tipo C \fIwchar_t\fP é um tipo inteiro, com sinal, de 32
bits. Estes valores são sempre interpretados pela biblioteca C como código
UCS (em todas as localizações), uma convenção que é assinalada pela
biblioteca GNU C para aplicações pela definição da constante
\fB__STDC_ISO_10646__\fP como especificado no padrão ISO C99.
.PP
UCS/Unicode pode ser usado como ASCII nos fluxos de entrada/saída,
comunicação de terminais, arquivos de texto simples, nomes de arquivos e
variáveis de ambiente na codificação multibyte UTF\-8, compatível ASCII. Para
sinalizar o uso do UTF\-8 como codificação caractere para todos aplicativos,
uma \fIlocalidade (locale)\fP adequada deve ser selecionada pela variáveis de
ambiente (por exemplo, "LANG=en_GB.UTF\-8").
.PP
A função \fBnl_langinfo(CODESET)\fP retorna o nome da codificação
selecionada. Bibliotecas de funções como \fBwctomb\fP(3) e \fBmbsrtowcs\fP(3)
podem ser usadas para transformar os caracteres \fIwchar_t\fP e strings
internas na codificação de caracteres do sistema, e vice\-versa, e
\fBwcwidth\fP(3) informa quantas posições (0\(en2) o cursor avança pela saída
de um caractere.
.PP
.SS "Área de Uso Privativo (PUA)"
.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
No Plano Multilíngue Básico, a faixa de 0xe000 até 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 na
faixa de x0e000 até 0xefff, que pode ser usada individualmente por algum
usuário final, e a zona Linux na faixa de 0xf000 até 0xf8ff, onde as
extensões são coordenadas entre todos os usuários Linux. O registro dos
caracteres atribuídos à zona Linux é mantido por LANANA e o registro em si é
\fIDocumentation/admin\-guide/unicode.rst\fP no código\-fonte do kernel Linux (ou
\fIDocumentation/unicode.txt\fP antes do Linux 4.10).
.PP
Dois outros planos estão reservados para uso privativo: plano 15 (Área\-A de
Uso Privativo Suplementar, faixa de 0xf0000 até 0xffffd) e plano 16 (Área\-B
de Uso Privativo Suplementar, faixa de 0x100000 até 0x10fffd).
.SS Literatura
.IP * 3
Information technology \(em Universal Multiple\-Octet Coded Character Set
(UCS) \(em Part 1: Architecture and Basic Multilingual Plane. International
Standard ISO/IEC 10646\-1, International Organization for Standardization,
Genebra, 2000.
.IP
Esta é a especificação oficial do UCS. Disponível em
.UR http://www.iso.ch/
.UE .
.IP *
The Unicode Standard, Version 3.0. The Unicode Consortium, Addison\-Wesley,
Reading, MA, 2000, ISBN 0\-201\-61633\-5.
.IP *
S.\& Harbison, G.\& Steele. C: Um Manual de Referência. Quarta edição,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0\-13\-326224\-3.
.IP
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 90, que
acrescenta um grande número de novas funções da biblioteca C para
manipulação de conjuntos de caracteres largos e multi\-bytes, mas ele não
cobre a ISO C 99, que aprimora o suporte a caracteres largos e multi\-bytes.
.IP *
Relatórios técnicos Unicode.
.RS
.UR http://www.unicode.org\:/reports/
.UE
.RE
.IP *
Markus Kuhn: UTF\-8 e Unicode FAQ para UNIX/Linux.
.RS
.UR http://www.cl.cam.ac.uk\:/\(timgk25\:/unicode.html
.UE
.RE
.IP *
Bruno Haible: Unicode HOWTO.
.RS
.UR http://www.tldp.org\:/HOWTO\:/Unicode\-HOWTO.html
.UE
.RE
.\" .SH AUTHOR
.\" Markus Kuhn
.SH "VEJA TAMBÉM"
\fBlocale\fP(1), \fBsetlocale\fP(3), \fBcharsets\fP(7), \fButf\-8\fP(7)
.SH COLOFÃO
Esta página faz parte da versão 5.10 do projeto Linux \fIman\-pages\fP. Uma
descrição do projeto, informações sobre relatórios de bugs e a versão mais
recente desta página podem ser encontradas em
\%https://www.kernel.org/doc/man\-pages/.
.SH TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por
Rubens de Jesus Nogueira ,
André Luiz Fassone
e
Rafael Fontenelle .
.
Esta tradução é uma documentação livre; leia a
.UR https://www.gnu.org/licenses/gpl-3.0.html
Licença Pública Geral GNU Versão 3
.UE
ou posterior para as condições de direitos autorais.
Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual,
envie um e-mail para
.MT debian-l10n-portuguese@\:lists.\:debian.\:org
a lista de discussão de tradutores
.ME .