1. 제품
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS for Python

TTF, OTF, CFF, WOFF, WOFF2 및 EOT 글꼴 파일을 로드하고, 검사하고, 변환하고, 서브셋팅하기 위한 오픈소스 Python 라이브러리.

파이썬에서 글꼴을 프로그래밍하여 작업합니다.

Aspose.Font FOSS for Python은 TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 및 EOT 형식 전반에 걸쳐 글꼴을 로드, 검사, 변환, 서브셋 및 미리보기 할 수 있는 pure-Python 툴킷입니다. 이 라이브러리는 Python 3.10 이상에서 실행되며 외부 OS 글꼴 라이브러리나 네이티브 종속성이 필요하지 않습니다.

이 라이브러리는 FontLoader을 통한 글꼴 로딩, GlyphAccessor을 통한 글리프 접근, FontConverter을 통한 포맷 변환, FontCleaner을 통한 웹 최적화, FontSubsetter을 통한 텍스트 인식 서브셋, 그리고 AnimationPreviewBuilder을 통한 가변 글꼴 애니메이션을 위한 깔끔한 API을 제공합니다. 이름, 패밀리, 스타일, 글리프 수, 인코딩 및 메트릭과 같은 글꼴 메타데이터는 Font 기본 클래스를 통해 바이너리 테이블을 수동으로 파싱하지 않고도 접근할 수 있습니다.

Aspose.Font FOSS는 MIT 라이선스를 따르며 단일 pip install 명령으로 PyPI에서 설치할 수 있습니다. 이는 글꼴 디자인 툴링, 웹 글꼴 파이프라인, 글리프 렌더링 엔진 및 글꼴 파일을 읽고 변환하거나 생성해야 하는 모든 Python 애플리케이션에 적합합니다. 엔터프라이즈 제품군에 대해서는 Aspose.Font — Enterprise Product Family을(를) 참조하십시오.

글꼴 로딩 및 형식 탐지

  • 파일 경로 또는 원시 바이트에서 FontLoader.open()FontLoader.load() 로 폰트를 로드합니다.
  • 자동으로 감지하는 형식: TTF, OTF (오프터스), CFF, WOFF (WOFF), WOff2 (EOT), 타입 1
  • Font 기본 클래스: font_name, font_family , font_stylenum_glyphs을 통해 글꼴 메타데이터에 액세스합니다.
  • FontEncoding.unicode_to_gid()get_all_codepoints()로 글리프 코딩 지도를 읽어보세요.
  • FontMetrics로 글꼴 측정기를 검사: 상승, 하락, 선 간격, em-제곱

전형적 사용 사례

  • 글꼴 검증 및 메타데이터 추출 파이프라인
  • 글꼴 가족 이름과 글리프 수를 확인하는 CI/CD 검사
  • 여러 입력 형식을 수용하는 웹 폰트 흡수 서비스
  • 데스크톱 실행 시간 없이 메타데이터를 표시하는 글꼴 디자인 도구

글리프 접근 및 경로 검사

  • GlyphAccessor.get_glyph_by_id()get_glyph_by_unicode()로 ID 또는 유니코드에 의해 글리프를 검색합니다.
  • GlyphAccessor.get_glyphs_for_text()로 문자열에 대한 모든 글리프를 풀기 위해
  • 글리프 오버라인 경로를 입력된 명령어로 검사하세요: MoveTo, LineTo , QuadraticTo. CurveTo., ClosePath
  • 접근 글리프 경계 박스, 앞선 폭과 측면 베어링 Glyph 속성에서
  • 정확한 텍스트 레이아웃 계산을 위해 KernPair에서 kerning 쌍을 읽어보십시오.

전형적 사용 사례

  • 다국어 텍스트 렌더링에 대한 글리프 커버리지 검사
  • SVG 경로 또는 벡터 생성용 구상 추출
  • 글꼴 QA 워크플로에서 커닝 테이블 검증
  • 텍스트 형식 연구 및 저수준 레이아웃 실험

글꼴 변환

  • FontConverter.convert()로 TTF, OTF , CFF, WOFF , WOff2, EOT 및 타입 1을 변환합니다.
  • CurveAdapter.quad_to_cubic()cubic_to_quads()로 베지어 곡선 유형을 조정합니다.
  • convert_path_quad_to_cubic()convert_path_cubic_to_quad()로 제곱형과 큐브 형식의 글리프 경로를 변환합니다.

전형적 사용 사례

  • 배포를 위해 TTF 마스터 폰트를 WOFF2로 변환하는 웹 글꼴 파이프라인
  • 하나의 소스에서 여러 형식의 타겟으로 수출하는 융기 도구의 유형
  • 후기 호환 웹 글꼴 스택의 기존 EOT 변환
  • 연속적 통합에서 자동화된 글꼴 형식 표준화

