Aspose.Font FOSS per Python è un toolkit pure-Python per caricare, ispezionare, convertire, ridurre e visualizzare in anteprima i font nei formati TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 ed EOT. La libreria funziona su Python 3.10 o versioni successive e non richiede librerie di font OS esterne né dipendenze native.
La libreria espone un API pulito per il caricamento dei font tramite FontLoader, l’accesso ai glifi tramite GlyphAccessor, la conversione dei formati tramite FontConverter, l’ottimizzazione web tramite FontCleaner, il subset testuale consapevole tramite FontSubsetter, e l’animazione dei font variabili tramite AnimationPreviewBuilder. I metadati del font, come nome, famiglia, stile, conteggio dei glifi, codifica e metriche, sono accessibili tramite la classe base Font senza dover analizzare manualmente le tabelle binarie.
Aspose.Font FOSS è rilasciato con licenza MIT e installabile da PyPI con un unico comando pip install. È adatto per strumenti di progettazione di font, pipeline di font web, motori di rendering dei glifi e qualsiasi applicazione Python che necessiti di leggere, trasformare o produrre file di font. Per la famiglia di prodotti enterprise, vedere Aspose.Font — Enterprise Product Family.
FontLoader.open() e FontLoader.load()Font: font_name, font_family , font_style e num_glyphsFontEncoding.unicode_to_gid() e get_all_codepoints()FontMetrics: ascesa, discesa , intervallo tra linee, em-quadratoGlyphAccessor.get_glyph_by_id() e get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo , QuadraticTo .CurveTo, ClosePath.GlyphKernPair per calcoli accurati del layout del testoFontConverter.convert()CurveAdapter.quad_to_cubic() e cubic_to_quads()convert_path_quad_to_cubic() e convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() e available_presets()FontSubsetter.analyze_coverage() e analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() e compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Aprire un font TrueType o OpenTyme da una traccia di file e leggere i suoi metadati base.
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
Risolvi tutti gli glifi per un punto di codice Unicode e ispeziona i loro percorsi.
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)
Creare un APNG animato che spazza l’asse di una font variabile dal valore iniziale al valore finale.
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")
Strip tabelle legacy e record di nomi Mac per ridurre le dimensioni binarie prima del web serving.
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
È una libreria Python pura gratuita con licenza MIT per il caricamento, l’ispezione, la conversione e la sottosettazione di caratteri in formati TTF, OTF , CFF, Tipo 1, WOFF , WOff2 ed EOT. Non sono richieste dipendenze native .
Esegui pip install "aspose-font>=1.0.0". Non sono necessarie dipendenze a livello di sistema. La libreria funziona su Windows, macOS e Linux con Python 3.10 o versioni successive.
FontLoader.open() legge TTF, OTF , CFF, Tipo 1, WOFF , WOff2 e EOT. FontConverter.convert() scrive TFT, Cff, WOF e WOFL2. Eot è solo lettura.
No. Font.to_bytes() non è implementato nella classe base. Utilizzare FontConverter.convert() per produrre un nuovo Font nel formato desiderato.
Sì. FontSubsetter.subset_by_text(font, text) restituisce un nuovo Font contenente solo gli glifi richiesti per il testo dato.FontSubsetter.subset(font, codepoints) e subset_by_gids(font, gids) danno un controllo più preciso.