在linux上安装自定义字体(相当于windows AddFontResource)

Install custom font on linux (windows AddFontResource equivalent)

本文关键字:相当于 windows AddFontResource 字体 linux 安装 自定义      更新时间:2023-10-16

如何在linux上直接从C++或使用系统命令安装自定义字体
我的意思是像窗口中的AddFontResource。

答案取决于分发和运行程序的工作流。如果是由系统管理员安装的软件包,则在安装该软件包时,字体应放在系统字体目录中(通常是/usr/share/fonts/下的目录,例如/usr/share/fonts/ttf/)。如果程序是由没有特权的用户安装的,那么字体文件应该进入$HOME/.fonts/目录。

如果字体是在系统范围内安装的,那么它就会自动出现在系统中(典型的Linux发行版在包管理子系统中已经有了适当的挂钩来重建字体缓存)。如果字体是"手动"安装的(例如,用户只需将文件复制到她的$HOME/.fonts/中),则可能需要调用fc-cache --force

更详细的解释是:现代Linux安装中的字体由一个名为fontconfig的子系统管理。该子系统具有系统范围的配置(默认情况下位于/etc/fonts/fonts.conf/etc/fonts/conf.d/中)和每个用户的配置(检查各种位置)。Fontconfig维护系统中注册的所有字体的缓存。当希望注册另一种字体时,他或她将字体文件放入fontconfig已知的目录之一,并启动带有fc-cache实用程序的缓存重建。如果字体是在系统范围内安装的,那么打包系统通常具有适当的挂钩,当在"知名字体目录"中创建或删除文件时,挂钩会自动调用fc-cache