Я использую javascript API в Photoshop, чтобы найти шрифты в данном PSD.
Учитывая имя шрифта, возвращенное API, я хочу найти фактический физический файл шрифта, которому соответствует имя шрифта на диске.
Все это происходит в программе на Python, работающей на OSX, поэтому я думаю, что я ищу одну из:
- Некоторые фотошоп JavaScript
- Функция Python
- API OSX, который я могу вызвать из python
К сожалению, единственный API, который не является устаревшим, находится в платформе ApplicationServices, у которой нет файла поддержки моста и, следовательно, недоступен в мосте. Если вы хотите использовать ctypes, вы можете использовать ATSFontGetFileReference после поиска ATSFontRef.
Какао не имеет никакой встроенной поддержки, по крайней мере на 10.5, для получения местоположения шрифта.
откройте терминал (Приложения-> Утилиты-> Терминал) и введите:
locate InsertFontHere
Это будет выплевывать каждый файл с именем, которое вы хотите.
Предупреждение: там может быть много, чтобы пробраться через.
В Какао должен быть метод для получения списка шрифтов, тогда вам придется использовать привязки 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
.