Mac의 표시 이름에서 글꼴의 전체 경로를 어떻게 찾을 수 있나요?

StackOverflow https://stackoverflow.com/questions/469

  •  08-06-2019
  •  | 
  •  

문제

주어진 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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top