TTEmbedFontFromFileA 函数 (t2embapi.h)
创建包含子集宽字符 (16 位) 字体的字体结构。 外部文件提供字体信息。
此函数将数据传递到客户端定义的回调例程,以便插入到文档流中。
语法
LONG TTEmbedFontFromFileA(
[in] HDC hDC,
[in] LPCSTR szFontFileName,
[in] USHORT usTTCIndex,
[in] ULONG ulFlags,
[in] ULONG ulCharSet,
[out] ULONG *pulPrivStatus,
[out] ULONG *pulStatus,
WRITEEMBEDPROC lpfnWriteToStream,
[in] LPVOID lpvWriteStream,
[in] USHORT *pusCharCodeSet,
[in] USHORT usCharCodeCount,
[in] USHORT usLanguage,
[in, optional] TTEMBEDINFO *pTTEmbedInfo
);
参数
[in] hDC
设备上下文句柄。
[in] szFontFileName
要嵌入的字体文件名和路径。 这是 ANSI 字符串。
[in] usTTCIndex
字体文件中的从零开始的索引 (TTC) 标识要嵌入的物理字体。 如果文件包含单个字体 ((例如 TTF 或 OTF 大纲文件) ),则应将此参数设置为 0。
[in] ulFlags
指定嵌入请求的标志。 此标志可以具有以下零个或多个值。
[in] ulCharSet
指定要嵌入的字体的字符集的标志。 此标志可以具有以下值之一。
值 | 含义 |
---|---|
|
Unicode 字符集,需要 16 位字符编码。 |
|
符号字符集,需要 16 位字符编码。 |
[out] pulPrivStatus
指向指示字体嵌入权限的标志的指针。 此标志可以具有以下值之一。 此函数返回授予的限制最少的许可证。
值 | 含义 |
---|---|
|
预览和打印嵌入。 |
|
可编辑的嵌入。 |
|
可安装嵌入。 |
|
受限许可证嵌入。 |
[out] pulStatus
指向包含有关嵌入请求的状态信息的位字段的指针。 完成此函数后,将填充此字段。 当前未为此参数定义任何位。
lpfnWriteToStream
指向将字体结构写入文档流的客户端定义的回调函数的指针。 请参阅 WRITEEMBEDPROC。
[in] lpvWriteStream
表示输出流的标记。
[in] pusCharCodeSet
指向包含用于子设置的可选 Unicode 字符代码的缓冲区的指针。 此字段仅用于子设置字体,如果 theulFlagsfield 未指定TTEMBED_SUBSET,则忽略此字段。
[in] usCharCodeCount
pusCharCodeSet 指示的字符列表中的字符数。 此字段仅用于子设置字体,如果 ulFlags 字段未指定TTEMBED_SUBSET,则忽略此字段。
[in] usLanguage
指定子设置时名称表中要保留的语言。 设置为 0 可保留所有语言。 此字段仅用于子设置字体,如果 ulFlags 字段未指定TTEMBED_SUBSET,则忽略此字段。
[in, optional] pTTEmbedInfo
指向 TTEMBEDINFO 结构的指针,该结构包含可合法引用嵌入字体对象的 URL。 如果 pTTEmbedInfo 为 NULL,则客户端调用 TTLoadEmbeddedFont 函数时,不会向嵌入字体对象添加 URL,也不会进行 URL 检查。
返回值
如果嵌入成功,则返回E_NONE。
字体结构由客户端合并到文档流中。 设置 pulPrivStatus ,指示字体的嵌入权限;和 pulStatus 设置为提供嵌入操作的结果。
否则,返回 嵌入函数错误消息中所述的错误代码。
注解
此函数引用客户端定义的回调例程,用于将字体结构嵌入到文档流中。
客户端负责确定和指示字体的字符集。
有关从设备上下文中嵌入 Unicode 字符的信息,请参阅 TTEmbedFont;有关从设备上下文中嵌入 UCS-4 字符的信息,请参阅 TTEmbedFontEx。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | t2embapi.h |
Library | T2embed.lib |
DLL | T2embed.dll |