如何加载随我的应用程序分发的字体?

如何加载随我的应用程序分发的字体?

我的图像处理包有一个“注释”实用程序,支持大约十几种字体。它在我的开发系统上运行良好,但可以预见的是,有些字体不会安装在目标系统上。它旨在在任何 LINUX 发行版上运行。

我随应用程序分发所需的字体,但我希望免除用户安装字体的麻烦。我假设我的用户不具备 LINUX 专业知识,并且我不希望他们必须以“root”身份才能执行任何操作。

我怎样才能让我的应用程序直接访问随其分发的字体,而不是强迫用户执行令人困惑的系统管理员字体安装任务?

非常感谢。

意玛泰克

澄清:

我的目标是所有 Linux 发行版。UBUNTU 是所有发行版的子集。研究各种 LINUX 发行版后,我发现字体管理方法五花八门。我无法单独支持每一种。我的应用程序设计为在用户帐户下安装,避免 root 访问(直到将成功安装移至 /opt)并从其发行版访问字体。同样,出于安全考虑,无法以 root 身份运行安装脚本。同样,针对所有 Linux 发行版会阻止成为任何单个 Linux“应用商店”和环境的客户。是的,这都是政治上不正确的,我很抱歉。谢谢。

答案1

您不希望用户必须使用 root 权限吗?安装软件通常需要 root 权限。

在 Ubuntu 上(我认为大多数基于 debian 的发行版也是如此),您可以将字体复制到子目录中/usr/share/fonts/truetype(我认为它们是 TTF)并更新字体缓存。

如果你正在创建一个 deb 包,你可以简单地打包它们,以便将它们安装到,比如说/usr/share/fonts/truetype/<softwarename>-fonts/。在postinst脚本中,你可以运行
fc-cache -f -v

如果你只是发布一个安装脚本,mkdir那么就将子目录和cpTTF 放进去。之后,调用fc-cache -f -v重建字体缓存。

相关内容