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

Aspose.Font FOSS for Python

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.

Python-ban programozott fontokkal való munka

Aspose.Font FOSS a Python számára 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óval 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 egy tiszta API biztosít a betűtípus betöltéséhez a FontLoader segítségével, a glif eléréséhez 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 parancssal 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, és bármely Python alkalmazáshoz, amelynek olvasnia, átalakítania vagy betűtípus fájlokat előállítania kell. Az vállalati termékcsaládért lásd Aspose.Font — Enterprise Product Family.

Betöltés és formátum felismerése

  • Fontos betöltés fájl útvonalakból vagy nyers bájtokból FontLoader.open() és FontLoader.load() segítségével
  • Automatikusan felismerni a formátumot: TTF, OTF (a továbbiakban: “OFF”), CFF (más szóval “CFF”) WOFF, WOff2, EOT (1-es típus)
  • A font-metadathoz a Font alaposztályon keresztül férhet hozzá: font_name, font_family , font_style és num_glyphs.
  • Olvasd a glyph kódoló térképeket FontEncoding.unicode_to_gid() és get_all_codepoints()-val.
  • Ellenőrizze a betűtípus méreteit FontMetrics-val: emelkedés, lejárat, vonalszétesülés, em négyzet

Tipikus felhasználási esetek

  • A betűtípusok érvényesítése és a metaadatok kivonása
  • CI/CD ellenőrzések, amelyek a betűszöveg családjának nevét és az ábrázok számát igazolják
  • Több bejegyzési formátumot elfogadó webes betűtípus-felhasználási szolgáltatások
  • A metadata-t egy asztali futtatási idő nélkül megjelenítő betűtípustervezési eszközök

Glyph-hozzáférés és útvonalfelügyelet

  • Gyökerek keresése ID vagy Unicode GlyphAccessor.get_glyph_by_id() és get_glyph_by_unicode() segítségével
  • Megoldja az összes jelképet egy sztranghoz a GlyphAccessor.get_glyphs_for_text()-val.
  • Ellenőrizze a glyph-outline útvonalakat, mint az alábbi beírt parancsokat: MoveTo, LineTo , QuadraticTo. CurveTo,ClosePath
  • A Glyph tulajdonságaiból a glyph határoló dobozhoz, előre elhelyezett szélességhez és oldalcsomagokhoz hozzáférhetsz.
  • Olvasd el a kerning párokat KernPair-tól, hogy pontos szöveges felállítási számításokhoz jussanak.

Tipikus felhasználási esetek

  • Glyph-tömeg ellenőrzése többnyelvű szöveg megjelenítéséhez
  • A SVG-útvonal vagy vektorgeneráció körvonalak kinyerése
  • Kerning táblázat érvényesítése a betűtípus-ellenőrzési munkafolyamatokban
  • A szövegformálási kutatás és a kis szintű elrendezés kísérletezése

Betűtípus átalakítása

  • Konverzáljon TTF, OTF (Termék- és térfelhasználói rendszer), CFF (Mérőszámú szállítási szolgáltatás), WOFF, WOff2, EOT (Képzési szolgáltatások) és 1. típusú átalakítás között FontConverter.convert() segítségével.
  • Bezier görbéktípusok alkalmazása a CurveAdapter.quad_to_cubic() és acubic_to_quads()-vel
  • Konverzáljon a négyzetes és köbös glyph útvonalakat convert_path_quad_to_cubic()-val és convert_path_cubic_to_quad() -kal.

Tipikus felhasználási esetek

  • Webes font pipelines, amely TTF-tűzszövegeket WOFF2-re alakít ki a terjesztés céljából.
  • A típus-alapú öntőeszköz, amely egy forrásból több formátumra exportál célokat.
  • A hátralévő kompatibilitással rendelkező webes betűtípusok EOT-konverziója
  • Automatikus betűtípus-formátum normalizálása folyamatos integrációban

Betűtípus-alátállás

  • Az UNICODE-tekszt által FontSubsetter.subset_by_text() betűtípusok alcsoportja.
  • Az FontSubsetter.subset_by_gids()-val rendelkező glif azonosító listán alapuló alcsoport.
  • Web-optimalizált alcsoportok létrehozása FontSubsetter.subset_for_web() segítségével
  • Az FontSubsetter.subset_by_presets() és available_presets() nevezett előre beállított profilok alkalmazása
  • Az alábbiak szerint kell vizsgálni a FontSubsetter.analyze_coverage() és analyze_web_coverage() alcsoport lefedettségét:

Tipikus felhasználási esetek

  • A WOFF2 hasznos terhelés méretének csökkentése a korlátozott karakterkészletű weboldalak esetében
  • Nyelv-specifikus betűtípusok előállítása az i18n telepítésekhez
  • A betűtípus-engedélyesítési munkafolyamatok, amelyek az oldalcsoportonkénti alkészleteket osztják el.
  • Mobil webalkalmazások teljesítményoptimalizálása

Web optimalizálás és változó betűtípus előnézet

  • A régi táblázatok és a Mac névjegyzékek FontCleaner.clean_for_web()-val történő eltávolítása
  • Ellenőrizze a változó font tengely kompatibilitását CompatibilityChecker.compare_fonts() és compare_variable_instances()-val.
  • A AnimationPreviewBuilder.build_axis_sweep() segítségével animált APNG tengely átvágásokat generáljon.
  • Építs többlépcsős animációs pályákat a AnimationPreviewBuilder.build_path() segítségével.

Tipikus felhasználási esetek

  • A gépek és a járművek gyártása, üzemeltetése vagy szállítása
  • A CI-s csővezetékek, amelyek a forgalmazás előtt ellenőrizik az változó betűtípus viselkedését
  • Nem alapvető bináris táblázatokat tartalmazó webes teljesítménycsatornák
  • A betűtípuskezelő alkalmazások font előnézet miniatűrképe

Betöltés a betűtípusra

Nyisd meg a TrueType vagy OpenTybe betűtípusokat egy fájl útvonalról, és olvassa el az alapmetadatait.

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

A szöveglánc Glyph-jaihoz való hozzáférés

Megoldja az összes Unicode kódpont glifáját, és ellenőrizze a körvonalak útvonalát.

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)

Generáljon egy változó betűtípus- tengely átvágó animációt

Egy animált APNG-t készítsen, amely egy változó betűtípus tengelyét a kezdeti értéktől a végértékig átvágja.

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

Tisztítson egy betűtípust a webes telepítéshez

Vágjon le a régi táblázatokat és Mac névjegyzékeket, hogy csökkentse a bináris méretét az internetes kiszolgá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 a Aspose.Font FOSS Python-ban?

Ez egy ingyenes, MIT-licencelt tiszta Python könyvtár a betöltéshez, ellenőrzéshez és átalakításhoz TTF, OTF , CFF, Type 1, WOFF , WOff2 és EOT formátumban. Nem szükséges természetes függőségek .

Hogyan telepítem a Aspose.Font FOSS-t Pythonhoz?

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

Milyen betűtípusokat támogatnak?

FontLoader.open() olvasható TTF, OTF , CFF, Type 1, WOFF , WOff2 és EOT. FontConverter.convert() íródik TFT, CFCF, WOFF és WOFL2. Eot csak olvasásra alkalmas.

Font.to_bytes ((() elérhető?

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.

Lehetne egy betűtípus a webes kézbesítéshez?

Igen. FontSubsetter.subset_by_text(font, text) visszaad egy új Font, amely csak a megadott szöveghez szükséges glifeket tartalmaz. 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