我正在尝试使用古老的杂项修复Windows 10 安装的 GIMP 2.10.12 中的位图字体。
据我所知,将它们放置在 gimp 提取字体的许多位置之一后,它们应该出现在字体列表中,包括设置的任何自定义位置编辑>优先...>文件夹>字体。但是,无论我将它们放在哪个字体目录中,也无论我将它们复制了多少次,我都无法让 PDF 或 PCF 字体出现在字体列表中。清除 GIMP 的缓存。
这里它指出 GIMP 应该能够使用这些字体,因为它依赖于 FreeType 2:
- TrueType 字体(和集合)
- Type 1 字体
- CID 键控 Type 1 字体
- CFF 字体
- OpenType 字体(TrueType 和 CFF 变体)
- 基于 SFNT 的位图字体
- X11 PCF 字体
- Windows FNT 字体
- BDF 字体(包括抗锯齿字体)
- PFR 字体
- Type42 字体(有限支持)
但是,上述链接也指出,它并不是关于 GIMP 会支持什么和不会支持什么的权威答案:
有关 GIMP 中字体的最权威和最新信息,请参阅 GIMP 网站上的“GIMP 2.0 中的字体”页面 GIMP-FONTS。本节试图为您提供有用的概述。
“GIMP 2.0 中的字体“仅提到了 TrueType、OpenType 和 Type1 字体的名称,但暗示这不是完整列表。这是一个非常面向 unix 的页面,所以我不知道那里是否有任何内容真正适用于 Windows 安装。
Windows 版本 GIMP 上使用的 FreeType 2 版本是否支持 BDF 和/或 PCF 字体?
答案1
是的,Windows 上的 GIMP 可以使用 BDF 和 PCF 字体。杂项固定字体在列表中的显示方式与您预期的不同。(请参阅最后一段以了解 tl;dr。)
为了解决这个问题,我禁用了 GIMP 中的所有字体源,只留下一个空目录。(有关如何在 Windows 上执行此操作的详细信息,请参阅这个答案)然后我清除了 GIMP 的字体缓存并打开 GIMP 以验证字体列表是否完全为空。
完成后,我将 BDF 格式的杂项固定字体的单个副本添加到我的空字体目录中,然后启动 GIMP。令人惊讶的是,GIMP 字体列表中出现了一堆字体:
- 固定的
- 等宽字体
- 等宽粗体
- 等宽粗斜体
- 等宽斜体
- 无衬线字体
- 无衬线粗体
- 无衬线粗体斜体
- 无衬线斜体
- 衬线
- 衬线粗体
- 衬线粗体斜体
- 斜体衬线
使用 PCF 格式的单一杂项修复字体副本重复该过程,结果相同!那么发生了什么?
对 GIMP 的配置文件 ( ) 进行一番挖掘%ProgramFiles%\GIMP 2\etc\font\conf.d
后发现,上述字体列表中除“Fixed”之外的每种字体都是自动生成的字体快捷方式列表,如果选择这些字体,将使用与给定快捷方式最匹配的可用字体。这样,选择“Sans-serif”之类的字体将为您提供适合您平台的无衬线字体的合理选择。
事实上,如果仔细观察,您就会发现,如果您只有一种非常小的位图字体可用(比如 4x6 字体),或者只有一种相对较大的位图字体可用(比如 10x20 字体),则可以看到不同字体的预览。
这是因为字体预览对小字体的放大效果很差,但是对不太小的字体的处理效果却好得多。
如果您使用 Arial 等 TrueType 字体重复此过程,您将获得相同的字体列表,只是“固定”字体将被 Arial 替换,并且预览效果会很漂亮,因为 TrueType 字体由贝塞尔曲线代替像素,就像位图一样。
但还有另一个问题!如果您将一大堆不同大小的杂项固定字体添加到字体目录中,您仍然只会得到一种“固定”字体。这是因为 GIMP(或更准确地说,FreeType 2)会自动选择最接近所需大小的位图。因此,如果您有一个 10x20 字体和一个 4x6 字体,并且您选择 20 像素的字体高度,那么屏幕上显示的就是 10x20 字体。同样,如果您选择 6 像素的字体高度,您将获得 4x6 字体。
如果您恰好选择了一个高度,而您没有足够接近的字体大小,那么 GIMP 将为您缩放它。
因此,回答这个问题 - 是的,GIMP 确实可以很好地读取 PCF 和 BDF 字体。您只需要知道:
- 它们将按其字体列表列出“字体系列”名称。
- 不同尺寸将归类到其“字体系列”名称下。要访问不同尺寸,只需使用名称并设置所需的尺寸即可。为避免字体自动缩放,请确保仅使用位图提供的精确尺寸。