我在哪里放置我的程序使用的字体或其他资源?

Where do I place a font, or other resources, which my program uses?

我正在为 linux 编写图形应用程序,它需要特定的字体。目前,我有以下设置:

root-dir/
  include/
    foo.h
  src/
    foo.cpp
  fontname/
    fontlicense.txt
    font-regular.ttf
  main.cpp
  Makefile

这里的问题是,虽然程序 运行s 当我当前在我的开发目录中时,如果我将它安装到 /usr/local/bin 并尝试 运行 它将无法运行它在系统的其他任何地方。

换句话说,我如何将 fontlicense.txtfontregular.ttf 放在特定位置,并期望它能够在系统的任何位置找到它?

我如何让它也用当前工作目录中的资源覆盖这些资源,以便我可以在开发中使用不同的资源对其进行测试?

(其他资源也是如此,例如程序的图形。)

Linux 应用程序应使用 fontconfig 来定位字体并将字体文件安装在 fontconfig 默认位置(通常是 /usr/share/fonts 的子目录)