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


Шрифты, управляемые оборудованием

Внимание

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

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

Если принтер содержит шрифты, резидентные оборудованием, необходимо указать спецификации метрик шрифтов для этих шрифтов в файлах .ufm или .ifi.

Каждый шрифт резидента оборудования описывается в отдельном файле .ufm или .ifi. Чтобы сделать эти файлы доступными для Unidrv, сделайте следующее:

  • В библиотеке DLL ресурсов принтера укажите файлы .ufm с помощью типа ресурса RC_UFM и укажите файлы IFI с помощью типа ресурса RC_FONT.

  • В файле GPD принтера используйте атрибут *ResourceDLL, чтобы указать имя библиотеки DLL ресурса.

  • В файле GPD принтера используйте запись *DeviceFonts, чтобы указать идентификаторы ресурсов, связанные с записью RC_UFM или RC_FONT в библиотеке DLL ресурсов.

Формат записи *DeviceFonts выглядит следующим образом:

*DeviceFonts: LIST (FontResourceID, FontResourceID, ...)

Where FontResourceID — это идентификатор ресурса RC_UFM, связанный с ufm-файлом, или идентификатор ресурса RC_FONT, связанный с файлом IFI.

Ниже приведен пример:

*% Assume that RC_FONT_xxx ids are references to 
*% value macros defined by the GPD file creator.
*DeviceFonts: LIST(=RC_FONT_COURIER10, =RC_FONT_ARIALR,
+                  =RC_FONT_ARIALI, =RC_FONT_ARIALB, 
+                  =RC_FONT_ARIALBI, =RC_FONT_TIMESNRR,
+                  =RC_FONT_TIMESNRI, =RC_FONT_TIMESNRB,
+                  =RC_FONT_TIMESNRBI)

Вы можете включить несколько записей *DeviceFonts в мини-drivers Unidrv. Средство синтаксического анализа GPD объединяет несколько записей и делает все перечисленные шрифты доступными для всех конфигураций функций принтера. Если необходимо указать, что некоторые шрифты доступны только с определенными конфигурациями, можно включить записи *DeviceFonts в условные операторы.