.\" -*- 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 del Programador de Linux"
.SH NOMBRE
unicode \- conjunto de caracteres universal
.SH DESCRIPCIÓN
El estándar internacional ISO 10646 define el conjunto de caracteres UCS
(Universal Character Set \- Conjunto de Caracteres Universal). UCS contiene
todos los caracteres de todos los demás estándares de conjuntos de
caracteres. También garantiza una compatibilidad de ida y vuelta
(round\-trip), es decir, se pueden construir tablas de conversión de tal
forma que no se pierda ninguna información cuando una cadena se convierta
desde cualquier otra codificación a UCS y viceversa.
.PP
UCS contiene los caracteres necesarios para representar prácticamente todos
los lenguajes conocidos. Esto incluye no sólo los alfabetos latino, griego,
cirílico, árabe, armenio y georgiano sino también chino, japones y la
variante Han de los ideogramas coreanos además de alfabetos como Hiragana,
Katakana, Hangul, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil,
Telugu, Kannada, Malayalam, Thai, Lao, Khmer, Bopomofo, Tibetan, Runic,
Ethiopic, Canadian Syllabics, Cherokee, Mongolian, Ogham, Myanmar, Sinhala,
Thaana, Yi y otros. Para aquellos alfabetos aún no cubiertos, todavía se
está investigando cómo codificarlos de la mejor manera posible para su uso
en sistemas informáticos. Al final, esto podría incluir no sólo jeroglíficos
y varios lenguajes indo\-europeos históricos sino incluso algunos alfabetos
artísticos seleccionados como Tengwar, Cirth y Klingon. UCS abarca también
un gran número de símbolos gráficos, tipográficos, matemáticos y
científicos, que incluyen aquellos provistos por TeX, Postscript, APL,
MS\-DOS, MS\-Windows, Macintosh, fuentes OCR, así como varios sistemas de
procesamiento de texto y publicación, añadiéndose más cada día.
.PP
El estándar UCS (ISO 10646) describe una arquitectura del conjunto de
caracteres de 31 bits que consiste en 128 \fIgrupos\fP de 24 bits, cada uno
dividido en 256 \fIplanos\fP de 16 bits formados por 256 \fIfilas\fP con 256
\fIcolumnas\fP, una por cada carácter. La primera parte del estándar (ISO
10646\-1) define las primeras 65534 posiciones de los códigos (0x0000 a
0xfffd), que forman el \fBBMP (Basic Multilingual Plane \- Plano Multilingüe
Básico)\fP, que es el plano 0 en el grupo 0. La segunda parte del estándar
(ISO 10646\-2) añade caracteres al grupo 0 fuera del BMP en varios \fIplanos
adicionales\fP en el rango de 0x10000 a 0x10ffff. No hay intenciones de añadir
caracteres al estándar más allá de 0x10ffff, por consiguiente, de todo el
espacio de códigos, solamente una pequeña fracción del grupo 0 será usada
realmente en un futuro previsible. El BMP contiene todos los caracteres que
se encuentran en los otros conjuntos de caracteres usados
frecuentemente. Los planos adicionales añadidos por ISO 10646\-2 abarcan sólo
más caracteres exóticos para necesidades científicas especiales, impresión
de diccionarios, industria de la publicación, protocolos de más alto nivel y
necesidades entusiastas.
.PP
La representación de cada carácter UCS como una palabra de 2 bytes es
referida como la forma UCS\-2 (sólo para caracteres BMP), mientras que UCS\-4
es la representación de cada carácter como una palabra de 4 bytes. Además,
existen dos formas de codificación, UTF\-8 por compatibilidad hacia atrás con
software que maneje ASCII y UTF\-16 por compatibilidad hacia atrás con
software UCS\-2 que maneje caracteres fuera del BMP por debajo de 0x10ffff.
.PP
Los caracteres UCS del 0x0000 al 0x007f son idénticos a los del clásico
conjunto de caracteres US\-ASCII y los caracteres en el rango de 0x0000 a
0x00ff son idénticos a los del conjunto de caracteres ISO 8859\-1 (Latin\-1).
.SS "Caracteres de combinación"
Algunos códigos en UCS han sido asignados como \fIcaracteres de
combinación\fP. Éstos son similares a las teclas de acento en una máquina de
escribir. Un carácter de combinación sólo añade un acento al carácter
previo. Los caracteres acentuados más importantes tienen códigos propios en
UCS, sin embargo, el mecanismo de combinación de caracteres permite añadir
acentos y otras marcas diacríticas a cualquier carácter. Los caracteres de
combinación siempre siguen al carácter al cual modifican. Por ejemplo, en
alemán el carácter Umlaut\-A ("A mayúscula con diéresis") puede representarse
por el ya compuesto código UCS 0x00c4, o alternativamente como la
combinación de una "A mayúscula" normal seguida por una "diéresis de
combinación": 0x0041 0x0308.
.PP
Los caracteres de combinación son esenciales para, por ejemplo, codificar el
alfabeto Tai o para tipografía matemática y para usuarios del Alfabeto
Fonético Internacional.
.SS "Niveles de implementación"
Puesto que no se espera que todos los sistemas soporten mecanismos avanzados
tales como los caracteres de combinación, el ISO 10646\-1 especifica los
siguientes tres grados de implementación del UCS:
.TP 0.9i
Nivel 1
Los caracteres de combinación y caracteres Hangul Jamo (una codificación
especial del coreano, en la que un glifo (glyph) de una sílaba Hangul se
codifica como una terna o un par de códigos de vocal/consonante) no están
implementados.
.TP
Nivel 2
Además de los del nivel 1, se permiten caracteres de combinación para
algunos idiomas donde resultan esenciales (p.ej., Tai, Lao, hebreo, árabe,
Devangari, Malayalam).
.TP
Nivel 3
Todos los caracteres de UCS están soportados.
.PP
El estándar Unicode 3.0 publicado por el Consorcio Unicode contiene
exactamente el \fIPlano Multilingüe Básico UCS\fP implementado al nivel 3,
según se describe en ISO 10646:2000. Unicode 3.1 añade los planos
adicionales de ISO 10646\-2. El estándar Unicode y los informes técnicos
publicados por el Consorcio Unicode proporcionan mucha información adicional
sobre la semántica y los usos recomendados de varios
caracteres. Proporcionan pautas y algoritmos para editar, ordenar, comparar,
normalizar, convertir y mostrar cadenas Unicode.
.SS "Unicode en Linux"
Bajo GNU/Linux, el tipo en C \fIwchar_t\fP es un tipo entero de 32 bits con
signo. Sus posibles valores son interpretados siempre por la biblioteca C
como códigos UCS (en todas las localizaciones), una convención que es
notificada por la biblioteca C de GNU a las aplicaciones definiendo la
constante \fB__STDC_ISO_10646__\fP tal como se especifica en el estándar ISO C
99.
.PP
El estándar UCS/Unicode puede ser utilizado exactamente igual que el ASCII
en flujos de entrada/salida, comunicación con la terminal, ficheros en texto
plano, nombres de fichero y variables de entorno en la codificación
multibyte UTF\-8 compatible con ASCII. Para indicar el uso de UTF\-8 como
codificación de caracteres a todas las aplicaciones, debe seleccionarse una
\fIlocale\fP adecuada a través de las variables de entorno (p.ej.,
"LANG=en_GB.UTF\-8").
.PP
La función \fBnl_langinfo(CODESET)\fP devuelve el nombre de la codificación
escogida. Pueden utilizarse funciones de biblioteca tales como \fBwctomb\fP(3)
y \fBmbsrtowcs\fP(3) para convertir los caracteres y cadenas internas
\fIwchar_t\fP a la codificación de caracteres del sistema y viceversa, y la
función \fBwcwidth\fP(3) para averiguar cuantas posiciones (0\(en2) avanzó el
cursor al escribir un caracter.
.PP
.SS "Áreas de uso privado (PUA)"
.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
En el \fBBMP\fP, el rango de 0xe000 a 0xf8ff ningún carácter será nunca
asignado por el estándar y dicha zona se reserva para uso privado. Para la
comunidad Linux, esta área privada ha sido subdividida aún más en el rango
de 0xe000 a 0xefff que puede ser utilizado a nivel particular por cualquier
usuario final y la zona Linux en el rango de 0xf000 a 0xf8ff donde las
extensiones se coordinan entre todos los usuarios de Linux. El registro de
los caracteres asignados a la zona Linux es mantenido actualmente por
LANANA y el propio registro es \fIDocumentation/admin\-guide/unicode.rst\fP en
le código fuente de Linux (o \fIDocumentation/unicode.txt\fP antes de la
versión 4.10 de Linux).
.PP
Dos planos más están reservados para uso privado, el plano 15 (Uso adicional
Area\-A, range de 0xf0000 a 0xffffd) y el plano 16 (Uso adicional Area\-B,
range de 0x100000 a 0x10fffd).
.SS Literatura
.IP * 3
Information technology \(em Universal Multiple\-Octet Coded CharacterSet
(UCS) \(em Part 1: Architecture and Basic Multilingual Plane.International
Standard ISO/IEC 10646\-1, International Organizationfor Standardization,
Geneva, 2000.
.IP
Esta es la especificación oficial de UCS. Está disponible en
.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: A Reference Manual. Fourth edition, Prentice
Hall, Englewood Cliffs, 1995, ISBN 0\-13\-326224\-3.
.IP
Una buena referencia sobre el lenguaje de programación C. La cuarta edición
abarca la Enmienda 1 de 1994 al estándar ISO C 90, que añade un gran número
de nuevas funciones a la biblioteca de C para manejar codificaciones de
caracteres anchos y multibyte, pero que aún no cubre el estándar ISO C 99,
que mejoró el soporte para caracteres anchos y multibyte aún más.
.IP *
Unicode Technical Reports.
.RS
.UR http://www.unicode.org\:/reports/
.UE
.RE
.IP *
Markus Kuhn: UTF\-8 and Unicode FAQ for 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 "VÉASE TAMBIÉN"
\fBlocale\fP(1), \fBsetlocale\fP(3), \fBcharsets\fP(7), \fButf\-8\fP(7)
.SH COLOFÓN
Esta página es parte de la versión 5.10 del proyecto Linux
\fIman\-pages\fP. Puede encontrar una descripción del proyecto, información
sobre cómo informar errores y la última versión de esta página en
\%https://www.kernel.org/doc/man\-pages/.
.SH TRADUCCIÓN
La traducción al español de esta página del manual fue creada por
Miguel Pérez Ibars
y
Marcos Fouces
.
Esta traducción es documentación libre; lea la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License Version 3
.UE
o posterior con respecto a las condiciones de copyright.
No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un
correo electrónico a
.MT
debian-l10n-spanish@lists.debian.org>.
.ME .