Uvod u članak
Aspose.Font FOSS for Python provides a coherent set of classes for every common Upravljanje fontovima: učitavanje datoteka fontova u više formata, čitanje metapodataka i Službeni sustav za upravljanje i održavanje podataka (SMS) Ovaj vodič prolazi kroz svaku osnovnu sposobnost. U tom slučaju, u skladu s člankom 10. stavkom 1. točkom (a) i podstavcima 2. i 3. ovog članka, se primjeri radnog koda mogu koristiti za:.
Paket (aspose-font) je licenciran na MIT-u, zahtijeva Python 3.10+, i nema nikakve funkcije. Oslanjavanja na OS-nivo font biblioteke. Instalirajte s pip install aspose-font>=1.0.0.
Glavne karakteristike
Upisivanje fontova pomoću FontLoader-a
FontLoader je jedinstvena ulazna točka za sve operacije učitavanja fontova. open() Metod prihvaća put datoteke (str ili Path) i automatski otkriva format. load() Metod prihvaća sirove bajtove za radne tokove u memoriji. Oba vraćaju a Font-svrha: predmet možete odmah provjeriti.
from aspose_font.loader import FontLoader
# Load from file path — format detected automatically
font = FontLoader.open("Roboto-Regular.ttf")
# Load from raw bytes (e.g., from a network request or database blob)
with open("OpenSans-Regular.otf", "rb") as f:
font_bytes = f.read()
font = FontLoader.load(font_bytes)
Čitanje metapodataka od fontova preko osnovne klase fontov
Nakon što se učita, Font osnovna klasa izloži standardne svojstva metapodataka bez: Priroda je da se koristi za analizu binarnih font tabela. font_name, font_family, font_style, i num_glyphs U tom slučaju, Komisija može oduzeti odluku o izmjeni članka 4. stavka 1. točke (a) i staviti u promet.
from aspose_font.loader import FontLoader
font = FontLoader.open("NotoSans-Regular.ttf")
print(f"Name: {font.font_name}")
print(f"Family: {font.font_family}")
print(f"Style: {font.font_style}")
print(f"Glyphs: {font.num_glyphs}")
Glyph kodiranje i pristup
FontEncoding map Unicode kod ukazuje na ID-ove glifa. Koristite unicode_to_gid() za: pojedinačne oznake ili get_all_codepoints() U tom smislu, u skladu s člankom 3. stavkom 1. točka (a) Uredbe (EU) br. font. -Ne, ne mogu!. GlyphAccessor zatim preuzima objekte glifa po ID-u putem get_glyph_by_id(), Unicode preko get_glyph_by_unicode(), ili za tekstni niz preko get_glyphs_for_text().
from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
# Map Unicode code point to glyph ID
glyph_id = font.encoding.unicode_to_gid(0x41) # 'A'
print(f"Glyph ID for 'A': {glyph_id}")
# Retrieve glyph object
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
# Inspect path commands
for cmd in glyph.path.commands:
print(type(cmd).__name__, cmd)
Pretvaranje fontova pomoću FontConvertera
FontConverter.convert() pretvara učitavan font između podržanih formata. Prenosite font izvor i identifikacija ciljnog formata za dobivanje novog objekta font u cilju U metodologiji se primjenjuju CFF, TTF, WOFF , WOff2, EOT i Type 1 kao izvorni i pretpostavljeni. - Cilj.
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
source = FontLoader.open("MyFont.ttf")
converted = FontConverter.convert(source, target_format="woff2")
Web optimizacija s FontCleanerom
FontCleaner.clean_for_web() uklanja binarne tabele koje nisu potrebne za web font isporuka posebno DSIG, FFTM i meta ?? i trake Mac platforme (platform_id=1) Rezultat je slabija binarna koja smanjuje mrežu. Opcionalni argumenti ključnih riječi omogućuju vam da preuzmete i upotrebite sve informacije koje su potrebne za obavljanje korisne naloge. U slučaju potrebe, zadržati određene vrste tabela.
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
# Strip all legacy tables and Mac name records (default)
cleaned = FontCleaner.clean_for_web(font)
# Preserve specific metadata tables if required
cleaned_selective = FontCleaner.clean_for_web(
font,
drop_metadata_tables=False,
drop_legacy_tables=True,
drop_mac_names=True,
)
Inspekcija putanja znakova
Svaki. Glyph objekt izloži svoj kontur kao GlyphPath čiji je commands redoslijed sadrži tipirane primjere MoveTo, LineTo, QuadraticTo, CurveTo, i ClosePath. Svaka zapovijed nosi odgovarajuće koordinate na primjer, CurveTo ima: x1, y1, x2, y2, x, y omogućava vam ekstrakciju sirovog Béziera U tom slučaju, podnositelj zahtjeva može dati informacije o tome kako je utvrđeno u članku 3. stavku 1. točkom (a) ovog članka.
from aspose_font.loader import FontLoader
from aspose_font import CurveTo, LineTo
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(ord("A"))
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
curves = [cmd for cmd in glyph.path.commands if isinstance(cmd, CurveTo)]
print(f"Cubic Bezier segments in 'A': {len(curves)}")
Brzi početak
pip install aspose-font>=1.0.0
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
# Load, inspect, and clean a font in five lines
font = FontLoader.open("MyFont.ttf")
print(font.font_family, font.num_glyphs, "glyphs")
cleaned = FontCleaner.clean_for_web(font)
print("Font cleaned for web delivery")
Podržani formati
| Format: | Proračunska sredstva | Čitaj. | Pišite. |
|---|---|---|---|
| TTF | .ttf | ✓ | ✓ |
| OTF | .od | ✓ | ✓ |
| CFF | .cff | ✓ | ✓ |
| TYPE1 | .pfb / .pfa | ✓ | ✓ |
| WOFF | .-Ne, ne mogu. | ✓ | ✓ |
| WOFF2 | .woff2 | ✓ | ✓ |
| EOT | .-Ne. Ne, ne mogu. | ✓ | ✓ |
Otvoreni izvor i licenciranje
Aspose.Font FOSS for Python is MIT licensed. The source is on GitHub at Ako je to moguće, možete se prijaviti na: i paket je na PyPI kao aspose-font.