הכניסה

Aspose.Font FOSS for Python provides a coherent set of classes for every common משימה ניהול טקסט: להעלות קבצי טפט בפורמטים מרובים, לקרוא נתונים מטאוגרפיים ו נתונים glyph, ההמרה בין פורמטים, התשלום עבור משלוח אינטרנט, וניקוי לוח בינארי לגודל הקובץ האופטימלי.המדריך הזה עובד דרך כל יכולת ליבה עם דוגמאות קוד עבודה נלקחו מ- API מאומת של הספרייה.

חבילת החבילה (aspose-font• יש לו רישיון MIT, דורש Python 3.10+ ואינו מחזיק בו. ספריית האותיות ברמה OS תלויות.התקנה עם pip install aspose-font>=1.0.0.


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

הורדת חותמות עם FontLoader

FontLoader נקודת כניסה אחת לכל פעולות הטעינה של הפורט. open() שיטה מקבלת מסלול קובץ (str או Path) ומזהה באופן אוטומטי את הפורמט. load() שיטה מקבלת ביטים ירוקים עבור זרימת עבודה בזיכרון. 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 Encoding and Access

FontEncoding מפות Unicode נקודות קוד ל- glyph IDs. unicode_to_gid() עבור נקודות קוד יחיד או get_all_codepoints() כדי להציג את כל ההגדרות של צבע. GlyphAccessor לאחר מכן, ניתן לקבל את האובייקטים של גליף באמצעות ID. get_glyph_by_id(), באמצעות Unicode 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")

אופטימיזציה אינטרנט עם FontCleaner

FontCleaner.clean_for_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 המקום מפרט את התוצאה שלו כ- A 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.pf / . pfa
WOFF.ווק
WOFF2.WOW2
EOT.EOT

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

Aspose.Font FOSS for Python is MIT licensed. The source is on GitHub at עקבו אחרי font font fox foxy foxi foxo fo החבילה נמצאת על פי פי aspose-font.


להתחיל

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