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 TtfFontKrok 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.