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

Я использую javascript API в Photoshop, чтобы найти шрифты в данном PSD.

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

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

  • Некоторые фотошоп JavaScript
  • Функция Python
  • API OSX, который я могу вызвать из python
2.08.2008 15:11:16
4 ОТВЕТА
РЕШЕНИЕ

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

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

19
6.08.2008 03:01:23

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

locate InsertFontHere

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

Предупреждение: там может быть много, чтобы пробраться через.

8
2.08.2008 16:56:53

В Какао должен быть метод для получения списка шрифтов, тогда вам придется использовать привязки 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
6
12.10.2008 07:02:40

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

6
22.03.2013 09:27:54