Font 表
Font 表包含用于向系统注册字体文件的信息。
Font 表包含以下列。
列 | 类型 | 密钥 | Nullable |
---|---|---|---|
File_ | Identifier | Y | N |
FontTitle | 文本 | N | Y |
-
File_
-
字体文件的 File 表条目的外部键。 建议包含字体文件的组件在 Component 表的 Directory_ 列中指定 FontsFolder。
-
FontTitle
-
字体名称。 建议为 TrueType 字体和 TrueType 集合将此列保留为 null,因为安装程序可以在从字体文件中读取正确的字体标题后注册该字体。 如果输入字体名称,则它必须与字体文件中的字体标题相同。 必须为没有嵌入式名称的字体指定标题,例如 .fon 文件。
在执行 RegisterFonts 操作或 UnregisterFonts 操作时会引用此表。
如果 FontTitle 字段保留为 Null,则直接从指定的字体文件中读取字体名称。 如果记录到 FontTitle 字段中的字体名称与字体文件中记录的内部字体名称不同,则该字体会被 RegisterFonts 操作注册两次。
不应使用语言 ID 创作字体文件,因为字体没有嵌入式语言 ID 资源。因此,对于字体文件,File 表的 Language 列应保留为 null。
因为默认情况下安装程序不会对字体文件进行引用计数,所以在卸载应用程序时,可能会删除预先存在的字体文件及其组件。 为确保不删除字体文件,作者可以在组件 Table_msi_Component_Table 的 Attributes 列中为包含字体文件的组件设置 msidbComponentAttributesSharedDllRefCount 或 msidbComponentAttributesPermanent 位标志。