printoem.h) (GETINFO_GLYPHSTRING 结构

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 TpGlyphIn 数组元素的类型为 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 时,才使用此成员。 有关详细信息,请参阅以下“备注”部分。

注解

若要将字形说明符数组从一种类型转换为另一种类型,呈现插件可以在调用 Unidrv 的 UNIFONTOBJ_GetInfo 回调函数时提供 GETINFO_GLYPHSTRING 结构的地址。

如果转换是从 TYPE_GLYPHHANDLE 转换为TYPE_TRANSDATA,则必须调用 UNIFONTOBJ_GetInfo 两次。

  • 在第一次调用 UNIFONTOBJ_GetInfo 之前,呈现插件将填充 dwSizedwCountdwTypeInpGlyphIn 成员,并将 dwGlyphOutSize 成员设置为零。

    UNIFONTOBJ_GetInfo返回后,dwGlyphOutSize 成员包含存储转换后的字符串所需的缓冲区的大小(以字节为单位)。

  • 该插件分配 在 dwGlyphOutSize 成员中接收的大小的内存块,将 pGlyphOut 成员设置为指向此内存块,并再次调用 UNIFONTOBJ_GetInfo 。 然后,UNIDRV 将字符串从 TYPE_GLYPHHANDLE 转换为TYPE_TRANSDATA。

呈现插件为 dwTypeInpGlyphIn 成员指定的值通常是以前作为 iPrintOemUni::OutputCharStr 方法的 dwTypepGlyph 参数接收的值。

要求

要求
Header printoem.h (包括 Printoem.h)

另请参阅

IPrintOemUni::OutputCharStr

UNIFONTOBJ_GetInfo