Εισαγωγή

Το ενσωματωμένο OpenType (EOT) είναι ένα μικρό μορφότυπο γραμματοσειράς που αναπτύχθηκε αρχικά για την ενσάρκωση των γραμμάτων TrueTYpe σε ιστοσελίδες. Ένα αρχείο EOT συλλέγει μια γραφή TTF ή OTF με έναν τίτλο μόνιμης μεγέθους που περιέχει πεδία μεταδεδομένων που απεικονίζουν τις διαστάσεις γραμμών, τη εκδοχή, το χαρσέ και τις επιλογές ενστάσεως. Αν και η σύγχρονη ανάπτυξη του ιστού έχει μετακινηθεί κατά μέσο όρο στο WOFF/WOF F2, τα αρχεία EO παραμένουν στην κυκλοφορία σε κληρονομικές έγγραφα και επιχειρηματικές εφαρμογές.

Aspose.Font FOSS for Python provides direct access to EOT font internals through the EotFont Η τάξη και η σύντροφός της EotHeader.Μπορείτε να φορτώσετε ένα αρχείο EOT με FontLoader.open, διαβάστε τα πεδία επικεφαλής, διασχίσετε το εσωτερικό TtfFont,και να σκηνοθετήσει το επιστρέφει σε bytes ή σε αρχείο που χρησιμοποιεί Font.save.

Η βιβλιοθήκη δημοσιεύεται στο PyPI ως aspose-font και έχει αδειοδοτηθεί με την άδεια MIT. Δεν έχει υποχρεωτικές εμπορικές εξαρτήσεις και λειτουργεί με το τυποποιημένο χρόνο εκτέλεσης Python 3.


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

Ετικέτες EOT Fonts

Χρησιμοποιήστε FontLoader.open να φορτώσετε ένα αρχείο EOT από έναν δρόμο ή ένα αντικείμενο bytes. Επιστρέφει ένα EotFont Για παράδειγμα, όταν ανιχνεύει την υπογραφή του EOT:

from aspose_font import FontLoader, EotFont

font = FontLoader.open("fonts/sample.eot")
assert isinstance(font, EotFont)

print(font.font_name)    # e.g. "Roboto"
print(font.font_family)  # e.g. "Roboto"
print(font.num_glyphs)   # number of glyphs in the inner font

FontLoader.open Διαβάστε την επέκταση αρχείου και το επικεφαλής μαγεία για να εντοπίσει τη μορφή Αυτόματα - Όχι font_type Το επιχειρηματικό στοιχείο απαιτείται για τα κοινά αρχεία γραμματοσειράς.


Διαβάστε το EotHeader Metadata

EotFont εκθέτει τα πεδία επικεφαλής άμεσα ως ιδιότητες στην τάξη. αντιστοιχεί στα πεδία που ορίζονται στην binary προδιαγραφή EOT:

from aspose_font import FontLoader, EotFont, EotSerializer

# Load EOT — FontLoader returns an EotFont instance for .eot files
loaded = FontLoader.open("fonts/sample.eot")

# Serialize back to bytes to confirm the font loaded correctly
eot_bytes = EotSerializer.serialize(loaded)
print(f"EOT data loaded: {len(eot_bytes)} bytes")

# Base Font properties work on any loaded font
print("Font name:", loaded.font_name)
print("Glyphs   :", loaded.num_glyphs)

