ufo point pen
def read(ufo_path): ufo = UFOReader(ufo_path) lib = ufo.readLib() glyph_order = lib['public.glyphOrder'] glyph_set = ufo.getGlyphSet() for glyph_name in glyph_order: glifBytes = glyph_set.getGLIF(glyph_name) g = glyph_set[glyph_name] pen = RecordingPointPen() g.drawPoints(pen) print(g.__dict__) # print(pointPen.value) pprint(pen.value)
def read(ufo_path): ufo = UFOReader(ufo_path) lib = ufo.readLib() glyph_order = lib['public.glyphOrder'] glyph_set = ufo.getGlyphSet() for glyph_name in glyph_order: glifBytes = glyph_set.getGLIF(glyph_name) # glyph = Glyph(glyph_name, glyph_set) # rg = glyph_set.readGlyph(glyph_name, glyph) # glyph_set.readGlyph(glyph_name, glyph, glyph) # glyph_set.readGlyphFromString() g = glyph_set[glyph_name] # pointPen = fontTools.pens.pointPen.SegmentToPointPen() # pointPen = fontTools.pens.basePen.BasePen(g) # pointPen= fontTools.pens.pointPen.AbstractPointPen() # pointPen = fontTools.pens.pointPen.BasePointToSegmentPen() # pointPen = fontTools.pens.pointPen.PointToSegmentPen() pointPen = RecordingPointPen() # pointPen = GLIFPointPen() g.drawPoints(pointPen) print(g.__dict__) print(pointPen.__dict__)
Glyph2のグリフの上書き貼り付け
Glyphs2
①まず、コピーしたいグリフを選択して編集>コピーする。
②Glyphの上書き貼り付け(Command+Option+V)
③すべてとか、貼り付け方を選べる。
spot 使い方
% spot -n ./font.ttf --- names[glyphId]=<name> [0]=<.notdef@0> [1]=<gname@1>
% spot -nc ./font.ttf --- names[glyphId]=<name> [0]=<.notdef@0> [1]=<gname00001@1> [2]=<gname00002@2> [3]=<gname00003@3>
% spot -T font.ttf ### [sfnt] (00000000) --- offset subtable version =1.0 [TrueType] numTables =16 searchRange =256 entrySelector=4 rangeShift =0 --- table directory[index]={tag,checksum,offset,length} [ 0]={'BASE',xxxxxxxx,xxxxxxxx,xxxxxxxx} [ 1]={'GPOS',xxxxxxxx,xxxxxxxx,xxxxxxxx} 略 [15]={'vmtx',xxxxxxxx,xxxxxxxx,xxxxxxxx}
% spot -F font.ttf GPOS Features: Script 'DFLT' Default language system [ 0]='halt' LookupListIndex: 0 [ 1]='palt' LookupListIndex: 1 [ 2]='vhal' LookupListIndex: 2 [ 3]='vpal' LookupListIndex: 3 GSUB Features: Script 'DFLT' Default language system 略