我是一個處理許多字體錯誤或不完整的字體的印刷工。我在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 –