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, kiraan 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, paip fon web, enjin rendering glif, dan mana-mana aplikasi Python yang memerlukan 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: pendakian, penurunan, jurang baris, em-squareGlyphAccessor.get_glyph_by_id() dan get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo , QuadraticTo,CurveTo,, ClosePathGlyphKernPair 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 OpenTyme dari 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
Resolve semua glyph untuk titik kod Unicode dan periksa laluan 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 paksi fon pemboleh ubah dari nilai permulaan hingga 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 jadual lama dan rekod nama Mac untuk mengurangkan saiz binari sebelum perkhidmatan 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 yang bebas, berlesen MIT untuk memuat naik, memeriksa, menukar dan menetapkan fon dalam format TTF, OTF , CFF, Jenis 1, WOFF , WOff2, dan EOT. Tiada ketergantungan asli diperlukan.
Run pip install "aspose-font>=1.0.0". Tiada kebergantungan peringkat sistem yang diperlukan. Perpustakaan berfungsi pada Windows, macOS dan Linux dengan Python 3.10 atau lebih baru.
FontLoader.open() membaca TTF, OTF , CFF, Jenis 1, WOFF , WOff2, dan EOT. FontConverter.convert() menulis TFT, CFC, WOF, dan WOW2. Eot hanya dibaca.
Tidak. Font.to_bytes() tidak dilaksanakan dalam kelas asas. Gunakan FontConverter.convert() untuk menghasilkan sebuah Font baru dalam format yang dikehendaki.
Ya. FontSubsetter.subset_by_text(font, text) mengembalikan sebuah Font baru yang mengandungi hanya glyphs diperlukan untuk teks yang diberikan.FontSubsetter.subset(font, codepoints) dan subset_by_gids(font, gids) memberikan kawalan lebih halus.