Kako raditi s TTF fontovima u Pythonu?

Kako raditi s TTF fontovima u Pythonu?

Ovaj vodič pokazuje kako učitati TTF fontova, pregledati TtfFont Priroda, čitanje tabela, instanciate varijabilni fontovi i pretvoriti u druge formate koristeći Aspose.Font FOSS za Python. TrueType fontove (.ttfAspose.Font FOSS ih učita kao TtfFont U tom slučaju, korisnici mogu koristiti aplikacije za prevod i konverziju.

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 i u članku 1. TtfFont za učitavanje font TTF i pristup njegovim tipiranim svojstvima:

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

Korak 3: Uplatiti i provjeriti TTF font

Uplatiti TTF datoteku koristeći FontLoader.open() i čitati osnovna svojstva kao što su ime, obitelj i broj glifa:

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)

Korak 4: Pročitajte tablicu jezgra

Pristupi ttf_tables U slučaju da je to moguće, provjerite:

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)

Korak 5: Instantizacija varijabilnog font-a

Uplatiti datoteku varijabilnog font, provjerite is_variable, i pozovi instantiate() Srazvrstavanje s akselima za proizvodnju statičke primjere:

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
    static = ttf_font.instantiate({"wght": 700.0})
    print("Instantiated:", static.font_name)

Korak 6: Konvertirati u WOFF2

Konvertirajte učitavan TTF font u WOFF2 format prolazakom FontType.WOFF2 u iznosu od: FontConverter.convert():

from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType

font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)

Česta pitanja i rješenja

AttributeError: Font has no attribute ttf_tables Upotreba ttf_font: TtfFont = FontLoader.open(...). U skladu s člankom 1. ttf_tables imovina je na TtfFont, ne i baza. Font.

is_variable je False na promjenjivom fontu Neki varijabilni fontovi koriste nestandardne tipove. fvar Format tabele. provjerite ttf_font.fvar is not None Kao alternativa.

instantiate() povećanje KeyError Oznaka osovine mora biti registrirana oznaka s 4 čaja. (npr. "wght", "wdth"Članak 1. ttf_font.axes za dostupne oznake.

Česta pitanja

Koja je razlika između TTF i OTF?

OTF i TTF dijele isti binarni kontejner (SFNT). OFT fontovi obično koriste CFF konture. TTF fontovi koriste TrueType kvadratne krivulje. FontLoader.open().

Mogu li dobiti parove jezgra iz TTF font?

Da, koristi. TtfFont.get_kern_pairs() da dobijem popis… KernPair predmeti.

Podržava li knjižnica zbirke fontova (.ttc)?

Da, koristi. FontLoader.open(source, collection_index=N) da odaberete određeni font iz: U slučaju da je to moguće, podnositelj zahtjeva može zatražiti od države članice.

Također pogledajte:

 Hrvatski