Mac의 표시 이름에서 글꼴의 전체 경로를 어떻게 찾을 수 있나요?
문제
주어진 PSD에서 글꼴을 찾기 위해 Photoshop의 자바스크립트 API를 사용하고 있습니다.
API에서 반환된 글꼴 이름이 주어지면 디스크에서 글꼴 이름에 해당하는 실제 물리적 글꼴 파일을 찾고 싶습니다.
이 모든 일은 OSX에서 실행되는 Python 프로그램에서 발생하므로 다음 중 하나를 찾고 있는 것 같습니다.
- 일부 Photoshop 자바스크립트
- Python 함수
- Python에서 호출할 수 있는 OSX API
해결책
불행하게도 더 이상 사용되지 않는 유일한 API는 브리지 지원 파일이 없는 ApplicationServices 프레임워크에 있으므로 브리지에서 사용할 수 없습니다.ctypes를 사용하려면 ATSFontRef를 찾은 후 ATSFontGetFileReference를 사용할 수 있습니다.
Cocoa는 최소한 10.5부터 글꼴 위치를 얻는 기능을 기본적으로 지원하지 않습니다.
다른 팁
터미널을 열고(응용 프로그램->유틸리티->터미널) 다음을 입력하세요.
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
.