1. Products
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS za Python

Open-source Python biblioteka za učitavanje, pregledanje, konvertovanje i podskup TTF, OTF, CFF, WOFF, WOFF2 i EOT font fajlova.

Radite sa fontovima programatski u Python

Aspose.Font FOSS za Python je pure-Python toolkit za učitavanje, pregledanje, konvertovanje, podskup i pregled fontova u formatima TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 i EOT. Biblioteka radi na Python 3.10 ili novijem i ne zahteva spoljne OS biblioteke fontova niti native zavisnosti.

Biblioteka izlaže čist API za učitavanje fontova putem FontLoader, pristup glifovima putem GlyphAccessor, konverziju formata putem FontConverter, web optimizaciju putem FontCleaner, podsečenje uzimajući u obzir tekst putem FontSubsetter, i animaciju varijabilnih fontova putem AnimationPreviewBuilder. Metapodaci fonta kao što su naziv, porodica, stil, broj glifova, kodiranje i metrike su dostupni kroz baznu klasu Font bez ručnog parsiranja binarnih tabela.

Aspose.Font FOSS je MIT licenciran i može se instalirati sa PyPI jednom pip install komandom. Pogodan je za alate za dizajn fontova, web font pipeline‑ove, engine‑e za renderovanje glifa i bilo koju Python aplikaciju koja treba da čita, transformiše ili proizvodi font fajlove. Za enterprise proizvodnu porodicu, pogledajte Aspose.Font — Enterprise Product Family.

Učitavanje fontova i otkrivanje formata

  • Učitajte fontove iz putanja do fajlova ili sirovih bajtova pomoću FontLoader.open() i FontLoader.load()
  • Automatski otkrij format: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • Pristupite metapodacima fonta putem Font osnovne klase: font_name, font_family, font_style, num_glyphs
  • Pročitajte mape kodiranja glifa pomoću FontEncoding.unicode_to_gid() i get_all_codepoints()
  • Ispitajte metrike fonta pomoću FontMetrics: uspon, silazak, razmak linije, em‑kvadrat

Tipični slučajevi upotrebe

  • Pipelines za validaciju fontova i ekstrakciju metapodataka
  • CI/CD provere koje verifikuju ime porodice fonta i broj glifa
  • Usluge za unos web fontova koje prihvataju više ulaznih formata
  • Alati za dizajn fontova koji prikazuju metapodatke bez desktop runtime-a

Pristup glifovima i pregled putanja

  • Preuzmite glifove po ID‑u ili Unicode‑u pomoću GlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()
  • Razreši sve glifove za string sa GlyphAccessor.get_glyphs_for_text()
  • Pregledajte putanje kontura glifa kao kucane komande: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Pristupite okviru ograničenja glifa, širini napretka i bočnim nosačima iz Glyph svojstava
  • Pročitaj kerning parove iz KernPair za tačne proračune rasporeda teksta

Tipični slučajevi upotrebe

  • Provere pokrivenosti glifa za višestrukojezičko renderovanje teksta
  • Ekstrakcija konture za SVG putanju ili generisanje vektora
  • Validacija kerning tabele u QA radnim tokovima fontova
  • Istraživanje oblikovanja teksta i eksperimentisanje niskonivojskog rasporeda

Konverzija fontova

  • Konvertujte između TTF, OTF, CFF, WOFF, WOFF2, EOT i Type 1 uz FontConverter.convert()
  • Prilagodite tipove Bezier krivih pomoću CurveAdapter.quad_to_cubic() i cubic_to_quads()
  • Konvertujte putanje glifa između kvadratnih i kubnih pomoću convert_path_quad_to_cubic() i convert_path_cubic_to_quad()

Tipični slučajevi upotrebe

  • Web font pipelines koji konvertuju TTF master fontove u WOFF2 za distribuciju
  • Alat za tipografsku proizvodnju koji izvozi u više formatskih odredišta iz jednog izvora
  • Legacy EOT konverzija za web‑font stackove kompatibilne unazad
  • Automatizovana normalizacija formata fontova u kontinuiranoj integraciji

Podskup fontova

  • Podskup fontova po Unicode tekstu sa FontSubsetter.subset_by_text()
  • Podskup prema listi ID‑ova glifa sa FontSubsetter.subset_by_gids()
  • Kreirajte web‑optimizovane podskupove sa FontSubsetter.subset_for_web()
  • Primeni imenovane unapred podešene profile sa FontSubsetter.subset_by_presets() i available_presets()
  • Analizirajte pokrivenost podskupa sa FontSubsetter.analyze_coverage() i analyze_web_coverage()

Tipični slučajevi upotrebe

  • Smanjenje veličine WOFF2 payload-a za web stranice sa ograničenim skupom znakova
  • Izrada podskupova fontova specifičnih za jezik za i18n implementacije
  • Radni tokovi licenciranja fontova koji distribuiraju podskupove po setu stranica
  • Optimizacija performansi za mobilne web aplikacije

Web optimizacija i pregledi varijabilnih fontova

  • Uklonite zastarele tabele i Mac zapise imena pomoću FontCleaner.clean_for_web()
  • Proverite kompatibilnost osi promenljive fonta sa CompatibilityChecker.compare_fonts() i compare_variable_instances()
  • Generišite animirane APNG osne preglede sa AnimationPreviewBuilder.build_axis_sweep()
  • Izgradite višekorake putanje animacije sa AnimationPreviewBuilder.build_path()

Tipični slučajevi upotrebe

  • Странице са примерима фонта и интерактивни истраживачи оса за типографске фирме
  • CI pipeline‑i koji proveravaju ponašanje varijabilnih fontova pre distribucije
  • Web performans pipeline‑i koji odbacuju neesencijalne binarne tabele
  • Sličice pregleda fontova za aplikacije za upravljanje fontovima

Učitajte font fajl

Otvorite TrueType ili OpenType font iz putanje do datoteke i pročitajte njegove osnovne metapodatke.

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

Pristupite glifovima za tekstualni niz

Razrešite sve glifove za Unicode kodnu tačku i pregledajte njihove konture putanje.

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)

Generišite animaciju preleta po osi varijabilnog fonta

Napravite animirani APNG koji prebacuje osu promenljive fonta od početne do krajnje vrednosti.

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")

Očistite font za web implementaciju

Uklonite zastarele tabele i Mac zapise imena kako biste smanjili veličinu binarnog fajla pre web servisa.

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

Frequently Asked Questions

Šta je Aspose.Font FOSS za Python?

To je besplatna, MIT-licencirana čista-Python biblioteka za učitavanje, pregledanje, konvertovanje i podskup fontova u TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT formatima. Nema potrebe za nativnim zavisnostima.

Kako da instaliram Aspose.Font FOSS za Python?

Pokrenite pip install "aspose-font>=1.0.0". Nisu potrebne sistemske zavisnosti. Biblioteka radi na Windows, macOS i Linux uz Python 3.10 ili noviji.

Koji formati fontova su podržani?

FontLoader.open() čita TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT. FontConverter.convert() piše TTF, CFF, WOFF i WOFF2. EOT je samo za čitanje.

Da li je Font.to_bytes() dostupan?

Ne. Font.to_bytes() nije implementiran u osnovnoj klasi. Koristite FontConverter.convert() da proizvedete novi Font u željenom formatu.

Mogu li da podskupim font za web isporuku?

Da. FontSubsetter.subset_by_text(font, text) vraća novi Font koji sadrži samo glifove potrebne za dati tekst. FontSubsetter.subset(font, codepoints) i subset_by_gids(font, gids) pružaju finiju kontrolu.

  

Support and Learning Resources

 Српски