Πώς να εργαστείτε με TTF Fonts στο Python

Πώς να εργαστείτε με TTF Fonts στο Python

Αυτό το οδηγό δείχνει πώς να φορτώσετε τις γραμματοσειρές TTF, ελέγξτε TtfFont ιδιότητες, διαβάστε πίνακες, αμέσως μεταβλητές γραμματοσειρές και μετατρέψτε σε άλλες μορφές χρησιμοποιώντας το Aspose.Font FOSS για Python..ttf) είναι η πιο κοινή μορφή γραμματοσειράς. Aspose.Font FOSS τα φορτώνει ως TtfFont παραδείγματα, παρέχοντας πρόσβαση σε πίνακες, μεταβλητές οξές γραμματοσειράς, δεδομένα glyph και εργαλεία μετάβασης.

Βήμα προς βήμα οδηγός

Βήμα 1: Εγκατάσταση του πακέτου

Εγκαταστήστε το πακέτο Aspose.Font FOSS από την PyPI χρησιμοποιώντας τη διαταγή pip παρακάτω:

pip install "aspose-font>=1.0.0"

Βήμα 2: Εισαγωγή απαιτούμενων τάξεων

εισαγωγών FontLoader και TtfFont να φορτώσετε μια γραμματοσειρά TTF και να έχετε πρόσβαση στις τυποποιημένες ιδιότητές της:

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

Βήμα 3: Κατεβάστε και ελέγξτε μια γραμματοσειρά TTF

Κατεβάστε ένα αρχείο TTF χρησιμοποιώντας FontLoader.open() Διαβάστε τα βασικά χαρακτηριστικά, όπως το όνομα, η οικογένεια και ο αριθμός του γλυφίου:

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

Βήμα 4: Διαβάστε το Κορυφορικό Πίνακας

Πρόσβαση στο ttf_tables ιδιοκτησία και ελέγξτε για την παρουσία του πυρήνα πίνακα με όνομα:

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

Βήμα 5: Επαναλάβετε μια μεταβλητή γραφή

Κατεβάστε ένα μεταβλητό αρχείο γραμματοσειράς, ελέγξτε is_variable,και καλείται instantiate() με ένα λεξικό οξέας για να παράγει μια στατική περίπτωση:

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)

Βήμα 6: Μετατροπή σε WOFF2

Μετατρέψτε μια φορτισμένη γραμματοσειρά TTF σε μορφή WOFF2 με την περάτωση FontType.WOFF2 Για να 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)

Κοινά προβλήματα και τακτοποιήσεις

AttributeError: Font has no attribute ttf_tables - Χρησιμοποιήστε ttf_font: TtfFont = FontLoader.open(...). Η ttf_tables Η ιδιοκτησία είναι σε TtfFont,Όχι η βάση Font.

is_variable Είναι ψεύτικο σε μια μεταβλητή γραφή - Μερικές μεταβλητές γραμματοσειρές χρησιμοποιούν ένα μη τυποποιημένο fvar Ετικέτες: check ttf_font.fvar is not None ως εναλλακτική λύση.

instantiate() Αύξηση KeyError - Η ετικέτα οξουαλικής στήλης πρέπει να είναι μια καταχωρισμένη εικονική σήμανση 4 τρ. (ΓΕΝΙΚΑ ΣΤΗΝ Ε.Σ. "wght", "wdth"• Ελέγξτε ttf_font.axes για τις διαθέσιμες ετικέτες.

Συχνές ερωτήσεις

Ποια είναι η διαφορά μεταξύ TTF και OTF;?

OTF και TTF μοιράζονται το ίδιο δυαδικό δοχείο (SFNT). τα γραμματοσειρά του OTf χρησιμοποιούν συνήθως τις εκδόσεις CFF ενώ τα κείμενα TTF χρησιμοποιούν TrueType τετραγωνικές κουρδίες. και οι δύο φορτίζονται από FontLoader.open().

Μπορώ να πάρω ζεύγη πυρήνων από μια γραφή TTF;?

Ναι, χρησιμοποιήστε το TtfFont.get_kern_pairs() Για να βγάλουμε μια λίστα με KernPair αντικειμένων .

Η βιβλιοθήκη υποστηρίζει συλλογές γραμματοσειρών (.ttc);?

Ναι, χρησιμοποιήστε το FontLoader.open(source, collection_index=N) Επιλέξτε ένα συγκεκριμένο γράμμα από Εισαγωγή αρχείου TTC.

Δείτε επίσης

 Ελληνικά