הכניסה
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.