Formato de archivo de font troff
Finalidad
Especifica archivos de descripción para el mandato Troff .
Descripción
Para cada fototypesetter al que da soporte el mandato Troff y que está disponible en el sistema, hay un directorio que contiene archivos que describen el fototypesetter y sus fonts. Este directorio se denomina /usr/lib/font/devNombre, donde la variable Nombre especifica el nombre del fotocompositor.
El archivo ASCII DESC del directorio /usr/lib/font/devNombre del directorio de origen del mandato troff describe las características del fototipográfico especificado por la variable Nombre . Se encuentra una versión binaria de este archivo en el archivo /usr/lib/font/devNombre/DESC.out . Cada línea de este archivo ASCII empieza con una palabra que identifica una característica, seguida de los especificadores adecuados. Las líneas en blanco y las líneas que empiezan por # (signo de almohadilla) se ignoran.
Para muchos tipográficos, las fuentes descargadas están soportadas de forma general. Los mapas de bits para estos fonts se almacenan en el directorio /usr/lib/font/devNombre/bitmaps . Cada par de tamaño de font se almacena en un archivo con un nombre con el formato Nombre de font-Tamaño.pk. Por ejemplo:
B-24.pk Estos mapas de bits se almacenan en el formato de font empaquetado PK utilizado por TeX y sus postprocesadores. Estos mapas de bits se generan facilmente a partir de programas facilmente disponibles, tales como METAFONT, o facilmente convertidos a partir de otras formas.
Además de los archivos de mapa de bits, se necesita un archivo de font Troff , tal como se describe aquí, para cada tipo de font. En el campo unitwidth de este archivo, se proporciona el ancho de cada mapa de bits de caracteres en las unidades de dispositivo.
Las líneas legales para el archivo DESC son:
| Elemento | Descripción |
|---|---|
| res Número | Resolución del dispositivo en incrementos básicos por pulgada. |
| anchura de unidad Número | Tamaño de punto en el que se proporcionan todas las tablas de anchura en los archivos de descripción de font. El mandato Troff escala automáticamente los anchos del tamaño de anchura de unidad al tamaño de punto con el que está trabajando. |
| escala de tamaño Número | Escalado para tamaños de punto fraccional. El valor de la variable Número es 1. La línea escala de tamaño no se utiliza actualmente. |
| ancho de papel Número | Ancho del papel en incrementos básicos. |
| longitud de papel Número | Longitud del papel en incrementos básicos. |
| font mayor Número | Número máximo de caracteres en un font. |
| tallas Number1 Number2... | Lista de tamaños de punto disponibles en typesetter, finalizada por 0. |
| fuentes NumberName... | Número de fonts iniciales, seguido de los nombres ASCII de los fonts. Por ejemplo: |
| conjunto de códigos codesetName | Conjunto de códigos para la impresora o el tipo de datos concreto, donde CodesetName es un nombre de conjunto de códigos válido para utilizarlo con el mandato iconv . El juego de códigos especificado se utiliza para definir entradas de caracteres en la sección de juego de caracteres de los archivos de descripción de font. Por ejemplo:El mandato troff utiliza el CodesetName especificado y el conjunto de códigos implícito por el entorno local actual para determinar si las conversiones de conjuntos de códigos son necesarias para los caracteres de entrada. La función iconv se utiliza para realizar la conversión de conjunto de códigos si es necesario. |
| juego de caracteres | La última palabra clave del archivo está en una línea por sí misma. A continuación se muestra la lista de nombres de caracteres especiales para este dispositivo. Los nombres están separados por un espacio o una nueva línea. La lista puede ser tan larga como sea necesario. Los nombres que no están en esta lista no están permitidos en los archivos de descripción de font. |
| Hor Número | Unidad más pequeña de movimiento horizontal. |
| vert Número | Unidad más pequeña de movimiento vertical. Las líneas Hor y vert describen las relaciones entre los movimientos en las direcciones horizontal y vertical. Por ejemplo, si el dispositivo se mueve en incrementos básicos únicos en ambas direcciones, las líneas Hor y vert tienen valores de 1. Si el movimiento vertical sólo se produce en múltiplos de dos unidades básicas y el movimiento horizontal sólo se produce en una unidad básica, vert es 2 y Hor es 1. |
Para cada font soportado por el fototypesetter, también hay un archivo ASCII con el mismo nombre que el font (por ejemplo, R, I, CW) que lo describe. El formato de un archivo de descripción de font es el siguiente:
| Elemento | Descripción |
|---|---|
| nombre Nombre | Nombre del font, como R o CW. |
| nombre interno Nombre | Nombre interno del font. |
| especial | Establece el distintivo que indica que el font es especial. |
| ligatures Nombre ...0 | Establece el distintivo que indica que el font tiene ligaduras. La lista de ligaduras sigue y finaliza con un 0 (cero). Las ligaduras aceptadas son ff fi fl ffi ffl. |
| ancho de espacio Número | Especifica la anchura del espacio si se desea algo que no sea el valor predeterminado (1/3 de un espacio em). |
| juego de caracteres | El juego de caracteres debe ir al final. Cada línea que sigue a la palabra juego de caracteres describe un carácter en el font. Cada línea tiene uno de dos formatos:O donde el valor delNamees un carácter de un solo byte o un nombre de carácter especial de la lista que se encuentra en el archivo DESC . La cabecera HTTPWidthel campo está en incrementos básicos. La cabecera HTTPKerningel campo es 1 si el carácter desciende por debajo de la línea, 2 si se eleva por encima de la letra`a', y 3 si se eleva y desciende. La cabecera HTTPCodees el número enviado al tipografiador para producir el carácter. Para un font nls , elCodepuede ser una secuencia de varios bytes. Para fonts de dispositivos de salida de caracteres ampliados, elCodepuede ser una secuencia de varios bytes que empieza y termina con una comilla doble. En la secuencia, los caracteres de control o no impresión se pueden representar mediante las siguientes secuencias de escape: |
| \n | Genera una nueva línea. |
| \r | Produce una devolución. |
| \t | Genera una pestaña. |
| \b | Produce un retroceso. |
| \" | Genera una comilla doble. |
| \xdd | Produce un número hexadecimal, dondeddes de dos dígitos hexadecimales. |
| \ooo | Produce un número octal, dondeoooson tres dígitos octales. El segundo formato,Name ", se utiliza para mostrar que el carácter tiene más de un nombre. Las comillas dobles indican que este nombre tiene los mismos valores que la línea anterior. La cabecera HTTPKerningyCodeno se utilizan si el valor delWidthes una comilla doble. El número total de caracteres diferentes en esta lista no debe ser mayor que el valor de la línea font mayor en el archivo DESC . |
Los archivos DESC.out y Font.out se han creado como resultado de la ejecución del programa makedev en el archivo DESC .
Se proporcionan caracteres de prototipo para la sección de juego de caracteres de la tabla de fonts para fonts de conjuntos de caracteres grandes. La mayoría de los caracteres de los juegos de caracteres grandes, como los juegos de caracteres japoneses, chinos y coreanos, tienen el mismo ancho. Estos caracteres de prototipo especifican el ancho de los caracteres con longitudes de bytes variables. Los campos de querning y code no están disponibles para las entradas de caracteres de prototipo. Estas entradas se aplican a todos los caracteres no definidos explícitamente en la sección charset. Se presupone que el código de impresora o tipo de caracteres para los caracteres manejados a través de caracteres de prototipo es el mismo que el código de entrada para el carácter después de la conversión por parte de la función iconv . A continuación se muestran las definiciones de caracteres de prototipo:
| Elemento | Descripción | |
|---|---|---|
| X0 | Ancho | Anchura de todos los caracteres que devuelven un valor de 0 para csid (). |
| X1 | Ancho | Anchura de todos los caracteres de 1 byte no definidos en otro lugar. |
| X1 | Ancho | Anchura de todos los caracteres que devuelven un valor de 1 para csid (). |
| X2 | Ancho | Anchura de todos los caracteres de 2 bytes no definidos en otro lugar. |
| X i | Ancho | Anchura de todos los caracteres que devuelven un valor de i para csid (). |
| X3 | Ancho | Anchura de todos los caracteres de 3 bytes no definidos en otro lugar. |
| X4 | Ancho | Anchura de todos los caracteres de 4 bytes no definidos en otro lugar. |
Por ejemplo, las siguientes definiciones de caracteres prototipo se aplican a los conjuntos de caracteres japoneses (tanto IBM-932 como IBM-eucJP ):
X0 : alphanumeric characters
X1 : JIS level 1 and 2 Kanji characters in JISX0208.1990
X2 : Katakana characters
X3 : IBM selected charactersArchivos
| Elemento | Descripción |
|---|---|
| /usr/lib/font/devNombre/DESC.out archivo | Contiene el archivo de descripción para phototypesetter especificado por la variable Nombre . |
| /usr/lib/font/devNombre/bitmaps directorio | Contiene archivos de mapa de bits. |
| /usr/lib/font/devNombre/Font.out archivo | Contiene el archivo de descripción de font para fototypesetter especificado por la variable Nombre . |