Windows、macOS和Linux上的字体存储在哪里?
zxlwwiss1#
这是那些"简单"的问题之一,根据需要可以有一个非常好的解决方案。Linux发行版不使用任何特定的字体管理,这使得不同Linux风格的字体不一致,非常容易配置,并受到许多因素的影响,包括桌面环境,远程服务,等等。Linux发行版可能根本没有指定任何字体目录(例如,在无头RTOS安装上或使用远程提供字体的X Font Server)。
/System/Library/Fonts
/Library/Fonts
~/Library/Fonts
/Network/Library/Fonts
/usr/share/fonts
/usr/local/share/fonts
~/.fonts
某些Linux系统可能在以下文件中配置了字体目录:
/etc/fonts/fonts.conf
/etc/fonts/local.conf
例如,运行grep "<dir>" /etc/fonts/fonts.conf,可能会显示:
grep "<dir>" /etc/fonts/fonts.conf
<dir>/usr/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir>~/.fonts</dir>
您可以通过使用为特定环境定义的宏来检查各种平台。
_WIN32
_APPLE_
_MACH_
#if defined(linux) || defined(__linux)
sg3maiej2#
这是假设目标操作系统有一个字体文件夹,例如,Linux安装是完全可行的,只有控制台,根本没有字体目录。无论如何,我最好的猜测是没有独立于平台的方法。你可以写你自己的独立于平台的函数,但是在它里面必须检查当前的操作系统(通过一些IFDEF的,我不能说是什么),然后调用正确的函数。但是再一次-我不确定你能在Linux下得到它。
2条答案
按热度按时间zxlwwiss1#
这是那些"简单"的问题之一,根据需要可以有一个非常好的解决方案。Linux发行版不使用任何特定的字体管理,这使得不同Linux风格的字体不一致,非常容易配置,并受到许多因素的影响,包括桌面环境,远程服务,等等。Linux发行版可能根本没有指定任何字体目录(例如,在无头RTOS安装上或使用远程提供字体的X Font Server)。
/System/Library/Fonts
-系统必需的字体。不要触摸这些字体。/Library/Fonts
-为所有用户提供的附加字体。通常是其他应用程序使用的字体。~/Library/Fonts
-用户特定的字体。/Network/Library/Fonts
-网络上用户共享的字体。/usr/share/fonts
-许多Linux发行版的通用位置。/usr/local/share/fonts
-许多Linux发行版的通用位置。~/.fonts
-用户特定字体。某些Linux系统可能在以下文件中配置了字体目录:
/etc/fonts/fonts.conf
/etc/fonts/local.conf
例如,运行
grep "<dir>" /etc/fonts/fonts.conf
,可能会显示:您可以通过使用为特定环境定义的宏来检查各种平台。
_WIN32
是为32位和64位Windows定义的。_APPLE_
是为所有Apple计算机定义的,如果系统支持Mach系统调用,则定义_MACH_
* a la * Mac OSX#if defined(linux) || defined(__linux)
sg3maiej2#
这是假设目标操作系统有一个字体文件夹,例如,Linux安装是完全可行的,只有控制台,根本没有字体目录。
无论如何,我最好的猜测是没有独立于平台的方法。你可以写你自己的独立于平台的函数,但是在它里面必须检查当前的操作系统(通过一些IFDEF的,我不能说是什么),然后调用正确的函数。但是再一次-我不确定你能在Linux下得到它。