Kako raditi s WOFF fontovima u Pythonu?
Ovaj vodič pokazuje kako učitati, pregledati i pretvoriti WOFF i WOff2 web fontove koristeći Aspose.Font FOSS za Python. WOF je standard za isporuku fonta na webu. Wof 1 koristi kompresiju zlib-a a Wov 2 upotrebljava Brotli kompresu, oboje okružujući temeljni TrueType ili CFF font. Foss učita oba formata i izloži unutarnje podatke o fontovima kroz čist API.
Korak po korak vodič
Korak 1: Instaliraj paket
Instalirajte paket Aspose.Email FOSS iz PyPI pomoću naredbe pip:
pip install "aspose-font>=1.0.0"Korak 2: Uvoz zahtjevnih klasa
Uvoz FontLoader, FontConverter, i FontType za učitavanje i pretvaranje WOFF fontova:
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontTypeKorak 3: Uplatiti i provjeriti WOFF font
Uplatiti WOFF datoteku s: FontLoader.open() i čitati osnovna svojstva kao što su ime, obitelj i broj glifa:
from aspose_font.loader import FontLoader
woff_font = FontLoader.open("MyFont.woff")
print(f"Name: {woff_font.font_name}")
print(f"Family: {woff_font.font_family}")
print(f"Glyphs: {woff_font.num_glyphs}")
print(f"Type: {woff_font.font_type}")Korak 4: Pročitajte WOFF metapodatke
WOFF datoteke mogu sadržavati XML blok metapodataka s licenciranjem, kreditima i Pristup putem Internet-a. metadata_xml imovina.
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.woff")
# WOFF fonts may include an XML metadata block
xml = getattr(font, "metadata_xml", None)
if xml:
print(xml)
else:
print("No metadata in this WOFF file")Korak 5: Pristup unutarnjim TTF tablicama
Oboje. WoffFont i u članku 1. Woff2Font izložiti i inner_font imovina koja daje Ti si podrijetlo. TtfFont.-Tako možete pristupiti svim standardnim… OpenType tabele.
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.woff")
# WOFF wraps a TrueType font; access its tables via inner_font
inner = getattr(font, "inner_font")
tables = inner.ttf_tables
print(f"Units/em: {tables.head.units_per_em}")
print(f"Family name: {tables.name.best_name(1)}")Korak 6: Pretvoriti TTF u WOFF
Uplatiti TTF font i pretvoriti ga u WOFF format prolazeći FontType.WOFF u iznosu od: FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
ttf_font = FontLoader.open("MyFont.ttf")
woff_font = FontConverter.convert(ttf_font, FontType.WOFF)
woff_bytes = woff_font.to_bytes()
from pathlib import Path
Path("MyFont.woff").write_bytes(woff_bytes)Korak 7: Konvertirati TTF u WOFF2
Uplatiti TTF font i pretvoriti ga u WOFF2 format prolazeći FontType.WOFF2 u iznosu od: FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
ttf_font = FontLoader.open("MyFont.ttf")
woff2_font = FontConverter.convert(ttf_font, FontType.WOFF2)
woff2_bytes = woff2_font.to_bytes()
from pathlib import Path
Path("MyFont.woff2").write_bytes(woff2_bytes)Korak 8: Konvertirati između WOFF i WOff2
Konvertirajte učitavanu datoteku WOFF u WOff2 (ili obrnuto) prolaženjem cilja FontType u iznosu od: FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
# WOFF -> WOFF2
woff_font = FontLoader.open("MyFont.woff")
woff2_font = FontConverter.convert(woff_font, FontType.WOFF2)
# WOFF2 -> WOFF
woff2_font = FontLoader.open("MyFont.woff2")
woff_font = FontConverter.convert(woff2_font, FontType.WOFF)Česta pitanja i rješenja
FontParseException: Invalid WOFF signature Datoteka nije valjan WOFF Provjerite da datoteka nije pokvarena i počinje s WOFF čarobnim bajtovima.
FontParseException: WOFF table decompression failed Kompresirani stol Pokušajte ponovno preuzeti datoteku font.
Izlaz velike WOFF2 emisije WOFF2 koristi Brotli kompresiju koja proizvodi manje količine. Ako je vaš WOFF2 izlaz neočekivano velik, osigurati da se u svakom slučaju ne pojavljuje ni jedan od tih datoteka. Počinjete s optimiziranim izvorom TTF-a.
Česta pitanja
Koja je razlika između WOFF-a i WOff2?
WOFF 1 koristi kompresiju zlib, a WOff 2 upotrebljava Brotli. WOF2 obično postiže 20-30% bolju kompresu od WOFC 1. Oboje okovavaju iste temeljne podatke TrueType ili CFF font-a.
Mogu li pristupiti font tablicama iz WOFF datoteke?
Da, koristi… inner_font imovina za dobivanje osnovnog TtfFont,Onda… pristupnim stolovima putem inner_font.ttf_tables.
Da li knjižnica podržava WOFF metapodatke?
Da, i jedno i drugo. WoffFont i u članku 1. Woff2Font izložiti metadata_xml imovina U ovom slučaju, u skladu s člankom 16. stavkom 1. točkom (a) Uredbe (EU) br. 1071/2013:.