Aspose.Font FOSS for Python er et rent-Python værktøjssæt til indlæsning, inspektion, konvertering, udvælgelse og forhåndsvisning af skrifttyper på tværs af TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 og EOT-formater. Biblioteket kører på Python 3.10 eller senere og kræver ingen eksterne OS-skrifttypebiblioteker eller native afhængigheder.
Biblioteket eksponerer en ren API til skrifttypeindlæsning via FontLoader, glyph-adgang via GlyphAccessor, formatkonvertering via FontConverter, weboptimering via FontCleaner, tekstbevidst udvælgelse via FontSubsetter, og variabel skrifttypeanimation via AnimationPreviewBuilder. Skrifttype-metadata såsom navn, familie, stil, glyph-antal, kodning og målinger er tilgængelige gennem Font baseklassen uden manuel parsing af binære tabeller.
Aspose.Font FOSS er MIT-licenseret og kan installeres fra PyPI med en enkelt pip install-kommando. Det er egnet til skrifttype-designværktøjer, web-skrifttype-pipelines, glyph-renderingsmotorer og enhver Python applikation, der har brug for at læse, transformere eller producere skrifttypefiler. For enterprise-produktfamilien, se Aspose.Font — Enterprise Product Family.
FontLoader.open() og FontLoader.load()Font grundklasse: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() og get_all_codepoints()FontMetrics: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() og get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph-egenskaberneKernPair for nøjagtige tekstlayout-beregningerFontConverter.convert()CurveAdapter.quad_to_cubic() og cubic_to_quads()convert_path_quad_to_cubic() og convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() og available_presets()FontSubsetter.analyze_coverage() og analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() og compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Åbn en TrueType- eller OpenTyper-font fra en filvej og læs dens grundlæggende 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 alle glyfer for et Unicode-kodepunkt og tjek deres skitseveje.
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)
Oprette et animeret APNG, der sweeper en variabel font-akse fra start til slutværdi.
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")
Stripe gamle tabeller og Mac navneoptegnelser for at reducere binær størrelse før web servering.
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 er et gratis, MIT-licenseret rent Python bibliotek til at indlæse, inspicere, konvertere og undersætte skrifttyper i TTF, OTF , CFF, Type 1, WOFF , WOff2 og EOT formater. Ingen native afhængigheder kræves.
pip install "aspose-font>=1.0.0" skal køre. Der er ikke behov for systemniveau afhængigheder Biblioteket fungerer på Windows, macOS og Linux med Python 3.10 eller nyere.
FontLoader.open() læser TTF, OTF og CFF. FontConverter.convert() skriver TFT, CF og WOFF2. EOT er kun læsningstjeneste.
Nej. Font.to_bytes() er ikke implementeret i basisklassen. Brug FontConverter.convert() til at producere et nyt Font i det ønskede format.
Ja. FontSubsetter.subset_by_text(font, text) returnerer en ny Font, der kun indeholder de symbolskilder, som kræves for den givne tekst.FontSubsetter.subset(font, codepoints) og subset_by_gids(font, gids) giver finere kontrol.