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

Aspose.Font FOSS for Python

Open‑source Python bibliotek til indlæsning, inspektion, konvertering og udtræk af TTF-, OTF-, CFF-, WOFF-, WOFF2- og EOT‑skrifttypefiler.

Arbejde med skrifttyper programmeret i Python

Aspose.Font FOSS for Python er et rent-Python værktøjssæt til indlæsning, inspektion, konvertering, udvælgelse og forhåndsvisning af skrifttyper på tværs af TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 og EOT-formater. Biblioteket kører på Python 3.10 eller senere og kræver ingen eksterne OS-skrifttypebiblioteker eller native afhængigheder.

Biblioteket eksponerer en ren API til skrifttypeindlæsning via FontLoader, glyph-adgang via GlyphAccessor, formatkonvertering via FontConverter, weboptimering via FontCleaner, tekstbevidst udvælgelse via FontSubsetter, og variabel skrifttypeanimation via AnimationPreviewBuilder. Skrifttype-metadata såsom navn, familie, stil, glyph-antal, kodning og målinger er tilgængelige gennem Font baseklassen uden manuel parsing af binære tabeller.

Aspose.Font FOSS er MIT-licenseret og kan installeres fra PyPI med en enkelt pip install-kommando. Det er egnet til skrifttype-designværktøjer, web-skrifttype-pipelines, glyph-renderingsmotorer og enhver Python applikation, der har brug for at læse, transformere eller producere skrifttypefiler. For enterprise-produktfamilien, se Aspose.Font — Enterprise Product Family.

Fontsindtagning og formatdetektering

  • Indlæs skrifttyper fra filstier eller rå bytes med FontLoader.open() og FontLoader.load()
  • Automatisk registrer format: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • Få adgang til skrifttype‑metadata via den Font grundklasse: font_name, font_family, font_style, num_glyphs
  • Læs glyph‑kodningskort med FontEncoding.unicode_to_gid() og get_all_codepoints()
  • Undersøg skrifttype‑målinger med FontMetrics: ascent, descent, line gap, em-square

Typiske anvendelsestilfælde

  • Pipelines til fontvalidering og metadataekstraktion
  • CI/CD-kontrol, der bekræfter skriftfamiliens navn og antallet af glyfer
  • Webfonteindtagningsservicer, der accepterer flere indgangsformater
  • Skriftdesignværktøjer, der viser metadata uden en desktop-udkørsel

Glyph-adgang og vejkontrol

  • Hent glyphs efter ID eller Unicode med GlyphAccessor.get_glyph_by_id() og get_glyph_by_unicode()
  • Løs alle glyphs for en streng med GlyphAccessor.get_glyphs_for_text()
  • Undersøg glyph-omridsstier som indtastede kommandoer: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Få adgang til glyphs’ begrænsningsboks, fremadgående bredde og sidebæringer fra Glyph-egenskaberne
  • Læs kerning-par fra KernPair for nøjagtige tekstlayout-beregninger

Typiske anvendelsestilfælde

  • Glyph-dækningskontrol for flersproget tekstgennemførelse
  • Udtrækning af skitser til SVG-banegeneration eller vektorgenerering
  • Validering af kerningstabeller i QA-arbejdsstrømme for skrifttyper
  • Tekstformningsforskning og lavt niveau for layoutforsøg

Skriftkonvertering

  • Konvertere mellem TTF, OTF og CFF med FontConverter.convert()
  • Tilpas Bezier-kurvetyper med CurveAdapter.quad_to_cubic() og cubic_to_quads()
  • Konvertere glyph stier mellem kvadratisk og kubisk med convert_path_quad_to_cubic() og convert_path_cubic_to_quad()

Typiske anvendelsestilfælde

  • Webfont-pipelines, der konverterer TTF-masterfonter til WOFF2 for distribution
  • Type støbning værktøj, der eksporterer til flere format mål fra en kilde
  • EOT-konvertering af gamle webfontstabeller, der er bagudkompatible
  • Automatiseret normalisering af skrifttypeformat i kontinuerlig integration

Skriftindstilling

  • Fontsæt efter Unicode-tekst med FontSubsetter.subset_by_text()
  • Subsæt efter glyph ID-liste med FontSubsetter.subset_by_gids()
  • Opret weboptimerede undermængder med FontSubsetter.subset_for_web()
  • Anvend navngivne forudindstillede profiler med FontSubsetter.subset_by_presets() og available_presets()
  • Analyser undermængde dækning med FontSubsetter.analyze_coverage() og analyze_web_coverage()

Typiske anvendelsestilfælde

  • Reduktion af WOFF2-nyttige belastningsstørrelse for websider med begrænsede tegnemængder
  • Fremstilling af sprogspecifikke fontundermængder til i18n-udviklinger
  • Fontsikringsarbejdsforløb, der distribuerer undermængder pr. side-indstilling
  • Optimering af ydeevnen for mobile webapplikationer

Weboptimering og variable skrifttyper forbilleder

  • Strip gamle tabeller og Mac navneoptegnelser med FontCleaner.clean_for_web()
  • Kontrollér, om variablen er kompatibel med CompatibilityChecker.compare_fonts() og compare_variable_instances()
  • Generer animerede APNG-aksefejl med AnimationPreviewBuilder.build_axis_sweep()
  • Opbyg flere trin animation stier med AnimationPreviewBuilder.build_path()

Typiske anvendelsestilfælde

  • Skrifteksemplarer og interaktive akseforsker til typegulderier
  • CI-pipelines, der kontrollerer variabel skrifttypeforekomst før distribution
  • Web-præstationsrørledninger, der dropper ikke-essentielle binære tabeller
  • Fontsynthumbnails til skrifttypeforvaltningsanvendelser

Indlæse en skrifttypefil

Åbn en TrueType- eller OpenTyper-font fra en filvej og læs dens grundlæggende metadata.

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

Tilgang til glyfer for en tekststring

Løs alle glyfer for et Unicode-kodepunkt og tjek deres skitseveje.

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)

Generer en variabel font-akse-sving animation

Oprette et animeret APNG, der sweeper en variabel font-akse fra start til slutværdi.

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

Rengør en skrifttype til webindsatsning

Stripe gamle tabeller og Mac navneoptegnelser for at reducere binær størrelse før web servering.

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

Ofte stillede spørgsmål

Hvad er Aspose.Font FOSS for Python?

Det er et gratis, MIT-licenseret rent Python bibliotek til at indlæse, inspicere, konvertere og undersætte skrifttyper i TTF, OTF , CFF, Type 1, WOFF , WOff2 og EOT formater. Ingen native afhængigheder kræves.

Hvordan installerer jeg Aspose.Font FOSS til Python?

pip install "aspose-font>=1.0.0" skal køre. Der er ikke behov for systemniveau afhængigheder Biblioteket fungerer på Windows, macOS og Linux med Python 3.10 eller nyere.

Hvilke skrifttyper understøttes?

FontLoader.open() læser TTF, OTF og CFF. FontConverter.convert() skriver TFT, CF og WOFF2. EOT er kun læsningstjeneste.

Er Font.to_bytes ((() tilgængelig?

Nej. Font.to_bytes() er ikke implementeret i basisklassen. Brug FontConverter.convert() til at producere et nyt Font i det ønskede format.

Kan jeg indføre en skrifttype til weblevering?

Ja. FontSubsetter.subset_by_text(font, text) returnerer en ny Font, der kun indeholder de symbolskilder, som kræves for den givne tekst.FontSubsetter.subset(font, codepoints) og subset_by_gids(font, gids) giver finere kontrol.

  

Support og læringsressourcer

 Dansk