1. מוצרים
  2.   Font
  3.   Python
  4.   FontTools
 
  

ספריית פייתון לקריאת גופנים

API פתוח של פייתון המאפשר למפתחים ומעצבים לתפעל, לערוך ולנתח גופנים בקלות.

FontTools משחק תפקיד חיוני בעיצוב, מיתוג ותקשורת, והגופנים הם אבני הבניין של האסתטיקה החזותית. בעידן הדיגיטלי, ניהול וגישה לגופנים הפכו לחשובים יותר ויותר. כלי חזק שזכה לפופולריות בקרב מפתחים ומעצבים הוא ספריית FontTools. FontTools היא ספרייה פתוחה ברת-שימוש בפייתון המספקת סט מקיף של כלים לעבודה עם גופנים והפכה לכלי עוצמתי לחובבי גופנים, מעצבים, מפתחים וטיפוגרפים כאחד. מגוון הפיצ'רים הרחב שלה, יחד עם הממשק המבוסס פייתון, עושה אותה לבחירה מצוינת למשימות ופרויקטים הקשורים לגופנים.

FontTools היא ספרייה קוד פתוח המאפשרת למפתחי תוכנה לתקשר עם קבצי גופנים באופן תכנותי. היא מציעה מגוון רחב של פונקציונליות למניפולציה, עריכה וניתוח של גופנים. היא תומכת בתכונות כגון מניפולציה של גופנים בדרכים שונות, פעולות עריכת גליף בסיסיות, מיזוג גופנים משופר, הסרת גליפים בודדים, תמיכה בטבלאות SFNT, זיהוי ויישום של ערכי SFNT שונים, שינוי קווי מתאר של גליפים, התאמת מדדי גופנים, שינוי קידוד גופנים, הוספה או הסרה של טבלאות, המרת הגדרות פריסה בין מערכות פריסה שונות, מציאת ועריכת מחרוזות שם, ועוד.

ספריית FontTools מאפשרת למתכנתי תוכנה לגשת, לערוך ולנתח באופן תכנותי היבטים שונים של קבצי גופנים. היא תומכת במספר פורמטים של גופנים, כולל TrueType (TTF), OpenType (OTF), AFM, במידה מסוימת Type 1, וכמה פורמטים ייחודיים למק, מה שהופך אותה לבחירה רב‑גונית לעבודה עם סוגי גופנים שונים. ל‑FontTools יש קהילה תוססת ותומכת. הפרויקט הוא קוד פתוח ומתוחזק באופן פעיל, עם עדכונים שוטפים ותיקוני באגים. בין אם אתם מאוטומטים מניפולציית גופנים, מכוונים טיפוגרפיה במדויק, או מבצעים ניתוח גופנים מפורט, FontTools מספקת את הכלים והגמישות הדרושים להשגת המטרות שלכם ביעילות.

Previous Next

התחלת עבודה עם FontTools

FontTools דורשת Python 3.8 או גרסה מאוחרת יותר. הדרך המומלצת להתקנת FontTools היא באמצעות PyPI. אנא השתמשו בפקודה הבאה להתקנה חלקה.

התקנת FontTools באמצעות NuGet

 pip install fonttools 

ניתן גם להתקין ידנית; הורידו את קבצי השחרור האחרונים ישירות ממאגר GitHub.

עריכת גופנים ומניפולציה באמצעות API של פייתון

הספרייה הפתוחה FontTools קלה מאוד לשימוש וכוללת מספר תכונות חשובות שמאפשרות למפתחי תוכנה למנף גופנים במגוון דרכים בתוך יישומי פייתון שלהם. היא מאפשרת להם לחלץ מידע מקבצי גופנים, לשנות קווי מתאר של גליפים, למנף מדדים, ואף ליצור גופנים חדשים מאפס, לאוטומט משימות חוזרות הקשורות לגופנים וכן הלאה. באמצעות ספריית FontTools מפתחי תוכנה יכולים גם לשנות קווי מתאר של גליפים, לכוונן מדדים, לשנות קידוד, ולהוסיף או להסיר טבלאות. גמישות זו מאפשרת למעצבים לכוונן את הגופנים בהתאם לדרישות ספציפיות או ליצור גרסאות מותאמות לפרויקטים שלהם.

איך לשנות נתיבי קו מתאר באמצעות API של פייתון?

path_orig = get_outline(font, "a")
startdraw(200,200)

paths = []
for i in path_orig:
    if i[0] == 'moveTo':
        path = draw.BezierPath()
        path.moveTo((i[1][0]))
    if i[0] == 'lineTo':
        path.lineTo((i[1][0]))
    if i[0] == 'qCurveTo':
        path.qCurveTo(*(i[1]))
    if i[0] == 'closePath':
        path.closePath()
        paths.append(path)

finalpath = paths[0].difference(paths[1])
finalpath.scale(0.3) #let's scale it down!
draw.fill(0.5)
draw.stroke(0)
draw.drawPath(finalpath)
show()

מניפולציית גליפים באמצעות API של פייתון

הספרייה הפתוחה קוד FontTools מקלה על מפתחי תוכנה למנף גליפים בודדים באופן תכנותי. היא מספקת שיטות לגישה ולשינוי של קווי מתאר של גליפים, מדדים ותכונות, ומעניקה למשתמשים גמישות להתאים גופנים לצרכיהם הספציפיים. בין אם מדובר בהתאמת זוגות קירנינג, שינוי צורות גליפים, הוספת ליגטורות, או השוואת קווי מתאר של גליפים, FontTools מפשטת את תהליך מניפולציית הגליפים. הדוגמה הבאה מציגה כיצד להשוות את קווי המתאר של שני גליפים ולהציג את התוצאות באמצעות קוד פייתון.

איך להשוות את קווי המתאר של שני גליפים באמצעות API של פייתון?

from fontTools.ttLib import TTFont
from fontTools.pens.recordingPen import RecordingPen

font = TTFont(filename)
cmap = font.getBestCmap()
gs = font.getGlyphSet()

g1 = gs[cmap[ord("A")]]
g2 = gs[cmap[ord("B")]]

p1 = RecordingPen()
p2 = RecordingPen()

g1.draw(p1)
g2.draw(p2)

print(p1.value == p2.value)

יצירת גופנים והמרה באמצעות API של פייתון

הספרייה הפתוחה קוד FontTools מציעה פונקציות ליצירת קבצי גופנים חדשים או להמרת קבצים קיימים לפורמטים שונים. תכונה זו שימושית במיוחד למעצבים ולמפתחים שצריכים ליצור גופנים מותאמים אישית או להתאים גופנים לפלטפורמות ספציפיות. עם FontTools, משתמשים יכולים ליצור מופעי גופנים עם משקלים, סגנונות ווריאציות שונים, או להמיר גופנים בין פורמטים TrueType ו-OpenType בצורה חלקה. הדוגמה הבאה מציגה כיצד להמיר פורמט CFF לפורמט CFF2 באמצעות פקודות פייתון.

 עִברִית