© 1997–2019 Adobe.
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este archivo de documentación para usar, copiar, publicar, distribuir, sublicenciar y/o vender copias de la documentación, y permitir que otros hagan lo mismo, siempre que:
No se permite modificar, edición u otra alteración de este documento; y
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias de la documentación.
Por la presente, se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este archivo de documentación, para crear sus propios trabajos derivados del contenido de este documento para usar, copiar, publicar, distribuir, sublicenciar y/o vender los trabajos derivados, y para permitir que otros hagan lo mismo, siempre que el trabajo derivado no se represente como una copia o versión de este documento.
Adobe no será responsable ante ninguna parte por ninguna pérdida de ingresos o ganancias o por daños indirectos, incidentales, especiales, consecuentes u otros daños similares, ya sea basado en agravio (incluida la negligencia o la responsabilidad estricta), contrato u otros motivos legales o equitativos incluso si Adobe ha sido asesorado o tiene razones para conocer la posibilidad de tales daños. Los materiales de Adobe se proporcionan sobre una base "tal cual". Adobe renuncia específicamente a todas las garantías expresas, legales o implícitas relacionadas con los materiales de Adobe, incluidos, entre otros, aquellos relacionados con el comerciabilidad o la idoneidad para un propósito particular o no infracción de ningún derecho de terceros con respecto a los materiales de Adobe.
Adobe no posee patentes sobre el tema de esta especificación.
Versión de documento 2.9. Última actualización el 21 de agosto de 2019
El propósito de la especificación de la lista de glifos de Adobe es describir el cálculo de una cadena de caracteres Unicode a partir de una secuencia de nombres de glifos. Esto se logra especificando un mapeo de los nombres de los glifos a las cadenas de caracteres Unicode.
El mapeo está destinado a convertir una secuencia de nombres de glifos en texto sin formato mientras preserva la semántica subyacente. Por ejemplo, el nombre del glifo para 'A', el nombre del glifo para 'Small Capital A' y el nombre del glifo para una variante de swash de 'A' se asignará al mismo UV ( valor de Unicode ). Esto es útil para copiar texto en algunos entornos, y también es útil para realizar búsquedas de texto que coincidirán con todos los nombres de glifos en la cadena original que corresponden a 'A'.
Está fuera del alcance de esta especificación para determinar el conjunto de nombres de glifos legales. Los nombres de los glifos ocurren en muchos contextos diferentes, cada uno con su propia definición de lo que constituye un nombre legal. Esta especificación supone solo que un nombre de glifo corresponde a una secuencia arbitrariamente finita de caracteres Unicode.
La especificación consiste en AGL ( Lista de glifos de Adobe ), que proporciona una asignación de nombres de glifos específicos para los valores de Unicode, junto con reglas para descomponer e interpretar los nombres de los glifos. Debido a que se anticipa que esta especificación se implementará en muchas piezas de software, y que revisar todas las implementaciones que lo usan es poco probable, esta especificación pretende ser estable, lo que significa que nunca se revisará de manera sustantiva. En particular, se pretende que nunca se agregarán asignaciones a AGL. Además, AGL no está destinado a servir como guía para elegir nombres de glifos para nuevas fuentes. Para ese propósito, existe AGLFN ( Lista de glifos de Adobe para nuevas fuentes ) (ver Sección 6).
Esta especificación admite el rango completo de valores escalares unicode, U+0000 a U+10ffff. No depende del repertorio de caracteres de una versión unicode específica; Por lo tanto, es aplicable a las versiones pasadas, actuales y futuras del estándar Unicode.
Se recomienda encarecidamente a los productores de fuentes a respetar esta especificación al nombrar los glifos para sus fuentes. Se alienta a los consumidores de fuentes a seguir esta especificación cuando intentan obtener contenido de los nombres de glifos.
Para asignar un nombre de glifo a una cadena de caracteres, siga los tres pasos a continuación:
Deje caer todos los caracteres del nombre del glifo que comienza con la primera aparición de un período (U+002e de parada completa), si lo hay.
Divida la cadena restante en una secuencia de componentes, utilizando un bajo (línea baja U+005f) como delimitador.
Mapee cada componente a una cadena de caracteres de acuerdo con el procedimiento a continuación, y concatene esas cadenas; El resultado es la cadena de caracteres a la que se asigna el nombre del glifo.
Si la fuente es ZAPF DingBats (PostScript FontName: ZapfdingBats ), y el componente está en la lista de glifos Dingbats de ITC Zapf , luego mapee al carácter correspondiente en esa lista.
De lo contrario, si el componente está en AGL, asigna al carácter correspondiente en esa lista.
De lo contrario, si el componente es de la forma 'uni' (u+0075, u+006e y u+0069) seguido de una secuencia de dígitos hexadecimales mayúsculas (0–9 y a - f, significa U+0030 a u+0039 y u+0041 a través de U+0046), si la longitud de esa secuencia es un múltiplo de cuatro, y si cada uno de los cuatro, y si cada uno de los cuatro, representa un grupo de cuatro. En los rangos 0000 a D7FF o E000 a FFFF, luego interprete cada uno como un valor escalar unicode y asigne el componente a la cadena hecha de esos valores escalares. Tenga en cuenta que las restricciones de rango y longitud de dígitos significan que el prefijo de nombre del glifo 'Uni' solo puede usarse con UVS en el plano multilingüe básico (BMP).
De lo contrario, si el componente es de la forma 'u' (u+0075) seguido de una secuencia de cuatro a seis dígitos hexadecimales mayúsculas (0–9 y a - f, lo que significa U+0030 a través de U+0039 y U+0041 a través de U+0046), y esos dígitos representan un valor en los rangos 0000 a través de D7 o 000 a través de 10ff a través de 10ff a través de 10ff. valor y asigne el componente a la cadena hecha de este valor escalar.
De lo contrario, asigne el componente a una cadena vacía.
El nombre 'lCommAaccent' tiene un solo componente, que se asigna a la cadena U+013B por AGL.
El nombre 'UNI20AC0308' tiene un solo componente, que se asigna a la cadena u+20ac U+0308.
El nombre 'U1040C' tiene un solo componente, que se asigna a la cadena U+1040C.
El nombre 'UNID801DC0C' tiene un solo componente, que se asigna a una cadena vacía. Ni D801 ni DC0C están en el conjunto apropiado. Esta forma no se puede usar para asignar al carácter que se expresa como D801 DC0C en UTF-16, específicamente U+1040c. Este personaje se puede asignar correctamente usando el nombre del glifo 'U1040C'.
El nombre 'UNI20AC' tiene un solo componente, que se asigna a una cadena vacía (tenga en cuenta los minúsculas 'A' y 'C').
El nombre 'lCommAaccent_Uni20Ac0308_U1040c.alternate' tiene tres componentes, que son 'lCommAaccent', 'UNI20AC0308' y 'U1040C'. Se asigna a la cadena U+013B U+20AC U+0308 U+1040C.
En general, se pueden asignar múltiples nombres a la misma cadena. Por ejemplo, los componentes 'lCommAaccent', 'uni013b' y 'u013b' se mapearán a la cadena u+013b.
El nombre 'foo' se mapea a una cadena vacía, porque 'foo' no está en AGL, y porque no comienza con una 'u'.
El primer paso se reduce el nombre '.Notdef' a una cadena vacía, y se asigna a una cadena vacía por la última cláusula del tercer paso.
Esta especificación admite la asignación de nombres de glifos a cadenas que contienen valores PUA. Por ejemplo, los nombres 'OgoneksMall' y 'unif6fb' se mapearán en la cadena que corresponde a U+F6FB.
Esta especificación no incluye, implica, ni asume ningún uso particular de PUA; Simplemente permite el nombramiento de glifos de tal manera que las cadenas de caracteres restauradas incluyen puntos de código PUA. Depende de los productores y consumidores de nombres de glifos establecer un acuerdo sobre el uso de PUA.
Los diseñadores de fuentes deben tener en cuenta que establecer este acuerdo con usuarios de fuentes de propósito general puede ser difícil. Es probable que no todas las herramientas que manipulen las cadenas de caracteres construidas a partir de nombres de glifos implementen correctamente el uso de PUA, y esto puede conducir a una funcionalidad incorrecta o inesperada. Por lo tanto, se recomienda, para las fuentes de uso general, que todos los nombres de glifos se convierten en cadenas que no contienen puntos de código PUA.
Esta especificación ha evolucionado con el tiempo. Consulte la sección 7 ( cambios de documento ) para obtener cambios.
Para los glifos que corresponden a los caracteres en el estándar Unicode, se recomienda especificar los nombres utilizando el prefijo 'Uni' para los caracteres en el plano multilingüe básico (BMP), y el prefijo 'U' más corto para los caracteres en los 16 planos suplementarios, de acuerdo con las reglas de la Sección 2.
Esto no significa que las fuentes no sean inválidas si se hacen sin usar los prefijos 'U' y 'U' para sus nombres de glifos. Con un grupo de excepciones, todos los nombres de glifos en AGL actualmente funcionan en todos los entornos conocidos, así como nombres con el prefijo 'Uni'. Las excepciones son los nombres de glifos AGL que están asociados con los puntos de código PUA. Estos incluyen todos los superiores y los pequeños nombres de tapa. El uso de estos nombres, con el propósito de buscar texto, llevará a algunas implementaciones actuales a asignar nombres como 'ASMALL' al valor PUA especificado en AGL, en lugar de a la UV para 'A'. Ahora recomendamos nombrar estos glifos de acuerdo con las reglas especificadas en esta sección. AGLFN (Adobe Glyph List (Adobe Glyph List (Adobe Glyph List proporciona un subconjunto de AGL que excluye los nombres asociados con el PUA ( Lista de glifos de Adobe para nuevas fuentes ).
Si múltiples glifos en una fuente representan el mismo carácter en el estándar Unicode, como 'A' y 'A.Swash', pueden diferenciarse utilizando el mismo nombre base con diferentes sufijos. El sufijo (la parte del nombre del glifo que sigue el primer período) no participa en el cálculo de una secuencia de caracteres. Los diseñadores de fuentes pueden utilizarlo para indicar características especiales del glifo. El sufijo puede contener períodos o cualquier otro personaje permitido. Por ejemplo, la pequeña tapa 'a' podría llamarse 'uni0041.sc' o 'a.sc'.
Si hay múltiples variantes del mismo glifo base, entonces los sufijos de variantes deben incluir dígitos de longitud fija con tráfico cero para que si se ordenan los nombres de los glifos, el orden previsto se puede preservar. Por ejemplo, si el glifo 'Ampersand' tiene 23 formas alternativas, se nombrarían 'ampersand.alt01' a 'ampersand.alt23', en lugar de 'ampersand.alt', junto con 'ampersand.alt1' a través de 'ampersand.alt22'. Esta regla proporciona solo una conveniencia menor para el desarrollo y las pruebas de fuentes. Como se señaló anteriormente, estos sufijos de nombre del glifo no participan en el cálculo de una secuencia de caracteres.
Esta especificación no estandariza ninguno de los sufijos. Cualquier sufijo arbitrario funcionará a los efectos de la búsqueda de texto. Para mayor comodidad durante el desarrollo y las pruebas, Adobe utiliza el nombre de la función de diseño OpenType más apropiado como sufijo. Por ejemplo, una pequeña gorra 'a' podría llamarse 'a.smcp', una forma inicial 'a.init', una forma final 'a.fina' y una forma de swash 'a.swsh'. Si hay formularios adicionales, podrían llamarse 'a.swsh1', 'a.swsh2', etc. Los siguientes son ejemplos de sufijos utilizados en las fuentes de Adobe:
Para los glifos que no corresponden a ningún carácter en el estándar Unicode, el nombre no tendrá ninguna utilidad técnica. Se puede asignar cualquier nombre, siempre que el nombre no se interprete como teniendo valor semántico de acuerdo con las reglas de este documento. La práctica del equipo de desarrollo de tipos en Adobe es que si hay alguna etiqueta descriptiva útil para un glifo, nombrelo en consecuencia, como 'mouse', 'SignForsale', 'ChristmasTreeball12', etc. De lo contrario, nombre como variante de 'orn' (abreviatura de adorno), como 'orn001', 'orn123', y así sucesivamente.
Para los glifos que representan ligaduras de caracteres unicode estándar, hay dos formatos sugeridos para sus nombres de glifos, como sigue:
Descriptivo La descomposición se expresa uniendo los nombres de los glifos de los caracteres unicode estándar, en orden, utilizando un bajo valor (U+005F Línea baja). Los nombres de los glifos de los caracteres deben especificar los prefijos 'UNI' o 'U' y usar dígitos hexadecimales mayores, como se describió anteriormente, o con un nombre de AGL. Por ejemplo, la ligadura 'OFF I' debe llamarse 'O_F_F_I'.
UV con el prefijo 'uni', el nombre del glifo se expresa como el prefijo 'uni' seguido de dos o más secuencias de cuatro dígitos hexadecimales mayúsculas. Cada secuencia de cuatro dígitos hexadecimales mayores especifica un valor escalar unicode dentro del BMP, en orden. Por ejemplo, la letra mayúscula latina del carácter EZH con circunflejo y tumba, que no está en Unicode, debe llamarse 'UNI01B70303020300', porque la letra mayúscula latina EZH es U+01B7, combinando el acento circunflejo es U+0302, y combinar el acento grave es U+0300. Una ligadura de los glifos llamados 'T.Swash' y 'H' se pueden nombrar 'T_H.Swash'. 'T.swash_h' sería incorrecto porque esto se interpretaría como una variante glifa de 't'. Todos los nombres de los glifos están sujetos a un límite de longitud de 63 caracteres, y requieren que estén completamente compuestos de caracteres del siguiente conjunto: A-Z, A-Z, 0–9, '.' (Período; U+002e de parada completa), y '_' (subrayamiento; U+005f Línea baja). Algunas implementaciones más antiguas pueden imponer un límite de longitud de 31 caracteres.
Una breve revisión de algunos problemas de implementación anteriores y los límites consecuentes en los nombres de los glifos se proporciona en el documento de los nombres de los glifos y las implementaciones actuales (basadas en la versión 1.1, con fecha 2003-01-31) que se proporciona en línea a continuación:
Introducción Este artículo tiene mucho tiempo, ya que contiene comentarios sobre las implementaciones actuales. Tenga esto en cuenta si lo lea mucho después de octubre de 2002.
Dónde y por qué se usan los nombres de los glifos después de las convenciones de nomenclatura del artículo (no disponible) de los nombres de unicode y glifos actualmente habilitarán el texto y la búsqueda de texto en PDF ( formato de documento portátil ) documentos bajo una variedad más amplia de circunstancias que no tener nombres, o nombres que no sigan estas convenciones. En la era de Internet, donde se deben buscar muchos documentos para ser útiles, esto es muy importante.
Muchos archivos PDF están hechos con archivos de impresora PostScript, cuando las fuentes originales a las que se hace referencia por el documento no están disponibles, y se deben utilizar los datos de fuentes incrustados. En este caso, la tabla UNICODE 'CMAP' de una fuente OpenType no está disponible, y la única pista que el productor de PDF puede tener sobre la semántica de un glifo es su nombre.
Incluso cuando el archivo de fuente original está disponible, un glifo que no corresponde directamente a un carácter en Unicode aún puede conectarse útilmente a un carácter de Unicode a través de su nombre. Por ejemplo, nombrar una variante decorativa de 't' como 't.alt' permite que un productor de PDF tenga en cuenta que 't.alt' conlleva la misma semántica que 't' para la búsqueda y otros fines.
En el futuro, se espera que más productos que los propios de Adobe admitan la búsqueda de cadenas de texto basada en Unicode de un glifo, lo que significa que el alcance de la utilidad de estas reglas se volverá mucho más amplio.
Para las fuentes TrueType, que pueden faltar nombres de glifo por completo, la presencia de un valor unicode para un glifo en la tabla 'CMAP' aún causará que los glifos se asocien correctamente con un carácter de Unicode en la mayoría de los casos. Sin embargo, para los glifos que no se asignan desde un punto de código Unicode, se aplican comentarios anteriores.
¿Por qué el prefijo 'U' aún no se recomienda para los glifos que están codificados en el BMP de Unicode? El prefijo 'U' no es compatible con las versiones de Acrobat 4 y 5. Se apoyó por Acrobat versión 6 y posterior, lo que también se introdujo cuando se introdujo el soporte de caracteres Unicode fuera del BMP ( plano multilingüe básico ). Nombres de AGL y nombres de glifos que usan el prefijo 'uni', junto con el '.' y las reglas de análisis '_' ya están respaldadas por las versiones de Acrobat 4 y 5.
Las limitaciones de longitud y establecimiento de caracteres en los glifos de nombres de Western Opentype/CFF y TrueType Fonts aún deben referenciarse en muchos flujos de trabajo como datos de fuentes clave de nombre. Como resultado, los nombres de los glifos todavía están sujetos a la longitud y las limitaciones del conjunto de caracteres que imponen las implementaciones de la especificación Tipo 1 y el intérprete PostScript. Aunque ambos especifican que un nombre de glifo no tiene más de 31 caracteres de longitud, en la práctica, particularmente en entornos modernos, los nombres de los glifos pueden ser hasta 63 caracteres, pero no deben comenzar con un dígito o período, y deben estar completamente compuestos por caracteres del siguiente conjunto limitado:
La única excepción a estos requisitos es el glifo especial.
Por ejemplo, 'Twocents', 'A1' y '_' son nombres de glifos válidos, pero '2cents' y '.twocents' no lo son.
El filtrado de pares de cajeros automáticos y parejas de kerning para muchas aplicaciones, el soporte para kerning en fuentes OpenType fue proporcionado en gran medida por las versiones de Windows y Macintosh de ATM ( Adobe Type Manager ). Esta limitación surge porque la mayoría de las aplicaciones que no eran apagadas asumieron que todos los pares de kerning en una fuente pueden ajustarse razonablemente es una sola tabla, y que no habrá más de unos pocos miles de pares de kerning. Proporcionar más pares de kerning que esto provocó que tales aplicaciones se bloqueen. Con el kerning basado en la clase compatible con el diseño de OpenType, incluso una fuente con solo 220 glifos generalmente excedería este límite, aunque bien. Para permitir el uso de tales fuentes OpentyOe sin bloquear muchas aplicaciones actuales, ATM admitió el kerning a través de API basadas en el sistema operativo heredado al expandir primero completamente el kerning basado en clase a una lista de pares de nombre de glifo único, y luego filtrando esta lista a través de una lista codificada de nombres de Glyph. Si el nombre del glifo a cada lado del par de kerning no estaba presente en la lista de filtros, se omitió todo el par de kerning. La lista de filtrado de pares Kerning para Windows 95 y Mac OS 9, junto con la de Windows NT y Windows 2000, ya no está disponible.
Actualización editorial de la versión 2.9 (21 de agosto de 2019).
Versión 2.8 (9 de agosto de 2018) El límite de longitud de los nombres de los glifos se ajustó de 31 a 63 caracteres para reflejar las prácticas e implementaciones actuales, junto con una nota de que algunas implementaciones anteriores pueden imponer un límite de 31 caracteres.
Versión 2.7 (12 de agosto de 2017) El documento externo titulado Nombres de glifos y implementaciones actuales , con cambios editoriales, se adjuntó a la Sección 6.
Versión 2.6 (28 de marzo de 2015) Revisión editorial menor relacionada con la migración a GitHub.
Versión 2.5 (10 de noviembre de 2010) Revisión editorial menor relacionada con hacerla una especificación abierta.
Versión 2.4 (24 de septiembre de 2003) Revisión menor. URL puntiaguda para los nombres de Adobe Glyph para nuevas fuentes a una nueva revisión.
Versión 2.3 (17 de abril de 2003) Revisión menor. Se agregó una breve oración para dejar en claro que el prefijo 'Uni' solo se puede usar con los valores de BMP Unicode.
Versión 2.2 (31 de enero de 2003) Revisión menor. Se agregó un enlace a la lista de nombres de glifos para usar al hacer nuevas fuentes, y enfatizó que la versión 2.0 AGL no está destinada a este propósito, ni se trata de codificar glifos en una fuente.
Versión 2.1 (4 de noviembre de 2002) Revisión menor, ampliando la sección sobre la asignación de nombres de glifos en nuevas fuentes.
Versión 2.0 (20 de septiembre de 2002) Revisión principal, que enfoca el documento sobre la conversión de nombres de glifos a valores escalares unicode; adición de muchos nombres al AGL; Actualización de la lista ZapfdingBats a Unicode versión 3.2.
Versión 1.1 (17 de diciembre de 1998) Generalmente revisado documento completo. Actualizó la mayoría de las tablas y archivos de datos. Sección agregada sobre la selección de nombres de glifos. Pseudo código para extraer semántica se expandió para incluir ligaduras no unicode y variantes glificas. Sección agregada sobre el proporcionar diseños separados para dos mapas. Sección eliminada sobre discrepancias con WGL4 (ya no aplicable; se actualizó WGL4).
Versión 1.0 (10 de noviembre de 1997) Primera versión.