Fix glyph counts

This commit is contained in:
Behdad Esfahbod 2015-12-08 18:36:32 +01:00
parent f738cda25b
commit 59deb68068

View File

@ -208,10 +208,10 @@ class ContextHelper(object):
ChainRuleData = lambda r:(r.Backtrack, r.Input, r.LookAhead) ChainRuleData = lambda r:(r.Backtrack, r.Input, r.LookAhead)
def SetRuleData(r, d): def SetRuleData(r, d):
(r.Input,) = d (r.Input,) = d
(r.GlyphCount,) = (len(x) for x in d) (r.GlyphCount,) = (len(x)+1 for x in d)
def ChainSetRuleData(r, d): def ChainSetRuleData(r, d):
(r.Backtrack, r.Input, r.LookAhead) = d (r.Backtrack, r.Input, r.LookAhead) = d
(r.BacktrackGlyphCount,r.InputGlyphCount,r.LookAheadGlyphCount,) = (len(x) for x in d) (r.BacktrackGlyphCount,r.InputGlyphCount,r.LookAheadGlyphCount,) = (len(d[0]),len(d[1])+1,len(d[2]))
elif Format == 2: elif Format == 2:
Coverage = lambda r: r.Coverage Coverage = lambda r: r.Coverage
ChainCoverage = lambda r: r.Coverage ChainCoverage = lambda r: r.Coverage
@ -229,10 +229,10 @@ class ContextHelper(object):
ChainRuleData = lambda r:(r.Backtrack, r.Input, r.LookAhead) ChainRuleData = lambda r:(r.Backtrack, r.Input, r.LookAhead)
def SetRuleData(r, d): def SetRuleData(r, d):
(r.Class,) = d (r.Class,) = d
(r.GlyphCount,) = (len(x) for x in d) (r.GlyphCount,) = (len(x)+1 for x in d)
def ChainSetRuleData(r, d): def ChainSetRuleData(r, d):
(r.Backtrack, r.Input, r.LookAhead) = d (r.Backtrack, r.Input, r.LookAhead) = d
(r.BacktrackGlyphCount,r.InputGlyphCount,r.LookAheadGlyphCount,) = (len(x) for x in d) (r.BacktrackGlyphCount,r.InputGlyphCount,r.LookAheadGlyphCount,) = (len(d[0]),len(d[1])+1,len(d[2]))
elif Format == 3: elif Format == 3:
Coverage = lambda r: r.Coverage[0] Coverage = lambda r: r.Coverage[0]
ChainCoverage = lambda r: r.InputCoverage[0] ChainCoverage = lambda r: r.InputCoverage[0]