Πώς να εργαστείτε με τα γραμματοσειρά CFF στο Python

Πώς να εργαστείτε με τα γραμματοσειρά CFF στο Python

Το CFF (Compact Font Format) είναι η μορφή εξώφυλας που χρησιμοποιείται μέσα σε γραμματοσειρά OpenType και σταθερή. .cff Το FOSS αντιπροσωπεύει τις γραμματοσειρές CFF ως CffFont Οι περιπτώσεις, οι οποίες επεκτείνουν Η βάση Font -Εκτυλίσσεται και παρουσιάζεται τα δεδομένα του CFF.

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

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

pip install "aspose-font>=1.0.0"

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

from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont
from aspose_font import FontType

Βήμα 3: Κατεβάστε ένα κείμενο CFF

Κλήση FontLoader.open() Με το δρόμο προς την δική σου .cff Το αντικείμενο που επιστρέφει είναι ένα CffFont παραδείγματα που εκθέτουν τον αριθμό του γλυφίου, το όνομα γραμματοσειράς και τις ιδιότητες CFF:

font = FontLoader.open("MyFont.cff")
print(font.font_name)
print(font.num_glyphs)

Βήμα 4: Πρόσβαση σε ζεύγη πυρήνων

Κάντε το φορτισμένο γράμμα στο CffFont,Στη συνέχεια καλέστε get_kern_pairs() Δεν υπάρχουν όλα τα κείμενα CFF που περιέχουν δεδομένα πυρήνα. ελέγξτε το μήκος πριν ιταρίσετε:

from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont

cff_font: CffFont = FontLoader.open("MyFont.cff")
kern_pairs = cff_font.get_kern_pairs()
print(f"kern pairs: {len(kern_pairs)}")

Βήμα 5: Μετατρέψτε το CFF σε TTF

Πέρασε το φορτισμένο CffFont Για να FontConverter.convert() Με FontType.TTF Να παράγει ένα νέο TtfFont Σε μορφή TTF:

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

font = FontLoader.open("MyFont.cff")
ttf = FontConverter.convert(font, FontType.TTF)

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

CffFont has no attribute cff_fontcff_font Είναι ιδιοκτησία σε TtfFont Αυτό το επιστρέφει τα ενσωματωμένα δεδομένα CFF, όχι στη βάση Font Για την χρήση των αρχείων CFF μεμονωμένα CffFont απευθείας .

Αδειά ζευγάρια πυρήνων — Όχι όλες οι γραμματοσειρές CFF περιέχουν στοιχεία ζευγαριών πυρήνων. len(cff_font.get_kern_pairs()) > 0 Πριν από την ιταλία.

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

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

CffFont Αντιπροσωπεύει τα αρχεία CFF. TtfFont αντιπροσωπεύει αρχεία TTF/OTF· ένα OTF Μπορεί να περιλαμβάνει ένα CFF outline που είναι προσβάσιμο μέσω ttf_font.cff_font.

Μπορώ να μετατρέψω ένα γράμμα CFF σε WOFF2;?

Ναι . FontConverter.convert(font, FontType.WOFF2) Εργάζεται με οποιοδήποτε Font ΕΡΓΑΣΙΑ συμπεριλαμβανομένων CffFont.

Δείτε επίσης

 Ελληνικά