繁体   English   中英

尝试编写Python脚本以删除重复的字体Mac OSX

[英]Trying to write Python script to remove duplicate fonts Mac OSX

我正在尝试编写一个实用程序来检查OSX上的字体并删除重复项-到目前为止,我已经成功遍历了文件夹结构并写出了包含字体和路径的xml文件。 缺点是找不到重复项,因为同一字体可以在不同的位置安装两次,但是文件名不同。 字体系列信息在字体文件内部。

我发现了这一点: 已安装字体OS X / C的列表

import Cocoa
manager = Cocoa.NSFontManager.sharedFontManager()
font_families = list(manager.availableFontFamilies()) 

使用PyObjC列出已安装的字体。 这似乎是一个可能的解决方案,但我不是一个笨拙的编码器,对PyObjC一无所知! 我确实在带有dir(manager)dir(NSFontManager)的终端中玩了一下,看看是否可以找到一种方法来返回已安装字体的文件路径,但无济于事。

非常感谢任何帮助。

最好的祝愿

//西蒙

安装fonttools软件包并查看此博客文章 那里有一个脚本,它给出了第一个参数的字体名称,我相信您可以将其适应您的用例。

再次感谢您的回复-我只是想更新此内容,希望对您有所帮助。 我现在正在看fontTools,但承认我在查找文档时遇到了麻烦。 根据开发人员页面的介绍,除了ttf之外,还有一些库可以处理其他字体,但到目前为止,我仍然没有什么成功!

同时 ,我的确在“ 使用Apple字体工具”上打开了此页面,该页面似乎还不到我需要的一半,即列出已安装的字体和位置。 看起来ftxinstalledfonts命令将接受管道,因此从理论上讲,我可以将输出管道到我现有的构建xml数据库的python脚本中。 我假设我可以通过sys模块调用ftxinstalledfonts来做到这一点,但不清楚如何获取输出...我去掠夺python文档,但是如果没有运气,有人要给10秒的时间一个指针,我将不胜感激。

顺便说一句,上面的Font Geek网站也有一些关于TTX的非常有用的东西。

最好的祝愿

//西蒙

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM