Şriftlərin Oxunması üçün Python Kitabxanası
Şriftləri asanlıqla manipulyasiya, redaktə və analiz etmək üçün Proqram Təminatı İnkişaf etdiricilərinə və Dizaynerlərə güc verən Açıq Mənbəli Python API.
FontTools dizayn, brendinq və ünsiyyətdə vacib rol oynayır və şriftlər vizual estetikanın təməl daşlarıdır. Rəqəmsal dövrdə şrift idarəçiliyi və manipulyasiyası getdikcə daha önəmli hala gəlir. İnkişafçılar və dizaynerlər arasında populyarlıq qazanmış güclü bir alət FontTools kitabxanasıdır. FontTools şriftlərlə işləmək üçün geniş alət dəsti təqdim edən çox yönlü, açıq mənbəli Python kitabxanasıdır və şrift həvəskarları, dizaynerlər, inkişafçılar və tipoqraflar üçün güclü bir vasitə kimi ortaya çıxıb. Geniş xüsusiyyət dəsti, Python‑əsaslı interfeysi ilə birləşərək, şriftlə bağlı vəzifələr və layihələr üçün mükəmməl seçim edir.
FontTools, proqram təminatı inkişaf etdiricilərinə şrift faylları ilə proqramlaşdırma yolu ilə işləməyə imkan verən açıq mənbəli kitabxanadır. O, şriftlərin manipulyasiyası, redaktəsi və təhlili üçün geniş funksionallıq təklif edir. O, şriftləri müxtəlif yollarla manipulyasiya etmək, əsas qlyf redaktə əməliyyatları, təkmilləşdirilmiş şrift birləşdirmələri, tək qlyflərin silinməsi, SFNT cədvəl dəstəyi, müxtəlif SFNT dəyərlərinin müəyyənləşdirilməsi və tətbiqi, qlyf konturlarının dəyişdirilməsi, şrift ölçülərinin tənzimlənməsi, şrift kodlaşdırmasının dəyişdirilməsi, cədvəllərin əlavə edilməsi və ya silinməsi, müxtəlif layout sistemləri arasında layout təriflərinin çevrilməsi, ad sətirlərinin tapılması və redaktəsi və s. kimi xüsusiyyətləri dəstəkləyir.
FontTools kitabxanası proqramçılara şrift fayllarının müxtəlif aspektlərinə proqram vasitəsilə daxil olmağa, redaktə etməyə və təhlil etməyə imkan verir. O, TrueType (TTF), OpenType (OTF), AFM, müəyyən dərəcədə Type 1 və bəzi Mac-ə özəl formatlar daxil olmaqla bir neçə şrift formatını dəstəkləyir, bu da müxtəlif şrift növləri ilə işləmək üçün çox yönlü seçim edir. FontTools canlı və dəstək verən icmadan faydalanır. Layihə açıq mənbəlidir və aktiv şəkildə saxlanılır, mütəmadi yeniləmələr və səhv düzəlişləri ilə. Şrift manipulyasiyasını avtomatlaşdırırsınız, şriftləri incə tənzimləyirsiniz, ya da ətraflı şrift təhlili aparırsınız, FontTools məqsədlərinizə səmərəli şəkildə çatmaq üçün lazım olan alətləri və elastikliyi təmin edir.
FontTools ilə Başlamaq
FontTools Python 3.8 və ya daha sonrakı versiyanı tələb edir. FontTools‑u quraşdırmağın tövsiyə olunan yolu PyPI‑dən istifadə etməkdir. Zəhmət olmasa, aşağıdakı əmri istifadə edərək quraşdırmanı asanlaşdırın.
NuGet vasitəsilə FontTools quraşdırın
pip install fonttools Siz həmçinin onu əl ilə quraşdıra bilərsiniz; son buraxılış fayllarını birbaşa GitHub deposundan yükləyin.
Python API vasitəsilə Şrift Redaktəsi və Manipulyasiyası
Açıq FontTools kitabxanası istifadə etmək üçün çox asandır və Python tətbiqlərində şriftləri müxtəlif yollarla idarə etməyə imkan verən bir neçə vacib xüsusiyyəti özündə birləşdirir. Bu, şrift fayllarından məlumat çıxarmağa, qlyf konturlarını dəyişdirməyə, ölçüləri idarə etməyə və hətta sıfırdan yeni şriftlər yaratmağa, təkrarlanan şriftlə bağlı vəzifələri avtomatlaşdırmağa imkan verir. FontTools kitabxanasından istifadə edərək proqramçılar qlyf konturlarını dəyişə, ölçüləri tənzimləyə, kodlaşdırmanı dəyişə və cədvəlləri əlavə edib silə bilərlər. Bu çeviklik dizaynerlərə şriftləri xüsusi tələblərə uyğun olaraq incə tənzimləməyə və ya layihələri üçün fərdiləşdirilmiş versiyalar yaratmağa imkan verir.
Python API vasitəsilə Kontur Yollarını Necə Dəyişdirmək?
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()
Python API vasitəsilə Qlyf Manipulyasiyası
Açıq mənbəli FontTools kitabxanası proqram təminatı inkişaf etdiricilərinə fərdi qlyfları proqramlaşdırma yolu ilə manipulyasiya etməyi asanlaşdırır. O, qlyf konturlarına, ölçülərə və atributlara daxil olmaq və onları dəyişdirmək üçün metodlar təqdim edir, istifadəçilərə şriftləri öz xüsusi ehtiyaclarına uyğunlaşdırmaq üçün elastiklik verir. Kerning cütlərini tənzimləmək, qlyf formalarını dəyişdirmək, ligaturalar əlavə etmək və ya qlyf konturlarını müqayisə etmək istənilən halda, FontTools qlyf manipulyasiyası prosesini sadələşdirir. Aşağıdakı nümunə iki qlyfin konturlarını necə müqayisə etmək və nəticələri Python kodu ilə göstərmək olduğunu göstərir.
Python API vasitəsilə İki Qlyfin Konturlarını Necə Müqayisə Etmək?
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)
Python API vasitəsilə Şrift Yaratma və Çevirmə
Açıq mənbəli FontTools kitabxanası yeni şrift faylları yaratmaq və ya mövcud olanları müxtəlif formatlara çevirmək funksionallıqlarını təklif edir. Bu xüsusiyyət, xüsusi şriftlər yaratmaq və ya şriftləri müəyyən platformalar üçün uyğunlaşdırmaq lazım olan dizaynerlər və inkişaf etdiricilər üçün xüsusilə faydalıdır. FontTools ilə istifadəçilər müxtəlif çəki, stil və variasiyalara malik şrift nümunələri yarada, ya da şriftləri TrueType və OpenType formatları arasında problemsiz şəkildə çevirə bilərlər. Aşağıdakı nümunə Python əmrləri ilə CFF formatını CFF2 formatına necə çevirmək olduğunu göstərir.