2

如何获取可用字体列表?

如果我不必依赖巨大的东西,我会更好。

到目前为止,我的解决方案是列出/usr/share/fontslinux 和C:\Windows\Fontswindows 上的目录。这是正确的方法吗?

4

2 回答 2

2

不,这不是正确的方法。然而,问题在于实际上没有正确的方法,没有像 freetype 这样的标准化或编写自己的库,其中包含许多针对不同操作系统的后端。

更清楚地说:大多数操作系统都有位图字体、轮廓字体、不同的字体编码、出现的各种其他字体格式,但没有得到很好的支持,或者通过一些额外的插件支持,非字母字体(想想 Wingdings 、棋子等)、彩色字体、TeX 字体、postscript 字体、3D 字体等。

此外,您甚至可能没有列出它们的标准方法。例如,大多数操作系统按名称和大小列出字体,但 X Window 系统传统上按许多列标题列出字体,包括它们的粗细、它们是无衬线、固定/可变间距、斜体还是斜体等.

此外,您还会遇到诸如用户字体与系统范围字体,甚至网络字体、字体服务器以及现在的网络字体之类的问题。

简而言之,字体很复杂。正是出于这样的原因,才有了像 freetype 这样的库。我建议只使用一个。

但是,如果您确实想要一个更快、更 hackish 的解决方案,那么列出这些目录就是一个开始。您可能应该使用您提到的两种可能的后端,为 Linux 与 Windows 选择默认后端,但也许可以列出 /usr/share/X11/fonts 或通过 defoma 列出字体的可能性,例如。

于 2013-02-23T21:33:01.367 回答
1

嗯......我会使用 OpenGL 和默认(保证)字体,可以在这里找到一个列表

或者我会看看这些链接:

  1. 获取字体目录的平台独立方式?
  2. 多平台环境中的字体
  3. OpenGL字体教程

或者你可以只使用一个图形库(SDL、OpenGL)和一个 BITMAP,其中包含字体......并将其用于文本!:)

祝你好运,我希望你能找到你要找的东西!

于 2013-02-23T21:32:48.647 回答