1. Termékek
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS a Python számára

Nyílt forráskódú Python könyvtár a TTF, OTF, CFF, WOFF, WOFF2 és EOT betűtípusfájlok betöltéséhez, vizsgálatához, konvertálásához és részhalmazolásához.

Dolgozz betűtípusokkal programozottan a Python-ban

Aspose.Font FOSS for Python egy tiszta-Python eszközkészlet a betűtípusok betöltéséhez, ellenőrzéséhez, konvertálásához, részhalmazolásához és előnézetéhez a TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 és EOT formátumokban. A könyvtár Python 3.10 vagy újabb verziókon fut, és nem igényel külső OS betűtípus könyvtárakat vagy natív függőségeket.

A könyvtár tiszta API-t biztosít a betűtípus betöltéséhez a FontLoader segítségével, a glif hozzáféréshez a GlyphAccessor segítségével, a formátumkonverzióhoz a FontConverter segítségével, a weboptimalizáláshoz a FontCleaner segítségével, a szövegérzékeny részhalmazoláshoz a FontSubsetter segítségével, és a változó betűtípus animációhoz a AnimationPreviewBuilder segítségével. A betűtípus metaadatai, mint a név, család, stílus, glif szám, kódolás és metrikák, a Font alaposztályon keresztül érhetők el anélkül, hogy manuálisan kellene bináris táblákat elemezni.

Aspose.Font FOSS MIT licenc alatt áll, és egyetlen pip install parancs segítségével telepíthető a PyPI-ról. Alkalmas betűtípus-tervező eszközökhöz, webes betűtípus csővezetékekhez, glif renderelő motorokhoz, valamint bármely Python alkalmazáshoz, amelynek olvasnia, átalakítania vagy előállítania kell betűtípus fájlokat. Az vállalati termékcsaládért lásd Aspose.Font — Enterprise Product Family.

Betűtípus betöltése és formátumfelismerés

  • Betöltse a betűtípusokat fájlútvonalakról vagy nyers bájtokból a FontLoader.open() és a FontLoader.load() segítségével
  • Automatikus formátumfelismerés: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • A betűtípus metaadatai elérhetők a Font alaposztályon keresztül: font_name, font_family, font_style, num_glyphs
  • Olvassa be a glifkódolási térképeket a FontEncoding.unicode_to_gid() és a get_all_codepoints() segítségével
  • Ellenőrizze a betűmetrikákat a FontMetrics segítségével: emelkedés, süllyedés, sorhézag, em-négyzet

Tipikus felhasználási esetek

  • Betűtípus-ellenőrzés és metaadat-kivonási csővezetékek
  • CI/CD ellenőrzések, amelyek ellenőrzik a betűcsalád nevét és a glifek számát
  • Webes betűtípus-beolvasási szolgáltatások, amelyek több bemeneti formátumot fogadnak.
  • Betűtípus-tervező eszközök, amelyek asztali futtatókörnyezet nélkül jelenítik meg a metaadatokat

Glif hozzáférés és útvonal ellenőrzése

  • Lekérdezni a glifeket ID vagy Unicode alapján a GlyphAccessor.get_glyph_by_id() és get_glyph_by_unicode() segítségével
  • Oldja fel az összes glifet egy karakterlánchoz a GlyphAccessor.get_glyphs_for_text() használatával.
  • Ellenőrizze a glif körvonal útvonalait beírt parancsként: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • A glif határoló dobozához, előrehaladási szélességéhez és oldalirányú távolságaihoz a Glyph tulajdonságokból férhet hozzá.
  • Olvassa be a kerning párokat a KernPair fájlból a pontos szöveg‑elrendezési számításokhoz

Tipikus felhasználási esetek

  • Glyph lefedettségi ellenőrzések a többnyelvű szövegmegjelenítéshez
  • Kontúr kinyerés SVG útvonalhoz vagy vektor generáláshoz
  • Kerning tábla validálása a betűtípus QA munkafolyamatokban
  • Szövegformázási kutatás és alacsony szintű elrendezési kísérletek

Betűtípus konvertálása

  • Konvertáljon TTF, OTF, CFF, WOFF, WOFF2, EOT és Type 1 formátumok között a FontConverter.convert() segítségével
  • Alkalmazza a Bezier-görbe típusokat a CurveAdapter.quad_to_cubic() és a cubic_to_quads() segítségével
  • Konvertálja a glif útvonalakat kvadratikus és köbös formátum között a convert_path_quad_to_cubic() és convert_path_cubic_to_quad() használatával.

