Aspose.Font FOSS för Python är ett ren-Python verktygssats för att ladda, inspektera, konvertera, skapa delmängder och förhandsgranska teckensnitt över TrueType-, OpenType-, CFF-, Type 1-, WOFF-, WOFF2- och EOT-format. Biblioteket körs på Python 3.10 eller senare och kräver inga externa OS-typsnittsbibliotek eller inhemska beroenden.
Biblioteket exponerar ett rent API för teckensnittsladdning via FontLoader, glyfåtkomst via GlyphAccessor, formatkonvertering via FontConverter, webboptimering via FontCleaner, textmedveten delmängdsbildning via FontSubsetter, och variabel teckensnittsanimation via AnimationPreviewBuilder. Teckensnittmetadata såsom namn, familj, stil, glyfantal, kodning och mått är tillgängliga via Font basklass utan att manuellt parsa binära tabeller.
Aspose.Font FOSS är MIT-licensierad och kan installeras från PyPI med ett enda pip install‑kommando. Den är lämplig för verktyg för teckensnittsdesign, webfont‑pipelines, glyfåtergivningsmotorer och alla Python-applikationer som behöver läsa, transformera eller producera teckensnittsfiler. För företagsproduktfamiljen, se Aspose.Font — Enterprise Product Family.
FontLoader.open() och FontLoader.load()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() och get_all_codepoints()FontMetrics: höjd, nedgång, radavstånd, em‑kvadratGlyphAccessor.get_glyph_by_id() och get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph egenskaperKernPair för exakta textlayoutberäkningarFontConverter.convert()CurveAdapter.quad_to_cubic() och cubic_to_quads()convert_path_quad_to_cubic() och convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() och available_presets()FontSubsetter.analyze_coverage() och analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() och compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Öppna ett TrueType- eller OpenType-typsnitt från en filsökväg och läs dess grundläggande metadata.
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
Lös alla glyfer för en Unicode‑kodpunkt och inspektera deras konturvägar.
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)
Skapa en animerad APNG som sveper en variable font axis från startvärde till slutvärde.
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")
Ta bort äldre tabeller och Mac‑namnregister för att minska binärstorleken innan webbservern levererar.
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
Det är ett gratis, MIT-licensierat pure-Python bibliotek för att ladda, inspektera, konvertera och skapa delmängder av teckensnitt i TTF, OTF, CFF, Type 1, WOFF, WOFF2 och EOT-format. Inga inhemska beroenden krävs.
Kör pip install "aspose-font>=1.0.0". Inga systemnivåberoenden behövs. Biblioteket fungerar på Windows, macOS och Linux med Python 3.10 eller senare.
FontLoader.open() läser TTF, OTF, CFF, Type 1, WOFF, WOFF2 och EOT. FontConverter.convert() skriver TTF, CFF, WOFF och WOFF2. EOT är endast läsbar.
Nej. Font.to_bytes() är inte implementerad i basklassen. Använd FontConverter.convert() för att skapa ett nytt Font i önskat format.
Ja. FontSubsetter.subset_by_text(font, text) returnerar ett nytt Font som endast innehåller de glyfer som krävs för den angivna texten. FontSubsetter.subset(font, codepoints) och subset_by_gids(font, gids) ger finare kontroll.