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 函数选择该字体 |