Changes

Jump to navigation Jump to search
def getcurve(self,letter):
self.glname = letter
res_Array = []
res = dict()
try :
#glyph_letter = [ g for g in self.font.glyphs() if g.glyphname == self.glname][0] g = self.font[letter]
except Exception ,e :
res['err'] = str(e)
res_Array.append(res) return resres_Array layer_idx = 0; cntfor layer_name in g.layers: layer = glyph_letterg.layers[1layer_name] for contour_idx in range(len(layer)): res = dict() contour = layer[contour_idx] contour_name = contour.name res[0'name']= contour.name res['is_quadratic'] = cntcontour.is_quadratic res['closed'] = cntcontour.closed res['points'] = [(p.x,p.y,"%i" %p.on_curve) for p in cnt contour ] res['design_size'] = self.font.design_size res['em'] = self.font.em res_Array.append(res) return resres_Array
def getmpostoutlinedrawmpostpath(self,letter): res res_Array = self.getcurve(letter) path state = 0 paths = '' for res in res_Array: temp = '' for p in res['points'] : if p[2]= ='1' : if state == 1 : temp = temp + '-- (%s,%s)' %(p[0] ,p[1]) ; state = 1; continue else: temp = temp + '..(%s,%s)'.join%( p[0] ,p[str1]) ; state = 1; continue if state == 1 : temp = temp + ' .. controls (%s,%s)' %(p[0],p[1]); state =2; continue if state == 2 : temp = temp + ' and (%s,%s) for ' %(p[0],p in [1]) ; state =0; continue if res['pointsclosed'] : if pstate == 1 : temp = 'draw ' + temp[2:] + " -- cycle;\n" else: temp ='draw ' + temp[2:] + " .. cycle;\n" else: temp = '1draw '+ temp[2:] )+ ";\n" paths = paths + temp return pathpaths
def getmpostpoints(self,letter):
res = self.getcurve(letter)
path = [str((p[0],p[1])) for p in res['points'] if p[2] == '1']
return path
  def getmpostpointsSugardrawmpostpoints(self,letter): res res_Array = self.getcurve(letter) path dots = '' for res in res_Array: temp = 'drawdot \n'.join( ["drawdot %s;" %str((p[0],p[1])) for p in res['points'] if p[2] == '1'] )+ "\n" dots = dots + temp return 'drawdot ' +pathdots
if __name__ == '__main__':
s = simpledraw("koeieletterslmmono10-regular.pfbotf") #res = s.getmpostpointsSugar('C') #print res #print s.getmpostoutline('C') print s.getcurve('e') print s.drawmpostpath('e') print s.drawmpostpoints('e') 
</pre>

Navigation menu