CFF Fonts를 Python에서 작업하는 방법
CFF(Compact Font Format)는 OpenType 글꼴 및 독립형 .cff 파일에서 사용되는 윤곽선 형식입니다. Aspose.Font FOSS는 CFF 글꼴을 CffFont 인스턴스로 나타내며, 이는 기본 Font 클래스를 확장하고 CFF 전용 데이터를 노출합니다.
단계별 가이드
1단계: 패키지 설치
git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .2단계: 필요한 클래스 가져오기
from aspose_font import FontLoader
from aspose_font import CffFont
from aspose_font import FontType3단계: CFF 글꼴 로드
FontLoader.open()에 .cff 파일 경로를 전달하여 호출합니다. 반환된 객체는 글리프 수, 폰트 이름 및 CFF 전용 속성을 제공하는 CffFont 인스턴스입니다:
font = FontLoader.open("MyFont.cff")
print(font.font_name)
print(font.num_glyphs)단계 4: 커른 페어에 접근
로드된 폰트를 CffFont로 캐스팅한 다음, get_kern_pairs()을 호출하여 커른 페어 레코드 목록을 가져옵니다. 모든 CFF 폰트에 커른 데이터가 포함된 것은 아니므로, 반복하기 전에 길이를 확인하세요:
from aspose_font import FontLoader
from aspose_font import CffFont
cff_font: CffFont = FontLoader.open("MyFont.cff")
kern_pairs = cff_font.get_kern_pairs()
print(f"kern pairs: {len(kern_pairs)}")단계 5: CFF를 TTF로 변환
로드된 CffFont를 FontType.TTF와 함께 FontConverter.convert()에 전달하여 TTF 아웃라인 형식의 새로운 TtfFont을 생성합니다:
from aspose_font import FontLoader
from aspose_font.converter import FontConverter # internal API — may change between releases
from aspose_font import FontType
font = FontLoader.open("MyFont.cff")
ttf = FontConverter.convert(font, FontType.TTF)일반적인 문제 및 해결 방법
CffFont has no attribute cff_font — cff_font 은(는) …에 대한 속성입니다 TtfFont 임베디드 CFF 데이터를 반환하지만, 기본 클래스에는 없습니다 Font 클래스. 독립형 CFF 파일을 사용하려면 CffFont 직접 사용하십시오.
빈 커닝 쌍 — 모든 CFF 글꼴이 커닝 쌍 데이터를 포함하는 것은 아닙니다. 다음을 확인하십시오 len(cff_font.get_kern_pairs()) > 0 반복하기 전에.
자주 묻는 질문
CffFont와 TtfFont의 차이점은 무엇인가요?
CffFont은(는) 독립형 CFF 파일을 나타냅니다. TtfFont은(는) TTF/OTF 파일을 나타냅니다; OTF는 ttf_font.cff_font를 통해 접근 가능한 CFF 윤곽을 포함할 수 있습니다.
CFF 글꼴을 WOFF2로 변환할 수 있나요?
예. FontConverter.convert(font, FontType.WOFF2)은(는) CffFont를 포함한 모든 Font 인스턴스와 작동합니다.