En Unicode , un área de uso privado ( PUA ) es un rango de puntos de código a los que, por definición, el Consorcio Unicode no les asignará caracteres . [1] Se definen tres áreas de uso privado: una en el plano multilingüe básico ( U + E000 – U + F8FF ), y una en cada uno de los planos 15 y 16 ( U + F0000 – U + FFFFD , U + y casi cubriendo) 100000 – U + 10FFFD). Los puntos de código en estas áreas no se pueden considerar como caracteres estandarizados en Unicode en sí. Se dejan intencionalmente sin definir para que terceros puedan definir sus propios caracteres sin entrar en conflicto con las asignaciones de Unicode Consortium. Bajo la Política de Estabilidad de Unicode, [2] las Áreas de Uso Privado permanecerán asignadas para ese propósito en todas las versiones futuras de Unicode.
Las asignaciones a los personajes del Área de uso privado no necesitan ser "privadas" en el sentido estrictamente interno de una organización; Varias organizaciones han publicado varios esquemas de asignación. Dicha publicación puede incluir una fuente que admita la definición (mostrando los glifos) y software que haga uso de los caracteres de uso privado (por ejemplo, un carácter gráfico para una función de "documento de impresión"). Por definición, múltiples partes privadas pueden asignar diferentes caracteres al mismo punto de código, con la consecuencia de que un usuario puede ver un carácter privado de una fuente instalada donde se pretendía tener otra diferente.
Definición
Según la definición Unicode, a los puntos de código en las áreas de uso privado se les asignan caracteres; no son no caracteres, reservados o sin asignar. Su categoría es " Other, private use (Co)
" y no se especifican los nombres de los personajes. No se proporcionan glifos representativos y la semántica de caracteres se deja a un acuerdo privado.
A los caracteres de uso privado se les asignan puntos de código Unicode cuya interpretación no está especificada por este estándar y cuyo uso puede ser determinado por acuerdo privado entre los usuarios que cooperan. Estos caracteres están designados para uso privado y no tienen una semántica definida e interpretable excepto por acuerdo privado.
...
No se proporcionan gráficos para caracteres de uso privado, ya que dichos caracteres, por su propia naturaleza, se definen solo fuera del contexto de esta norma. [3]
Asignación
En el plano multilingüe básico (plano 0), el bloque denominado Área de uso privado tiene 6400 puntos de código.
Los planos 15 y 16 están casi [nota 1] asignados en su totalidad a otras dos áreas de uso privado, el área de uso privado complementario-A y el área de uso privado complementario-B, respectivamente. En UTF-16, un subconjunto de los sustitutos superiores (U + DB80..U + DBFF) se utiliza para estos y solo estos planos, y se denominan sustitutos de uso privado alto .
v t mi Unicode: áreas de uso privado | ||||
---|---|---|---|---|
Definición por propiedad de carácter: General Category=Co[a] [b] | ||||
Distancia | Avión | Nombre del bloque | Número de puntos de código | Nota |
U + E000..U + F8FF | BMP (0) | Área de uso privado | 6.400 | |
U + F0000..U + FFFFD [c] | PUP (15) [d] | Área de uso privado complementario-A | 65,534 | UTF-16 codifica estos caracteres utilizando puntos de código del bloque Suplentes de uso privado alto (U + DB80..U + DBFF) en el BMP. |
U + 100000..U + 10FFFD [c] | PUP (16) [d] | Área de uso privado complementario-B | 65,534 | |
Notas
|
Historia
Antes de que se desarrollara UTF-16, U + D800..U + DFFF también formaban parte del Área de uso privado. Estos puntos de código se cambiaron a mitades sustitutas utilizadas por UTF-16. [ cita requerida ]
Históricamente, los planos E0 (224) a FF (255) y los grupos 60 (96) a 7F (127) del conjunto de caracteres codificados universal (es decir, U + E00000 a U + FFFFFF y U + 60000000 a U + 7FFFFFFF) también fueron designado como uso privado. Estos rangos se eliminaron de los rangos de uso privado especificados cuando el UCS se restringió a los diecisiete planos alcanzables en UTF-16. [4]
Uso
Usos de la iniciativa de estandarización
Muchas personas e instituciones han creado colecciones de personajes para la PUA. Algunos de estos acuerdos de uso privado se publican, por lo que otros implementadores de PUA pueden apuntar a puntos de código no utilizados o menos utilizados para evitar superposiciones. Varios caracteres y scripts previamente codificados en acuerdos de uso privado se han codificado completamente en Unicode, lo que requiere asignaciones de la PUA a otros puntos de código Unicode.
Uno de los acuerdos PUA más conocidos y más implementados es el que mantiene el ConScript Unicode Registry (CSUR). El CSUR, que no está oficialmente respaldado ni asociado con el Consorcio Unicode, proporciona un mapeo para guiones construidos, como el guión Klingon pIqaD y Ferengi (Star Trek), Tengwar y Cirth (guiones cursivos y rúnicos de JRR Tolkien), Visible de Alexander Melville Bell Habla y el alfabeto del Dr. Seuss de On Beyond Zebra . El CSUR codificó previamente los caracteres de Phaistos no descifrados , así como los alfabetos Shavian y Deseret , que han sido aceptados para la codificación oficial en Unicode.
Otro acuerdo de PUA común es mantenido por la Iniciativa de Fuentes Medievales Unicode (MUFI). Este proyecto intenta respaldar todas las abreviaturas, ligaduras, caracteres precompuestos , símbolos y formas de letras alternativas de los escribas que se encuentran en los textos medievales escritos en el alfabeto latino. El propósito expreso de MUFI es determinar experimentalmente qué caracteres son necesarios para representar estos textos y tener esos caracteres codificados oficialmente en Unicode. A partir de la versión 5.1 de Unicode, se han incorporado 152 caracteres MUFI en la codificación oficial Unicode.
Algunas colecciones de caracteres PUA acordadas existen en parte o en su totalidad porque Unicode Consortium no tiene prisa por codificarlas. Es probable que algunos, como los idiomas no representados, terminen codificados en el futuro. Algunos casos inusuales, como los lenguajes ficticios, están fuera del alcance habitual de Unicode, pero los principios de Unicode no los descartan explícitamente y pueden aparecer eventualmente (como los sistemas de escritura Star Trek y Tolkien). En otros casos, la codificación propuesta viola uno o más principios Unicode y, por lo tanto, es poco probable que Unicode la reconozca oficialmente, principalmente cuando los usuarios desean codificar directamente formas alternativas, ligaduras o combinaciones base-carácter-más-diacrítico (como el Esquema TUNE).
Organización editorial | Tema | Área de PUA utilizada | Fuente |
---|---|---|---|
CSUR | Guiones artificiales | PUA (BMP) y Plano 15 | Código2000 |
MUFI | Guiones medievales | PUA (BMP) | varios |
SIL | Fonética e idiomas | PUA (BMP) | Charis SIL |
TITUS | Guiones antiguos y medievales | PUA (BMP) | TITUS Cyberbit Basic |
- Emoji es una codificación de caracteres de imagen o emoticonos que se utilizan en páginas web y mensajes inalámbricos japoneses. Con Unicode 6.0 y posteriores, muchos de estos se han codificado en el bloque Varios símbolos y pictogramas y en otras partes del SMP .
- GB / T 20542-2006 ("Extensión A del juego de caracteres codificados tibetanos") y GB / T 22238-2008 ("Extensión B del juego de caracteres codificados tibetanos") son estándares nacionales chinos que utilizan PUA para codificar ligaduras tibetanas precompuestas .
- GB 18030 y GBK usan la PUA para codificar provisionalmente caracteres que no se encuentran en los estándares Unicode.
- El Instituto de la Lengua de Estonia utiliza la PUA para codificar caracteres precompuestos latinos y cirílicos [5] que no tienen codificación Unicode.
- El Free Tengwar Font Project utiliza un mapeo diferente del ConScript Unicode Registry que sigue en gran medida al documento de discusión de Tengwar del 2007-03-2001 de Michael Everson, pero diverge en algunos detalles.
- El estándar MARC 21 usa PUA para codificar caracteres de Asia Oriental presentes en MARC-8 [6] que no tienen codificación Unicode.
- El SIL corporativa PUA utiliza la PUA para codificar los caracteres utilizados en los idiomas minoritarios que aún no han sido aceptados en Unicode.
- El proyecto STIX Fonts utiliza PUA para proporcionar un conjunto completo de fuentes de símbolos y alfabetos matemáticos, muchos de los cuales también están disponibles en el SMP ahora, por ejemplo, en el bloque de símbolos alfanuméricos matemáticos .
- Tamil Unicode New Encoding (TUNE) [7] es un esquema propuesto para codificar Tamil que supera las deficiencias percibidas en la codificación Unicode actual.
Uso del proveedor
De manera informal, el rango de U + F000 a U + F8FF se conoce como Área de uso corporativo.
- La Lista de glifos de Adobe solía usar la PUA para algunos de sus glifos. [8]
- Apple enumera un rango de 1.280 caracteres en su documentación para desarrolladores [9] de U + F400 – U + F8FF dentro de la PUA para uso de Apple. De ellos, solo 311 se utilizan en el rango U + F700 – U + F8FF ( NeXT ( NeXTSTEP y OPENSTEP ) y Apple (Mac OS X AppKit)). [10]
- Uno de ellos es U + F8FF, el logotipo de Apple generalmente compatible con los conjuntos de 8 bits de Apple.
- WGL4 usa PUA (U + F001 y U + F002) para codificar duplicados de las ligaduras fi (U + FB01) fl (U + FB02). [11]
- La función desaparecida Servicios para Macintosh de Microsoft usaba U + F001 a U + F029 como reemplazos para caracteres especiales permitidos en HFS pero prohibidos en NTFS , y U + F02A para el logotipo de Apple. [12] [13]
- En versiones antiguas de su componente RichEdit, Microsoft asignaba U + F020 – U + F0FF dentro de la PUA a fuentes de símbolos. Para cualquier carácter en este rango, RichEdit mostraría un carácter de una fuente de símbolo en lugar del carácter definido por el usuario final (EUDC) [14] [15]
- AutoCAD [se necesita aclaración ] usa U + F8FC – U + F8FE para ⌀ (signo de diámetro), ± ( signo más-menos ) y ° (signo de grado) respectivamente.
- Algunas fuentes colocan la tecla del logotipo de Windows en
U+F000
. - Número
U+F000
es una sucesión numérica a partir de las 13 o 18 en algunos videojuegos como Agar.io . - En Ubuntu ,
U+E0FF
se muestra como el logotipo de "Circle Of Friends" [16] yU+F200
es "ubuntu" en el tipo de letra de Ubuntu con un superíndice "Circle Of Friends" (este mismo esU+F0FF
). [17] - La fuente 3270 incluye el logotipo de Debian en
U+F100
- En la fuente Linux Libertine ,
U+E000
muestra Tux , la mascota de Linux. - La fuente del icono Font Awesome utiliza la PUA para mostrar varios glifos.
- Powerline, un complemento de línea de estado para vim, usa U + E0A0 – U + E0A2 y U + E0B0 – U + E0B3 para caracteres de dibujo de recuadros adicionales . [18] [19]
- En el tipo de letra Fira Sans utilizado en Firefox OS ,
U+E003
se muestra como el logotipo de Mozilla (la cabeza de dinosaurio). - Lotus Multi-Byte Character Set (LMBCS), la codificación y el juego de caracteres utilizados internamente por Lotus / IBM Lotus 1-2-3 , Symphony , SmartSuite , Notes , Domino , así como una serie de productos de terceros como Microsoft Works , utiliza algunos caracteres (
U+F862
-U+F89F
yU+F8FB
-U+F8FE
) en el área de uso privado para símbolos no definidos en Unicode. De estos,U+F8FB
se sabe que está reservado para una moneda corona símbolo ( "Kr"), yU+F8FC
yU+F8FD
más tarde fueron asignadas aU+FB02
( fl ) yU+FB01
( fi ), respectivamente. Además, cuando los códigos UTF-16 están incrustados en LMBCS, los códigos UTF-16 correspondientes aU+F601
medianteU+F6FF
se sustituyen por códigos UTF-16 que contendrían bytes nulos , ya que LMBCS está diseñado para no contener bytes nulos incrustados. [20] [21] - IBM reservó varios ID de página de códigos para páginas de códigos PUA: página de códigos 1445 (IBM AFP PUA No. 1), página de códigos 1446 (ISO 10646 UCS-PUP15 ), página de códigos 1447 (ISO 10646 UCS-PUP16 ), página de códigos 1449 (IBM PUA predeterminada).
- El sistema de archivos que se encuentra en Windows usa el
U+F000
toU+F0FF
block para escapar de los caracteres especiales .
Bloques de PUA Unicode
Hay tres bloques PUA en Unicode. [22]
Área de uso privado | |
---|---|
Distancia | U + E000..U + F8FF (6.400 puntos de código) |
Avión | BMP |
Guiones | Desconocido |
Asignado | 6.400 puntos de código |
No usado | 0 puntos de código reservados |
Historial de versiones de Unicode | |
1.0.0 (1991) | 5.632 (+5.632) |
1.0.1 (1992) | 6.400 (+768) |
Nota : La versión 1.0.1 movió y expandió el bloque Área de uso privado (anteriormente ubicado en U + E800-U + FDFF en la versión 1.0.0). [23] [24] [25] |
Área de uso privado complementario-A | |
---|---|
Distancia | U + F0000..U + FFFFF (65,536 puntos de código) |
Avión | SPUA-A |
Guiones | Desconocido |
Asignado | 65.534 puntos de código |
No usado | 0 puntos de código reservados 2 no caracteres |
Historial de versiones de Unicode | |
2.0 (1996) | 65,534 (+65,534) |
Nota : [24] [25] |
Área de uso privado complementario-B | |
---|---|
Distancia | U + 100000..U + 10FFFF (65,536 puntos de código) |
Avión | SPUA-B |
Guiones | Desconocido |
Asignado | 65.534 puntos de código |
No usado | 0 puntos de código reservados 2 no caracteres |
Historial de versiones de Unicode | |
2.0 (1996) | 65,534 (+65,534) |
Nota : [24] [25] |
Caracteres de uso privado en otros conjuntos de caracteres
El concepto de reservar puntos de código específicos para uso privado se basa en un uso anterior similar en otros conjuntos de caracteres. En particular, muchos caracteres obsoletos en las escrituras de Asia oriental continúan utilizándose en nombres específicos u otras situaciones, por lo que algunos conjuntos de caracteres para esas escrituras permitieron caracteres de uso privado (como los planos definidos por el usuario de CNS 11643 , o gaiji en ciertas codificaciones japonesas). El estándar Unicode hace referencia a estos usos bajo el nombre "Definición de caracteres del usuario final" (EUCD). [3]
Además, el bloque de control C1 contiene dos códigos destinados a "funciones de control" de uso privado por ECMA-48 : 0x91 uso privado uno (PU1) y 0x92 uso privado dos (PU2). [26] [27] Unicode los incluye enU + 0091 Cc
), no como caracteres de uso privado (categoríaCo
). [24] [28]
Las codificaciones que no tienen áreas de uso privado pero tienen áreas más o menos no utilizadas, como ISO / IEC 8859 y Shift JIS , han visto evolucionar variantes incontroladas de estas codificaciones. [29] Para Unicode, las empresas de software pueden utilizar las áreas de uso privado para las adiciones que deseen.
Notas
- ^ Los dos últimos caracteres de cada plano se definen como no caracteres . Los 65.534 caracteres restantes de cada uno de los planos 15 y 16 se asignan como caracteres de uso privado.
Referencias
- ^ Consorcio Unicode. Glosario de términos Unicode: "Área de uso privado (PUA)"
- ^ "Política de estabilidad de codificación de caracteres Unicode" . 2012-05-29 . Consultado el 15 de agosto de 2012 .
- ^ a b Caracteres de uso privado del capítulo 16.5 del estándar Unicode
- ^ Whistler, Ken (2000). "Cambios necesarios para ISO / IEC 10646 con respecto a la PUA" . UTC / 00-015.
- ^ "Base de datos de cartas" . Eki.ee . Consultado el 11 de abril de 2013 .
- ^ "Juegos de caracteres: Caracteres de Asia oriental: Mapeos Unicode alternativos para caracteres MARC 21 asignados al área de uso privado (PUA): Especificaciones MARC 21 para estructura de registros, juegos de caracteres y medios de intercambio (Biblioteca del Congreso)" . Loc.gov. 2004-09-02 . Consultado el 11 de abril de 2013 .
- ^ "tunerfc.tn.nic.in" . tunerfc.tn.nic.in. Archivado desde el original el 29 de julio de 2010 . Consultado el 11 de abril de 2013 .
- ^ "Subárea de uso corporativo Unicode utilizada por Adobe Systems" . 22 de octubre de 1998. Archivado desde el original el 5 de diciembre de 2003.
- ^ "NSOpenStepUnicodeReservedBase - Documentación para desarrolladores de Apple" . Apple . Consultado el 16 de octubre de 2020 .
- ^ Apple Computer, Inc. (2005) [1994]. "CORPCHAR.TXT - Registro (versión externa) del uso de Apple de caracteres de zona corporativa Unicode" . c03. Unicode Inc. Consultado el 16 de octubre de 2020 .
- ^ Ver WGL4 Unicode Range U + 2013 a U + FB02
- ^ "SFM convierte nombres de archivo HFS de Macintosh a NTFS Unicode" . Soporte de Microsoft . 24 de febrero de 2014. Archivado desde el original el 27 de mayo de 2016.
- ^ "ntfs.util.c" . 2008.
Los caracteres de nombre de archivo NTFS no válidos se codifican [ sic ] utilizando los caracteres Unicode de uso privado de SFM (Servicios para Macintosh).
- ^ Microsoft Knowledge Base, el rango de caracteres entre U + F020 y U + F0FF en el área de uso privado de Unicode se asigna a fuentes de símbolos en Richedit 4.1 .
- ^ "Manejo de caracteres PUA en software de Microsoft" . SIL Internacional . 2003-04-25. Archivado desde el original el 11 de mayo de 2015 . Consultado el 4 de marzo de 2014 .
- ^ "Comentario n. ° 8: error n. ° 651606 (círculo de amigos): errores: familia de fuentes de Ubuntu" . Launchpad . Consultado el 17 de octubre de 2020 .
- ^ "Comentario n. ° 2: error n. ° 853855: errores: familia de fuentes de Ubuntu" . Launchpad . Consultado el 17 de octubre de 2020 .
- ^ Pregunta sobre el complemento de la línea de estado de Powerline en Stack Exchange que menciona los caracteres del área de uso privado
- ^ Imágenes que muestran caracteres del área de uso privado en fuentes parcheadas Powerline
- ^ "lmb-excp.ucm" . 2000-02-10.
- ^ "Anhang 2. Der Lotus Multibyte Zeichensatz (LMBCS)" [Apéndice 2. El conjunto de caracteres Lotus Multibyte (LMBCS)]. Lotus 1-2-3 Versión 3.1 Referenzhandbuch [ Manual de referencia de Lotus 1-2-3 Versión 3.1 ] (en alemán) (1 ed.). Cambridge, MA, Estados Unidos: Lotus Development Corporation . 1989. págs. A2–1 - A2–13. 302168.
- ^ "Capítulo 16: Áreas especiales y caracteres de formato" (PDF) . El estándar Unicode . Consorcio Unicode.
- ^ "Anexo Unicode 1.0.1" (PDF) . El estándar Unicode . 1992-11-03 . Consultado el 9 de julio de 2016 .
- ^ a b c d "Base de datos de caracteres Unicode" . El estándar Unicode . Consultado el 9 de julio de 2016 .
- ^ a b c "Versiones enumeradas del estándar Unicode" . El estándar Unicode . Consultado el 9 de julio de 2016 .
- ^ Norma ECMA-48, quinta edición - junio de 1991 §8.2.14 Funciones de control diversas, §8.3.100, §8.3.101
- ^ C1 Conjunto de caracteres de control de ISO 6429 (1983)
- ^ Unicode 6.1.0, Capítulo 4 , Tabla 4-9
- ^ Asigne (versión externa) de la codificación japonesa de Mac OS a Unicode 2.1 y posterior.