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

Aspose.Font FOSS Python varten

Avoimen lähdekoodin Python -kirjasto TTF-, OTF-, CFF-, WOFF-, WOFF2- ja EOT-fonttitiedostojen lataamiseen, tarkasteluun, muuntamiseen ja alijoukkojen luomiseen.

Työskentele fonteilla ohjelmallisesti Python:ssa

Aspose.Font FOSS for Python on puhdas-Python työkalupakki fonttien lataamiseen, tarkasteluun, muuntamiseen, alijoukkojen luomiseen ja esikatseluun TrueType-, OpenType-, CFF-, Type 1-, WOFF-, WOFF2- ja EOT-muodoissa. Kirjasto toimii Python 3.10:ssa tai uudemmassa eikä vaadi ulkoisia käyttöjärjestelmän fonttikirjastoja tai natiiviriippuvuuksia.

Kirjasto tarjoaa selkeän API:n fonttien lataamiseen FontLoader kautta, glyyffien käyttöön GlyphAccessor kautta, formaattimuunnokseen FontConverter kautta, web-optimointiin FontCleaner kautta, tekstiä huomioivaan alijoukkoon FontSubsetter kautta, ja muuttujafonttien animointiin AnimationPreviewBuilder kautta. Fontin metatiedot, kuten nimi, perhe, tyyli, glyyffien määrä, koodaus ja mittasuhteet, ovat saatavilla Font perusluokan kautta ilman binääritaulukoiden manuaalista jäsentämistä.

Aspose.Font FOSS on MIT-lisensoitu ja asennettavissa PyPI:stä yhdellä pip install -komennolla. Se soveltuu fonttisuunnittelutyökaluihin, web-fonttiputkiin, glyph-renderöintimoottoreihin ja mihin tahansa Python sovellukseen, jonka täytyy lukea, muuntaa tai tuottaa fonttitiedostoja. Yritystuoteryhmän osalta katso Aspose.Font — Enterprise Product Family.

Fonttien lataus ja formaatin tunnistus

  • Lataa fontit tiedostopolkuista tai raakatavuista käyttäen FontLoader.open() ja FontLoader.load()
  • Tunnista formaatti automaattisesti: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • Pääse fontin metatietoihin Font perusluokan kautta: font_name, font_family, font_style, num_glyphs
  • Lue glyphien koodauskartat käyttäen FontEncoding.unicode_to_gid() ja get_all_codepoints()
  • Tarkastele fonttimetriikoita FontMetrics:n avulla: nousu, lasku, riviväli, em-neliö

Tyypilliset käyttötapaukset

  • Fonttien validointi- ja metatietojen poimintaputket
  • CI/CD-tarkistukset, jotka varmistavat fonttiperheen nimen ja glyyffimäärän
  • Web‑fonttien sisäänottopalvelut, jotka hyväksyvät useita syötemuotoja
  • Fonttisuunnittelutyökalut, jotka näyttävät metatiedot ilman työpöytäsovelluksen ajonaikaa

Glyyffien käyttö ja polkujen tarkastelu

  • Hae glyphit ID:n tai Unicode:n avulla GlyphAccessor.get_glyph_by_id() ja get_glyph_by_unicode()
  • Ratkaise kaikki glyyfit merkkijonolle, jossa on GlyphAccessor.get_glyphs_for_text()
  • Tarkastele glyphin ääriviivapolkuja kirjoitettuna komentoina: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Pääse käsiksi glyphin raja-alueeseen, etäisyysleveyteen ja sivukantoihin Glyph ominaisuuksista
  • Lue kerning-parit kohteesta KernPair tarkkoja tekstin asettelulaskelmia varten

Tyypilliset käyttötapaukset

  • Glyphien kattavuustarkistukset monikielisen tekstin renderöintiin
  • Ääriviivan poiminta SVG-polkua tai vektorigenerointia varten
  • Kerning-taulukon validointi fonttien QA-työnkuluissa
  • Tekstin muotoilututkimus ja matalan tason asettelukokeilu

Fonttien muuntaminen

  • Muunna TTF, OTF, CFF, WOFF, WOFF2, EOT ja Type 1 -fonttien välillä FontConverter.convert() avulla
  • Mukauta Bezier‑käyrätyyppejä CurveAdapter.quad_to_cubic() ja cubic_to_quads() avulla
  • Muunna glyph-polut kvadrattisen ja kuutiollisen välillä käyttäen convert_path_quad_to_cubic() ja convert_path_cubic_to_quad()

