Di seguito presentiamo uno script che può servire come modello di base per lo sviluppo dei vostri progetti. Sulla bachceca del corso c'è un pdf scaricabile con il listato ragionato. Buon lavoro!
import robofab
from robofab.world import CurrentFont
font = CurrentFont()
# inserisco i miei parametri
l=500 # attributo larghezza
h=500 # attributo altezza
r=50 # r è il mio parametro di graziatura della lettera
# LETTERA ‘c’
g = font[“c”]
g.clear()
pen=g.getPen()
pen.moveTo((l,r))
pen.lineTo((l,0))
pen.qCurveTo((0,-h/5),(0,h+h/5),(l-l/10,h))
pen.lineTo((l-l/10,h-r))
pen.closePath()
g.update()
# LETTERA ‘e’
g = font[‘e’]
g.clear()
pen=g.getPen()
pen.moveTo((l-l/20,r))
pen.lineTo((l-l/20,0))
pen.qCurveTo((0,-h/5),(0,h+h/20),(l,h+h/20),(l,h*0.62))
pen.lineTo((0+l/50,h*0.62))
pen.closePath()
g.update()
# routine per il raffinamento dei tracciati e l’expand stroke
# le istruzioni sono applicate a ogni glifo della font creato
for glifo in fl.font.glyphs :
g = glifo.index
fl.Select(g)
fl.iglyph = g
fl.EditGlyph()
fl.CallCommand(40156)
glifo[glifo.nodes_number-1].selected = 1
fl.CallCommand(32812)
fl.CallCommand(33622)
fl.CallCommand(32846)
# comando di aggiornamento
font.update()
#ciclo for in per l’assegnazione di spaziatura ai glifi della font
for glifo in font:
fl.Select(glifo.name)
print glifo.name
glifo.leftMargin=l/5
glifo.rightMargin=l/7
font.update()