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

Aspose.Font FOSS for Python

Atviro kodo Python biblioteka, skirta įkelti, tikrinti, konvertuoti ir kurti potinklius TTF, OTF, CFF, WOFF, WOFF2 ir EOT šriftų failams.

Darbas su šriftais programiniu būdu Python

Aspose.Font FOSS for Python yra grynas Python įrankių rinkinys šriftų įkėlimui, tikrinimui, konvertavimui, daliniam išrinkimui ir peržiūrai per TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 ir EOT formatus. Biblioteka veikia Python 3.10 arba vėlesnėse versijose ir nereikalauja išorinių OS šriftų bibliotekų ar natūralių priklausomybių.

Biblioteka pateikia švarią API šriftų įkėlimui per FontLoader, glifų prieigai per GlyphAccessor, formato konvertavimui per FontConverter, interneto optimizavimui per FontCleaner, teksto sąmoningam daliniam išrinkimui per FontSubsetter ir kintamų šriftų animacijai per AnimationPreviewBuilder. Šrifto metaduomenys, tokie kaip pavadinimas, šeima, stilius, glifų skaičius, koduotė ir metrika, yra prieinami per Font bazinę klasę be rankinio dvejetainių lentelių analizavimo.

Aspose.Font FOSS yra licencijuota pagal MIT licenciją ir įdiegiama iš PyPI vienu pip install komanda. Ji tinka šriftų dizaino įrankiams, internetinių šriftų konvejeriams, glifų atvaizdavimo varikliams ir bet kuriai Python programai, kuri turi skaityti, transformuoti arba kurti šriftų failus. Dėl įmonės produktų šeimos žiūrėkite Aspose.Font — Enterprise Product Family.

Šriftų įkrovimas ir formato nustatymas

  • Įkūrimas šriftai iš failų kelius ar žalias baitus su FontLoader.open() ir FontLoader.load()
  • Automatiškai nustatomas formatas: TTF, OTF (įskaitant išjungimą), CFF (išjungimas su stabdžiomis), WOFF, WOff2, EOT (paleidimo su nulėmimu) ir 1 tipas.
  • Priekiškomis šrifto metaduomenimis per Font bazę: font_name, font_family , font_style ir num_glyphs
  • Skaitykite glifų kodavimo žemėlapius su FontEncoding.unicode_to_gid() ir get_all_codepoints()
  • Patikrinkite šrifto metrikos su FontMetrics: pakylėjimas, nusileidimas, linijos atotrūkis, em-kvadratas

Tipiniai naudojimo atvejai

  • Šifražčių patvirtinimo ir metaduomenų gavimo sistemos
  • CI/CD patikrinimai, patvirtinantys šrifto šeimos pavadinimą ir glifų skaičių
  • Tinklų šrifto įjungimo paslaugos, kurios priima kelis įvedamųjų formatus
  • Šriftų dizaino įrankiai, rodantys metaduomenis be darbalaukio vykdymo laiko

Glyfų prieiga ir kelio tikrinimas

  • Atkreipiami glifai pagal ID ar Unicode su GlyphAccessor.get_glyph_by_id() ir get_glyph_by_unicode()
  • Išsiaiškinti visus glyfų eilutę su GlyphAccessor.get_glyphs_for_text()
  • Apskaityti glifo konturų kelius kaip įvardytas komandas: MoveTo, LineTo , QuadraticTo,, CurveTo ,, ClosePath
  • Prijungti glifo ribos dėžutę, išankstinį plotis ir šonines ledoles nuo Glyph savybių
  • Skaityti kerning poras iš KernPair tiksliems teksto išdėstymo skaičiavimams

Tipiniai naudojimo atvejai

  • Glyfų apimties tikrinimas daugiakalbiniam teksto atvaizdymui
  • SVG kelio ar vektorių generuojimo plotas ištraukiamas
  • Pagrindinės lentelės patvirtinimo šrifto kokybės kontrolės darbo srautuose
  • Teksto formavimo tyrimai ir mažo lygio išdėstymo bandymai

Šrifto konvertavimas

  • Perkeiskite tarp TTF, OTF (įskaitant išleidimą), CFF (išleidimo nuo darbo), WOFF, WOff2, EOT ir 1 tipo naudojant FontConverter.convert()
  • Bezierio kreivės tipų pritaikymas su CurveAdapter.quad_to_cubic() ir cubic_to_quads()
  • Paverskite glifo kelius tarp kvadratu ir kubiniu convert_path_quad_to_cubic() ir convert_path_cubic_to_quad()

