Windows 上的 GIMP 可以使用 BDF 或 PCF 位图字体吗?

Windows 上的 GIMP 可以使用 BDF 或 PCF 位图字体吗?

我正在尝试使用古老的杂项修复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 字体),则可以看到不同字体的预览。

仅包含 4x6 位图字体的字体列表与仅包含 10x20 位图字体的字体列表。

这是因为字体预览对小字体的放大效果很差,但是对不太小的字体的处理效果却好得多。

如果您使用 Arial 等 TrueType 字体重复此过程,您将获得相同的字体列表,只是“固定”字体将被 Arial 替换,并且预览效果会很漂亮,因为 TrueType 字体由贝塞尔曲线代替像素,就像位图一样。

但还有另一个问题!如果您将一大堆不同大小的杂项固定字体添加到字体目录中,您仍然只会得到一种“固定”字体。这是因为 GIMP(或更准确地说,FreeType 2)会自动选择最接近所需大小的位图。因此,如果您有一个 10x20 字体和一个 4x6 字体,并且您选择 20 像素的字体高度,那么屏幕上显示的就是 10x20 字体。同样,如果您选择 6 像素的字体高度,您将获得 4x6 字体。

如果您恰好选择了一个高度,而您没有足够接近的字体大小,那么 GIMP 将为您缩放它。

因此,回答这个问题 - 是的,GIMP 确实可以很好地读取 PCF 和 BDF 字体。您只需要知道:

  • 它们将按其字体列表列出“字体系列”名称
  • 不同尺寸将归类到其“字体系列”名称下。要访问不同尺寸,只需使用名称并设置所需的尺寸即可。为避免字体自动缩放,请确保仅使用位图提供的精确尺寸。

相关内容