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

Aspose.Font FOSS za Python

Open-source Python biblioteka za učitavanje, pregledavanje, konverziju i podskup TTF, OTF, CFF, WOFF, WOFF2 i EOT font datoteka.

Radite s fontovima programatski u Python

Aspose.Font FOSS za Python je čist-Python alat za učitavanje, pregledavanje, konvertiranje, 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 zahtijeva vanjske OS biblioteke fontova niti izvorne ovisnosti.

Biblioteka izlaže čist API za učitavanje fontova putem FontLoader, pristup glifovima putem GlyphAccessor, konverziju formata putem FontConverter, web optimizaciju putem FontCleaner, podrezivanje svjesno teksta putem FontSubsetter, i animaciju varijabilnih fontova putem AnimationPreviewBuilder. Metapodaci fonta poput imena, obitelji, stila, broja glifa, kodiranja i metrika dostupni su kroz baznu klasu Font bez ručnog parsiranja binarnih tablica.

Aspose.Font FOSS je licenciran pod MIT licencom i može se instalirati s PyPI jednim pip install naredbom. Pogodan je za alate za dizajn fontova, web font pipeline, engine za renderiranje glifova i bilo koju Python aplikaciju koja treba čitati, transformirati ili proizvesti font datoteke. Za enterprise obitelj proizvoda, pogledajte Aspose.Font — Enterprise Product Family.

Učitavanje fontova i otkrivanje formata

  • Učitajte fontove iz putanja datoteka 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 osnovne klase Font: font_name, font_family, font_style, num_glyphs
  • Pročitaj mape kodiranja glifova s FontEncoding.unicode_to_gid() i get_all_codepoints()
  • Ispitajte metrike fonta s FontMetrics: uspon, pad, razmak između redova, em‑kvadrat

Uobičajeni slučajevi upotrebe

  • Cjevovodi za provjeru valjanosti fonta i izdvajanje metapodataka
  • CI/CD provjere koje verificiraju naziv obitelji fonta i broj glifova
  • Usluge za unos web fontova koje prihvaćaju više ulaznih formata
  • Alati za dizajn fontova koji prikazuju metapodatke bez desktop runtimea

Pristup glifovima i pregled putanja

  • Dohvatite glifove po ID-u ili Unicodeu pomoću GlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()
  • Riješite sve glifove za niz s GlyphAccessor.get_glyphs_for_text()
  • Pregledajte puteve konture glifa kao upisane naredbe: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Pristupite okviru ograničenja glifa, širini napretka i bočnim nositeljima iz Glyph svojstava
  • Pročitajte kerning parove iz KernPair za točne izračune rasporeda teksta

Uobičajeni slučajevi upotrebe

  • Provjere pokrivenosti glifova za višestrukojezičko prikazivanje teksta
  • Ekstrakcija konture za SVG put ili generiranje vektora
  • Validacija kerning tablice u QA radnim tokovima fontova
  • Istraživanje oblikovanja teksta i eksperimentiranje s niskorazinskim rasporedom

Konverzija fontova

  • Pretvorite između TTF, OTF, CFF, WOFF, WOFF2, EOT i Type 1 s FontConverter.convert()
  • Prilagodite vrste Bezierovih krivulja s CurveAdapter.quad_to_cubic() i cubic_to_quads()
  • Pretvorite putanje glifa između kvadratnih i kubičnih pomoću convert_path_quad_to_cubic() i convert_path_cubic_to_quad()

Uobičajeni slučajevi upotrebe

  • Web font pipelines koji pretvaraju TTF master fontove u WOFF2 za distribuciju
  • Alat za tipografsku proizvodnju koji izvozi u više formatskih odredišta iz jednog izvora
  • Naslijeđena EOT konverzija za web fontove kompatibilne unazad
  • Automatizirano normaliziranje formata fonta u kontinuiranoj integraciji

Podrezivanje fonta

  • Podskup fontova prema Unicode tekstu s FontSubsetter.subset_by_text()
  • Podskup prema popisu ID‑ova glifa s FontSubsetter.subset_by_gids()
  • Izradite web‑optimizirane podskupove s FontSubsetter.subset_for_web()
  • Primijenite imenovane profile predložaka s FontSubsetter.subset_by_presets() i available_presets()
  • Analizirajte pokrivenost podskupa s FontSubsetter.analyze_coverage() i analyze_web_coverage()

Uobičajeni slučajevi upotrebe

  • Smanjenje veličine WOFF2 payloada za web stranice s ograničenim skupom znakova
  • Izrada jezično specifičnih podskupova fontova 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 naslijeđene tablice i Mac zapise imena pomoću FontCleaner.clean_for_web()
  • Provjerite kompatibilnost osi varijabilnog fonta s CompatibilityChecker.compare_fonts() i compare_variable_instances()
  • Generirajte animirane APNG osne sweepove s AnimationPreviewBuilder.build_axis_sweep()
  • Izradite višekorake putanje animacije s AnimationPreviewBuilder.build_path()

Uobičajeni slučajevi upotrebe

  • Stranice uzoraka fontova i interaktivni istraživači osi za tipografske tvornice
  • CI pipelinei koji provjeravaju ponašanje varijabilnih fontova prije distribucije
  • Cjevovodi za web performanse koji odbacuju nebitne binarne tablice
  • Sličice pregleda fontova za aplikacije za upravljanje fontovima

Učitaj datoteku fonta

Otvorite TrueType ili OpenType font iz putanje 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

Pristup glifovima za tekstualni niz

Razriješite sve glifove za Unicode kodnu toč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)

Generiraj animaciju pomicanja osi varijabilnog fonta

Stvorite animirani APNG koji pomiče varijabilnu os fonta od početne do krajnje vrijednosti.

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čisti font za web implementaciju

Uklonite naslijeđene tablice i Mac zapise imena kako biste smanjili veličinu binarne datoteke prije web posluživanja.

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

Često postavljana pitanja

Što je Aspose.Font FOSS za Python?

To je besplatna, MIT-licencirana čista-Python biblioteka za učitavanje, pregledavanje, konvertiranje i podskup fontova u formatima TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT. Nisu potrebne nativne ovisnosti.

Kako instalirati Aspose.Font FOSS za Python?

Pokrenite pip install "aspose-font>=1.0.0". Nisu potrebne ovisnosti na razini sustava. Biblioteka radi na Windowsu, macOS-u i Linuxu s Python 3.10 ili novijim.

Koji formati fontova su podržani?

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

Je li Font.to_bytes() dostupan?

Ne. Font.to_bytes() nije implementiran u osnovnoj klasi. Upotrijebite FontConverter.convert() za stvaranje novog Font u željenom formatu.

Mogu li podskupiti font za web isporuku?

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

  

Resursi za podršku i učenje

 Hrvatski