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

指定 pGlyphInpGlyphOut指向的数组中的元素数。 此值由 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之前,呈现插件将填充 dwSizedwCountdwTypeIn,以及 pGlyphIn 成员并将 dwGlyphOutSize 成员设置为零。

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

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

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

要求

要求 价值
标头 printoem.h (include Printoem.h)

另请参阅

IPrintOemUni::OutputCharStr

UNIFONTOBJ_GetInfo