Jak pracować z podstawowym zarządzaniem czcionkami w Python

Jak pracować z podstawowym zarządzaniem czcionkami w Python

Aspose.Font FOSS dla Python udostępnia FontLoader jako główny punkt wejścia do ładowania czcionek z ścieżek plików, tablic bajtów lub strumieni. Zwrócony obiekt Font udostępnia metadane takie jak nazwa, rodzina, styl, liczba glifów i mapa kodowania.

Przewodnik krok po kroku

Krok 1: Zainstaluj pakiet

git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .

Krok 2: Zaimportuj wymagane klasy

from aspose_font import FontLoader
from aspose_font import TtfFont

Krok 3: Załaduj czcionkę ze ścieżki pliku

Wywołaj FontLoader.open() ze ścieżką do pliku czcionki. Metoda automatycznie wykrywa format i zwraca odpowiednią podklasę Font (TtfFont, CffFont itp.):

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)

Krok 4: Uzyskaj metryki czcionki

Właściwość Font.metrics zwraca obiekt FontMetrics zawierający ascender, descender, line gap, cap height oraz inne pomiary typograficzne czcionki:

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)

Krok 5: Konwertuj do innego formatu

Przekaż załadowaną czcionkę do FontConverter.convert() z żądanym celem FontType. Metoda zwraca nowy obiekt czcionki w żądanym formacie, nie modyfikując oryginału:

from aspose_font import FontLoader
from aspose_font.converter import FontConverter  # internal API — may change between releases
from aspose_font import FontType

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

Typowe problemy i rozwiązania

FontType nie znaleziono — Import FontType z najwyższego poziomu aspose_font pakiet: from aspose_font import FontType.

Font has no attribute font_name — Upewnij się, że używasz Font instancji zwróconej przez FontLoader.open(), nie surowego obiektu bajtowego.

Błędy kodowania w ścieżkach Windows — Przekazuj ścieżki jako surowe łańcuchy znaków: r"C:\Fonts\MyFont.ttf".

Najczęściej zadawane pytania

Jakie formaty czcionek obsługuje FontLoader?

FontLoader.open() obsługuje TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT.

Czy mogę wczytać czcionkę z bajtów?

Tak. FontLoader.open() akceptuje łańcuch ścieżki pliku, bajty lub obiekt strumienia za pośrednictwem argumentu source wraz z wyraźnym parametrem font_type.

Czy metoda Font.to_bytes() jest dostępna?

Nie. Font.to_bytes(font_type) nie jest zaimplementowane w klasie bazowej. Użyj FontConverter.convert(), aby zmienić format, a następnie użyj metod zapisu podklasy.

Zobacz także

 Polski