我正在使用Photoshop的JavaScript API来查找给定PSD中的字体。

给定API返回的字体名称,我想找到光盘上字体名称对应的实际物理字体文件。

这一切都发生在OSX上运行的python程序中,所以我想我正在寻找一个:

  • 一些Photoshop的JavaScript
  • 一个Python函数
  • 我可以从python调用的OSX API

===============>>#1 票数:19 已采纳

遗憾的是,唯一未弃用的API位于ApplicationServices框架中,该框架没有桥接支持文件,因此在桥接器中不可用。 如果您想使用ctypes,可以在查找ATSFontRef后使用ATSFontGetFileReference。

获取字体位置时,Cocoa没有任何本机支持,至少从10.5开始。

===============>>#2 票数:8

打开一个终端(Applications-> Utilities-> Terminal)并输入:

locate InsertFontHere

这将吐出每个具有您想要名称的文件。

警告:可能会有很多趟过。

===============>>#3 票数:6

在Cocoa中必须有一个方法来获取字体列表,然后你必须使用PyObjC绑定来调用它。

根据您的需要,您可能只需使用以下内容。

import os
def get_font_list():
    fonts = []
    for font_path in ["/Library/Fonts", os.path.expanduser("~/Library/Fonts")]:
        if os.path.isdir(font_path):
            fonts.extend(
                [os.path.join(font_path, cur_font) 
                 for cur_font in os.listdir(font_path)
                ]
            )
    return fonts

===============>>#4 票数:6

我一直无法找到任何直接这样做的东西。 我想你将不得不遍历系统上的各种字体文件夹: /System/Library/Fonts/Library/Fonts ,并且可能还有一个用户级目录~/Library/Fonts

  ask by Gareth Simpson translate from so

未解决问题?本站智能推荐: