TrueType 글꼴 작업

TrueType 글꼴 작업

이 가이드는 TrueType 글꼴을 로드하고, 바이너리 테이블 데이터를 검사하며, 원시 테이블 바이트를 읽고, TtfInstancer를 사용하여 가변 글꼴에서 정적 인스턴스를 만드는 방법을 보여줍니다.

TrueType (TTF) 글꼴은 가장 일반적인 데스크톱 및 웹 글꼴 형식입니다. Python용 Aspose.Font FOSS는 TTF 전용 테이블 데이터 접근, 글리프 블롭 검색 및 가변 글꼴 축 제어를 위해 TtfFont를 제공합니다.


TTF 글꼴 로드

FontLoader.open()는 TTF 형식을 자동 감지하고 TtfFont 타입 객체를 반환합니다. 반환된 인스턴스는 ttf_tables, get_table_bytes() 및 가변 글꼴 축 데이터와 같은 TTF 전용 기능에 접근할 수 있게 합니다.

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")

TTF 테이블 접근

TtfFont.ttf_tables는 일반 테이블용으로 명명된 속성을 가진 TtfTableSet를 제공합니다.

from aspose_font import FontLoader
from aspose_font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
tables = ttf_font.ttf_tables
print("kern table present:", tables.kern is not None)

원시 테이블 바이트

TtfFont.get_table_bytes(tag)을 사용하여 원시 바이너리 테이블 데이터를 가져오고 TtfFont.set_table_bytes(tag, data)을 사용하여 수정된 테이블 바이트를 기록합니다.

from aspose_font import FontLoader
from aspose_font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_cmap = ttf_font.get_table_bytes("cmap")

가변 폰트 인스턴스

TtfFont.get_axis(tag)은 4자 태그(예: "wght", "wdth")로 단일 가변 축을 반환하며, 폰트가 해당 축을 정의하지 않은 경우 None을 반환합니다. TtfInstancer.instantiate()은 지정된 축 좌표에서 가변 폰트의 정적 인스턴스를 생성합니다.

from aspose_font import FontLoader
from aspose_font import TtfFont
from aspose_font.ttf.instancer import TtfInstancer  # internal API — may change between releases

ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")

weight_axis = ttf_font.get_axis("wght")
if weight_axis is not None:
    print(f"wght range: {weight_axis.min_value}-{weight_axis.max_value}")

# Get a static instance at wght=700, wdth=75
instance = TtfInstancer.instantiate(ttf_font, {"wght": 700.0, "wdth": 75.0})

팁 및 모범 사례

  • 항상 isinstance(font, TtfFont)을 사용한 후에 ttf_tables 또는 get_table_bytes()에 접근하십시오.
  • TtfTableSet.kern을 사용하여 커닝 페어를 읽기 전에 커닝 사용 가능 여부를 확인하십시오.
  • 가변 폰트 인스턴싱은 새로운 폰트 객체를 생성합니다; 원본은 변경되지 않습니다.

API Reference 요약

클래스 / 메서드설명
TtfFont.ttf_tablesTTF 테이블 집합에 대한 접근
TtfFont.get_table_bytes(tag)명명된 테이블의 원시 바이트
TtfFont.set_table_bytes(tag, data)수정된 테이블 바이트 쓰기
TtfFont.get_axis(tag)태그별 가변 글꼴 축, 또는 None
TtfInstancer.instantiate(font, coords)정적 인스턴스를 생성합니다
TtfTableSet.kern커닝 테이블 (없을 경우 None)

참조

 한국어