2008-08-02 52 views
35

我正在使用Photoshop的JavaScript API來查找給定PSD中的字體。如何從Mac上的顯示名稱找到字體的完整路徑?

給定API返回的字體名稱,我想查找光盤上字體名稱對應的實際物理字體文件。

這一切發生在OSX上運行的Python程序,所以我想我在尋找一個:

  • 一些Photoshop中的JavaScript
  • Python函數
  • 的OSX API,我可以從蟒調用

回答

19

不幸的是,未棄用的唯一API位於ApplicationServices框架中,該框架沒有橋支持文件,因此在網橋中不可用。如果您想使用ctypes,則可以在查找ATSFontRef後使用ATSFontGetFileReference。

Cocoa沒有任何本地支持,至少從10.5開始獲取字體的位置。

7

打開一個終端(應用程序 - >實用程序 - >終端)和​​在輸入:

locate InsertFontHere 

這將吐出每個有你想要的名字的文件。

警告:可能有很多要通過。

5

我一直沒找到能直接做到這一點的東西。我想你必須遍歷系統上的各種字體文件夾:/System/Library/Fonts,/Library/Fonts,並且可能還有用戶級目錄~/Library/Fonts

5

必須有可可的方法來獲得字體的列表,那麼你就必須使用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 
相關問題