Поделиться через


Указание новых шрифтов устройств в мини-drivers PCL XL

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.

Если вы хотите поддерживать новые шрифты устройств в мини-driver PCL XL, необходимо создать файлы метрик шрифтов Unidrv (UFM) для этих шрифтов устройств.

Файл UFM имеет следующий формат:

Структура UNIFM_HDR , которая служит заголовком для файла UFM

Структура UNIDRVINFO

Структура IFIMETRICS

Структура EXTTEXTMETRIC

Таблица ширины символов

Правильно отформатированная команда выбора шрифта должна быть помещена в правильное расположение в файле UFM. Команда выбора шрифта состоит из 16 байтов для выбора шрифта, одного байта для пробела и столько байтов, сколько необходимо для хранения цифр набора символов.

Ниже приведен пример отображения команды выбора шрифта в файле UFM. (Числа во второй строке показывают позицию каждого символа в команде выбора шрифта.)

CG Omega    BdIt 629
12345678901234567890

Имя шрифта и стиль, CG Omega BdIt (полужирный/курсив) занимает первые 16 байт. После этого существует один пробел, который отделяет имя шрифта от номера набора символов. Число набора символов, 629, занимает последние три байта. Unidrv анализирует команду выбора шрифта в файле UFM и отправляет команду выбора шрифта и номер набора символов отдельно.

Имя шрифта и номер набора символов, описанные в предыдущем примере, являются двумя из трех атрибутов, необходимых для оператора SetFont , который будет отображаться в выходных данных драйвера. В следующем примере атрибуты FontName и SymbolSet этого оператора имеют те же значения, что и в предыдущем примере. Третий атрибут CharSize имеет значение 100.

ubyte_array (CG Omega    BdIt) FontName
real32 100 CharSize
uint16 629 SymbolSet
SetFont

Дополнительные сведения о команде выбора шрифта SetFont см. в документации по классу протокола 2.0 для компонента PCL XL. (Этот ресурс может быть недоступен на некоторых языках и странах.)