42.12.10 字体查找

Function: x-list-fonts name &optional reference-face frame maximum width

该函数返回与 name 匹配的可用字体名称列表。 name 应为字符串,采用 Fontconfig、GTK+ 或 XLFD 格式的字体名称(see Fonts in The GNU Emacs Manual)。 在 XLFD 字符串中可使用通配符:‘*’ 匹配任意子串,‘?’ 匹配任意单个字符。 匹配字体名称时不区分大小写。

若指定可选参数 reference-faceframe,返回列表仅包含 与 frame 框架上当前 reference-face(文本视觉样式名)尺寸相同的字体。

可选参数 maximum 限制返回字体数量。 若非 nil,返回值会在匹配到前 maximum 个字体后截断。 在匹配模式的字体数量较多时,为 maximum 指定较小值可大幅提升函数速度。

可选参数 width 指定期望的字体宽度。 若非 nil,函数仅返回字符(平均)宽度为 reference-face 对应宽度 width 倍的字体。

Function: x-family-fonts &optional family frame

该函数返回描述 frame 框架上 family 字体系列可用字体的列表。 若 family 省略或为 nil,列表适用于所有系列,即包含全部可用字体。 否则 family 必须为字符串,可包含通配符 ‘?’ 与 ‘*’。

列表描述 frame 所在的显示器; 若 frame 省略或为 nil,则适用于选中框架的显示器(see 输入焦点)。

列表中每个元素为如下形式的向量:

[family width point-size weight slant
 fixed-p full registry-and-encoding]

前五个元素对应文本视觉样式属性; 为文本视觉样式指定这些属性后,便会使用该字体。

后三个元素提供字体的附加信息。 fixed-p 在字体为等宽时为非 nilfull 为字体完整名称, registry-and-encoding 是表示字体注册库与编码的字符串。