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

Aspose.Font FOSS for Python

Open-source Python knižnica pre načítanie, kontrolu, konverziu a podmnožovanie fontových súborov TTF, OTF, CFF, WOFF, WOFF2 a EOT.

Práca s písmenami programovo v Pythone

Aspose.Font FOSS pre Python je čistý nástrojový súbor na načítanie, inšpekciu, konverziu, subsetovanie a predvídanie písmen v formátoch TrueType, OpenTyme, CFF, Type 1, WOFF , WOff2 a EOT. Knižnica beží na Pythone 3.10 alebo novšom verzií a nevyžaduje žiadne externé knižnice písma operačného systému ani pôvodné závislosti.

Knižnica vystavuje čisté API pre načítanie písma prostredníctvom FontLoader, prístup k glyfom cez GlyphAccessor , konverziu formátu pomocou FontConverter, webovú optimalizáciu prostredníctvomFontCleaner a variabilnú animáciu písmu prostredníctvom AnimationPreviewBuilder. Metadata písmo ako meno, rodina, štýl, počet glyfot, kódovanie a metriky sú dostupné prostredníctvom základnej triedy Font bez manuálneho rozčlenenia binárnych tabuliek.

FOSS je licencovaný na MIT a inštalovateľný z PyPI s jedným príkazom Pip install. Je vhodný pre nástroje na návrh písma, webové fonty, motory na renderovanie glyfov a akékoľvek Python aplikácie, ktoré potrebujú čítať, transformovať alebo vytvárať súbory písmov. Pre rodinu podnikových produktov pozri Aspose.Font — Enterprise Product Family.

Využívanie písma a detekcia formátu

  • Zaťažte písma z cesty súboru alebo surových bajtov s FontLoader.open() a FontLoader.load()
  • Automaticky detekovať formát: TTF, OTF , CFF , WOFF, WOff2, EOT, typ 1
  • Prístup k metadátam písma prostredníctvom základnej triedy Font: font_name, font_family , font_style a num_glyphs
  • Čítať mapy kódovania glyfov s FontEncoding.unicode_to_gid() a get_all_codepoints()
  • Skontrolujte metriky písma s FontMetrics: stúpanie, zostup, medzery v čiare, em-kvadrat

Typické prípady použitia

  • Pipelines na overovanie písma a extrakciu metadát
  • Kontroly CI/CD, ktoré overujú názov rodiny písma a počet znakov
  • Služby na spracovanie webových písmen, ktoré prijímajú viacero vstupných formátov.
  • Nástroje na navrhovanie písma, ktoré zobrazujú metadaty bez behu počítača

Prístup k glyfom a kontrola cesty

  • Získať glyfy podľa ID alebo Unicode s GlyphAccessor.get_glyph_by_id() a get_glyph_by_unicode()
  • Vyplňte všetky znaky pre reťaz GlyphAccessor.get_glyphs_for_text()
  • Preveriť cesty pre grafické výkresy ako zadané príkazy: MoveTo, LineTo , QuadraticTo a CurveTo.
  • Prístup k glyfovému ohraničeniu, predbežnej šírke a bočným ložiskám z vlastností Glyph
  • Prečítajte si kerningové páry z KernPair pre presné výpočty textového usporiadania.

Typické prípady použitia

  • Kontroly pokrytia glyfov pre viacjazyčné vykresľovanie textu
  • Výber prehľadov na generáciu SVG cesty alebo vektora
  • Validácia základnej tabuľky v pracovných postupoch QA písma
  • Výskum tvarovania textu a experimentovanie s layoutom na nízkej úrovni

Konverzia písma

  • Konvertuje sa medzi TTF, OTF a CFF s FontConverter.convert()
  • Pripnúť typy Bezierových krivok s CurveAdapter.quad_to_cubic() a cubic_to_quads()
  • Konvertuje cesty glyfov medzi štvorcovým a kubickým s convert_path_quad_to_cubic() a convert_path_cubic_to_quad()

Typické prípady použitia

  • Webové fonty, ktoré konvertujú TTF master fonts na WOFF2 pre distribúciu.
  • Typ liehovorného nástroja, ktorý exportuje do cieľov viacerých formátov z jedného zdroja
  • Konverzia EOT pre staré webové šírky kompatibilné s spätnou verziou
  • Automatická normalizácia formátu písma v kontinuálnej integrácii

