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.named_lookups_[name] = None
|
||||
self.cur_lookup_ = None
|
||||
self.lookupflag_ = 0
|
||||
self.lookupflag_markFilterSet_ = None
|
||||
if self.cur_feature_name_ is None:
|
||||
self.lookupflag_ = 0
|
||||
self.lookupflag_markFilterSet_ = None
|
||||
|
||||
def end_lookup_block(self):
|
||||
assert self.cur_lookup_name_ is not None
|
||||
self.cur_lookup_name_ = None
|
||||
self.cur_lookup_ = None
|
||||
self.lookupflag_ = 0
|
||||
self.lookupflag_markFilterSet_ = None
|
||||
if self.cur_feature_name_ is None:
|
||||
self.lookupflag_ = 0
|
||||
self.lookupflag_markFilterSet_ = None
|
||||
|
||||
def add_lookup_call(self, lookup_name):
|
||||
assert lookup_name in self.named_lookups_, lookup_name
|
||||
|
@ -95,3 +95,42 @@ feature test {
|
||||
lookup M;
|
||||
lookup N;
|
||||
} 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">
|
||||
<FeatureTag value="test"/>
|
||||
<Feature>
|
||||
<!-- LookupCount=14 -->
|
||||
<!-- LookupCount=22 -->
|
||||
<LookupListIndex index="0" value="0"/>
|
||||
<LookupListIndex index="1" value="1"/>
|
||||
<LookupListIndex index="2" value="2"/>
|
||||
@ -76,11 +76,19 @@
|
||||
<LookupListIndex index="11" value="11"/>
|
||||
<LookupListIndex index="12" value="12"/>
|
||||
<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>
|
||||
</FeatureRecord>
|
||||
</FeatureList>
|
||||
<LookupList>
|
||||
<!-- LookupCount=14 -->
|
||||
<!-- LookupCount=22 -->
|
||||
<Lookup index="0">
|
||||
<LookupType value="1"/>
|
||||
<LookupFlag value="1"/>
|
||||
@ -253,6 +261,102 @@
|
||||
<Value XAdvance="1"/>
|
||||
</SinglePos>
|
||||
</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>
|
||||
</GPOS>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user