Merge pull request #1815 from khaledhosny/fealib-flag-fix
[feaLib] Don’t reset lookupflag in nested lookups
This commit is contained in:
commit
014991d710
@ -679,15 +679,17 @@ class Builder(object):
|
|||||||
self.cur_lookup_name_ = name
|
self.cur_lookup_name_ = name
|
||||||
self.named_lookups_[name] = None
|
self.named_lookups_[name] = None
|
||||||
self.cur_lookup_ = None
|
self.cur_lookup_ = None
|
||||||
self.lookupflag_ = 0
|
if self.cur_feature_name_ is None:
|
||||||
self.lookupflag_markFilterSet_ = None
|
self.lookupflag_ = 0
|
||||||
|
self.lookupflag_markFilterSet_ = None
|
||||||
|
|
||||||
def end_lookup_block(self):
|
def end_lookup_block(self):
|
||||||
assert self.cur_lookup_name_ is not None
|
assert self.cur_lookup_name_ is not None
|
||||||
self.cur_lookup_name_ = None
|
self.cur_lookup_name_ = None
|
||||||
self.cur_lookup_ = None
|
self.cur_lookup_ = None
|
||||||
self.lookupflag_ = 0
|
if self.cur_feature_name_ is None:
|
||||||
self.lookupflag_markFilterSet_ = None
|
self.lookupflag_ = 0
|
||||||
|
self.lookupflag_markFilterSet_ = None
|
||||||
|
|
||||||
def add_lookup_call(self, lookup_name):
|
def add_lookup_call(self, lookup_name):
|
||||||
assert lookup_name in self.named_lookups_, lookup_name
|
assert lookup_name in self.named_lookups_, lookup_name
|
||||||
|
@ -95,3 +95,42 @@ feature test {
|
|||||||
lookup M;
|
lookup M;
|
||||||
lookup N;
|
lookup N;
|
||||||
} test;
|
} test;
|
||||||
|
|
||||||
|
feature test {
|
||||||
|
lookupflag IgnoreMarks;
|
||||||
|
lookup O {
|
||||||
|
pos one 1;
|
||||||
|
} O;
|
||||||
|
lookup P {
|
||||||
|
pos one 1;
|
||||||
|
} P;
|
||||||
|
} test;
|
||||||
|
|
||||||
|
feature test {
|
||||||
|
lookup Q {
|
||||||
|
pos one 1;
|
||||||
|
} Q;
|
||||||
|
lookup R {
|
||||||
|
pos one 1;
|
||||||
|
} R;
|
||||||
|
} test;
|
||||||
|
|
||||||
|
feature test {
|
||||||
|
lookup S {
|
||||||
|
lookupflag IgnoreMarks;
|
||||||
|
pos one 1;
|
||||||
|
} S;
|
||||||
|
lookup T {
|
||||||
|
pos one 1;
|
||||||
|
} T;
|
||||||
|
} test;
|
||||||
|
|
||||||
|
feature test {
|
||||||
|
lookup U {
|
||||||
|
pos one 1;
|
||||||
|
} U;
|
||||||
|
lookup V {
|
||||||
|
lookupflag IgnoreMarks;
|
||||||
|
pos one 1;
|
||||||
|
} V;
|
||||||
|
} test;
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
<FeatureRecord index="0">
|
<FeatureRecord index="0">
|
||||||
<FeatureTag value="test"/>
|
<FeatureTag value="test"/>
|
||||||
<Feature>
|
<Feature>
|
||||||
<!-- LookupCount=14 -->
|
<!-- LookupCount=22 -->
|
||||||
<LookupListIndex index="0" value="0"/>
|
<LookupListIndex index="0" value="0"/>
|
||||||
<LookupListIndex index="1" value="1"/>
|
<LookupListIndex index="1" value="1"/>
|
||||||
<LookupListIndex index="2" value="2"/>
|
<LookupListIndex index="2" value="2"/>
|
||||||
@ -76,11 +76,19 @@
|
|||||||
<LookupListIndex index="11" value="11"/>
|
<LookupListIndex index="11" value="11"/>
|
||||||
<LookupListIndex index="12" value="12"/>
|
<LookupListIndex index="12" value="12"/>
|
||||||
<LookupListIndex index="13" value="13"/>
|
<LookupListIndex index="13" value="13"/>
|
||||||
|
<LookupListIndex index="14" value="14"/>
|
||||||
|
<LookupListIndex index="15" value="15"/>
|
||||||
|
<LookupListIndex index="16" value="16"/>
|
||||||
|
<LookupListIndex index="17" value="17"/>
|
||||||
|
<LookupListIndex index="18" value="18"/>
|
||||||
|
<LookupListIndex index="19" value="19"/>
|
||||||
|
<LookupListIndex index="20" value="20"/>
|
||||||
|
<LookupListIndex index="21" value="21"/>
|
||||||
</Feature>
|
</Feature>
|
||||||
</FeatureRecord>
|
</FeatureRecord>
|
||||||
</FeatureList>
|
</FeatureList>
|
||||||
<LookupList>
|
<LookupList>
|
||||||
<!-- LookupCount=14 -->
|
<!-- LookupCount=22 -->
|
||||||
<Lookup index="0">
|
<Lookup index="0">
|
||||||
<LookupType value="1"/>
|
<LookupType value="1"/>
|
||||||
<LookupFlag value="1"/>
|
<LookupFlag value="1"/>
|
||||||
@ -253,6 +261,102 @@
|
|||||||
<Value XAdvance="1"/>
|
<Value XAdvance="1"/>
|
||||||
</SinglePos>
|
</SinglePos>
|
||||||
</Lookup>
|
</Lookup>
|
||||||
|
<Lookup index="14">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="8"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="15">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="8"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="16">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="0"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="17">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="0"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="18">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="8"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="19">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="8"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="20">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="0"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
|
<Lookup index="21">
|
||||||
|
<LookupType value="1"/>
|
||||||
|
<LookupFlag value="8"/>
|
||||||
|
<!-- SubTableCount=1 -->
|
||||||
|
<SinglePos index="0" Format="1">
|
||||||
|
<Coverage>
|
||||||
|
<Glyph value="one"/>
|
||||||
|
</Coverage>
|
||||||
|
<ValueFormat value="4"/>
|
||||||
|
<Value XAdvance="1"/>
|
||||||
|
</SinglePos>
|
||||||
|
</Lookup>
|
||||||
</LookupList>
|
</LookupList>
|
||||||
</GPOS>
|
</GPOS>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user