Aspose.Font FOSS pentru Python este un set de instrumente pure-Python pentru încărcarea, inspectarea, conversia, subsetting-ul și previzualizarea fonturilor în formatele TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 și EOT. Biblioteca rulează pe Python 3.10 sau o versiune ulterioară și nu necesită biblioteci externe de fonturi ale sistemului de operare sau dependențe native.
Biblioteca expune un API curat pentru încărcarea fonturilor prin FontLoader, accesul la glife prin GlyphAccessor, conversia formatelor prin FontConverter, optimizarea web prin FontCleaner, subsetting conștient de text prin FontSubsetter, și animația fonturilor variabile prin AnimationPreviewBuilder. Metadatele fontului, cum ar fi numele, familia, stilul, numărul de glife, codificarea și metricile, sunt accesibile prin clasa de bază Font fără a parcurge manual tabelele binare.
Aspose.Font FOSS este licențiat sub MIT și poate fi instalat din PyPI cu o singură comandă pip install. Este potrivit pentru instrumente de design de fonturi, fluxuri de lucru pentru fonturi web, motoare de redare a glifelor și orice aplicație Python care trebuie să citească, să transforme sau să producă fișiere de font. Pentru familia de produse enterprise, vedeți Aspose.Font — Enterprise Product Family.
FontLoader.open() și FontLoader.load()Font: font_name, font_family , font_style şi num_glyphsFontEncoding.unicode_to_gid() şi get_all_codepoints()FontMetrics: ascensiune, coborâre, decalaj liniar, em-pătrateGlyphAccessor.get_glyph_by_id() și get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair pentru calcule precise ale aranjamentului textuluiFontConverter.convert()CurveAdapter.quad_to_cubic() și cubic_to_quads()convert_path_quad_to_cubic() și convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() și available_presets()FontSubsetter.analyze_coverage() și analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() și compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Deschideți un font TrueType sau OpenTybe dintr-o cale de fișier și citiți metadatele sale de bază.
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
Răspunde la toate glifele pentru un punct de cod Unicode și inspectează căile lor.
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)
Creează un APNG animat care săritează o axă de font variabilă de la începutul până la valoarea finală.
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 tabele vechi și înregistrări de nume Mac pentru a reduce dimensiunea binar înainte de web servire.
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
Este o bibliotecă Python liberă, licențiată de MIT pentru încărcarea, inspecția, conversia și subsetarea fonturilor în formatele TTF, OTF , CFF, Tip 1, WOFF , WOff2 și EOT. Nu sunt necesare dependențe native .
Rulați pip install "aspose-font>=1.0.0". Nu sunt necesare dependențe la nivel de sistem. Biblioteca funcționează pe Windows, macOS și Linux cu Python 3.10 sau o versiune ulterioară.
FontLoader.open() citește TTF, OTF , CFF, Tipul 1, WOFF , WOff2 și EOT. FontConverter.convert() scrie TFT, CFC, WOF şi WOFL2. Eot este doar pentru citire.
Nu. Font.to_bytes() nu este implementat în clasa de bază. Folosiți FontConverter.convert() pentru a produce un nou Font în formatul dorit.
Da. FontSubsetter.subset_by_text(font, text) returnă un nou Font care conține numai glifele necesare pentru textul dat.FontSubsetter.subset(font, codepoints) și subset_by_gids(font, gids) oferă control mai fin.