Aspose.Font FOSS untuk Python adalah toolkit pure-Python untuk memuat, memeriksa, menukar, membuat subset, dan pratonton fon merentasi format TrueType, OpenType, CFF, Type 1, WOFF, WOFF2, dan EOT. Perpustakaan ini berjalan pada Python 3.10 atau lebih baru dan tidak memerlukan perpustakaan fon OS luaran atau kebergantungan asli.
Perpustakaan ini menyediakan API yang bersih untuk pemuatan fon melalui FontLoader, akses glif melalui GlyphAccessor, penukaran format melalui FontConverter, pengoptimuman web melalui FontCleaner, subset yang menyedari teks melalui FontSubsetter, dan animasi fon berubah melalui AnimationPreviewBuilder. Metadata fon seperti nama, keluarga, gaya, bilangan glif, pengekodan, dan metrik boleh diakses melalui kelas asas Font tanpa perlu mengurai jadual binari secara manual.
Aspose.Font FOSS berlesen MIT dan boleh dipasang dari PyPI dengan satu arahan pip install. Ia sesuai untuk alatan reka bentuk fon, saluran fon web, enjin rendering glif, dan mana-mana aplikasi Python yang perlu membaca, menukar, atau menghasilkan fail fon. Untuk keluarga produk perusahaan, 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: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() dan get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph propertiesKernPair untuk pengiraan susun atur teks yang tepatFontConverter.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 fon TrueType atau OpenType daripada laluan fail dan baca metadata asasnya.
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
Selesaikan semua glif untuk titik kod Unicode dan periksa laluan kontur 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 beranimasi yang menyapu paksi fon berubah dari nilai permulaan 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")
Buang jadual warisan dan rekod nama Mac untuk mengurangkan saiz binari sebelum penyampaian web.
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
Ia adalah perpustakaan Python tulen yang percuma, berlesen MIT untuk memuatkan, memeriksa, menukar, dan menyubset fon dalam format TTF, OTF, CFF, Type 1, WOFF, WOFF2, dan EOT. Tiada kebergantungan asli diperlukan.
Jalankan pip install "aspose-font>=1.0.0". Tiada kebergantungan peringkat sistem diperlukan. Perpustakaan ini berfungsi pada Windows, macOS, dan Linux dengan Python 3.10 atau lebih baru.
FontLoader.open() membaca TTF, OTF, CFF, Type 1, WOFF, WOFF2, dan EOT. FontConverter.convert() menulis TTF, CFF, WOFF, dan WOFF2. EOT hanya boleh dibaca.
Tidak. Font.to_bytes() tidak dilaksanakan dalam kelas asas. Gunakan FontConverter.convert() untuk menghasilkan Font baru dalam format yang dikehendaki.
Ya. FontSubsetter.subset_by_text(font, text) mengembalikan Font baru yang hanya mengandungi glif yang diperlukan untuk teks yang diberikan. FontSubsetter.subset(font, codepoints) dan subset_by_gids(font, gids) memberikan kawalan yang lebih terperinci.