def test_buildCursivePos(self):
     pos = builder.buildCursivePosSubtable({
         "two": (self.ANCHOR1, self.ANCHOR2),
         "four": (self.ANCHOR3, self.ANCHOR1)
     }, self.GLYPHMAP)
     self.assertEqual(getXML(pos.toXML),
                      '<CursivePos Format="1">'
                      '  <Coverage>'
                      '    <Glyph value="two"/>'
                      '    <Glyph value="four"/>'
                      '  </Coverage>'
                      '  <!-- EntryExitCount=2 -->'
                      '  <EntryExitRecord index="0">'
                      '    <EntryAnchor Format="1">'
                      '      <XCoordinate value="11"/>'
                      '      <YCoordinate value="-11"/>'
                      '    </EntryAnchor>'
                      '    <ExitAnchor Format="1">'
                      '      <XCoordinate value="22"/>'
                      '      <YCoordinate value="-22"/>'
                      '    </ExitAnchor>'
                      '  </EntryExitRecord>'
                      '  <EntryExitRecord index="1">'
                      '    <EntryAnchor Format="1">'
                      '      <XCoordinate value="33"/>'
                      '      <YCoordinate value="-33"/>'
                      '    </EntryAnchor>'
                      '    <ExitAnchor Format="1">'
                      '      <XCoordinate value="11"/>'
                      '      <YCoordinate value="-11"/>'
                      '    </ExitAnchor>'
                      '  </EntryExitRecord>'
                      '</CursivePos>')
示例#2
0
def parseCursive(lines, font, _lookupMap=None):
	records = {}
	for line in lines:
		assert len(line) in [3,4], line
		idx,klass = {
			'entry':	(0,ot.EntryAnchor),
			'exit':		(1,ot.ExitAnchor),
		}[line[0]]
		glyph = makeGlyph(line[1])
		if glyph not in records:
			records[glyph] = [None,None]
		assert records[glyph][idx] is None, (glyph, idx)
		records[glyph][idx] = makeAnchor(line[2:], klass)
	return otl.buildCursivePosSubtable(records, font.getReverseGlyphMap())
示例#3
0
def parseCursive(lines, font, _lookupMap=None):
	records = {}
	for line in lines:
		assert len(line) in [3,4], line
		idx,klass = {
			'entry':	(0,ot.EntryAnchor),
			'exit':		(1,ot.ExitAnchor),
		}[line[0]]
		glyph = makeGlyph(line[1])
		if glyph not in records:
			records[glyph] = [None,None]
		assert records[glyph][idx] is None, (glyph, idx)
		records[glyph][idx] = makeAnchor(line[2:], klass)
	return otl.buildCursivePosSubtable(records, font.getReverseGlyphMap())
示例#4
0
 def build(self):
     st = otl.buildCursivePosSubtable(self.attachments, self.glyphMap)
     return self.buildLookup_([st])
示例#5
0
 def build(self):
     st = otl.buildCursivePosSubtable(self.attachments, self.glyphMap)
     return self.buildLookup_([st])