Articulo de referencia

Formato de distribución de mapa de bits de glifos

[https://mimetype.io/application/x-font-bdf .bdf] [[MIME]] type not [https://www.iana.org/assignments/media-types/media-types.xhtml#image registered] at [[Internet Assigned Numb...

El formato de distribución de mapas de bits de glifos (BDF) de Adobe es un formato de archivo para almacenar fuentes de mapa de bits . El contenido se presenta como un archivo de texto legible tanto para humanos como para ordenadores. BDF se utiliza habitualmente en entornos Unix X Window . Ha sido reemplazado en gran medida por el formato de fuente PCF , que es algo más eficiente, y por fuentes escalables como OpenType y TrueType .

Descripción general

En 1988, el Consorcio X adoptó BDF 2.1 como estándar para las fuentes de pantalla de X Window, [ 2 ] pero X Windows se ha desplazado en gran medida a otros estándares de fuentes como PCF , Opentype y Truetype .

La versión 2.2 añadió compatibilidad con escrituras no occidentales. Por ejemplo, los glifos en una definición de fuente BDF 2.2 pueden especificar la representación de arriba abajo en lugar de simplemente de izquierda a derecha.

Un archivo de fuente BDF contiene tres secciones:

  1. una sección global que se aplica a todos los glifos de una fuente;
  2. una sección con una entrada separada para cada glifo; y
  3. la ENDFONTdeclaración.

Ejemplo

Esta es una fuente de ejemplo que contiene un glifo, para la letra mayúscula ASCII "A". Este glifo se ha tomado de GNU Unifont .

En el ejemplo anterior, las declaraciones globales comienzan con la STARTFONTlínea y terminan con la CHARSlínea.

STARTFONT 2.1define la versión de este archivo BDF como la versión 2.1.

FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1define la familia de fuentes y los nombres de las caras como una descripción de fuente lógica X.

SIZE 16 75 75Se define como una fuente de 16 puntos, con una resolución en el eje X de 75 puntos por pulgada (ppp) y una resolución en el eje Y de 75 ppp. Esto es lo habitual en X Window.

FONTBOUNDINGBOX 16 16 0 -2Define un cuadro delimitador para la fuente de 16 píxeles de ancho por 16 píxeles de alto, con la esquina inferior izquierda comenzando en x = 0 e y = -2 . Tenga en cuenta que, si bien el cuadro delimitador se define como una celda de 16 por 16, esto se puede modificar para glifos individuales. El glifo "A", por ejemplo, tiene solo 8 píxeles de ancho.

STARTPROPERTIES 2declara que a continuación se mostrarán dos propiedades especiales. STARTPROPERTIESes opcional en la especificación BDF. X Window permite que las propiedades FONT_ASCENTy FONT_DESCENTmuestren la altura por encima y por debajo de la línea base, respectivamente, para todos los glifos. FONT_ASCENT 14declara que 14 de los 16 píxeles de altura están por encima de la línea base. FONT_DESCENT 2declara que 2 de los 16 píxeles de altura están por debajo de la línea base. ENDPROPERTIESaparece al final de la STARTPROPERTIESsección.

CHARS 1Declara que a continuación aparecerá un carácter. Aunque Adobe ahora se refiere a este formato de archivo como Glyph BDF, ha conservado la palabra clave CHARSen la versión final de la especificación.

COMMENTSe pueden insertar líneas que comiencen con la palabra clave dentro de un archivo BDF. Todo lo que siga a la COMMENTpalabra clave en una línea se ignora.

Tras las declaraciones globales anteriores, las siguientes entradas pueden repetirse para cada glifo.

STARTCHAR U+0041Especifica el inicio de un carácter en la versión 2.1 y anteriores, o de un glifo en la versión 2.2. El nombre de cadena de este carácter en particular es U+0041, que expresa en la convención Unicode el punto de código hexadecimal 41 (decimal 65, el carácter ASCII “A”). En la versión 2.1 y anteriores, la cadena del nombre del carácter estaba limitada a 14 caracteres. En la versión 2.2, la cadena del nombre del glifo puede contener hasta 65 535 caracteres.

ENCODING 65Declara el punto de código decimal para este glifo en la fuente.

SWIDTH 500 0declara un ancho escalable de 500 en el eje X y 0 (por defecto) en el eje Y. Esto dará como resultado un desplazamiento en el eje X al siguiente glifo, pero no un desplazamiento en el eje Y al siguiente glifo (es decir, los glifos aparecen en línea recta). El ancho escalable es 1000 veces el tamaño de punto real del carácter, la misma unidad que se usa en un archivo Adobe Font Metric (AFM). El número de píxeles se calcula como Píxeles = Ancho escalable / 1000 * Resolución / 72 , donde Ancho escalable es 500 en este ejemplo y la resolución es 75 ppp para esta fuente. Como 75 es aproximadamente igual a 72, el número de píxeles es el ancho total de un glifo (definido globalmente como 16 píxeles) multiplicado por 500 / 1000 , o en otras palabras, el ancho de este glifo es de 8 píxeles.

DWIDTH 8 0Declara el ancho del dispositivo para un glifo. En este caso, después de que se renderiza el glifo, el inicio del siguiente se desplaza 8 píxeles en el eje X y 0 píxeles en el eje Y desde el origen del glifo actual. Cabe destacar que el ancho del dispositivo no necesariamente coincide con el ancho del glifo. Simplemente representa el desplazamiento en el eje X para mover el punto actual al inicio del siguiente glifo.

El ancho escalable se utiliza para calcular el ancho de un glifo de alta resolución en una impresora, mientras que el ancho del dispositivo se utiliza para calcular el ancho de un glifo en una pantalla. Por lo tanto, el ancho escalable se especifica con mayor precisión que el ancho del dispositivo.

BBX 8 16 0 -2Declara un cuadro delimitador de 8 píxeles de ancho y 16 píxeles de alto. La esquina inferior izquierda del personaje está desplazada 0 píxeles en el eje X y -2 píxeles en el eje Y.

BITMAPComienza el mapa de bits para el glifo actual. Esta línea debe ir seguida de una línea por cada píxel en el eje Y. En este ejemplo, el glifo tiene 16 píxeles de alto, por lo que le siguen 16 líneas. Cada línea contiene la representación hexadecimal de los píxeles en una fila. Un bit "1" indica un píxel renderizado. Cada línea se redondea a un límite de 8 bits (un byte), rellenado con ceros a la derecha. En este ejemplo, el glifo tiene exactamente 8 píxeles de ancho, por lo que ocupa exactamente 8 bits (un byte) por línea, de modo que no hay relleno. El bit más significativo de una línea de datos rasterizados representa el píxel más a la izquierda.

ENDCHARfinaliza el glifo actual.

Las declaraciones se STARTCHARrepiten ENDCHARpara cada glifo de una fuente.

ENDFONTaparece como la última línea del archivo, después de que se hayan enumerado todos los glifos de la fuente.

Extensiones de la versión 2.2

La versión 2.2 de la especificación BDF añade compatibilidad con fuentes no occidentales. Estas adiciones permiten desplazar el origen mediante un movimiento positivo o negativo en los ejes X e Y. Esto no solo permite la escritura de derecha a izquierda, sino también de arriba abajo (por ejemplo, para el chino). Los siguientes valores proporcionan compatibilidad con fuentes multinacionales:

METRICSETse establece en 0 para la dirección de escritura 0, 1 para la dirección de escritura 1 o 2 (en el área global inicial) para ambas direcciones de escritura dentro de la misma fuente. Los sistemas de escritura occidentales tradicionales de izquierda a derecha utilizan METRICSET 0.

SWIDTH1y DWIDTH1tienen los mismos parámetros que SWIDTHy DWIDTH, respectivamente. DWIDTH1debe estar presente para un METRICSET 1glifo. Sus desplazamientos pueden ser positivos o negativos.

VVECTORDefine un desplazamiento en el eje X y otro en el eje Y para la transición de un glifo de modo 0 a un glifo de modo 1. Se aplica un desplazamiento opuesto durante la transición de un glifo de modo 1 a modo 0.

Este esquema permite escribir fácilmente en dos direcciones. Históricamente, las fuentes tenían 128 o 256 puntos de código. Hoy en día, Unicode admite más de un millón de puntos de código. Es posible que las fuentes contengan miles de glifos, algunos de los cuales deben escribirse de izquierda a derecha, otros de derecha a izquierda y otros de arriba abajo. Esta escritura multidireccional requiere un uso creativo de los caracteres DWIDTH1y SWIDTH1para cada glifo.

Además de las palabras clave añadidas para la compatibilidad internacional, la versión 2.2 añade la CONTENTVERSIONdeclaración. Esta palabra clave va seguida de un número entero que indica el número de versión de la fuente.

Para obtener información más detallada, consulte la especificación de la versión 2.2.

Propiedades de X Window

Las utilidades de fuentes de X Window admiten varias propiedades que se pueden especificar en la STARTPROPERTIESsección de un archivo BDF. [ 3 ] Un archivo BDF genérico está en codificación ASCII . Las propiedades de X Window se especifican utilizando la codificación ISO 8859-1 , que es una extensión de ASCII. Estas propiedades incluyen:

  • CAP_HEIGHT(entero) La altura por encima de la línea base de una letra mayúscula (Ver Altura de mayúscula ).
  • COPYRIGHT(cadena) [ 4 ] Una declaración de derechos de autor.
  • DEFAULT_CHAR(entero sin signo) El carácter (glifo) predeterminado que se mostrará para un glifo no definido.
  • FACE_NAME(cadena [ 4 ] ) El nombre de la variante de esta fuente.
  • FONT(cadena) [ 4 ] El nombre de la fuente en X Window.
  • FONT_ASCENT(entero) La altura por encima de la línea base , para el cálculo del espaciado entre líneas.
  • FONT_DESCENT(entero) El descendente debajo de la línea base, para el cálculo del espaciado de línea.
  • FONT_VERSION(cadena) [ 4 ] La versión de la fuente.
  • FOUNDRY(cadena) [ 4 ] El nombre de la fundición.
  • FAMILY_NAME(cadena) [ 4 ] El nombre de la familia de fuentes.
  • NOTICE(cadena) [ 4 ] Un comentario general.
  • POINT_SIZE(entero) Ver Punto (tipografía) . Si no se especifica por separado, EMspace = round(POINT_SIZE/10), ENspace = round(POINT_SIZE/20) y THINspace = round(POINT_SIZE/30).
  • RESOLUTION_X(entero sin signo)
  • RESOLUTION_Y(entero sin signo)
  • SLANT(cadena) [ 4 ] “R” es romana, “I” es cursiva, “O” es oblicua, “RI” es cursiva inversa, “RO” es oblicua inversa, “OT” es otra, y un número indica capacidad de inclinación polimórfica.
  • WEIGHT_NAME(cadena) [ 4 ] El grosor de esta fuente ("Negrita" y "Normal" son típicos, aunque no hay una enumeración fija).
  • X_HEIGHT(entero) La altura por encima de la línea base de una “x” minúscula (Ver altura de x ).

Notas

  1. .bdf El tipo MIME no está registrado en IANA
  2. "Sistema X Window, Versión 11, Edición 3" . Fundación X.Org . Octubre de 1988. Consultado el 19 de enero de 2016 .
  3. Flowers, Jim (1994) [1988]. "3.2 Propiedades de la fuente". X Logical Font Description Conventions (Versión 1.5 ed.). X Consortium, Inc. pág. 13. Archivado del original el 31-03-2013 . Recuperado el 08-01-2009 .  
  4. 1 2 3 4 5 6 7 8 9 Una cadena de caracteres ISO 8859-1.

Referencias

  • El estándar Unicode, versión 5.0 . El Consorcio Unicode (5.ª  ed.). Addison-Wesley . Octubre de 2006. ISBN 978-0-321-48091-0.{{cite book}}: CS1 mantenimiento: otros ( enlace )
  • Especificación del formato de distribución de mapas de bits de glifos de Adobe (BDF), versión 2.2