Aspose.Font FOSS for Python은(는) TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 및 EOT 형식 전반에 걸쳐 글꼴을 로드, 검사, 변환, 서브셋 및 미리 보기 위한 순수-Python 툴킷입니다. 이 라이브러리는 Python 3.10 이상에서 실행되며 외부 OS 글꼴 라이브러리나 네이티브 종속성이 필요하지 않습니다.
이 라이브러리는 FontLoader를 통해 글꼴 로딩을 위한 깔끔한 API를 제공하고, GlyphAccessor를 통해 글리프 접근을, FontConverter를 통해 포맷 변환을, FontCleaner를 통해 웹 최적화를, FontSubsetter를 통한 텍스트 인식 서브세팅을, 그리고 AnimationPreviewBuilder를 통한 가변 글꼴 애니메이션을 제공합니다. 이름, 패밀리, 스타일, 글리프 수, 인코딩 및 메트릭과 같은 글꼴 메타데이터는 Font 기본 클래스를 통해 바이너리 테이블을 수동으로 파싱하지 않고도 접근할 수 있습니다.
Aspose.Font FOSS는 MIT 라이선스를 가지고 있으며 단일 pip install 명령으로 PyPI에서 설치할 수 있습니다. 이는 폰트 디자인 툴링, 웹 폰트 파이프라인, 글리프 렌더링 엔진 및 폰트 파일을 읽고 변환하거나 생성해야 하는 모든 Python 애플리케이션에 적합합니다. 엔터프라이즈 제품군에 대해서는 Aspose.Font — Enterprise Product Family을(를) 참조하십시오.
FontLoader.open() 및 FontLoader.load()을 사용하여 글꼴을 로드합니다Font 기본 클래스를 통해 글꼴 메타데이터에 액세스합니다: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid()와 get_all_codepoints()을 사용하여 글리프 인코딩 맵을 읽습니다.FontMetrics로 검사: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() 및 get_glyph_by_unicode()을(를) 사용하십시오.GlyphAccessor.get_glyphs_for_text()와 함께 해결합니다MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph 속성에서 글리프 경계 상자, 전진 너비 및 사이드 베어링에 접근합니다.KernPair에서 커닝 페어를 읽습니다.FontConverter.convert()으로 변환합니다CurveAdapter.quad_to_cubic() 및 cubic_to_quads()와 함께 적용합니다convert_path_quad_to_cubic() 및 convert_path_cubic_to_quad()로 변환합니다.FontSubsetter.subset_by_text()로 서브셋 폰트 만들기FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()와 함께 생성합니다FontSubsetter.subset_by_presets() 및 available_presets()와 함께 적용합니다.FontSubsetter.analyze_coverage()와 analyze_web_coverage()를 사용하여 하위 집합 커버리지를 분석합니다FontCleaner.clean_for_web() 로 제거합니다CompatibilityChecker.compare_fonts() 및 compare_variable_instances()와 확인하십시오AnimationPreviewBuilder.build_axis_sweep()를 사용하여 애니메이션 APNG 축 스윕을 생성합니다AnimationPreviewBuilder.build_path()와 함께 구축파일 경로에서 TrueType 또는 OpenType 글꼴을 열고 기본 메타데이터를 읽습니다.
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
Unicode 코드 포인트에 대한 모든 글리프를 해결하고 해당 윤곽 경로를 검사합니다.
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")
웹 제공 전에 바이너리 크기를 줄이기 위해 레거시 테이블과 Mac 이름 레코드를 제거합니다.
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
이 라이브러리는 무료이며 MIT 라이선스를 가진 순수-Python 라이브러리로, TTF, OTF, CFF, Type 1, WOFF, WOFF2, EOT 포맷의 글꼴을 로드, 검사, 변환 및 서브셋할 수 있습니다. 네이티브 종속성이 필요하지 않습니다.
pip install "aspose-font>=1.0.0"를 실행하세요. 시스템 수준의 종속성이 필요하지 않습니다. 이 라이브러리는 Windows, macOS, Linux에서 Python 3.10 이상과 함께 작동합니다.
FontLoader.open()는 TTF, OTF, CFF, Type 1, WOFF, WOFF2, EOT를 읽습니다. FontConverter.convert()는 TTF, CFF, WOFF, WOFF2를 씁니다. EOT는 읽기 전용입니다.
아니요. Font.to_bytes()는 기본 클래스에 구현되어 있지 않습니다. 원하는 형식의 새로운 Font를 만들려면 FontConverter.convert()을 사용하세요.
예. FontSubsetter.subset_by_text(font, text)는 주어진 텍스트에 필요한 글리프만 포함하는 새로운 Font를 반환합니다. FontSubsetter.subset(font, codepoints)와 subset_by_gids(font, gids)는 보다 세밀한 제어를 제공합니다.