Use Cases for Aspose.Font FOSS for Python
Web Font Preparation
Reduce download size by subsetting a font to only the characters needed for a web page, then converting to WOFF2 for maximum compression:
from aspose_font.loader import FontLoader
from aspose_font.subsetter import FontSubsetter
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World 0123456789")
woff2 = FontConverter.convert(subset, FontType.WOFF2)Legacy Font Modernisation
Convert older formats (Type 1, EOT) to modern TTF or WOFF2 for cross-platform support:
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("LegacyFont.pfb") # Type 1
ttf = FontConverter.convert(font, FontType.TTF)Font Inspection and Audit
Inspect glyph count, font metrics, and table presence for quality assurance:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("MyFont.ttf")
print("Name:", ttf_font.font_name)
print("Glyphs:", ttf_font.num_glyphs)
print("kern:", ttf_font.ttf_tables.kern is not None)Glyph-Level Analysis
Access individual glyphs by Unicode codepoint for text rendering pipelines:
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.ttf")
for codepoint in [0x0041, 0x0042, 0x0043]: # A, B, C
glyph = font.glyph_accessor.get_glyph_by_unicode(codepoint)
print(glyph.glyph_id)Font Cleaning for Embedding
Remove non-essential metadata before embedding a font in a PDF or document:
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("MyFont.ttf")
cleaned = FontCleaner.clean_for_web(font, drop_mac_names=True, drop_legacy_tables=True, drop_metadata_tables=False)