Aspose.Font FOSS untuk Python adalah toolkit pure-Python untuk memuat, memeriksa, mengonversi, melakukan subsetting, dan meninjau font di seluruh format TrueType, OpenType, CFF, Type 1, WOFF, WOFF2, dan EOT. Perpustakaan ini berjalan pada Python 3.10 atau lebih baru dan tidak memerlukan perpustakaan font OS eksternal atau dependensi native.
Perpustakaan ini menyediakan API yang bersih untuk pemuatan font melalui FontLoader, akses glyph melalui GlyphAccessor, konversi format melalui FontConverter, optimasi web melalui FontCleaner, subsetting yang sadar teks melalui FontSubsetter, dan animasi font variabel melalui AnimationPreviewBuilder. Metadata font seperti nama, keluarga, gaya, jumlah glyph, enkoding, dan metrik dapat diakses melalui kelas dasar Font tanpa harus mem-parsing tabel biner secara manual.
Aspose.Font FOSS berlisensi MIT dan dapat diinstal dari PyPI dengan satu perintah pip install. Ini cocok untuk alat desain font, pipeline font web, mesin rendering glyph, dan aplikasi Python apa pun yang perlu membaca, mengubah, atau menghasilkan file font. Untuk keluarga produk enterprise, lihat Aspose.Font — Enterprise Product Family.
FontLoader.open() dan FontLoader.load()Font: font_name, font_family,font_style , num_glyphsFontEncoding.unicode_to_gid() dan get_all_codepoints()FontMetrics: naik, turun, garis gap, em-squareGlyphAccessor.get_glyph_by_id() dan get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo , QuadraticTo,CurveTo,, ClosePathGlyphKernPair untuk perhitungan tata letak teks yang akuratFontConverter.convert()CurveAdapter.quad_to_cubic() dan cubic_to_quads()convert_path_quad_to_cubic() dan convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() dan available_presets()FontSubsetter.analyze_coverage() dan analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() dan compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Buka font TrueType atau OpenTyme dari jalur file dan baca metadata dasarnya.
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
Resolve semua glyphs untuk titik kode Unicode dan memeriksa jalur garis besar mereka.
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)
Buat APNG animasi yang menyapu sumbu font variabel dari awal ke nilai akhir.
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")
Strip tabel lama dan catatan nama Mac untuk mengurangi ukuran biner sebelum web server.
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
Ini adalah perpustakaan Python murni yang dilisensikan MIT untuk memuat, memeriksa, mengkonversi dan men-subset font dalam format TTF, OTF , CFF, Type 1, WOFF , WOff2, dan EOT. Tidak diperlukan ketergantungan asli .
Run pip install "aspose-font>=1.0.0". Tidak diperlukan ketergantungan tingkat sistem. Perpustakaan bekerja pada Windows, macOS, dan Linux dengan Python 3.10 atau lebih baru.
FontLoader.open() membaca TTF, OTF , CFF, Tipe 1, WOFF , WOff2, dan EOT. FontConverter.convert() menulis TFT, CFC, WOF, dan WOW2. Eot hanya dibaca.
Tidak. Font.to_bytes() tidak diimplementasikan dalam kelas dasar. Gunakan FontConverter.convert() untuk menghasilkan sebuah Font baru dalam format yang diinginkan.
Ya. FontSubsetter.subset_by_text(font, text) mengembalikan sebuah Font baru yang hanya berisi glyphs yang diperlukan untuk teks tertentu.FontSubsetter.subset(font, codepoints) dan subset_by_gids(font, gids) memberikan kontrol lebih halus.