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


структура GETINFO_GLYPHSTRING (printoem.h)

Структура GETINFO_GLYPHSTRING используется в качестве входных данных для функции обратного вызова UNIFONTOBJ_GetInfo.

Синтаксис

typedef struct _GETINFO_GLYPHSTRING {
  DWORD dwSize;
  DWORD dwCount;
  DWORD dwTypeIn;
  PVOID pGlyphIn;
  DWORD dwTypeOut;
  PVOID pGlyphOut;
  DWORD dwGlyphOutSize;
} GETINFO_GLYPHSTRING, *PGETINFO_GLYPHSTRING;

Члены

dwSize

Задает размер структуры GETINFO_GLYPHSTRING в байтах. Это значение предоставляется вызывающим UNIFONTOBJ_GetInfo.

dwCount

Указывает количество элементов в массивах, на которые указывает pGlyphIn и pGlyphOut. Это значение предоставляется вызывающим UNIFONTOBJ_GetInfo.

dwTypeIn

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

Ценность Определение
TYPE_GLYPHHANDLE Элементы массиваpGlyphIn имеют тип HGLYPH или обрабатываются глифом шрифта устройства. Для этого значения dwTypeInдопустимые значения для dwTypeOut TYPE_UNICODE или TYPE_TRANSDATA.
TYPE_GLYPHID Элементы массива pGlyphIn имеют тип DWORD и содержат идентификаторы глифов для скачанных глифов шрифтов TrueType. Для этого значения dwTypeInдопустимые значения для dwTypeOut являются TYPE_UNICODE или TYPE_GLYPHHANDLE.

Предоставляется вызывающим UNIFONTOBJ_GetInfo.

pGlyphIn

Указатель на массив описателей глифов. Тип элемента массива указывается dwTypeIn. Это значение предоставляется вызывающим UNIFONTOBJ_GetInfo.

dwTypeOut

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

Ценность Определение
TYPE_GLYPHHANDLE Элементы массива pGlyphOut имеют тип HGLYPH или обрабатывают глиф шрифта устройства. Это значение допустимо, только если dwTypeIn задано значение TYPE_GLYPHID.
TYPE_TRANSDATA Элементы массива pGlyphOut типа TRANSDATA. Это значение допустимо, только если dwTypeIn задано значение TYPE_GLYPHHANDLE.
TYPE_UNICODE Элементы массива pGlyph имеют тип WCHAR. Это значение допустимо, если dwTypeIn задано значение TYPE_GLYPHHANDLE или TYPE_GLYPHID.

Предоставляется вызывающим UNIFONTOBJ_GetInfo.

pGlyphOut

Вызывающий указатель на пустой массив описателей глифов. Массив заполняется функцией обратного вызова Unidrv UNIFONTOBJ_GetInfo. Тип элемента массива указывается dwTypeOut. Этот указатель предоставляется вызывающим UNIFONTOBJ_GetInfo.

dwGlyphOutSize

Указывает размер буфера в байтах, на который указывает pGlyphOut. Этот элемент используется только в том случае, если dwTypeIn задано значение TYPE_GLYPHHANDLE и dwTypeOut имеет значение TYPE_TRANSDATA. Дополнительные сведения см. в следующем разделе "Примечания".

Замечания

Чтобы преобразовать массив описителей глифов из одного типа в другой, подключаемый модуль отрисовки может указать адрес структуры GETINFO_GLYPHSTRING при вызове функции обратного вызова Unidrv UNIFONTOBJ_GetInfo.

Если преобразование выполняется из TYPE_GLYPHHANDLE в TYPE_TRANSDATA, необходимо дважды вызвать UNIFONTOBJ_GetInfo.

  • Перед первым вызовом UNIFONTOBJ_GetInfoподключаемый модуль отрисовки заполняет dwSize, dwCount, dwTypeInи элементы pGlyphIn и задает для элемента dwGlyphOutSize значение нулю.

    После возврата UNIFONTOBJ_GetInfo элемент dwGlyphOutSize содержит размер буфера, необходимого для хранения преобразованной строки.

  • Подключаемый модуль выделяет блок памяти размера, полученного в элементе dwGlyphOutSize, задает элемент pGlyphOut, указывающий на этот блок памяти, и вызывает UNIFONTOBJ_GetInfo еще раз. Затем UNIDRV преобразует строку из TYPE_GLYPHHANDLE в TYPE_TRANSDATA.

Значения, указанные подключаемым модулем отрисовки для элементов dwTypeInи pGlyphIn, обычно являются теми, которые ранее были получены в качестве dwTypeи параметров pGlyph методу IPrintOemUni::OutputCharStr.

Требования

Требование Ценность
заголовка printoem.h (include Printoem.h)

См. также

IPrintOemUni::OutputCharStr

UNIFONTOBJ_GetInfo