Aspose.Font FOSS för Python är ett pure-Python verktygssats för att ladda, inspektera, konvertera, skapa delmängder och förhandsgranska typsnitt ö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 typsnittsladdning via FontLoader, glyfåtkomst via GlyphAccessor, formatkonvertering via FontConverter, weboptimering via FontCleaner, textmedveten delmängdsbildning via FontSubsetter, och variabelt typsnittsanimation via AnimationPreviewBuilder. Typsnittmetadata såsom namn, familj, stil, glyfantal, kodning och mått är tillgängliga via basklassen Font 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 typsnittsdesign, webfont-pipelines, glyfrenderingsmotorer och alla Python-applikationer som behöver läsa, transformera eller producera typsnittsfiler. För företagsproduktfamiljen, se Aspose.Font — Enterprise Product Family.
FontLoader.open() och FontLoader.load()Font basklassen: font_name, font_family,font_style och num_glyphsFontEncoding.unicode_to_gid() och get_all_codepoints()FontMetrics: uppstigning, nedstigningen, linjespel, 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 text‑layoutberä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 en TrueType- eller OpenTyper-typsnitt från filvägen 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 upp alla glyfer för en Unicode-kod och kontrollera deras utformningsvä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 över en variabel teckensnittsak från start 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")
Strippa gamla tabeller och Mac-namnspår för att minska binärstorleken innan webbservering.
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 fritt, MIT-licensierat rent Python bibliotek för att ladda, inspektera, konvertera och underställa teckensnitt i TTF, OTF , CFF, Typ 1, WOFF , WOff2 och EOT format. Inga infödda 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, Typ 1, WOFF , WOff2 och EOT. FontConverter.convert() skriver TFT, CFC, WOFF och WOFL2.
Nej. Font.to_bytes() är inte implementerad i basklassen. Använd FontConverter.convert() för att producera en ny Font i önskat format.
Ja. FontSubsetter.subset_by_text(font, text) returnerar ett nytt Font som bara innehåller de glyfer som krävs för den givna texten.FontSubsetter.subset(font, codepoints) och subset_by_gids(font, gids) ger finare kontroll.