Aspose.Font FOSS pre Python je pure-Python toolkit na načítanie, kontrolu, konverziu, podmnožinu a náhľad písmeniek v formátoch TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 a EOT. Knižnica beží na Python 3.10 alebo novšom a nevyžaduje žiadne externé OS knižnice písmeniek ani natívne závislosti.
Knižnica poskytuje čisté API pre načítanie fontov prostredníctvom FontLoader, prístup k glyfom prostredníctvom GlyphAccessor, konverziu formátov prostredníctvom FontConverter, optimalizáciu pre web prostredníctvom FontCleaner, textovo‑vedomé podmnožovanie prostredníctvom FontSubsetter a animáciu variabilných fontov prostredníctvom AnimationPreviewBuilder. Metadáta fontov, ako názov, rodina, štýl, počet glyfov, kódovanie a metriky, sú prístupné cez základnú triedu Font bez manuálneho parsovania binárnych tabuliek.
Aspose.Font FOSS je licencovaný pod MIT a je inštalovateľný z PyPI jedným príkazom pip install. Je vhodný pre nástroje na návrh fontov, webové fontové pipeline, renderovacie motory glyfov a akúkoľvek Python aplikáciu, ktorá potrebuje čítať, transformovať alebo vytvárať fontové súbory. Pre rodinu podnikových produktov pozri Aspose.Font — Enterprise Product Family.
FontLoader.open() a FontLoader.load()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() a get_all_codepoints()FontMetrics: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() a get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph propertiesKernPair pre presné výpočty rozloženia textuFontConverter.convert()CurveAdapter.quad_to_cubic() a cubic_to_quads()convert_path_quad_to_cubic() a convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() a available_presets()FontSubsetter.analyze_coverage() a analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() a compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Otvorte písmo TrueType alebo OpenType z cesty k súboru a prečítajte jeho základné metadáta.
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
Získajte všetky glyfy pre Unicode kódový bod a preskúmajte ich obrysové cesty.
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)
Vytvorte animovaný APNG, ktorý prejde osou premennej písma od počiatočnej po koncovú hodnotu.
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")
Odstráňte staré tabuľky a záznamy názvov Mac, aby ste zmenšili veľkosť binárneho súboru pred webovým servírovaním.
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
Je to bezplatná, pod licenciou MIT čistá Python knižnica na načítanie, kontrolu, konverziu a podmnožovanie písiem vo formátoch TTF, OTF, CFF, Type 1, WOFF, WOFF2 a EOT. Nie sú potrebné žiadne natívne závislosti.
Spustite pip install "aspose-font>=1.0.0". Nie sú potrebné žiadne systémové závislosti. Knižnica funguje na Windows, macOS a Linux s Python 3.10 alebo novším.
FontLoader.open() číta TTF, OTF, CFF, Type 1, WOFF, WOFF2 a EOT. FontConverter.convert() zapisuje TTF, CFF, WOFF a WOFF2. EOT je len na čítanie.
Nie. Font.to_bytes() nie je implementované v základnej triede. Použite FontConverter.convert() na vytvorenie nového Font v požadovanom formáte.
Áno. FontSubsetter.subset_by_text(font, text) vracia nový Font, ktorý obsahuje iba glyfy potrebné pre daný text. FontSubsetter.subset(font, codepoints) a subset_by_gids(font, gids) poskytujú jemnejšiu kontrolu.