1. Termékek
  2.   Font
  3.   Python
  4.   FontTools
 
  

Python könyvtár betűtípusok olvasásához

Nyílt forráskódú Python API, amely lehetővé teszi a szoftverfejlesztők és tervezők számára a betűtípusok könnyű manipulálását, szerkesztését és elemzését.

A FontTools kulcsfontosságú szerepet játszik a tervezésben, a márkaépítésben és a kommunikációban, a betűtípusok pedig a vizuális esztétika építőkövei. A digitális korszakban a betűtípus-kezelés és -manipuláció egyre fontosabbá vált. Egy erőteljes eszköz, amely népszerűvé vált a fejlesztők és tervezők körében, a FontTools könyvtár. A FontTools egy sokoldalú, nyílt forráskódú Python könyvtár, amely átfogó eszközkészletet biztosít a betűtípusokkal való munkához, és erőteljes eszközzé vált a betűtípus-rajongók, tervezők, fejlesztők és tipográfusok számára egyaránt. Kiterjedt funkciókészlete, valamint a Python-alapú felülete teszi kiváló választássá a betűtípusokkal kapcsolatos feladatok és projektek számára.

A FontTools egy nyílt forráskódú könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy programozott módon lépjenek interakcióba a betűtípus-fájlokkal. Széles körű funkcionalitást kínál a betűtípusok manipulálásához, szerkesztéséhez és elemzéséhez. Támogat olyan funkciókat, mint a betűtípusok különféle módon történő manipulálása, alapvető glif szerkesztési műveletek, fejlett betűtípus-összevonás, egyedi glifek eltávolítása, SFNT táblatámogatás, különböző SFNT értékek azonosítása és megvalósítása, glif kontúrok módosítása, betűtípus-metrikák beállítása, betűkódolás módosítása, táblák hozzáadása vagy eltávolítása, elrendezési definíciók konvertálása különböző elrendezési rendszerek között, névkarakterláncok keresése és szerkesztése, stb.

A FontTools könyvtár felhatalmazza a szoftverfejlesztőket, hogy programozott módon hozzáférjenek, szerkesszenek és elemezzenek különböző aspektusait a betűtípus-fájloknak. Támogat több betűtípus-formátumot, beleértve a TrueType (TTF), OpenType (OTF), AFM, részben a Type 1-et, valamint néhány Mac-specifikus formátumot, így sokoldalú választás a különböző betűtípusokkal való munkához. A FontTools egy élénk és támogató közösségnek köszönhető. A projekt nyílt forráskódú és aktívan karbantartott, rendszeres frissítésekkel és hibajavításokkal. Akár a betűtípusok manipulálását automatizálja, akár a tipográfiát finomhangolja, vagy részletes betűtípus-elemzést végez, a FontTools biztosítja a szükséges eszközöket és rugalmasságot céljai hatékony eléréséhez.

Previous Next

A FontTools használatának megkezdése

A FontTools Python 3.8 vagy újabb verziót igényel. A FontTools telepítésének ajánlott módja a PyPI használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.

FontTools telepítése NuGet-en keresztül

 pip install fonttools 

Telepítheti kézzel is; töltse le a legújabb kiadási fájlokat közvetlenül a GitHub tárolóból.

Betűtípus-szerkesztés és manipuláció Python API-n keresztül

Az nyílt FontTools könyvtár nagyon könnyen használható, és számos fontos funkciót tartalmaz, amelyek lehetővé teszik a szoftverfejlesztők számára, hogy különféle módon manipulálják a betűtípusokat Python alkalmazásaikban. Lehetővé teszi számukra, hogy információkat nyerjenek ki betűtípus-fájlokból, módosítsák a glif kontúrokat, manipulálják a metrikákat, sőt, teljesen új betűtípusokat hozzanak létre, automatizálják az ismétlődő betűtípusokkal kapcsolatos feladatokat stb. A FontTools könyvtár használatával a szoftverfejlesztők módosíthatják a glif kontúrokat, állíthatják a metrikákat, megváltoztathatják a kódolást, és hozzáadhatnak vagy eltávolíthatnak táblákat. Ez a rugalmasság lehetővé teszi a tervezők számára, hogy a betűtípusokat a specifikus követelményeknek megfelelően finomhangolják, vagy testreszabott verziókat készítsenek projektjeikhez.

Hogyan módosítsuk a körvonal útvonalakat Python API-val?

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()

Glyf manipuláció Python API-val

A nyílt forráskódú FontTools könyvtár megkönnyíti a szoftverfejlesztők számára az egyes glifek programozott manipulálását. Metódusokat biztosít a glif körvonalak, metrikák és attribútumok eléréséhez és módosításához, így a felhasználók rugalmasan testreszabhatják a betűtípusokat saját igényeik szerint. Legyen szó kerning párok beállításáról, glif alakok módosításáról, ligatúrák hozzáadásáról vagy a glif körvonalak összehasonlításáról, a FontTools egyszerűsíti a glif manipuláció folyamatát. Az alábbi példa bemutatja, hogyan lehet összehasonlítani két glif körvonalait és megjeleníteni az eredményeket Python kóddal.

Hogyan hasonlítsuk össze két glyf körvonalait Python API-val?

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)

Betűtípus generálás és konvertálás Python API-val

A nyílt forráskódú FontTools könyvtár funkciókat kínál új betűtípus fájlok generálására vagy a meglévők különböző formátumokba konvertálására. Ez a funkció különösen hasznos a tervezők és fejlesztők számára, akik egyedi betűtípusokat kell létrehozniuk vagy a betűtípusokat specifikus platformokra adaptálniuk. A FontTools segítségével a felhasználók különböző súlyú, stílusú és variációjú betűtípus példányokat hozhatnak létre, vagy zökkenőmentesen konvertálhatják a betűtípusokat a TrueType és OpenType formátumok között. Az alábbi példa bemutatja, hogyan lehet a CFF formátumot CFF2 formátummá konvertálni Python parancsokkal.

 Magyar