Η EotFont Η κατηγορία εκθέτει τα ακόλουθα μεταδεδομένα τίτλων ως ιδιότητες:

  • eot_version (int• Ετικέτες: Η έκδοση του EOT (π.χ. 0x00020002)
  • flags (int• Εισαγωγή της άδειας σημαίας
  • charset (int1) - ο αναγνωριστής του χαρακτήρα (0 = ANSI, 1 = DEFAULT)
  • italic (intΙταλική σημαία (0 ή 1)
  • weight (int- βάρος γραμματοσειράς (π.χ. 400 για τακτικά, 700 για Bold)
  • fs_type (int2) - OS/2 fsType ενσωματωμένα bit

Χρησιμοποιήστε flags και fs_type να καθορίσει αν η γραμματοσειρά επιτρέπει την υποκατάσταση ή ενσωμάτωση, η οποία είναι σχετική κατά την επεξεργασία των γραμματοσειρών για τους σωλήνες αναδιανομής.


Εισαγωγή στο εσωτερικό TtfFont

ΟΛΟΙ EotFont Εισάγει ένα τυποποιημένο TrueType.The inner_font Επιστροφή ακινήτων Η TtfFont Για παράδειγμα, σας δίνει πρόσβαση στο πλήρες σύνολο πίνακα TrueType:

from aspose_font import FontLoader, EotFont

loaded = FontLoader.open("fonts/sample.eot")

# Metrics are accessible directly from the loaded font
metrics = loaded.metrics
print("Units per em :", metrics.units_per_em)
print("Ascender     :", metrics.ascender)
print("Descender    :", metrics.descender)
print("Line gap     :", metrics.line_gap)

Η inner_font Ιδιοκτησία στο EotFont Επιστρέφει το κρεμασμένο TtfFont Η υπόθεση, παρέχοντας πρόσβαση στο πλήρες σύνολο πίνακας TrueType, ζεύγη πυρήνων και πίστες κωδικοποίησης.


Σειρά σε Bytes

EotSerializer.serialize Μετατρέπονται οποιαδήποτε Font Αντιθέτως, ένα πρωτότυπο EOT byte string:

from aspose_font import FontLoader, EotFont, EotSerializer

font = FontLoader.open("fonts/sample.eot")
assert isinstance(font, EotFont)

eot_bytes = EotSerializer.serialize(font)
with open("output/sample_copy.eot", "wb") as fh:
    fh.write(eot_bytes)

print(f"Serialized {len(eot_bytes)} bytes")

Μετατροπή TTF σε EOT

EotSerializer.serialize Αποδέχεται οποιαδήποτε Font Για παράδειγμα, μπορείτε να φορτίσετε ένα TTF και Σειράλτε το απευθείας στα EOT bytes:

from aspose_font import FontLoader, EotFont, EotSerializer

ttf = FontLoader.open("fonts/Roboto-Regular.ttf")
eot_bytes = EotSerializer.serialize(ttf)

with open("output/Roboto-Regular.eot", "wb") as fh:
    fh.write(eot_bytes)

reloaded = FontLoader.open("output/Roboto-Regular.eot")
assert isinstance(reloaded, EotFont)
print("Converted and verified:", reloaded.font_name)

Μετρήσεις Font και Κορυφαία Ζεύματα

Η EotFont Κληρονομιά του πλήρους Font Η διασύνδεση, έτσι μετρήσεις και κωδικοποίηση είναι Διαθέσιμο χωρίς να περάσει inner_font:

from aspose_font import FontLoader

loaded = FontLoader.open("fonts/sample.eot")

metrics = loaded.metrics
print(f"Ascender : {metrics.ascender}")
print(f"Descender: {metrics.descender}")
print(f"Line gap : {metrics.line_gap}")
print(f"Underline: {metrics.underline_position}")

for pair in loaded.get_kern_pairs():
    print(f"  Kern: {pair}")

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

Εγκατάσταση της βιβλιοθήκης:

.venv/bin/pip install aspose-font

Κατεβάστε και ελέγξτε ένα EOT γραμματοσειρά:

from aspose_font import FontLoader, EotFont, EotSerializer

loaded = FontLoader.open("sample.eot")

# Base font info
print(f"Font name : {loaded.font_name}")
print(f"Glyphs    : {loaded.num_glyphs}")

# Metrics
metrics = loaded.metrics
print(f"UPM       : {metrics.units_per_em}")
print(f"Ascender  : {metrics.ascender}")

# Serialize the loaded font back to EOT bytes
eot_bytes = EotSerializer.serialize(loaded)
print(f"Serialized: {len(eot_bytes)} bytes")

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

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

Όλα τα παραπάνω μορφότυπα υποστηρίζονται για φόρτιση μέσω FontLoader.open.Γράψιμο Για μια συγκεκριμένη μορφή χρησιμοποιείται Font.save ή EotSerializer.serialize Για το EOT.


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

Aspose.Font FOSS for Python is released under the MIT License. You can use it in προσωπικά, εμπορικά και ανοικτά έργα χωρίς κόστος. ο κώδικας πηγής είναι Διατίθεται στο GitHub και το πακέτο διανέμεται μέσω του PyPI ως: aspose-font.


Ξεκινώντας

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