Как я могу найти полный путь к шрифту из его отображаемого имени на Mac?

Я использую javascript API Photoshop для поиска шрифтов в заданном PSD.

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

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

  • Некоторые Photoshop javascript
  • Функция Python
  • API OSX, который я могу вызвать из python

    4 Solutions collect form web for “Как я могу найти полный путь к шрифту из его отображаемого имени на Mac?”

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

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

    откройте терминал (Applications-> Utilities-> Terminal) и введите его в:

    locate InsertFontHere 

    Это выплюнет каждый файл с именем, которое вы хотите.

    Предупреждение: может пройти много.

    В 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 

    Я не смог найти ничего, что делает это напрямую. Я думаю, вам придется перебирать различные папки шрифтов в системе: /System/Library/Fonts , /Library/Fonts , и, возможно, также может быть каталог пользовательского уровня ~/Library/Fonts .

      Python - лучший язык программирования в мире.