Zmenenie písma

  • Podmnožiny písmen podľa textu Unicode s FontSubsetter.subset_by_text()
  • Podmnožina podľa zoznamu identifikátorov glyfov s FontSubsetter.subset_by_gids()
  • Vytvorenie web-optimalizovaných podmnožín s FontSubsetter.subset_for_web()
  • Použijte pomenované prednastavené profily s FontSubsetter.subset_by_presets() a available_presets()
  • Analyzujte pokrytie podmnožiny pomocou FontSubsetter.analyze_coverage() a analyze_web_coverage()

Typické prípady použitia

  • Zníženie veľkosti užitočného zaťaženia WOFF2 pre webové stránky s obmedzenými súbormi znakov
  • Výroba jazykovosobných podmnožstiev písmen pre i18n nasadenie
  • Pracovné postupy licencovania písmen, ktoré distribuujú podmnožiny súborov stránok
  • Optimalizácia výkonu pre mobilné webové aplikácie

Optimalizácia webu a predvídky variabilných písmen

  • Zbaviť si staré tabuľky a záznamy o menách Mac s FontCleaner.clean_for_web()
  • Skontrolujte kompatibilitu premenlivých osí písma s CompatibilityChecker.compare_fonts() a compare_variable_instances()
  • Vytvorte animované prehľadávanie osi APNG pomocou AnimationPreviewBuilder.build_axis_sweep()
  • Vytvorte viacstupňové animácie s AnimationPreviewBuilder.build_path()

Typické prípady použitia

  • Stránky vzorov písma a interaktívne vyhľadávače osí pre liehovary na typy
  • Rúrky CI, ktoré pred distribúciou overujú správanie sa variabilného písma
  • Webové výkonnostné potrubie, ktoré vynechávajú nepodstatné binárne tabuľky
  • Miniatúry prehľadového zobrazenia písma v aplikáciách na správu písomných znakov

Zaťažiť súbor písma

Otvorte TrueType alebo OpenTyme font z cesty súboru a prečítajte si jeho základné metadaty.

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

Prístup k glyfom pre textový reťazec

Vyřešte všetky glyfy pre Unicode kódový bod a skontrolujte ich výkresné cesty.

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)

Vytvorenie animácie pre škrtovanie premenlivých fontov

Vytvorte animovaný APNG, ktorý prechádza očiarkou variabilného písma od začiatku po konečnú hodnotu.

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

Čisté písmo pre webové nasadenie

Zrušte staré tabuľky a záznamy o menách na Mac, aby ste znížili veľkosť binárnych údajov pred webovým serverovaním.

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

Čo je Aspose.Font FOSS pre Python?

Je to bezplatná knižnica s čistým Pythonom, ktorá je licencovaná na inštaláciu, kontrolu a konverziu písmen v formátoch TTF, OTF a CFF. Nevyžaduje sa žiadne pôvodné závislosti.

Ako nainštalujem Aspose.Font FOSS pre Python?

pip install "aspose-font>=1.0.0". Nepotrebujú sa žiadne závislosti na systéme. Knižnica funguje vo Windows, macOS a Linux s Pythonom 3.10 alebo novším verziou.

Ktoré písmo sú podporované?

FontLoader.open() číta TTF, OTF , CFF, Typ 1, WOFF , WOff2 a EOT. FontConverter.convert() píše TFT, CFC, WOF a WOFL2. Eot je iba pre čítanie.

Je Font.to_bytes ((() k dispozícii?

Nie. Font.to_bytes() nie je implementovaný v základnej triede. Použite FontConverter.convert() na vytvorenie nového { PLACHAULDER _2 ] vo požadovanom formáte.

Môžem nastaviť písmo na webovú správu?

Áno. FontSubsetter.subset_by_text(font, text) vráti nový Font obsahujúci len glyfy požadované pre daný text.FontSubsetter.subset(font, codepoints) a subset_by_gids(font, gids) poskytujú jemnejšiu kontrolu.

  

Support and Learning Resources

 Slovenčina