AddSubsettedFontA

文本, 字体

描述

末尾的 A 表示 ANSI(char)DLL 入口点;ActiveX/COM 接口仅公开 Unicode 形式。其行为与 AddSubsettedFont 相同,字符串参数按当前 SetAnsiMode 代码页解释

此函数用于嵌入字体的 "子集"。这意味着仅嵌入指定字符的字体信息,从而减小文档大小。此函数还允许嵌入任意 Unicode 字符,因此可使用中文、日文、韩文及其他语言的字符

较新的 AddTrueTypeSubsettedFont 函数提供更高级的字体子集化功能

语法

Delphi

Function DLAddSubsettedFontA(InstanceID: Integer; FontName: PAnsiChar; CharsetIndex: Integer; SubsetChars: PAnsiChar): Integer;

DLL

int DLAddSubsettedFontA(int InstanceID, const char * FontName, int CharsetIndex, const char * SubsetChars);

参数

FontName要安装的 TrueType 字体名称。它可以是 Windows\Fonts 文件夹显示的字体名称,例如 "Times New Roman Bold",也可以是带可选方括号样式说明符的字体族名称,例如 "Times New Roman [BoldItalic]"。可用说明符为:[Bold]、[Italic] 或 [BoldItalic]
CharsetIndex必须指定包含要子集化字符的字符集:1 = ANSI,2 = 默认,3 = Symbol,4 = Shift JIS,5 = Hangeul,6 = GB2312,7 = Chinese Big 5,8 = OEM,9 = Johab,10 = Hebrew,11 = Arabic,12 = Greek,13 = Turkish,14 = Vietnamese,15 = Thai,16 = East Europe,17 = Russian,18 = Mac,19 = Baltic
SubsetChars包含要创建子集的字符的字符串,重复字符会被忽略,任何字体子集中最多可放置 255 个字符,可嵌入任何 Unicode 字符,但必须确保该字符在指定字符集中可用

返回值

0无法添加子集化字体,或 CharSet 参数超出范围
Non-zero已添加字体的 FontID 可使用此 ID 通过 SelectFont 函数选择该字体