הכניסה
OpenType (EOT) הוא פורמט טקסט קומפקטי שפותח לראשונה כדי להדביק טפטים TrueTYpe בדפים האינטרנט. קובץ EOT מעורב טופס TTF או OTF עם כותרת בגודל קבוע המכיל שדות metadata המתארים את גודלם של הטקסט, גרסה, צ’רצ’ט והרשאות להגדיר. למרות שהפיתוח המודרני של האינטרנטיקה עבר במידה רבה ל- WOFF/WOF F2, קבצי EO נשאר בתנועה במסמכים מורשים וביישומים עסקיים.
Aspose.Font FOSS for Python provides direct access to EOT font internals through the EotFont המעמד והחברים שלו EotHeader.ניתן להעלות קובץ EOT עם FontLoader.open, לקרוא את שדות הכותרת, לחצות את הפנים TtfFont,ולעשות את הסדרה תוצאה חזרה לביט או לקובץ באמצעות Font.save.
הספרייה פורסמה ב-PIPI כ aspose-font והיא מורשית על פי רישיון MIT. אין לו תלויות מסחריות חובה ועובד עם זמן הפעלה סטנדרטי Python 3.
תכונות מרכזיות
תגיות EOT Fonts
שימוש FontLoader.open כדי להעלות קובץ EOT ממסלול או אובייקט באט. חוזר א 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 הוא מפרט את שדות הכותרת באופן ישיר כבעלים בכיתה. מתאימה לשדות המוגדרים בספרות 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)
The EotFont המעמד מפרט את הנתונים המתאמים הבאים כבעלות:
eot_version(int• גרסה בפורמט EOT (לדוגמה,.0x00020002)flags(int• דגל אישורcharset(int• תווית סימן (0 = ANSI, 1 = DEFAULT)italic(intדגל איטלקי (0 או 1)weight(intמשקל האות (לדוגמה, 400 עבור רגיל, 700 עבור חזק)fs_type(int• OS/2 fsType ביטים מעורבים
שימוש flags ו fs_type כדי לקבוע אם האות מאפשרת גישה או הובלה, אשר רלוונטי בעת עיבוד טקסטים עבור צינורות מחדש.
גישה לתוך TtfFont הפנימי
כל אחד EotFont יש להוסיף טופס TrueType סטנדרטי.The inner_font החזרה של נכסים The 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)
The inner_font נכסים על EotFont החזיר את המגורים TtfFont מקרה, מספקת גישה למערכת הטבלה המלאה של TrueType, זוגות גרעין וטבעות הקוד.
תגיות קשורות EOT to Bytes
EotSerializer.serialize להפוך כל אחד Font אובייקט ל- EOT ביט ירוק:
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 באט:
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)
מטריית צילומים וקישורי גרעין
The 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 | .EOT | ✓ | — |
| CFF | .קפ | ✓ | — |
| TYPE1 | .pf / pfa | ✓ | — |
| WOFF | .ווק | ✓ | — |
| WOFF2 | .WOW2 | ✓ | — |
כל הפורמטים המפורטים לעיל נתמכים עבור הטעינה דרך 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.