Share via


Administración de fuentes personalizada

Importante

Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con las aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte la guía de diseño de aplicaciones de soporte técnico de impresión.

En el caso de las impresoras PCL , Unidrv admite la descarga de fuentes suaves como mapas de bits o esquemas TrueType. En el caso de las fuentes del dispositivo, Unidrv admite formatos de comandos de impresora PCL, CAPSL y PPDS. Para otros formatos, el código de administración de fuentes personalizado debe proporcionarse en un complemento de representación. Se puede implementar el siguiente conjunto de métodos IPrintOemUni:

IPrintOemUni::D ownloadFontHeader
Se usa para obtener la información de encabezado de una fuente suave de Unidrv y, a continuación, descargar la información en la impresora.

IPrintOemUni::D ownloadCharGlyph
Se usa para descargar glifos de caracteres de una fuente suave en la impresora.

IPrintOemUni::OutputCharStr
Se usa para controlar la impresión de caracteres.

IPrintOemUni::SendFontCmd
Se usa para modificar el comando de selección de fuentes del dispositivo de una impresora y, si es necesario, enviarlo a la impresora.

IPrintOemUni::TextOutAsBitmap
Se usa para crear una imagen de mapa de bits de una cadena de texto.

IPrintOemUni::TTDownloadMethod
Se usa para especificar el formato de glifo que debe usar Unidrv cuando envía una fuente temporal especificada a la impresora.

Unidrv proporciona una función de devolución de llamada, UNIFONTOBJGetInfo, que los complementos de representación pueden llamar para obtener información de fuente o glifo.

En el caso de las fuentes del dispositivo, las descripciones de fuentes deben proporcionarse como se explica en la sección Archivos de métricas de fuente Unidrv y en la sección Archivos de tabla de traducción de glifos .

Para las fuentes de cartucho, se pueden proporcionar descripciones de fuentes en archivos DLL de recursos y especificarse mediante entradas de cartuchos de fuente en un archivo GPD . También se pueden proporcionar descripciones de fuentes en forma de archivos de formato de fuente Unidrv.

En el caso de las fuentes suaves PCL descargables, las descripciones de fuentes deben proporcionarse como se explica en la sección Archivos de formato de fuente Unidrv .

Archivos de métricas de fuente unidrv

Cada fuente de dispositivo que admite una impresora representa un archivo Unidrv Font Metrics (.ufm). Un archivo .ufm es un archivo binario que se construye mediante las estructuras descritas en Estructuras de métricas de fuentes Unidrv. La primera estructura de un archivo .ufm es UNIFM_HDR, que contiene desplazamientos a las demás estructuras del archivo. En la ilustración siguiente se muestra el diseño de un archivo Unidrv Font Metrics.

diagrama que ilustra el diseño de un archivo de métricas de fuente unidrv.

Unidrv también admite archivos .ifi, los archivos de métricas de fuente creados para Windows NT 4.0.

Archivos de tabla de traducción de glifos

Cada fuente de dispositivo que admite una impresora representa un archivo de tabla de traducción de glifos (.gtt). Un archivo .gtt es un archivo binario que se construye mediante las estructuras descritas en Estructuras de tabla de traducción de glifos Unidrv. La primera estructura de un archivo .gtt es una estructura UNI_GLYPHSETDATA , que contiene desplazamientos a las otras estructuras del archivo.

En la ilustración siguiente se muestra el diseño de un archivo de tabla de traducción de glifos.

diagrama que ilustra el diseño de un archivo de tabla de traducción de glifos.

En la ilustración anterior, la estructura UNI_GLYPHSETDATA contiene los desplazamientos desde el principio del archivo hasta la primera estructura GLYPHRUN , hasta la primera estructura UNI_CODEPAGEINFO y a la estructura MAPTABLE .

Unidrv también admite archivos de traducción de glifo creados para Windows NT 4.0, que usan la compresión de codificación de longitud de ejecución (RLE) y tienen una extensión .rle.

Archivos de formato de fuente Unidrv

Para las fuentes de cartucho que no se especifican mediante entradas de cartuchos de fuente en un archivo GPD, las fuentes deben describirse en un archivo unidrv Font Format (.uff). Además, las fuentes suaves PCL descargables deben especificarse mediante un archivo .uff.

Un archivo .uff es un archivo binario que se construye mediante los siguientes conjuntos de estructuras:

En la ilustración siguiente se muestra el diseño de un archivo Unidrv Font Format.

diagrama que ilustra el diseño de un archivo de formato de fuente unidrv.

Un archivo Unidrv Font Format consta de una estructura de UFF_FILEHEADER y uno o varios pares de estructura UFF_FONTDIRECTORY y DATA_HEADER . Cada estructura DATA_HEADER está asociada a un bloque de datos de fuente. La estructura UFF_FILEHEADER contiene el desplazamiento desde el principio del archivo hasta la primera estructura UFF_FONTDIRECTORY . Cada estructura de UFF_FONTDRECTORY contiene el desplazamiento desde el principio del archivo a una estructura de DATA_HEADER que contiene datos de fuente.

Además, para las fuentes de PCL soft descargables, los datos binarios que se van a descargar se almacenan en un archivo .uff.

La creación de archivos .uff es responsabilidad del software de instalación de fuentes suministrado por el proveedor. Unidrv lee los archivos .uff de una impresora para obtener información de fuente y glifo. El instalador de fuentes debe modificar el contenido del archivo .uff cuando se agregan o eliminan fuentes. Para obtener más información sobre cómo crear un instalador de fuentes, vea Instaladores de fuentes personalizados para Unidrv.

Todos los archivos .uff deben almacenarse en el directorio %SystemRoot%\System32\Spool\Drivers\Unifont. Para asociar archivos .uff individuales a impresoras específicas, el software de instalación debe llamar a la función SetPrinterData (descrita en la documentación de Windows SDK) para crear valores del Registro en la clave del Registro de cada impresora. En la tabla siguiente se enumeran los nombres de valor del Registro que se deben usar e indica el mantenedor de cada valor.

Nombre y tipo del valor del Registro Definición de valor Responsable de mantenimiento
"ExternalFontFile"

REG_SZ
Nombre de archivo de un archivo .uff que especifica las fuentes instaladas actuales. Las fuentes se pueden descargar o contener en un cartucho. Instalador de fuentes
"ExtFontCartFile"

REG_SZ
Nombre de archivo de un archivo .uff que especifica todas las fuentes contenidas en todos los cartuchos de fuente enumerados para "ExtFontCartNames". Instalador de fuentes
"ExtFontCartNames"

REG_MULTI_SZ
Nombres de todos los cartuchos de fuente que podrían instalarse en la impresora. Instalador de fuentes
"FontCart"

REG_MULTI_SZ
Nombres de todos los cartuchos de fuente instalados actualmente para la impresora. Interfaz de usuario Unidrv

Después de agregar un cartucho de fuente a una impresora, el administrador del sistema debe ejecutar el instalador de fuentes, que es responsable de copiar descripciones de fuentes del archivo .uff especificado por "ExtFontCartFile" en el archivo .uff especificado por "ExternalFontFile". Del mismo modo, el instalador de fuentes debe quitar descripciones de fuentes del archivo .uff especificado por "ExtFontCartFile" cuando se quita un cartucho.