Tipikus felhasználási esetek

  • Webes betűtípus csővezetékek, amelyek a TTF mesterbetűtípusokat WOFF2 formátumba konvertálják terjesztéshez
  • Betűkészlet eszköz, amely egy forrásból több formátumcélra exportál.
  • Régi EOT konverzió a visszafelé kompatibilis webes betűtípus‑veremekhez
  • Automatizált betűtípus-formátum normalizálás a folyamatos integrációban

Betűkészlet alrészletezés

  • Alkészlet betűkészletek Unicode szöveg alapján a FontSubsetter.subset_by_text() segítségével
  • Alhalmaz a glifazonosító lista alapján FontSubsetter.subset_by_gids()
  • Készítsen webre optimalizált részhalmazokat a FontSubsetter.subset_for_web() segítségével.
  • Alkalmazzon elnevezett előre beállított profilokat a FontSubsetter.subset_by_presets() és available_presets() használatával
  • Elemezze az alhalmaz lefedettségét a FontSubsetter.analyze_coverage() és analyze_web_coverage() segítségével

Tipikus felhasználási esetek

  • A WOFF2 payload méretének csökkentése korlátozott karakterkészletű weboldalak esetén
  • Nyelvspecifikus betűkészlet-alrészletek előállítása i18n telepítésekhez
  • Betűtípus-licencelési munkafolyamatok, amelyek oldalkészletenkénti részhalmazokat osztanak szét
  • Teljesítményoptimalizálás mobil webalkalmazásokhoz

Weboptimalizálás és változó betűkészlet előnézetek

  • Távolítsa el az örökölt táblákat és a Mac névrekordokat a FontCleaner.clean_for_web() segítségével
  • Ellenőrizze a változó betűtípus tengely kompatibilitását a CompatibilityChecker.compare_fonts() és compare_variable_instances() esetén.
  • Animált APNG tengely sweepeket generáljon a AnimationPreviewBuilder.build_axis_sweep() segítségével
  • Többlépéses animációs útvonalak létrehozása a AnimationPreviewBuilder.build_path() segítségével

Tipikus felhasználási esetek

  • Betűtípus-mintapontok és interaktív tengelyfelfedezők betűtípus-gyártók számára
  • CI pipeline-ok, amelyek a változó betűtípus viselkedését ellenőrzik a terjesztés előtt
  • Web teljesítménycsővezetékek, amelyek eldobják a nem lényeges bináris táblákat
  • Betűtípus előnézeti bélyegképek betűkezelő alkalmazásokhoz

Betűkészlet fájl betöltése

Nyisson meg egy TrueType vagy OpenType betűtípust egy fájl útvonalról, és olvassa el annak alapvető metaadatait.

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

Glifek elérése egy szöveges karakterlánchoz

Oldja fel az összes glifet egy Unicode kódponthoz, és vizsgálja meg azok körvonalú útvonalait.

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)

Változó betűkészlet tengelyi átfutás animáció létrehozása

Készíts egy animált APNG-t, amely egy változó betűtípus tengelyt mozgat a kezdő értékről a végértékre.

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

Betűkészlet megtisztítása webes telepítéshez

Távolítsa el az örökölt táblákat és a Mac névrekordokat a bináris méret csökkentése érdekében a webkiszolgálás előtt.

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

Gyakran ismételt kérdések

Mi az Aspose.Font FOSS a Python számára?

Ez egy ingyenes, MIT-licencű pure-Python könyvtár a betűtípusok betöltéséhez, vizsgálatához, konvertálásához és kivágásához TTF, OTF, CFF, Type 1, WOFF, WOFF2 és EOT formátumokban. Nincs natív függőség szükséges.

Hogyan telepíthetem a Aspose.Font FOSS-t Python számára?

Futtassa a pip install "aspose-font>=1.0.0". Nincs rendszer szintű függőség szükséges. A könyvtár Windows, macOS és Linux rendszereken működik a Python 3.10 vagy újabb verzióval.

Mely betűtípusformátumok támogatottak?

FontLoader.open() olvas TTF, OTF, CFF, Type 1, WOFF, WOFF2 és EOT formátumokat. FontConverter.convert() ír TTF, CFF, WOFF és WOFF2 formátumokat. Az EOT csak olvasható.

Elérhető a Font.to_bytes()?

Nem. Font.to_bytes() nincs megvalósítva az alaposztályban. Használja a FontConverter.convert()‑t egy új Font előállításához a kívánt formátumban.

Kivághatok egy betűtípust a webes szállításhoz?

Igen. FontSubsetter.subset_by_text(font, text) egy új Font‑t ad vissza, amely csak a megadott szöveghez szükséges glyfeket tartalmazza. FontSubsetter.subset(font, codepoints) és subset_by_gids(font, gids) finomabb vezérlést biztosítanak.

  

Támogatás és tanulási források

 Magyar