글꼴 서브셋

  • FontSubsetter.subset_by_text()와 함께 유니코드 텍스트에 의해 자본의 하위 집합
  • FontSubsetter.subset_by_gids()와 함께 글리프 ID 목록에 의해 하위 집합
  • FontSubsetter.subset_for_web()로 웹 최적화된 하위 집합을 생성합니다.
  • FontSubsetter.subset_by_presets()available_presets()로 이름 지정된 미리 설정 된 프로파일을 적용합니다.
  • FontSubsetter.analyze_coverage()analyze_web_coverage()로 하위 집합의 커버리지를 분석합니다.

전형적 사용 사례

  • 제한된 문자 집합을 가진 웹 페이지의 WOFF2 유용량 크기를 줄이는 것
  • i18n 배포용 언어별 글꼴 하위 집합을 생성하는 것
  • 페이지별로 서브셋을 배포하는 폰트 라이선스 작업 흐름
  • 모바일 웹 애플리케이션의 성능 최적화

웹 최적화 및 변형 글꼴 미리보기

  • FontCleaner.clean_for_web()로 레거시 테이블과 Mac 이름 기록을 니다.
  • CompatibilityChecker.compare_fonts()compare_variable_instances()와 변수 글꼴 축의 호환성을 확인합니다.
  • AnimationPreviewBuilder.build_axis_sweep()로 애니메이션 APNG 축 을 생성합니다.
  • AnimationPreviewBuilder.build_path()로 다단계 애니메이션 경로를 만들 수 있습니다.

전형적 사용 사례

  • 타입 기용 글꼴 표본 및 인터랙티브 축 탐색기
  • 분배 전에 변성 글꼴 동작을 확인하는 CI 파이프라인
  • 비 필수적인 바이너리 테이블을 삭제하는 웹 성능 파이프라인
  • 글꼴 관리 응용 프로그램용 글씨자본 미리보기 니얼

글꼴 파일을 로드

파일 경로에서 TrueType 또는 OpenTyme 글꼴을 열고 기본 메타데이터를 읽어보세요.

from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)    # e.g. "Roboto"
print(font.font_family)  # e.g. "Roboto"
print(font.num_glyphs)   # e.g. 1294

텍스트 문자열에 대한 글리프 접근

유니코드 코드 포인트에 대한 모든 글리프를 풀고 그 윤곽 경로를 검사합니다.

from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41)  # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
    print(type(cmd).__name__, cmd)

변성 글꼴 축 扫描 애니메이션을 생성

시작에서 끝 값까지 변형 글꼴 축을 어주는 애니메이션 APNG를 생성합니다.

from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder

font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")

asset = AnimationPreviewBuilder.build_axis_sweep(
    font,
    axis_tag="wdth",
    start_val=75.0,
    end_val=100.0,
    frames=3,
    fps=10,
    text="A",
    size=10.0,
    bounce=True,
)

asset.write_to("roboto-sweep-wdth.png")

웹 배포를 위한 글꼴을 깨끗하게 설정합니다.

웹 서비스 전에 바이너리 크기를 줄이기 위해 레거시 테이블과 맥 이름 기록을 스트립합니다.

from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped

자주 묻는 질문

파이썬에서 Aspose.Font FOSS는 무엇입니까?

그것은 무료, MIT-허가를 받은 순수한 파이썬 라이브러리이며 TTF, OTF , CFF, 타입 1, WOFF , WOff2 및 EOT 형식으로 글꼴을 로딩하고 검사하며 변환하고 서브셋할 수 있습니다. 네이티브 의존성이 필요하지 않습니다.

파이썬에 Aspose.Font FOSS를 설치하는 방법은 무엇입니까?

pip install "aspose-font>=1.0.0"를 실행하십시오. 시스템 수준의 의존성이 필요하지 않습니다. 라이브러리는 파이썬 3.10 또는 최신 버전의 윈도우, 맥OS 및 리눅스에서 작동합니다.

어떤 글꼴 형식이 지원되나요?

FontLoader.open()는 TTF, OTF , CFF, 타입 1, WOFF , WOff2, EOT를 읽습니다. FontConverter.convert()은 TFT, CFC, WOF, 그리고 WOFL2를 쓴다. Eot 는 읽기 전용입니다.

Font.to_bytes ((() 가 사용 가능한가요?

아니. Font.to_bytes()는 기본 클래스에 구현되지 않습니다. 원하는 형식으로 새로운 Font을 생성하기 위해 FontConverter.convert()를 사용하십시오.

웹 전송을 위한 글꼴을 더 설정할 수 있나요?

네. FontSubsetter.subset_by_text(font, text)는 주어진 텍스트에 필요한 글리프만 포함된 새로운 Font을 반환합니다.FontSubsetter.subset(font, codepoints)subset_by_gids(font, gids)은 더 세밀한 제어 기능을 제공합니다.

  

지원 및 학습 자료

 한국어