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

Aspose.Font FOSS for Python

Biblioteca Python de codi obert per a carregar, inspeccionar, convertir i crear subconjunts de fitxers de fonts TTF, OTF, CFF, WOFF, WOFF2 i EOT.

Treballar amb fonts programadament en Python

Aspose.Font FOSS per a Python és un conjunt d’eines pur-Python per a carregar, inspeccionar, convertir, crear subconjunts i previsualitzar tipografies en formats TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 i EOT. La biblioteca s’executa a Python 3.10 o posterior i no requereix biblioteques de tipografies del SO externes ni dependències natives.

La biblioteca exposa una API neta per a la càrrega de tipografies via FontLoader, accés a glifs via GlyphAccessor, conversió de formats via FontConverter, optimització web via FontCleaner, subconjunt conscient del text via FontSubsetter, i animació de tipografies variables via AnimationPreviewBuilder. Les metadades de la tipografia com ara nom, família, estil, nombre de glifs, codificació i mètriques són accessibles a través de la classe base Font sense analitzar manualment les taules binàries.

Aspose.Font FOSS té llicència MIT i es pot instal·lar des de PyPI amb una única comanda pip install. És adequat per a eines de disseny de tipografies, canals de tipografies web, motors de renderització de glifs i qualsevol aplicació Python que necessiti llegir, transformar o generar fitxers de tipografia. Per a la família de productes empresarials, vegeu Aspose.Font — Enterprise Product Family.

Carregament de fonts i detecció del format

  • Carregar fonts des de camins o bytes en bruto amb FontLoader.open() i FontLoader.load()
  • Format de detecció automàtica: TTF, OTF , CFF, WOFF , WOff2, EOT, tipus 1
  • Accedeix a les metadades de font mitjançant la classe base Font: font_name, font_family , font_style i num_glyphs
  • Llegeix els mapes d’encriptació de glifs amb FontEncoding.unicode_to_gid() i get_all_codepoints()
  • Inspeccionar mètriques de font amb FontMetrics: ascens, descens , intercalació de línia , em-quadrat

Casos d'ús típics

  • Pipelines de validació de fonts i d’extracció d"metadades
  • Controles CI/CD que verifiquen el nom de la família de fonts i el nombre d’glifs.
  • Serveis de recepció de fonts web que accepten múltiples formats d’entrada.
  • Fermeria de disseny de fonts que mostra metadades sense un temps d’execució per a la màquina de treball.

Accés a glifs i inspecció de la ruta

  • Recupera glifs per ID o Unicode amb GlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()
  • Obté tots els glifs d’una cadena amb GlyphAccessor.get_glyphs_for_text()
  • Inspecciona els camins del contorn del glif com a ordres escrites: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • Accedeix a la caixa delimitadora del glif, l’amplada d’avançament i les bearings laterals des de les propietats Glyph
  • Llegeix les parelles de kerning des de KernPair per a càlculs precisos de disposició de text

Casos d'ús típics

  • Controles de cobertura d’glifos per a la reproducció multilingüe del text
  • Extracció de contorns per a la generació de camins o vectors SVG.
  • Validació de la taula central en els fluxos de treball QA de fonts
  • Investigació en la configuració de textos i experimentació amb layouts a baix nivell

Conversió de fonts

  • Converteix entre TTF, OTF , CFF, WOFF , WOff2, EOT i Tip 1 amb FontConverter.convert()
  • Adaptar els tipus de corba de Bezier amb CurveAdapter.quad_to_cubic() i cubic_to_quads()
  • Convertir camins de glifs entre quadrats i cúbics amb convert_path_quad_to_cubic() i convert_path_cubic_to_quad()

Casos d'ús típics

  • Pipelines de fonts web que converteixen les fonts màsters TTF a WOFF2 per distribuir-les.
  • Oferta de fosa que exporta a múltiples formats d’un format des d’una font.
  • Conversió EOT antiga per a piles de fonts web compatibles amb l’esquena.
  • Normalització automàtica de formats de fonts en integració contínua

Subsets de fonts

  • Subconjunt de fonts per text Unicode amb FontSubsetter.subset_by_text()
  • Subconjunt per llista d’identificació de glifs amb FontSubsetter.subset_by_gids()
  • Produir subsets web-optimitzats amb FontSubsetter.subset_for_web()
  • Aplicar perfils predeterminats amb nom FontSubsetter.subset_by_presets() i available_presets()
  • Anàlisi de la cobertura del subconjunt amb FontSubsetter.analyze_coverage() i analyze_web_coverage()

Casos d'ús típics

  • Reducció de la mida de càrrega útil WOFF2 per a pàgines web amb conjunts limitats de caràcters.
  • Producció de subconjuts d’escriptura específics per a les implementacions i18n.
  • Fluxos de treball per a llicències de fonts que distribueixen subconjuntats d’ensems per pàgina
  • Optimització del rendiment per a aplicacions web mòbils

Optimització web i previsions de fonts variables

  • Descarregar les taules legades i els registres de noms Mac amb FontCleaner.clean_for_web()
  • Comprovar la compatibilitat de l’eix de font amb CompatibilityChecker.compare_fonts() i compare_variable_instances()
  • Generar barrits d’eix APNG animats amb AnimationPreviewBuilder.build_axis_sweep()
  • Construeix camins d’animació de múltiples passos amb AnimationPreviewBuilder.build_path()

Casos d'ús típics

  • Pàgines de mòduls de fonts i exploradors d’eix interactivos per a fonderis de tipus
  • Pipelines de CI que verifiquen el comportament variable de la font abans de distribuir-la.
  • Pipelines de rendiment web que abandonen les taules binàries no essencials.
  • Miniatures de vista prèvia de fonts per a aplicacions de gestió de lletra.

Carregar un arxiu de fonts

Obre una font de TrueType o OpenTyme des d’una ruta de fitxer i llegeix les seves metadades bàsiques.

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

Accedir a glifs per una cadena de text

Resolver tots els glifs per a un punt de codi Unicode i inspeccionar les seves rutes del contorn.

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)

Generar una animació de barriment d’eixes de font variable

Crear un APNG animat que barreja l’eix de font variable des del valor inicial fins al final.

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

Netegar una font per a la desplegament web

Descarregar les taules legades i els registres de noms Mac per reduir la mida binària abans del servidor web.

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

Preguntes freqüents

Què és Aspose.Font FOSS per a Python?

És una biblioteca de Python lliure, amb llicència MIT per a carregar, inspeccionar, convertir i subregular fonts en formats TTF, OTF , CFF, Type 1, WOFF , WOff2 i EOT. No es requereixen dependències natives .

Com instal·lo Aspose.Font FOSS per a Python?

Executeu pip install "aspose-font>=1.0.0". No es necessiten dependències a nivell de sistema. La biblioteca funciona a Windows, macOS i Linux amb Python 3.10 o posterior.

Quins formats de lletra són compatibles?

FontLoader.open() llegeix TTF, OTF , CFF, Tip 1, WOFF , WOff2 i EOT. FontConverter.convert() escriu TFT, CFC, WOF, i WOFL2.

Font.to_bytes() està disponible?

No. Font.to_bytes() no està implementat en la classe base. Utilitza FontConverter.convert() per produir un nou Font al format desitjat.

Puc subconfigurar una font per a la distribució web?

Sí. FontSubsetter.subset_by_text(font, text) retorna un nou Font que conté només els glifs necessaris per al text donat.FontSubsetter.subset(font, codepoints) i subset_by_gids(font, gids) donen control més fin.

  

Suport i recursos d aprenentatge

 Català