Tyypilliset käyttötapaukset

  • Web-fonttiputkistot, jotka muuntavat TTF-pääfontit WOFF2:ksi jakelua varten
  • Kirjasintyön työkalut, jotka vievät useisiin formaattikohteisiin yhdestä lähteestä
  • Legacy EOT -muunnos taaksepäin yhteensopiville web-fonttipinoille
  • Automaattinen fonttimuodon normalisointi jatkuvassa integraatiossa

Fonttien alijoukko

  • Alijoukko fontit Unicode‑tekstillä käyttäen FontSubsetter.subset_by_text()
  • Alijoukko glyph ID -listalla FontSubsetter.subset_by_gids()
  • Tuota verkkoon optimoituja alijoukkoja käyttäen FontSubsetter.subset_for_web()
  • Käytä nimettyjä esiasetettuja profiileja FontSubsetter.subset_by_presets() ja available_presets() kanssa
  • Analysoi osajoukon kattavuutta FontSubsetter.analyze_coverage() ja analyze_web_coverage() avulla

Tyypilliset käyttötapaukset

  • WOFF2-payloadin koon vähentäminen verkkosivuilla, joilla on rajoitettu merkistö
  • Kielikohtaisten fonttialijoukkojen tuottaminen i18n-julkaisuihin
  • Fonttien lisensointityönkulut, jotka jakavat per‑sivusarjan osajoukkoja
  • Suorituskyvyn optimointi mobiilisovelluksille verkossa

Verkon optimointi ja muuttuvien fonttien esikatselut

  • Poista vanhat taulut ja Mac‑nimen tietueet FontCleaner.clean_for_web() avulla
  • Tarkista muuttujafontin akselin yhteensopivuus CompatibilityChecker.compare_fonts() ja compare_variable_instances() kanssa
  • Luo animoituja APNG‑akselin pyyhkäisyjä AnimationPreviewBuilder.build_axis_sweep() avulla
  • Rakenna monivaiheisia animaatiopolkuja käyttäen AnimationPreviewBuilder.build_path()

Tyypilliset käyttötapaukset

  • Fonttien näytesivut ja interaktiiviset akselien selaimet kirjasinvalmistajille
  • CI pipelines, jotka varmistavat muuttuvan fontin toiminnan ennen jakelua
  • Verkkosuorituskykyputket, jotka poistavat ei‑välttämättömät binääritaulut
  • Kirjasimen esikatselukuvat fonttienhallintasovelluksille

Lataa fonttitiedosto

Avaa TrueType- tai OpenType-fontti tiedostopolusta ja lue sen perusmetatiedot.

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

Pääse käsiksi glyph-merkkeihin tekstijonossa

Selvitä kaikki glyyfit Unicode‑koodipisteelle ja tarkastele niiden ääriviivoja.

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)

Luo muuttuvan fontin akselien pyyhkäisy-animaatio

Luo animoitu APNG, joka liikuttaa muuttuvan fonttiasteen aloitus- ja lopetusarvon välillä.

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

Puhdista fontti web-julkaisua varten

Poista vanhat taulut ja Mac‑nimen tietueet binäärikoon pienentämiseksi ennen web‑palvelua.

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

Usein kysytyt kysymykset

Mikä on Aspose.Font FOSS Python:lle?

Se on ilmainen, MIT-lisensioitu puhdas-Python kirjasto fonttien lataamiseen, tarkasteluun, muuntamiseen ja alijoukkojen luomiseen TTF-, OTF-, CFF-, Type 1-, WOFF-, WOFF2- ja EOT-muodoissa. Natiiviriippuvuuksia ei tarvita.

Miten asennan Aspose.Font FOSS Python:lle?

Suorita pip install "aspose-font>=1.0.0". Järjestelmätason riippuvuuksia ei tarvita. Kirjasto toimii Windowsissa, macOSissa ja Linuxissa Python 3.10:lla tai uudemmalla.

Mitkä fonttimuodot ovat tuettuja?

FontLoader.open() lukee TTF-, OTF-, CFF-, Type 1-, WOFF-, WOFF2- ja EOT-tiedostoja. FontConverter.convert() kirjoittaa TTF-, CFF-, WOFF- ja WOFF2-muotoja. EOT on vain luettavissa.

Onko Font.to_bytes() saatavilla?

Ei. Font.to_bytes() ei ole toteutettu perusluokassa. Käytä FontConverter.convert() luodaksesi uuden Font haluttuun formaattiin.

Voinko tehdä fontista alijoukon web-toimitusta varten?

Kyllä. FontSubsetter.subset_by_text(font, text) palauttaa uuden Font, joka sisältää vain annetun tekstin vaatimat glyfit. FontSubsetter.subset(font, codepoints) ja subset_by_gids(font, gids) tarjoavat tarkempaa hallintaa.

  

Tuki- ja oppimisresurssit

 Suomi