2014-03-19 107 views
1

我想获取字体文件名称时,唯一的信息是字体的'postscript'名称。 (强调:字体的名称是postscript而不是字体)。
例如我有以下附言名称:TimesNewRomanPSMT。
保存在注册表中的真实姓名是:Times New Roman(TrueType)。
有没有从给定的附注名称获取该名称的方法?

我在这里看到了类似的帖子里面留下unaswered: C# get font from postscript name从字体的postscript名称中获取字体的文件名

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

+0

“Postscript name”的来源是什么?你怎么能确定它与安装的字体有关? –

+0

我会解释一下。当我使用Adobe的After Effects SDK时,我会得到这个名字。当我遍历我知道的文本是'Times New Roman(True Type)'时,我得到了这个名字,但是Adobe说他们公开的字体名称是该字体的后期脚本名称,它是'TimesNewRomanPSMT'。经过很多论坛,我发现上面提到的相关问题,它们有相同的困境。 – radato

+0

ps名称的来源是当我使用Adobe AfterEffects SDK时。我遍历一个文本对象(称为“文本层”),从sdk接收的字体是'TimesNewRomanPSMT'。 Adobe在他们的文档中声明这是该字体的ps名称。字体是:'Times New Roman(True Type)' – radato

回答

0

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

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

+0

你能分享一下代码吗? – radato

相关问题