2008-08-02 6 views
35

Я использую javascript API Photoshop для поиска шрифтов в заданном PSD.Как я могу найти полный путь к шрифту из его отображаемого имени на Mac?

Учитывая имя шрифта, возвращаемое API, я хочу найти фактический файл физического шрифта, который соответствует названию шрифта на диске.

Все это происходит в программе питон работает на OSX, так что я думаю, я ищу одного из:

  • Некоторые Photoshop Javascript
  • Python, функция
  • OSX API, что я могу звонить из питона

ответ

19

К сожалению, единственный API, который не устарел, находится в структуре ApplicationServices, которая не имеет файла поддержки моста и, следовательно, недоступна на мосту. Если вы хотите использовать ctypes, вы можете использовать ATSFontGetFileReference после поиска ATSFontRef.

Какао не имеет какой-либо нативной поддержки, по крайней мере, от 10.5, для получения местоположения шрифта.

7

откройте терминал (Приложения-> Утилиты-> Terminal) и введите это:

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 

 Смежные вопросы

  • Нет связанных вопросов^_^