1. Produktai
  2.   Font
  3.   Python
  4.   FontTools
 
  

Python biblioteka šriftų skaitymui

Atviro kodo Python API, suteikiantis programinės įrangos kūrėjams ir dizaineriams galimybę lengvai manipuliuoti, redaguoti ir analizuoti šriftus.

FontTools atlieka svarbų vaidmenį dizaino, prekės ženklo ir komunikacijos srityse, o šriftai yra vizualinės estetikos pagrindas. Skaitmeniniame amžiuje šriftų valdymas ir manipuliavimas tampa vis svarbesni. Vienas galingas įrankis, kuris įgijo populiarumą tarp kūrėjų ir dizainerių, yra FontTools biblioteka. FontTools yra universalus atviro kodo Python biblioteka, teikianti išsamų įrankių rinkinį darbui su šriftais ir tapusi galingu įrankiu šriftų entuziastams, dizaineriams, kūrėjams ir tipografams. Jos platus funkcionalumas, kartu su Python pagrindu veikiančia sąsaja, daro ją puikiu pasirinkimu šriftų susijusiems uždaviniams ir projektams.

FontTools yra atviro kodo biblioteka, leidžianti programinės įrangos kūrėjams programiškai bendrauti su šriftų failais. Ji siūlo platų funkcionalumą šriftų manipuliavimui, redagavimui ir analizei. Ji palaiko tokias funkcijas kaip šriftų manipuliavimas įvairiais būdais, pagrindinės glifų redagavimo operacijos, patobulintas šriftų sujungimas, atskirų glifų šalinimas, SFNT lentelių palaikymas, įvairių SFNT reikšmių identifikavimas ir įgyvendinimas, glifų kontūrų keitimas, šriftų metrikų reguliavimas, šriftų koduotės keitimas, lentelių pridėjimas arba šalinimas, išdėstymo apibrėžimų konvertavimas tarp skirtingų išdėstymo sistemų, vardų eilučių paieška ir redagavimas ir t.t.

FontTools biblioteka suteikia programinės įrangos kūrėjams galimybę programiškai pasiekti, redaguoti ir analizuoti įvairius šriftų failų aspektus. Ji palaiko kelis šriftų formatus, įskaitant TrueType (TTF), OpenType (OTF), AFM, iš dalies Type 1 ir kai kuriuos specifinius „Mac“ formatus, todėl yra universalus pasirinkimas dirbant su skirtingais šriftų tipais. FontTools turi gyvybingą ir palaikančią bendruomenę. Projektas yra atviro kodo ir aktyviai prižiūrimas, su reguliariais atnaujinimais ir klaidų taisymais. Nesvarbu, ar automatizuojate šriftų manipuliavimą, tobulinate šriftus, ar atliekate išsamų šriftų analizę, FontTools suteikia reikiamus įrankius ir lankstumą efektyviai pasiekti savo tikslus.

Previous Next

Pradžia su FontTools

FontTools reikalauja Python 3.8 arba naujesnės versijos. Rekomenduojamas būdas įdiegti FontTools yra naudojant PyPI. Prašome naudoti šią komandą sklandžiam įdiegimui.

Įdiekite FontTools per NuGet

 pip install fonttools 

Taip pat galite įdiegti ją rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.

Šriftų redagavimas ir manipuliavimas per Python API

Atvira FontTools biblioteka yra labai paprasta naudoti ir joje yra įtrauktos kelios svarbios funkcijos, kurios suteikia programinės įrangos kūrėjams galimybę manipuliuoti šriftais įvairiais būdais jų Python programose. Ji leidžia išgauti informaciją iš šriftų failų, keisti glifų kontūrus, manipuliuoti metrikomis ir net kurti naujus šriftus nuo nulio, automatizuoti pasikartojančias su šriftais susijusias užduotis ir t.t. Naudodami FontTools biblioteką programų kūrėjai taip pat gali keisti glifų kontūrus, koreguoti metrikas, keisti kodavimą ir pridėti arba pašalinti lenteles. Šis lankstumas leidžia dizaineriams tiksliai pritaikyti šriftus pagal specifinius reikalavimus arba sukurti pritaikytas versijas savo projektams.

Kaip modifikuoti kontūro kelius per 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()

Glifo manipuliavimas per Python API

Atviro kodo FontTools biblioteka leidžia programinės įrangos kūrėjams lengvai programiškai manipuliuoti atskirais glifais. Ji suteikia metodus glifų kontūrų, metrikų ir atributų prieigai ir modifikavimui, suteikdama vartotojams lankstumo pritaikyti šriftus pagal jų specifinius poreikius. Nesvarbu, ar tai būtų kerning porų reguliavimas, glifų formų keitimas, ligatūrų pridėjimas ar glifų kontūrų palyginimas, FontTools supaprastina glifų manipuliavimo procesą. Žemiau pateiktas pavyzdys rodo, kaip palyginti dviejų glifų kontūrus ir parodyti rezultatus naudojant Python kodą.

Kaip palyginti dviejų glifų kontūrus naudojant 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)

Šriftų generavimas ir konvertavimas per Python API

Atviro kodo FontTools biblioteka siūlo funkcijas kurti naujus šriftų failus arba konvertuoti esamus į skirtingus formatus. Ši funkcija ypač naudinga dizaineriams ir kūrėjams, kuriems reikia kurti pasirinktinius šriftus arba pritaikyti šriftus konkrečioms platformoms. Naudodama FontTools, vartotojai gali generuoti šriftų egzempliorius su skirtingais svoriais, stiliais ir variacijomis arba sklandžiai konvertuoti šriftus tarp TrueType ir OpenType formatų. Žemiau pateiktas pavyzdys rodo, kaip konvertuoti CFF formatą į CFF2 formatą naudojant Python komandas.

 Lietuvių