用例为Python的Aspose.Words FOSS
网络字体编制
通过将字体设置为一个网页所需的字符来减少下载大小,然后转换到WOFF2以实现最大压缩:
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)传统字体现代化
将旧格式 (类型1,EOT) 转换为现代的TTF或WOFF2以支持跨平台:
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)字体检查和审计
检查字符数量,字体计量和表的存在以确保质量:
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)字符级别分析
通过 Unicode 代码点访问单个字符,用于文本染管道:
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)嵌入式字体清理
在将字体嵌入PDF或文档之前,删除非必要的元数据:
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)