From 83dbae1da5164bcb2a410cb22a34f67d1de69403 Mon Sep 17 00:00:00 2001 From: Sascha Brawer Date: Mon, 7 Dec 2015 11:47:55 +0100 Subject: [PATCH] [feaLib] Do not emit any Value if ValueFormat is 0 --- Lib/fontTools/feaLib/builder.py | 6 +++++- Lib/fontTools/feaLib/testdata/GPOS_1.fea | 2 ++ Lib/fontTools/feaLib/testdata/GPOS_1.ttx | 14 ++++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Lib/fontTools/feaLib/builder.py b/Lib/fontTools/feaLib/builder.py index 47342a6d3..d887f9594 100644 --- a/Lib/fontTools/feaLib/builder.py +++ b/Lib/fontTools/feaLib/builder.py @@ -364,7 +364,11 @@ def makeOpenTypeValueRecord(v): for mask, name, _, _ in otBase.valueRecordFormat: if getattr(vr, name, 0) != 0: vrMask |= mask - return vr, vrMask + + if vrMask == 0: + return None, 0 + else: + return vr, vrMask class LookupBuilder(object): diff --git a/Lib/fontTools/feaLib/testdata/GPOS_1.fea b/Lib/fontTools/feaLib/testdata/GPOS_1.fea index 9f836ce0d..e0bc992ff 100644 --- a/Lib/fontTools/feaLib/testdata/GPOS_1.fea +++ b/Lib/fontTools/feaLib/testdata/GPOS_1.fea @@ -3,6 +3,8 @@ languagesystem DFLT dflt; @sevenEightNine = [seven eight nine]; feature kern { + position zero 0; + position [one two three] <-80 0 -160 0>; position A < 1 2 3 4 diff --git a/Lib/fontTools/feaLib/testdata/GPOS_1.ttx b/Lib/fontTools/feaLib/testdata/GPOS_1.ttx index d8bbca652..10c5890d9 100644 --- a/Lib/fontTools/feaLib/testdata/GPOS_1.ttx +++ b/Lib/fontTools/feaLib/testdata/GPOS_1.ttx @@ -53,7 +53,7 @@ - + @@ -91,6 +91,12 @@ + + + + + + @@ -100,7 +106,7 @@ - + @@ -109,7 +115,7 @@ - + @@ -136,7 +142,7 @@ - +