Python bibliotēka fontu nolasīšanai
Atvērtā koda Python API, kas ļauj programmatūras izstrādātājiem un dizaineriem viegli manipulēt, rediģēt un analizēt fontus.
FontTools spēlē būtisku lomu dizainā, zīmola veidošanā un komunikācijā, un fonti ir vizuālās estētikas pamatelementi. Digitālajā laikmetā fontu pārvaldība un manipulācija kļūst arvien svarīgāka. Viena spēcīga rīka, kas ir guvis popularitāti izstrādātāju un dizaineru vidū, ir FontTools bibliotēka. FontTools ir daudzpusīga atvērtā koda Python bibliotēka, kas nodrošina plašu rīku komplektu darbam ar fontiem, un tā ir kļuvusi par spēcīgu instrumentu fontu entuziastiem, dizaineriem, izstrādātājiem un tipogrāfiem. Tās plašais funkciju klāsts, apvienots ar Python balstīto interfeisu, padara to par izcili piemērotu izvēli fontu saistītiem uzdevumiem un projektiem.
FontTools ir atvērtā koda bibliotēka, kas ļauj programmatūras izstrādātājiem programmatiskā veidā mijiedarboties ar fontu failiem. Tā piedāvā plašu funkcionalitātes klāstu fontu manipulācijām, rediģēšanai un analīzei. Tā atbalsta tādas iespējas kā fontu manipulēšana dažādos veidos, pamata glifu rediģēšanas operācijas, uzlabota fontu apvienošana, atsevišķu glifu noņemšana, SFNT tabulu atbalsts, dažādu SFNT vērtību identificēšana un īstenošana, glifu kontūru modificēšana, fontu metriku pielāgošana, fontu kodējuma mainīšana, tabulu pievienošana vai noņemšana, izkārtojuma definīciju konvertēšana starp dažādām izkārtojuma sistēmām, nosaukumu virkņu atrašana un rediģēšana utt.
FontTools bibliotēka ļauj programmatūras izstrādātājiem programmatiski piekļūt, rediģēt un analizēt dažādus fontu failu aspektus. Tā atbalsta vairākus fontu formātus, tostarp TrueType (TTF), OpenType (OTF), AFM, līdz zināmai pakāpei Type 1, kā arī dažus Mac specifiskus formātus, padarot to par daudzpusīgu izvēli darbam ar dažādiem fontu veidiem. FontTools gūst labumu no dzīvīgas un atbalstošas kopienas. Projekts ir atvērtā koda un aktīvi uzturēts, ar regulārām atjauninājumiem un kļūdu labojumiem. Neatkarīgi no tā, vai jūs automatizējat fontu manipulācijas, precīzi pielāgojat tipogrāfiju vai veicat detalizētu fontu analīzi, FontTools nodrošina nepieciešamos rīkus un elastību, lai efektīvi sasniegtu savus mērķus.
Sākšana ar FontTools
FontTools pieprasa Python 3.8 vai jaunāku. Ieteicamais veids, kā instalēt FontTools, ir izmantojot PyPI. Lūdzu, izmantojiet šādu komandu, lai veiktu gludu instalāciju.
Instalējiet FontTools, izmantojot NuGet
pip install fonttools Jūs varat arī instalēt to manuāli; lejupielādējiet jaunākos izlaiduma failus tieši no GitHub krātuves.
Fontu rediģēšana un manipulācija, izmantojot Python API
Atvērtais FontTools bibliotēka ir ļoti viegli lietojama un ietver vairākas svarīgas funkcijas, kas ļauj programmatūras izstrādātājiem manipulēt ar fontiem dažādos veidos savās Python lietotnēs. Tā ļauj izvilkt informāciju no fontu failiem, modificēt glifu kontūras, manipulēt ar metriku un pat izveidot jaunus fontus no nulles, automatizēt atkārtotus ar fontiem saistītus uzdevumus utt. Izmantojot FontTools bibliotēku, programmatūras izstrādātāji var arī modificēt glifu kontūras, pielāgot metriku, mainīt kodējumu un pievienot vai noņemt tabulas. Šī elastība ļauj dizaineriem precīzi pielāgot fontus atbilstoši konkrētām prasībām vai izveidot pielāgotas versijas saviem projektiem.
Kā modificēt kontūras ceļus, izmantojot Python 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()
Glifu manipulācija, izmantojot Python API
Atvērtā pirmkoda FontTools bibliotēka ļauj programmatūras izstrādātājiem viegli manipulēt ar atsevišķām glifiem programmatiski. Tā nodrošina metodes glifu kontūru, metriku un atribūtu piekļuvei un modificēšanai, sniedzot lietotājiem elastību pielāgot fontus atbilstoši viņu konkrētajām vajadzībām. Neatkarīgi no tā, vai tas ir rakstzīmju pāru starpības (kerning) pielāgošana, glifu formu mainīšana, ligatūru pievienošana vai glifu kontūru salīdzināšana, FontTools vienkāršo glifu manipulācijas procesu. Zemāk esošais piemērs parāda, kā salīdzināt divu glifu kontūras un parādīt rezultātus, izmantojot Python kodu.
Kā salīdzināt divu glifu kontūras, izmantojot Python 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)
Fontu ģenerēšana un konvertēšana, izmantojot Python API
Atvērtā pirmkoda FontTools bibliotēka piedāvā funkcionalitāti jaunu fontu failu ģenerēšanai vai esošo failu konvertēšanai uz dažādiem formātiem. Šī funkcija ir īpaši noderīga dizaineriem un izstrādātājiem, kuriem jāizveido pielāgoti fonti vai jāpielāgo fonti konkrētām platformām. Ar FontTools lietotāji var ģenerēt fontu instances ar dažādiem svara, stila un variāciju parametriem vai bez pieķeršanās konvertēt fontus starp TrueType un OpenType formātiem. Zemāk esošais piemērs parāda, kā konvertēt CFF formātu uz CFF2 formātu, izmantojot Python komandas.