הכניסה

תגיות קשורות טקסט (.ttfועם כל הכתבות המלאות (.otf• הם המקור הדומיננטי שני פורמטים חולקים את אותה מבנה שולחן בינארי. שורש בספרות OpenType. Aspose.Font FOSS for Python חושף את המבנה הזה דרך TtfFont, נותן גישה ישירה ל- OpenType טבלאות בודדות, נתוני זוג הליבה, שורות צבע משתנות, ו- Glyph outlines.

The TtfFont המעמד מתרחב Font שיטת הבסיס עם שיטות ספציפיות TTF כולל: get_blob, get_table_bytes, set_table_bytes, ו instantiate עבור צבע משתנה סגור אסיס - The TtfTableSet רכוש (ttf_tables• מספק גישה טופס ל- הטבלאות הנפוצות ביותר של OpenType: head, hhea, maxp, os2, name, post.

הספרייה פורסמה ב-PIPI כ aspose-font והיא מורשית על פי רישיון MIT. אין לה תלויות מסחריות חובה.


תכונות מרכזיות

טופס TTF ו- OTF

שימוש FontLoader.open כדי להעלות כל קובץ טקסט TrueType או OpenTYpe:

from aspose_font import FontLoader

loaded = FontLoader.open("fonts/Roboto-Regular.ttf")

print(loaded.font_name)
print(loaded.font_family)
print(loaded.font_style)
print(loaded.num_glyphs)

FontLoader.open מצא את פורמט הטקסט מתוך כותרת הקובץ. .ttf (התמונה האמיתית ) ו .otf (OpenType CFF) קבצים נתמכים ושניהם חוזרים ל- TtfFont דוגמה .


גישה ל- OpenType Tables באמצעות TtfTableSet

The ttf_tables רכוש חוזר א TtfTableSet עם ציוד מסומן עבור כללי כל נכס מחזיר את האובייקט של הטבלה או None אם לא:

The ttf_tables נכסים על TtfFont חוזר א TtfTableSet זמין - זמינה שולחן תוספים :

  • headHeadTable | None
  • hheaHheaTable | None
  • maxpMaxpTable | None
  • os2Os2Table | None
  • nameNameTable | None
  • postPostTable | None

כל נכס מחזיר את האובייקט של השולחן או None אם לא נמצא שם את השולחן הזה, קובץ גישה - Access TtfTableSet תכונות לבדוק עבור טבלאות ספציפיות לפני קריאה עבור טבלאות שאינן מכוסות על ידי תוספים, להשתמש TtfTableSet.get_raw(tag) ל קבלו את ה-Bit עם תגית OpenType ארבע תכונות.


קראו את המגוון של שולחנות ירוקים

get_table_bytes(tag) החזיר את ה-Bytes היבשים לכל טבלת OpenType. get_blob(tag) עבור לא בטוח שונה אשר חוזר None כאשר השולחן נעלם:

TtfFont ישנן שתי שיטות גישה לשולחן ירוק:

  • get_table_bytes(tag) -> bytes - מחזיר את הוויטות היבדות עבור שולחן שנקרא (גדל אם לא)
  • get_blob(tag) -> bytes | None חזרה → None אם השולחן נעלם (התאמה בטוחה)

שתי השיטות מקבלות תווית לוח OpenType ארבע תכונות כגון: "cmap", "GDEF",או "GPOS".שימוש get_blob כאשר שולחן הוא אופציונלי כך שאתה יכול לבדוק עבור None לפני עיבוד .


זוגות גרעין

get_kern_pairs() החזיר את כל זוגות הליבה הקודמים בכתב העת.כל אחד מהם KernPair יש left (התמונה של גליף ), right (התמ"ג של גלאי) ו value (הוא מופיע בקטגוריות של יחידות):

from aspose_font import FontLoader

loaded = FontLoader.open("fonts/Roboto-Regular.ttf")

pairs = loaded.get_kern_pairs()
print(f"Kern pairs: {len(pairs)}")

for pair in pairs[:5]:
    print(f"  Left: {pair.left}  Right: {pair.right}  Value: {pair.value}")

מטריית צבע

הסטנדרטים של המדיניות זמינים דרך metrics רכוש :

from aspose_font import FontLoader

loaded = FontLoader.open("fonts/Roboto-Regular.ttf")

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

תמיכה ב- Variable Font

עבור מילים משתנות, TtfFont תצוגה is_variable, variable_axes, ו named_instances.שימוש get_axis(tag) כדי לקבל אסיס ספציפי על ידי ארבע אותיות שלה תגית :

from aspose_font import FontLoader

loaded = FontLoader.open("fonts/RobotoFlex.ttf")

print(f"Is variable: {loaded.is_variable}")
print(f"Axes       : {len(loaded.variable_axes)}")

The get_axis(tag) שיטת על TtfFont קבלת A VariableAxis על ידי ארבעת המכתבים שלה תגית: ג. "wght" על משקל , "wdth" חזר (החזיר את זה) None אם המערה היא לא נוכח בפינת ה-FONT fvar שולחן.


הפוך את החוטים

to_bytes(font_type) הפוך את האותיות לתבנית אחרת. FontType ENUM כדי להגדיר את המטרה:

from aspose_font import FontLoader, FontType

loaded = FontLoader.open("fonts/Roboto-Regular.ttf")

ttf_bytes = loaded.to_bytes(FontType.TTF)
with open("output/Roboto-copy.ttf", "wb") as fh:
    fh.write(ttf_bytes)

print(f"Serialized: {len(ttf_bytes)} bytes")

מהיר התחלה

הקמת הספרייה:

.venv/bin/pip install aspose-font

להעלות טופס TTF ולבדוק אותו:

from aspose_font import FontLoader, FontType

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

print(f"Font name : {loaded.font_name}")
print(f"Family    : {loaded.font_family}")
print(f"Glyphs    : {loaded.num_glyphs}")
print(f"Variable  : {loaded.is_variable}")

metrics = loaded.metrics
print(f"UPM       : {metrics.units_per_em}")

ttf_bytes = loaded.to_bytes(FontType.TTF)
print(f"Serialized: {len(ttf_bytes)} bytes")

פורמט תומך

פורמטהרחבהקראוכתוב
TTF.טטפ
OTF.אוטו
EOT.EOT
CFF.קפ
TYPE1.pf / pfa
WOFF.ווק
WOFF2.WOW2

כל הפורמטים מחוברים דרך FontLoader.open.TTF/OTF חוזרים ל- A TtfFont דוגמה .


קוד פתוח & רישיון

Aspose.Font FOSS for Python is released under the MIT License. You can use it in פרויקטים אישיים, מסחריים ופתוחים ללא תשלום.הקוד המקור הוא זמין ב- GitHub והחבילה מופצה דרך PyPI כ aspose-font.


להתחיל

משאבים קשורים