TTEmbedFontEx 函数 (t2embapi.h)

创建包含子集 UCS-4 字符的字体结构, (32 位) 字体。 (hDC) 的设备上下文的当前字体提供字体信息。

此函数将数据传递给客户端定义的回调例程,以便插入到文档流中。

TTEmbedFontEx 的使用方式与 TTEmbedFont 相同,但接受 UCS-4 (32 位) 中给定的字符代码集。

语法

LONG TTEmbedFontEx(
  [in]           HDC            hDC,
  [in]           ULONG          ulFlags,
  [in]           ULONG          ulCharSet,
  [out]          ULONG          *pulPrivStatus,
  [out]          ULONG          *pulStatus,
                 WRITEEMBEDPROC lpfnWriteToStream,
  [in]           LPVOID         lpvWriteStream,
  [in]           ULONG          *pulCharCodeSet,
  [in]           USHORT         usCharCodeCount,
  [in]           USHORT         usLanguage,
  [in, optional] TTEMBEDINFO    *pTTEmbedInfo
);

参数

[in] hDC

设备上下文句柄。

[in] ulFlags

指定嵌入请求的标志。 此标志可以具有以下零个或多个值。

Value 含义
TTEMBED_EMBEDEUDC
将关联的 EUDC 字体文件数据与字体结构包含在内。
TTEMBED_RAW
返回包含完整字符集(非压缩)的字体结构。 这是函数的默认行为。
TTEMBED_SUBSET
返回仅包含 pusCharCodeSetpulCharCodeSet 参数指示的字形的子集字体。 这些字符代码必须表示为 16 位或 UCS-4 字符,以适合参数。
TTEMBED_TTCOMPRESSED
返回压缩字体结构。

[in] ulCharSet

指定要嵌入的字体的字符集的标志。 此标志可以具有以下值之一。

Value 含义
CHARSET_UNICODE
Unicode 字符集,需要 16 位字符编码。
CHARSET_SYMBOL
符号字符集,需要 16 位字符编码。

[out] pulPrivStatus

指向指示字体嵌入权限的标志的指针。 此标志可以具有以下值之一。 此函数返回授予的限制最少的许可证。

Value 含义
EMBED_PREVIEWPRINT
预览和打印嵌入。
EMBED_EDITABLE
可编辑的嵌入。
EMBED_INSTALLABLE
可安装嵌入。
EMBED_NOEMBEDDING
受限许可证嵌入。

[out] pulStatus

指向包含有关嵌入请求的状态信息的位字段的指针。 此字段在完成此函数后填充。 目前没有为此参数定义任何位。

lpfnWriteToStream

指向客户端定义的回调函数的指针,该函数将字体结构写入文档流。 请参阅 WRITEEMBEDPROC

[in] lpvWriteStream

表示输出流的令牌。

[in] pulCharCodeSet

指向包含子设置的可选 UCS-4 字符代码的缓冲区的指针。 此字段仅用于子设置字体,如果 ulFlags 字段未指定TTEMBED_SUBSET,则忽略该字段。

[in] usCharCodeCount

pulCharCodeSet 指示的字符列表中的字符数。 此字段仅用于子设置字体,如果 ulFlags 字段未指定TTEMBED_SUBSET,则忽略该字段。

[in] usLanguage

指定在子设置时要保留的名称表中的语言。 设置为 0 以保留所有语言。 此字段仅用于子设置字体,如果 ulFlags 字段未指定TTEMBED_SUBSET,则忽略该字段。

[in, optional] pTTEmbedInfo

指向包含可合法引用嵌入字体对象的 URL 的 TTEMBEDINFO 结构的指针。 如果 pTTEmbedInfoNULL,则不会将 URL 添加到嵌入字体对象,并且客户端调用 TTLoadEmbeddedFont 时不会进行 URL 检查。

返回值

如果嵌入成功,则返回E_NONE。

字体结构由客户端合并到文档流中。

已设置 pulPrivStatus ,指示字体的嵌入权限;和 pulStatus 设置为提供嵌入操作的结果。

否则,返回 Embedding-Function Error Messages 中所述的错误代码。

注解

此函数引用客户端定义的回调例程,用于将字体结构嵌入文档流。

客户端负责确定和指示字体的字符集。

有关嵌入 Unicode 字符的信息,请参阅 TTEmbedFont;有关从文件嵌入 Unicode 字符的信息,请参阅 TTEmbedFontFromFileA

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 t2embapi.h
Library T2embed.lib
DLL T2embed.dll

请参阅

TTEMBEDINFO

TTEmbedFont

TTEmbedFontFromFileA

TTLoadEmbeddedFont