[feaLib] Sort name table entries in builder
This patch ensures that feaLib always produces a name table with entries sorted in the order proscribed by the spec: platform id, encoding id, language id, name id. This breaks some tests, and so I have manually updated the test data to match the new outputs.
This commit is contained in:
parent
164d6ead03
commit
4716f85731
@ -446,6 +446,7 @@ class Builder(object):
|
|||||||
assert self.cv_parameters_ids_[tag] is not None
|
assert self.cv_parameters_ids_[tag] is not None
|
||||||
nameID = self.cv_parameters_ids_[tag]
|
nameID = self.cv_parameters_ids_[tag]
|
||||||
table.setName(string, nameID, platformID, platEncID, langID)
|
table.setName(string, nameID, platformID, platEncID, langID)
|
||||||
|
table.names.sort()
|
||||||
|
|
||||||
def build_OS_2(self):
|
def build_OS_2(self):
|
||||||
if not self.os2_:
|
if not self.os2_:
|
||||||
|
@ -260,8 +260,8 @@ Famira, Sam Fishman, Matt Fontaine, Takaaki Fuji, Yannis Haralambous, Greg
|
|||||||
Hitchcock, Jeremie Hornus, Khaled Hosny, John Hudson, Denis Moyogo Jacquerye,
|
Hitchcock, Jeremie Hornus, Khaled Hosny, John Hudson, Denis Moyogo Jacquerye,
|
||||||
Jack Jansen, Tom Kacvinsky, Jens Kutilek, Antoine Leca, Werner Lemberg, Tal
|
Jack Jansen, Tom Kacvinsky, Jens Kutilek, Antoine Leca, Werner Lemberg, Tal
|
||||||
Leming, Peter Lofting, Cosimo Lupo, Olli Meier, Masaya Nakamura, Dave Opstad,
|
Leming, Peter Lofting, Cosimo Lupo, Olli Meier, Masaya Nakamura, Dave Opstad,
|
||||||
Laurence Penney, Roozbeh Pournader, Garret Rieger, Read Roberts, Guido
|
Laurence Penney, Roozbeh Pournader, Garret Rieger, Read Roberts, Colin Rofls,
|
||||||
van Rossum, Just van Rossum, Andreas Seidel, Georg Seifert, Chris
|
Guido van Rossum, Just van Rossum, Andreas Seidel, Georg Seifert, Chris
|
||||||
Simpkins, Miguel Sousa, Adam Twardoch, Adrien Tétar, Vitaly Volkov,
|
Simpkins, Miguel Sousa, Adam Twardoch, Adrien Tétar, Vitaly Volkov,
|
||||||
Paul Wise.
|
Paul Wise.
|
||||||
|
|
||||||
|
@ -2,6 +2,15 @@
|
|||||||
<ttFont>
|
<ttFont>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
|
<namerecord nameID="8" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
Test8
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="10" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
Test10
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="11" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
Test11
|
||||||
|
</namerecord>
|
||||||
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
Test1
|
Test1
|
||||||
</namerecord>
|
</namerecord>
|
||||||
@ -23,18 +32,9 @@
|
|||||||
<namerecord nameID="7" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="7" platformID="3" platEncID="1" langID="0x409">
|
||||||
Test7
|
Test7
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="8" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
Test8
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
|
||||||
Test9
|
Test9
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="10" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
Test10
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="11" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
Test11
|
|
||||||
</namerecord>
|
|
||||||
</name>
|
</name>
|
||||||
|
|
||||||
</ttFont>
|
</ttFont>
|
||||||
|
@ -2,15 +2,15 @@
|
|||||||
<ttFont>
|
<ttFont>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
|
||||||
Win MinionPro Size Name
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
Mac MinionPro Size Name
|
Mac MinionPro Size Name
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x5" unicode="True">
|
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x5" unicode="True">
|
||||||
Mac MinionPro Size Name
|
Mac MinionPro Size Name
|
||||||
</namerecord>
|
</namerecord>
|
||||||
|
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Win MinionPro Size Name
|
||||||
|
</namerecord>
|
||||||
</name>
|
</name>
|
||||||
|
|
||||||
<GPOS>
|
<GPOS>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
<FeatureParamsSize>
|
<FeatureParamsSize>
|
||||||
<DesignSize value="10.0"/>
|
<DesignSize value="10.0"/>
|
||||||
<SubfamilyID value="3"/>
|
<SubfamilyID value="3"/>
|
||||||
<SubfamilyNameID value="256"/> <!-- Win MinionPro Size Name -->
|
<SubfamilyNameID value="256"/> <!-- Mac MinionPro Size Name -->
|
||||||
<RangeStart value="8.0"/>
|
<RangeStart value="8.0"/>
|
||||||
<RangeEnd value="13.9"/>
|
<RangeEnd value="13.9"/>
|
||||||
</FeatureParamsSize>
|
</FeatureParamsSize>
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
<ttFont>
|
<ttFont>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
|
||||||
Feature description for MS Platform, script Unicode, language English
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x411">
|
|
||||||
Feature description for MS Platform, script Unicode, language Japanese
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
Feature description for Apple Platform, script Roman, language unspecified
|
Feature description for Apple Platform, script Roman, language unspecified
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="256" platformID="1" platEncID="1" langID="0xc" unicode="True">
|
<namerecord nameID="256" platformID="1" platEncID="1" langID="0xc" unicode="True">
|
||||||
Feature description for Apple Platform, script Japanese, language Japanese
|
Feature description for Apple Platform, script Japanese, language Japanese
|
||||||
</namerecord>
|
</namerecord>
|
||||||
|
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
||||||
|
Feature description for MS Platform, script Unicode, language English
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x411">
|
||||||
|
Feature description for MS Platform, script Unicode, language Japanese
|
||||||
|
</namerecord>
|
||||||
</name>
|
</name>
|
||||||
|
|
||||||
<GSUB>
|
<GSUB>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
<Feature>
|
<Feature>
|
||||||
<FeatureParamsStylisticSet>
|
<FeatureParamsStylisticSet>
|
||||||
<Version value="0"/>
|
<Version value="0"/>
|
||||||
<UINameID value="256"/> <!-- Feature description for MS Platform, script Unicode, language English -->
|
<UINameID value="256"/> <!-- Feature description for Apple Platform, script Roman, language unspecified -->
|
||||||
</FeatureParamsStylisticSet>
|
</FeatureParamsStylisticSet>
|
||||||
<!-- LookupCount=1 -->
|
<!-- LookupCount=1 -->
|
||||||
<LookupListIndex index="0" value="0"/>
|
<LookupListIndex index="0" value="0"/>
|
||||||
|
@ -2,36 +2,36 @@
|
|||||||
<ttFont>
|
<ttFont>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
uilabel simple a
|
uilabel simple a
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
<namerecord nameID="257" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
tool tip simple a
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="258" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
sample text simple a
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="259" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
param1 text simple a
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="260" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
param2 text simple a
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
|
||||||
uilabel simple a
|
uilabel simple a
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="257" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="257" platformID="3" platEncID="1" langID="0x409">
|
||||||
tool tip simple a
|
tool tip simple a
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="257" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
tool tip simple a
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="258" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="258" platformID="3" platEncID="1" langID="0x409">
|
||||||
sample text simple a
|
sample text simple a
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="258" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
sample text simple a
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="259" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="259" platformID="3" platEncID="1" langID="0x409">
|
||||||
param1 text simple a
|
param1 text simple a
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="259" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
param1 text simple a
|
|
||||||
</namerecord>
|
|
||||||
<namerecord nameID="260" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="260" platformID="3" platEncID="1" langID="0x409">
|
||||||
param2 text simple a
|
param2 text simple a
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="260" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
|
||||||
param2 text simple a
|
|
||||||
</namerecord>
|
|
||||||
</name>
|
</name>
|
||||||
|
|
||||||
<GSUB>
|
<GSUB>
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
<ttFont>
|
<ttFont>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
<namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="9" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
Joachim Müller-Lancé
|
Joachim Müller-Lancé
|
||||||
</namerecord>
|
</namerecord>
|
||||||
<namerecord nameID="9" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
<namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
|
||||||
Joachim Müller-Lancé
|
Joachim Müller-Lancé
|
||||||
</namerecord>
|
</namerecord>
|
||||||
</name>
|
</name>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user