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


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

Метод IPrintOemUni::OutputCharStr включает подключаемый модуль отрисовки для управления печатью глифов шрифтов.

Синтаксис

HRESULT OutputCharStr(
  PDEVOBJ     pdevobj,
  PUNIFONTOBJ pUFObj,
  DWORD       dwType,
  DWORD       dwCount,
  PVOID       pGlyph
);

Параметры

pdevobj

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

pUFObj

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

dwType

Значение, предоставленное вызывающим, указывающее тип массива описателя глифа, на который указывает pGlyph. Допустимы следующие значения:

Значение Определение
TYPE_GLYPHHANDLE Элементы массива pGlyph являются дескрипторами глифов типа HGLYPH.
TYPE_GLYPHID Элементы массива pGlyph являются идентификаторами глифов типа DWORD.

dwCount

Значение, предоставленное вызывающим, представляющее количество описателей глифа в массиве, на который указывает pGlyph.

pGlyph

Предоставленный вызывающим элементом указатель на массив описателей глифов, где тип элемента массива обозначается dwType.

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

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

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

Комментарии

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

Если подключаемый модуль отрисовки IPrintOemUni::OutputCharStr реализует метод , Unidrv вызывает метод каждый раз, когда строка символов готова к печати.

Метод получает массив описателей глифов. Значение, полученное для dwType , указывает тип идентификатора.

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

Если указанный шрифт является мягким (TrueType), массив содержит идентификаторы глифов. Идентификаторы представляют ранее загруженные глифы, которые необходимо распечатать.

Если указанный шрифт является шрифтом устройства, метод должен выполнять следующие действия:

  1. Выделите структуру GETINFO_GLYPHSTRING с параметром dwTypeIn , равным TYPE_GLYPHHANDLE, а dwTypeOut — TYPE_TRANSDATA.
  2. Вызовите функцию UNIFONTOBJ_GetInfo , передав структуру GETINFO_GLYPHSTRING в качестве входных данных, чтобы получить переводы глифов в виде содержимого структуры TRANSDATA .
  3. Вызовите метод IPrintOemDriverUni::D rvWriteSpoolBuf , чтобы отправить содержимое структуры TRANSDATA в очередь печати, чтобы напечатать глифы.
Если указанный шрифт является мягким, метод может просто вызвать IPrintOemDriverUni::D rvWriteSpoolBuf для отправки команд в очередь печати печати, которые приведут к печати указанных ранее скачанных глифов.

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

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

Требования

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