【问题标题】:Where does SDL_TTF look for fonts?SDL_TTF 在哪里寻找字体?
【发布时间】:2018-06-24 09:30:56
【问题描述】:

TTF_OpenFont 是否有任何类型的路径或标准安装位置,或者仅在当前工作目录中?

如果是后者 - 是否已就应用程序在何处安装所需的 TrueType 字体建立了任何约定?我使用的是 Mac,但我对 Mac 和 Windows 的答案都很感兴趣。

【问题讨论】:

  • Windows 有一个标准的c:/Windows/fonts folder,但它也可以包含子文件夹。它使用注册表来跟踪每种字体的存储位置;在 Windows 程序中,您所需要的只是字体的 name

标签: sdl-2 truetype sdl-ttf


【解决方案1】:

TTF_OpenFont 不使用任何标准位置来搜索字体。你可以给它一个相对的,你的可执行文件所在的位置(相对于它所在的目录,例如你可以使用 chdir)或完整路径。

Imo 最适合您发布您将在应用程序中使用的字体。

【讨论】:

  • 这又回到了同一个问题:通常情况下,我的应用程序附带的字体应该放在哪里?特别是对于 Windows。它们可以以某种方式绑定到 .exe 文件中吗?或者坐在同一目录中的 .exe 文件旁边?或者安装在我的应用程序和其他应用程序使用的习惯中心位置?对于 Mac 也是如此 - 将我将使用的字体绑定到包中,或者将它们放在某个中心位置以使所有人受益,这是否被认为是更好的形式?
  • @Joymaker 像 qt 这样的一些框架允许您将文件嵌入到二进制文件中,我认为您也可以在 Windows 中执行此操作,或者将您自己的序列化手动滚动到可执行文件中,虽然这并不难有点烦人,我通常(在游戏的情况下)有一个相对于二进制文件的资源文件夹 [resources/sprites resources/text],然后执行一个 chdir(到资源)并就像这些文件夹与可执行文件一样。因此做 TTF_OpenFont("fonts/font_name");我不知道这是否是最好的方法,但它适合我:)。
猜你喜欢
  • 1970-01-01
  • 2017-02-19
  • 1970-01-01
  • 2015-01-16
  • 1970-01-01
  • 2019-05-02
  • 2012-05-21
  • 2011-08-01
  • 2015-07-28
相关资源
最近更新 更多