2008-08-02 22 views
35

Używam javascript API Photoshopa, aby znaleźć czcionki w danym PSD.Jak znaleźć pełną ścieżkę do czcionki z jej nazwy wyświetlanej na komputerze Mac?

Biorąc pod uwagę nazwę czcionki zwróconą przez interfejs API, chcę znaleźć rzeczywisty plik czcionki fizycznej, którego nazwa czcionki odpowiada na płycie.

To wszystko dzieje się w program python działa na OSX więc myślę, szukam jednego:

  • Some Photoshop javascript
  • Pythona funkcja
  • OSX API że mogę zadzwonić z pytona

Odpowiedz

19

Niestety jedyny API, który nie jest przestarzały, znajduje się w strukturze ApplicationUservices, która nie ma pliku pomocniczego mostu, a zatem nie jest dostępna w moście. Jeśli chcesz używać ctypów, możesz użyć ATSFontGetFileReference po sprawdzeniu ATSFontRef.

Kakao nie ma żadnego natywnego wsparcia, przynajmniej od 10.5, aby uzyskać lokalizację czcionki.

7

otwórz terminal (Programy-> Utilities-> Terminal) i wpisz to w:

locate InsertFontHere 

Spowoduje to wyplunięcie każdego pliku o określonej nazwie.

Ostrzeżenie: może być dużo do przebycia.

5

Nie mogłem znaleźć niczego, co to robi bezpośrednio. Myślę, że będziesz musiał przejrzeć różne foldery czcionek w systemie: /System/Library/Fonts, /Library/Fonts, i prawdopodobnie istnieje katalog na poziomie użytkownika, a także ~/Library/Fonts.

5

Musi istnieć sposób w kakao, aby otrzymać listę czcionek, wtedy trzeba by użyć powiązania PyObjC nazwać ..

W zależności od tego, co trzeba je, można prawdopodobnie wystarczy użyć czegoś jak poniżej ..

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