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

Aspose.Font FOSS for Python

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

Rad s fontovima programski u Pythonu

Aspose.Font FOSS za Python je pure-Python alat za učitavanje, pregledavanje, konvertiranje, podskup i pregledavanje fontova kroz formate TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 i EOT. Biblioteka radi na Python 3.10 ili novijem i ne zahtijeva vanjske OS font biblioteke ili 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, podskup svjestan 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 i instaliran je s PyPI jednim pip install naredbom. Pogodan je za alate za dizajn fontova, web font pipeline, motore za renderiranje glifa i bilo koju Python aplikaciju koja treba čitati, transformirati ili proizvesti font datoteke. Za enterprise proizvodnu obitelj, pogledajte Aspose.Font — Enterprise Product Family.

Optuživanje učitavanja fontova i formata

  • Uplatiti fontove s putanja datoteke ili sirovih bajta sa FontLoader.open() i FontLoader.load()
  • U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) i podstavka 2.
  • Pristup metapodatcima fontova putem osnovne klase Font: font_name, font_family , font_style i num_glyphs
  • Čitati mape kodiranja glifa s FontEncoding.unicode_to_gid() i get_all_codepoints()
  • Provjerite metrike font s FontMetrics: uzlazak, silazak , linija rastojanje , em-kvadratna

Tipični slučajevi upotrebe

  • U tom smislu, u skladu s člankom 21. stavkom 1. točkom (a) Uredbe (EU) br. 1071/2013 Komisija može utvrditi:
  • Članak 1. točka (a) stavlja se na sljedeći način:
  • Web usluge za primjenu fontova koje prihvaćaju više formata unosa.
  • Alati za dizajn fontova koji prikazuju metapodatke bez desktopskog radnog vremena

Prikupljanje podataka i provjera puta

  • Dohvatite glifove po ID-u ili Unicodeu pomoću GlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()
  • Razriješite sve glifove za niz pomoću GlyphAccessor.get_glyphs_for_text()
  • Pregledajte konture glifa kao tipizirane naredbe: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Pristupite svojstvima okvira glifa, širine napredovanja i bočnih nosača iz Glyph
  • Pročitajte kerning parove iz KernPair za točne izračune rasporeda teksta

Tipični slučajevi upotrebe

  • Kontrolne mjere za pokrivanje glifa u višejezičnom prikazu teksta
  • U tom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) ovog članka.
  • Korisnik:
  • Proučavanje oblikovanja teksta i eksperimentiranje s niskim razredom uređenja

Preobrazba fontova

  • Preobrazi između TTF, OTF-a, CFF-e, WOFF,WOFF2, EOT i tipa 1 s FontConverter.convert()
  • Prilagođivanje tipova Bezierove krive s CurveAdapter.quad_to_cubic() i cubic_to_quads()
  • Preobrazite staze glifa između kvadratnog i kubskog s convert_path_quad_to_cubic() i convert_path_cubic_to_quad()

Tipični slučajevi upotrebe

  • Web font pipelines koji pretvaraju TTF master fontove u WOFF2 za distribuciju
  • U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) ovog članka, se primjenjuje sljedeći element:
  • U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) ovog članka.
  • Automatizirana normalizacija formata fontova u kontinuiranoj integraciji

Sastavljanje fontova

  • Podskup šifra po Unicode tekstu s FontSubsetter.subset_by_text()
  • Podmnožaj po listi identifikacijskih znakova s FontSubsetter.subset_by_gids()
  • Izraditi web-optimizirani podmnožine s FontSubsetter.subset_for_web()
  • Primjenite imenovane unaprijed postavljene profile s FontSubsetter.subset_by_presets() i available_presets()
  • Proučavanje i analiza podmnožine pokrivenosti s FontSubsetter.analyze_coverage() i analyze_web_coverage()

Tipični slučajevi upotrebe

  • Smanjenje veličine korisne opterećenja WOFF2 za web stranice s ograničenim skupovima znakova
  • Izrada podmnožaka šifra specifičnih za jezik u i18n implementacijama
  • Radni tokovi za licenciranje fontova koji distribuiraju podmnožine po skupovima stranica
  • Optimizacija performansi za mobilne web aplikacije

Web optimizacija i varijabilni font predgledi

  • Strip legate tabele i Mac imena zapisa s FontCleaner.clean_for_web()
  • Provjerite kompatibilnost promjenjive osovine font s CompatibilityChecker.compare_fonts() i compare_variable_instances()
  • Generiše animirane APNG osovine prebacivanja s AnimationPreviewBuilder.build_axis_sweep()
  • Izgraditi više-korak animacije staze s AnimationPreviewBuilder.build_path()

Tipični slučajevi upotrebe

  • Slike za uzorke fontova i interaktivni istraživači osi za livenje tipova
  • U tom smislu, u skladu s člankom 21. stavkom 1. točkom (a) Uredbe (EU) br. 1303/2013 Komisija može utvrditi:
  • Web performansi cijevi koji se izbace ne-neovisnih binarnih tabela
  • Minijature za pregled fontova u aplikacijama za upravljanje fontovima

Uloženje datoteke fontova

Otvorite TrueType ili OpenTyme font iz putanje datoteke i čitati 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

Glyphs za tekstni niz

Rješiti sve glife za Unicode kod točke i provjeriti njihove konture puteva.

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)

Stvaranje promjenjive animacije za brisanje osovine fontova

Stvoriti animirani APNG koji prebaci promjenjivu osovu font od početka 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")

Čisti font za web raspoređivanje

Strip starim tablicama i Mac imena zapisa za smanjenje binarne veličine prije web serviranja.

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 knjižnica za učitavanje, pregledovanje, pretvaranje i podmnožavanje fontova u TTF, OTF , CFF, Type 1, WOFF , WOff2 i EOT formatu. Ne zahtijeva se natvorska ovisnost .

Kako instalirati Aspose.Font FOSS za Python?

pip install "aspose-font>=1.0.0" pokrenuti. Ne trebaju ovisnosti na sustavnoj razini. Biblioteka radi na Windows, macOS i Linuxu s Pythonom 3.10 ili novijim.

Koje fontove podržavaju?

FontLoader.open() čita TTF, OTF , CFF, Type 1, WOFF , WOff2 i EOT. FontConverter.convert() piše TFT, CFC, WOF i WOFL2. Eot je samo za čitanje.

Je li Font.to_bytes ((() dostupan?

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

Mogu li postaviti font za web dostavu?

Da. FontSubsetter.subset_by_text(font, text) vraća novi Font koji sadrži samo glife potrebne za dat tekst.FontSubsetter.subset(font, codepoints) i subset_by_gids(font, gids) daju precizniju kontrolu.

  

Resursi za podršku i učenje

 Hrvatski