Tipiniai naudojimo atvejai

  • Tinklo šrifto srautai, kurie konvertuoja TTF pagrindinius šriftus į WOFF2 platinimo tikslais.
  • Tipas liejimo įrankis, kuris eksportuoja į kelis formato tikslus iš vieno šaltinio
  • Paveldėto EOT konvertavimo atgaliniu būdu suderinamų tinklalapio šriftų stulpų atveju
  • Automatinė šrifto formato normalizacija nuolatinėje integracijoje

Šrifto subsėtimą

  • Šriftų subsėkis pagal Unicode tekstą su FontSubsetter.subset_by_text()
  • Subsūryšis pagal glifo ID sąrašą su FontSubsetter.subset_by_gids()
  • Pagaminti tinklų optimizuotas poskirsnius su FontSubsetter.subset_for_web()
  • Taikyti pavadintas iš anksto nustatytus profilius su FontSubsetter.subset_by_presets() ir available_presets()
  • Analizuokite poskirsnio aprėptį naudojant FontSubsetter.analyze_coverage() ir analyze_web_coverage()

Tipiniai naudojimo atvejai

  • Web puslapių, kurių simbolių rinkiniai riboti, WOFF2 naudingo krovinio dydžio mažinimas
  • Žodžių, skirtų i18n diegimams, subgrupės gamyba.
  • Šifražčių licencijavimo darbo srautai, kurie paskirsto puslapio rinkinio pakopus
  • Veiklos efektyvumo optimizavimas mobiliosioms interneto programoms

Tinklų optimizavimas ir kintamų šriftų peržiūra

  • Ištrinkite senąsias lentelę ir įrašus su Mac pavadinimais FontCleaner.clean_for_web()
  • Patikrinkite, ar kintamasis šrifto ašis suderinamas su CompatibilityChecker.compare_fonts() ir compare_variable_instances()
  • Sukurti animacijos APNG ašis šviesti su AnimationPreviewBuilder.build_axis_sweep()
  • Sukurti daugiateigių animacijos kelius su AnimationPreviewBuilder.build_path()

Tipiniai naudojimo atvejai

  • Šrifto pavyzdžių puslapiai ir interaktyvūs ašių tyrėjai tipų liejimo gamykloms
  • CI tinklai, kurie prieš platinimą tikrina kintamą šrifto elgesį
  • Tinklų veikimo srautai, kuriuose nėra esminių binarinių lentelių
  • Šifražčių valdymo programų šrifto iš anksto peržiūros miniatūros

Įkelti šrifto failą

Atidarykite “TrueType” arba “OpenTyme” šriftą iš failo kelio ir perskaitykite pagrindinius jo metaduomenis.

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

Teksto eilutės glifų prieiga

Išsiaiškinti visus Unicode kodų taško glifus ir patikrinti jų išvaizdos kelius.

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)

Sukūrimas kintamas rašytinio ženklo ašis šviesti animacija

Sukurti animacinį APNG, kuris perkelia kintamą šrifto ašis nuo pradžios iki pabaigos vertės.

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

Išvalyti rašmenį tinklalapiui įdiegti

Ištrinkite senas lentelės ir “Mac” vardų įrašus, kad sumažintumėte binarinį dydį prieš teikdami žiniatinklio paslaugą.

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

Kas yra Aspose.Font FOSS Python?

Tai nemokama, MIT licencijuota grynosios Python biblioteka užkrovimui, tikrinimui ir konvertavimui TTF, OTF (angl. Open Source), CFF, Type 1, WOFF (anglų kalba) ir EOT formatuose. Nereikia natyvių priklausomybių.

Kaip įdiegti Aspose.Font FOSS Python?

pip install "aspose-font>=1.0.0" paleiskite. Nereikia sistemos lygio priklausomybių. Biblioteka veikia “Windows”, “macOS” ir “Linux” su “Python 3.10” arba naujesnėmis versijomis.

Kokie šrifto formatai palaikyti?

FontLoader.open() skaito TTF, OTF (Templaty), CFF (Cryptometric Flow) ir EOT. FontConverter.convert() rašo TFT, Cff (Flight Flight), WOFF (2-metrų trukmė).

Ar Font.to_bytes ((() prieinamas?

Font.to_bytes() nėra įgyvendinta pagrindinėje klasėje. Naudokite FontConverter.convert() sukurti naują Font norimo formato.

Ar galiu subset šriftą tinklalapio pristatymas?

Taip. FontSubsetter.subset_by_text(font, text) grąžina naują Font, kuriame yra tik pateikto teksto reikalaujami glifai.FontSubsetter.subset(font, codepoints) ir subset_by_gids(font, gids) suteikia subtilesnę kontrolę.

  

Support and Learning Resources

 Lietuvių