Εισαγωγή

Aspose.Font FOSS for Python provides a coherent set of classes for every common εργασία διαχείρισης γραμματοσειρών: φόρτωση αρχείων γραμμάτων σε πολλαπλές μορφές, ανάγνωση μεταδεδομένων και δεδομένα glyph, μετατροπή μεταξύ μορφών, υποκατάσταση για την παράδοση του διαδικτύου και καθαρισμό Δυαδικές πίνακες για το βέλτιστο μέγεθος αρχείου.Αυτό το οδηγό περνά μέσα από κάθε πυρήνα ικανότητα με παραδείγματα κώδικα εργασίας που απορρέουν από την επαληθευμένη API της βιβλιοθήκης.

Το πακέτο (aspose-fontΗ άδεια είναι MIT, απαιτεί Python 3.10+, και δεν έχει άδειες. Λογισμικό βιβλιοθήκης λειτουργικού επιπέδου. εγκαταστήστε το με pip install aspose-font>=1.0.0.


Βασικά Χαρακτηριστικά

Εισαγωγή FontLoader με τη χρήση Font Loader

FontLoader είναι το μοναδικό σημείο εισόδου για όλες τις λειτουργίες φόρτισης γραμματοσειράς. open() Η μέθοδος αποδέχεται ένα αρχείο (str ή Path) και αυτόματα ανιχνεύει τη μορφή. load() Η μέθοδος αποδέχεται τα πρώτα byte για τις ροές εργασίας στη μνήμη. και οι δύο επιστρέφουν το FontΤΙΠΗ αντικείμενα που μπορείτε να ελέγξετε αμέσως.

from aspose_font.loader import FontLoader

# Load from file path — format detected automatically
font = FontLoader.open("Roboto-Regular.ttf")

# Load from raw bytes (e.g., from a network request or database blob)
with open("OpenSans-Regular.otf", "rb") as f:
    font_bytes = f.read()
font = FontLoader.load(font_bytes)

Διαβάστε τα μεταδεδομένα γραμματοσειράς μέσω της κατηγορίας βάσης γραμμάτων

Μόλις φορτωθεί, η Font Η βάση της κατηγορίας εκθέτει τις τυποποιημένες ιδιότητες των μεταδεδομένων χωρίς απαιτούν από εσάς να διαχωρίσετε τα τραπέζια δυαδικών γραμματοσειρών. font_name, font_family, font_style,και num_glyphs καλύπτει τις πιο κοινές ανάγκες μετεδεμένων.

from aspose_font.loader import FontLoader

font = FontLoader.open("NotoSans-Regular.ttf")
print(f"Name:   {font.font_name}")
print(f"Family: {font.font_family}")
print(f"Style:  {font.font_style}")
print(f"Glyphs: {font.num_glyphs}")

Glyph κρυπτογράφηση και πρόσβαση

FontEncoding Χάρτες Unicode κωδικούς σημεία για glyph IDs. unicode_to_gid() Για Μία μονάδα κώδικα ή get_all_codepoints() Να αναφέρετε την πλήρη κάλυψη της Η ΦΟΡΤ. GlyphAccessor Στη συνέχεια, ανακτά αντικείμενα glyph με ID μέσω get_glyph_by_id(), Ο Μονάχα μέσω get_glyph_by_unicode(),ή για ένα κείμενο με το get_glyphs_for_text().

from aspose_font.loader import FontLoader

font = FontLoader.open("OpenSans-Regular.otf")

# Map Unicode code point to glyph ID
glyph_id = font.encoding.unicode_to_gid(0x41)  # 'A'
print(f"Glyph ID for 'A': {glyph_id}")

# Retrieve glyph object
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)

# Inspect path commands
for cmd in glyph.path.commands:
    print(type(cmd).__name__, cmd)

Μετατροπή γραμματοσειρών με το FontConverter

FontConverter.convert() μετατρέπεται ένα φορτισμένο γράμμα μεταξύ υποστηριζόμενων μορφών. Πηγή γραμματοσειρά και το αναγνωριστικό μορφής στόχου για να πάρετε ένα νέο αντικείμενο γραμμάτων στο στόχο Η μέθοδος χειρίζεται το CFF, TTF, WOFF , Woff2, EOT και Type 1 ως πηγή και Στόχος .

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

source = FontLoader.open("MyFont.ttf")
converted = FontConverter.convert(source, target_format="woff2")

Βελτιστοποίηση Web με το FontCleaner

FontCleaner.clean_for_web() Απομακρύνει τα δυαδικά δίσκους που είναι περιττά για το web Η παράδοση γραμματοσειρών – ειδικά DSIG, FFTM και meta – και τα κομμάτια της πλατφόρμας Mac (platform_id=1) όνομα εγγραφές από τον πίνακα ονόματος. το αποτέλεσμα είναι ένα πιο αδύναμο δυαδικό που μειώνει το δίκτυο πληρωμή χωρίς να αγγίξετε τις γραμμές ή τα μετρητά. επιλεκτικά λόγια κλειδιά επιχειρήματα αφήνουν Διατηρήστε συγκεκριμένους τύπους τραπεζιού, εάν είναι απαραίτητο.

from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner

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

# Strip all legacy tables and Mac name records (default)
cleaned = FontCleaner.clean_for_web(font)

# Preserve specific metadata tables if required
cleaned_selective = FontCleaner.clean_for_web(
    font,
    drop_metadata_tables=False,
    drop_legacy_tables=True,
    drop_mac_names=True,
)

Glyph Path Ελέγχου

ΟΛΟΙ Glyph Το αντικείμενο εκθέτει την έκφρασή του ως ένα GlyphPath Ποιοι commands Συνεχίζοντας Περιέχει τυποποιημένες περιπτώσεις MoveTo, LineTo, QuadraticTo, CurveTo,και ClosePath.Κάθε εντολή φέρει τα σχετικά συντονιστικά χαρακτηριστικά - για παράδειγμα, CurveTo Έχει x1, y1, x2, y2, x, y - επιτρέποντας σας να εκχύνετε το ρυζικό Bézier δεδομένα για την εκδοχή, τη γενιά SVG ή τη γεωμετρία συγκρούσεων.

from aspose_font.loader import FontLoader
from aspose_font import CurveTo, LineTo

font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(ord("A"))
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)

curves = [cmd for cmd in glyph.path.commands if isinstance(cmd, CurveTo)]
print(f"Cubic Bezier segments in 'A': {len(curves)}")

Γρήγορη έναρξη

pip install aspose-font>=1.0.0
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner

# Load, inspect, and clean a font in five lines
font = FontLoader.open("MyFont.ttf")
print(font.font_family, font.num_glyphs, "glyphs")
cleaned = FontCleaner.clean_for_web(font)
print("Font cleaned for web delivery")

Υποστηριζόμενες μορφές

ΤΕΧΝΗΕΠΙΤΡΟΦΗΔιαβάστεΓράψε
TTF.ΤΤΦ
OTF.ΟΤΦ
CFF.ΚΦΑΛΕ
TYPE1.ΠΡΟΣΦΥΛΗ / .pfa
WOFF.Γουόφ
WOFF2.Γουόφ2
EOT.ΕΟΤ

Ανοικτή Πηγή & Άδεια Χρήσης

Aspose.Font FOSS for Python is MIT licensed. The source is on GitHub at Σημειώνεται ότι το «Font-FOSS-for-Python» Το πακέτο είναι στο PyPI ως aspose-font.


Ξεκινώντας

Σχετικοί Πόροι