用例为Python的Aspose.Words FOSS

用例为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)

See Also

 中文