有没有办法可以找到字体在Windows、OSX或Linux上的存储位置?如果没有,有没有办法保证所有3个平台的某些路径(比如X:/Windows/Fonts/)?如果ifdefs用于这些,我会使用什么呢?
发布于 2010-10-18 04:11:21
这将是那些“简单”的问题之一,根据你需要这些信息的目的,可能会有一个过头的解决方案。
我将不得不为含糊的Linux答案道歉,因为Linux发行版之间的字体管理不一致,并且非常可配置,可能会受到桌面环境的影响,可以远程服务,等等。
环境的检查
您可以通过使用为特定环境定义的宏来检查各种平台。
定义了#if defined(_WIN32)
Windows
与Mac OSX一样,为所有苹果计算机定义
#if defined(_APPLE_) && defined(_MACH_)
OSX,如果系统支持Mach系统调用,则定义_MACH_
#if defined(linux) || defined(__linux)
字体目录位置
%WINDIR%\fonts
中。
/System/Library/Fonts
-系统所需的字体。请勿接触these./Library/Fonts
-所有用户都可以使用的附加字体。如果字体要由其他applications.~/Library/Fonts
使用-特定于每个user./Network/Library/Fonts
的字体-为network.上的用户共享的字体,则通常会使用该字体
/usr/share/fonts
、/usr/local/share/fonts
,并且特定于用户的/etc/fonts/local.conf
.系统可能在文件/etc/fonts/fonts.conf
或XFS (X Font Server)中配置了字体目录。
资源:
发布于 2010-10-18 03:48:07
这是假设目标操作系统有一个字体文件夹。例如,Linux安装完全可以在控制台上安装,并且根本没有字体目录。
无论如何,我最好的猜测是没有独立于平台的方式。你可以编写你自己的独立于平台的函数,但是在它里面必须检查当前的操作系统(通过一些IFDEF,我不能说是什么),然后调用正确的函数。但是再说一次--我完全不确定你是否能在Linux下获得它。
https://stackoverflow.com/questions/3954223
复制相似问题