[feaLib] Write LangSysRecords to GSUB and GPOS tables

This commit is contained in:
Sascha Brawer 2015-09-07 22:03:50 +02:00
parent 6140a4ec2b
commit c1ba66c2ea
2 changed files with 21 additions and 13 deletions

View File

@ -119,15 +119,17 @@ class Builder(object):
srec.Script.DefaultLangSys = None
srec.Script.LangSysRecord = []
for lang, feature_indices in sorted(lang_features.items()):
langsys = otTables.LangSys()
langsys.LookupOrder = None
langsys.ReqFeatureIndex = 0xFFFF
langsys.FeatureCount = len(feature_indices)
langsys.FeatureIndex = feature_indices
langrec = otTables.LangSysRecord()
langrec.LangSys = otTables.LangSys()
langrec.LangSys.LookupOrder = None
langrec.LangSys.ReqFeatureIndex = 0xFFFF
langrec.LangSys.FeatureCount = len(feature_indices)
langrec.LangSys.FeatureIndex = feature_indices
if lang == "dflt":
srec.Script.DefaultLangSys = langsys
srec.Script.DefaultLangSys = langrec.LangSys
else:
srec.Script.LangSysRecord.append(langsys)
langrec.LangSysTag = lang
srec.Script.LangSysRecord.append(langrec)
srec.Script.LangSysCount = len(srec.Script.LangSysRecord)
table.ScriptList.ScriptRecord.append(srec)

View File

@ -38,14 +38,20 @@
</DefaultLangSys>
<!-- LangSysCount=2 -->
<LangSysRecord index="0">
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
<LangSysTag value="DEU "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
<LangSysTag value="TRK "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>