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


Метод IPrintOemUni::SendFontCmd (prcomoem.h)

Метод IPrintOemUni::SendFontCmd позволяет подключаемым модулям отрисовки изменять команду выбора шрифта принтера, а затем отправлять ее на принтер.

Синтаксис

HRESULT SendFontCmd(
  PDEVOBJ      pdevobj,
  PUNIFONTOBJ  pUFObj,
  PFINVOCATION pFInv
);

Параметры

pdevobj

Предоставленный вызывающим объектом указатель на структуру DEVOBJ .

pUFObj

Указатель на структуру UNIFONTOBJ , предоставленный вызывающим абонентом.

pFInv

Указатель на структуру FINVOCATION , предоставленный вызывающим абонентом.

Возвращаемое значение

Метод должен возвращать одно из следующих значений.

Код возврата Описание
S_OK Операция успешно выполнена.
E_FAIL Операция не удалась.
E_NOTIMPL Метод не реализован.

Комментарии

Метод IPrintOemUni::SendFontCmd используется для выбора шрифтов устройств на принтерах, которые не распознают команды шрифтов в формате PCL, CAPSL или PPDS, поддерживаемые Unidrv. Его цель — разрешить подключаемым модулям отрисовки изменять команду выбора шрифта, указанную в UFM-файле шрифта (метрики шрифта Unidrv). (Сведения о том, как хранится команда, см. в описании структуры UNIDRVINFO файла .UFM.) Если команду необходимо изменить перед отправкой на принтер, следует реализовать IPrintOemUni::SendFontCmd метод .

Метод получает командную строку в структуре FINVOCATION , на которую указывает pFInv. Как правило, строка содержит переменные, для которых необходимо указать значения. Например, следующая команда выбора шрифта требует, чтобы #FontHeight и #FontWidth были заменены числовыми значениями:

\x1B(9U\x1B(s4148t0b0s#FontHeight1P\x1B)6J\x1B)s4148t0b0s#FontWidth1P

Текущие значения высоты и ширины шрифта можно получить, вызвав UNIFONTOBJ_GetInfo для чтения стандартных переменных Unidrv.

При каждом вызове IPrintOemUni::SendFontCmd метода он должен отправить командную строку на принтер, вызвав метод IPrintOemDriverUni::D rvWriteSpoolBuf.

Метод IPrintOemUni::SendFontCmd является необязательным. Если подключаемый модуль отрисовки реализует этот метод, метод IPrintOemUni::GetImplementedMethod должен возвращать S_OK при получении в качестве входных данных SendFontCmd.

Дополнительные сведения см. в разделе Управление настраиваемыми шрифтами.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть prcomoem.h (включая Prcomoem.h)

См. также раздел

DEVOBJ

FINVOCATION

IPrintOemDriverUni::D rvWriteSpoolBuf

IPrintOemUni

IPrintOemUni::GetImplementedMethod

UNIFONTOBJ

UNIFONTOBJ_GetInfo