c++ - 从字体的后记名称中获取字体的文件名

标签 c++ windows macos fonts postscript

当我拥有的唯一信息是字体的“后记”名称时,我正在尝试获取字体文件名。 (强调:字体的名称是后记而不是字体)。
例如,我有以下后记名称:TimesNewRomanPSMT。
保存在注册表中的真实名称是:Times New Roman (TrueType)。
有没有办法从给定的后记名称中获取该名称?

我在这里看到了一个类似的帖子,但没有得到答复: C# get font from postscript name

我是用 C++ 编写的,所以我不受编码语言的限制。 目前我正在为 Windows 编写代码,但它应该是兼容的,或者至少有 MacOS 的替代代码

最佳答案

我有 C++ 代码来从给定的字体文件检查标题中获取字体名称......但是对于我测试的某些字体来说它失败了(比如工作 90%)。我认为最简单的方法是用十六进制编辑器打开字体文件并在其中搜索字体名称。如果您担心注册问题,您可以重新注册字体名称,如下例所示:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"/v "Arial Bold"/t REG_SZ/d arialbd.ttf

关于c++ - 从字体的后记名称中获取字体的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22502911/

相关文章:

c++ - 我正在尝试通过使用访问器和增变器函数从 main() 将值存储在类中的变量中

c++ - 我们可以在声明中的任何位置放置 "typedef"说明符吗?

c++ - 从 C++ 输出中删除逗号

python - Mac App 的可执行路径

c++ - Mac 与 Windows:Eigen::Vector3f(0,0,0).normalized()

c++ - 我怎样才能打印这个数组的四个角?以及如何确定列是否严格升序

windows - 在批处理文件中,如何将一串值分配给变量列表?

windows - 媒体基础外部编解码器支持

windows - CPU密集型线程智慧

java - 在初始化静态变量之前执行一些事情