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

Aspose.Font FOSS for Python

Öppen källkod Python bibliotek för att ladda, inspektera, konvertera och skapa delmängder av TTF-, OTF-, CFF-, WOFF-, WOFF2- och EOT-typsnittsfiler.

Arbeta med teckensnitt programmatiskt i Python

Aspose.Font FOSS för Python är ett pure-Python verktygssats för att ladda, inspektera, konvertera, skapa delmängder och förhandsgranska typsnitt över TrueType-, OpenType-, CFF-, Type 1-, WOFF-, WOFF2- och EOT-format. Biblioteket körs på Python 3.10 eller senare och kräver inga externa OS-typsnittsbibliotek eller inhemska beroenden.

Biblioteket exponerar ett rent API för typsnittsladdning via FontLoader, glyfåtkomst via GlyphAccessor, formatkonvertering via FontConverter, weboptimering via FontCleaner, textmedveten delmängdsbildning via FontSubsetter, och variabelt typsnittsanimation via AnimationPreviewBuilder. Typsnittmetadata såsom namn, familj, stil, glyfantal, kodning och mått är tillgängliga via basklassen Font utan att manuellt parsa binära tabeller.

Aspose.Font FOSS är MIT-licensierad och kan installeras från PyPI med ett enda pip install-kommando. Den är lämplig för verktyg för typsnittsdesign, webfont-pipelines, glyfrenderingsmotorer och alla Python-applikationer som behöver läsa, transformera eller producera typsnittsfiler. För företagsproduktfamiljen, se Aspose.Font — Enterprise Product Family.

Fontsladdning och formatdetektering

  • Ladda in teckensnitt från filvägar eller råbyte med FontLoader.open() och FontLoader.load()
  • Automatiskt upptäcka format: TTF, OTF , CFF, WOFF , WOff2, EOT, Typ 1
  • Tillgång till metadata från teckensnitt via Font basklassen: font_name, font_family,font_style och num_glyphs
  • Läs glyfkodningskort med FontEncoding.unicode_to_gid() och get_all_codepoints()
  • Kontrollera teckensnittet med FontMetrics: uppstigning, nedstigningen, linjespel, em-kvadrat

Typiska användningsfall

  • Pipelines för fontvalidering och metadatautvinning
  • CI/CD-kontroll som kontrollerar teckensnittfamiljnamn och antal glyfer
  • Webbfontservice som accepterar flera inmatningsformat.
  • Fontskickarverktyg som visar metadata utan en skrivbords körtid

Glyph-åtkomst och väginspektion

  • Hämta glyphs efter ID eller Unicode med GlyphAccessor.get_glyph_by_id() och get_glyph_by_unicode()
  • Lös upp alla glyphs för en sträng med GlyphAccessor.get_glyphs_for_text()
  • Inspektera glyphs konturvägar som skrivna kommandon: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Åtkomst till glyphs bounding box, advance width och side bearings från Glyph egenskaper
  • Läs kerningpar från KernPair för exakta text‑layoutberäkningar

Typiska användningsfall

  • Glyph-täckningskontroll för flerspråkig textutbildning
  • Utvinning av skisser för SVG-vägs- eller vektorgenerering.
  • Validering av kärntabell i arbetsflöden för QA-typer
  • Forskning om textformgivning och experiment med layout på låg nivå

Fontsomvandling

  • Konvertera mellan TTF, OTF och CFF med FontConverter.convert()
  • Anpassa Bezier-kurvtyper med CurveAdapter.quad_to_cubic() och cubic_to_quads()
  • Konvertera glyfvägar mellan kvadratiska och kubiska med convert_path_quad_to_cubic() och convert_path_cubic_to_quad()

Typiska användningsfall

  • Webbfontspipelines som konverterar TTF-masterfont till WOFF2 för distribution.
  • Typgjutverktyg som exporterar till flera formatmål från en källa
  • Traditionell EOT-konvertering för bakåtkompatibla webbtypsstackar
  • Automatiserad normalisering av teckensnittformat i kontinuerlig integration

Fontsubsättning

  • Fontsubsättning av Unicode-text med FontSubsetter.subset_by_text()
  • Subset med glyph ID-lista med FontSubsetter.subset_by_gids()
  • Skapa webboptimerade delgrupper med FontSubsetter.subset_for_web()
  • Applicera namngivna förinställda profiler med FontSubsetter.subset_by_presets() och available_presets()
  • Analysera underuppsättningens täckning med FontSubsetter.analyze_coverage() och analyze_web_coverage()

Typiska användningsfall

  • Minskning av användarstorleken för WOFF2 på webbsidor med begränsade teckensätt
  • Tillverkning av språkspecifika typsnitt-undergrupper för i18n-utbyggnader
  • Fontslicensarbetsflöden som distribuerar delgrupper per sid-sätt
  • Optimering av prestanda för mobila webbapplikationer

Webboptimering och varierande förhandsgranskningar av teckensnitt

  • Strip äldre tabeller och Mac namn poster med FontCleaner.clean_for_web()
  • Kontrollera att variabelns teckensnitt är kompatibla med CompatibilityChecker.compare_fonts() och compare_variable_instances()
  • Generera animerade APNG-axleffekter med AnimationPreviewBuilder.build_axis_sweep()
  • Bygg flera steg animering vägar med AnimationPreviewBuilder.build_path()

Typiska användningsfall

  • Fontspråkssidor och interaktiva axelplottrar för typgjuterier
  • CI-pipelines som kontrollerar variabelt teckensnitt före distribution.
  • Webbprestationspipelines som släpper bort icke-viktiga binära tabeller.
  • Miniatyrbilder för att se förebild av teckensnitt i program för teckenhantering

Ladda in en fil med teckensnitt

Öppna en TrueType- eller OpenTyper-typsnitt från filvägen och läs dess grundläggande 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

Glyfer för textsträngar

Läs upp alla glyfer för en Unicode-kod och kontrollera deras utformningsvägar.

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)

Generera en animation med ett varierande teckensnitt

Skapa en animerad APNG som sveper över en variabel teckensnittsak från start till slutvärde.

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 skrifttyp för webbutveckling

Strippa gamla tabeller och Mac-namnspår för att minska binärstorleken innan webbservering.

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

Vanliga Frågor

Vad är Aspose.Font FOSS för Python?

Det är ett fritt, MIT-licensierat rent Python bibliotek för att ladda, inspektera, konvertera och underställa teckensnitt i TTF, OTF , CFF, Typ 1, WOFF , WOff2 och EOT format. Inga infödda beroenden krävs.

Hur installerar jag Aspose.Font FOSS för Python?

Kör pip install "aspose-font>=1.0.0". Inga systemnivåberoenden behövs. Biblioteket fungerar på Windows, macOS och Linux med Python 3.10 eller senare.

Vilka teckensnittstjänster stöds?

FontLoader.open() läser TTF, OTF , CFF, Typ 1, WOFF , WOff2 och EOT. FontConverter.convert() skriver TFT, CFC, WOFF och WOFL2.

Är Font.to_bytes ((() tillgängligt?

Nej. Font.to_bytes() är inte implementerad i basklassen. Använd FontConverter.convert() för att producera en ny Font i önskat format.

Kan jag subsettera en skrift för webbleverans?

Ja. FontSubsetter.subset_by_text(font, text) returnerar ett nytt Font som bara innehåller de glyfer som krävs för den givna texten.FontSubsetter.subset(font, codepoints) och subset_by_gids(font, gids) ger finare kontroll.

  

Stöd och Lärande Resurser

 Svenska