Exemplo n.º 1
0
def parseSinglePos(lines, font, _lookupMap=None):
	values = {}
	for line in lines:
		assert len(line) == 3, line
		w = line[0].title().replace(' ', '')
		assert w in valueRecordFormatDict
		g = makeGlyph(line[1])
		v = int(line[2])
		if g not in values:
			values[g] = ValueRecord()
		assert not hasattr(values[g], w), (g, w)
		setattr(values[g], w, v)
	return otl.buildSinglePosSubtable(values, font.getReverseGlyphMap())
Exemplo n.º 2
0
 def test_buildSinglePosSubtable_format1(self):
     subtable = builder.buildSinglePosSubtable({
         "one": builder.buildValue({"XPlacement": 777}),
         "two": builder.buildValue({"XPlacement": 777}),
     }, self.GLYPHMAP)
     self.assertEqual(getXML(subtable.toXML),
                      '<SinglePos Format="1">'
                      '  <Coverage>'
                      '    <Glyph value="one"/>'
                      '    <Glyph value="two"/>'
                      '  </Coverage>'
                      '  <ValueFormat value="1"/>'
                      '  <Value XPlacement="777"/>'
                      '</SinglePos>')
Exemplo n.º 3
0
 def test_buildSinglePosSubtable_format1(self):
     subtable = builder.buildSinglePosSubtable(
         {
             "one": builder.buildValue({"XPlacement": 777}),
             "two": builder.buildValue({"XPlacement": 777}),
         }, self.GLYPHMAP)
     self.assertEqual(
         getXML(subtable.toXML), '<SinglePos Format="1">'
         '  <Coverage>'
         '    <Glyph value="one"/>'
         '    <Glyph value="two"/>'
         '  </Coverage>'
         '  <ValueFormat value="1"/>'
         '  <Value XPlacement="777"/>'
         '</SinglePos>')
 def test_buildSinglePosSubtable_format2(self):
     subtable = builder.buildSinglePosSubtable({
         "one": builder.buildValue({"XPlacement": 777}),
         "two": builder.buildValue({"YPlacement": -888}),
     }, self.GLYPHMAP)
     self.assertEqual(getXML(subtable.toXML),
                      '<SinglePos Format="2">'
                      '  <Coverage>'
                      '    <Glyph value="one"/>'
                      '    <Glyph value="two"/>'
                      '  </Coverage>'
                      '  <ValueFormat value="3"/>'
                      '  <!-- ValueCount=2 -->'
                      '  <Value index="0" XPlacement="777"/>'
                      '  <Value index="1" YPlacement="-888"/>'
                      '</SinglePos>')