我是一个处理许多字体错误或不完整的字体的印刷工。我在Mac上并且一直在使用Hazel,AppleScript和Automator工作流程,试图自动重命名这些文件*。我需要一个脚本来替换Finder中ttf
,woff
或woff2
文件的现有文件名,字体为postscriptName
。我知道可以检索我需要的PostScript名称值的工具(fc-scan
/fontconfig
,TTX
等),但缺乏编程知识来为我的目的编写脚本。我只设置了一个可以运行脚本的监视目录,当任何匹配某些参数的文件被添加时。 *要说明,我只是说改变文件名,不是存储在字体中的实际名称。如果可能的话,我也可以使用任何兼容语言或脚本工作流的脚本,例如this post参考文献嵌入AppleScript Shell脚本通过osascript
。使用脚本将ttf/woff/woff2文件重命名为PostScript字体名称
StackExchange帖子我请教:
How to get Fontname from OTF or TTF File?
How to get PostScript name of TTF font in OS X?
How to Change Name of Font?
Automate Renaming Files in macOS
其他:
https://github.com/dtinth/JXA-Cookbook/wiki/Using-JavaScript-for-Automation
https://github.com/fonttools/fonttools
https://github.com/devongovett/fontkit
https://www.npmjs.com/package/rename-js
https://opentype.js.org/font-inspector.html
http://www.fontgeek.net/blog/?p=343
https://www.lantean.co/osx-renaming-fonts-for-free
编辑:新增了按要求以下。
1)一个有点典型的webfont的屏幕截图,说明字体家族和样式名称的表单字段通常不完整,空白或包含非法字符。
2)描述的woff文件(也作为base64)。 谢谢大家提前!
在我们走下一个兔子洞之前......你究竟在做什么,需要重命名文件?我所知道的几乎所有可能的技术都会从*实际的OpenType元数据*中读取字体名称,而不是文件名称(对于解析器来说,这是非常错误的**),所以基于我对OpenType的了解spec和OpenType字体,所以没有理由这样做。你能解释一下这里发生了什么吗? –
如果已安装,则无论文件名是多少,大多数字体名称都将正确显示。但是这需要时间安装和检查所述文件,并且它不会帮助组织我的文件系统。另外,对于网页字体,字体系列和/或样式名称通常会丢失,但PostScript名称是完整的,这就是为什么我要这样做的原因。我知道我可以通过一个转换器来运行有问题的字体,该转换器可以输出更准确的名称的新文件,但是很多可能会出错或在转换中丢失。 – Moscarda
并非如此,如果您必须使用大量使用字体管理器的字体,而不是操作系统提供的任何糟糕的字体管理。这可以让你批量检查,选择性地安装等字体,而不需要让操作系统做它愚蠢的事情(比如“不得不把它们放在C:\ Windows \ Fonts dir”等中)。至于“穿越转换器”,实际上*很少*可能会出现错误的正确工具。你想要[TTX](https://github.com/fonttools/fonttools),它做适当的往返跳动,并且非常适合做像批量复制postscript名称到名称表中的家庭字符串ID –