[feaLib] cvXX feature test

This commit is contained in:
Miguel Sousa 2018-02-05 23:38:22 -08:00 committed by Cosimo Lupo
parent f6bcea960d
commit a7fcde030e
No known key found for this signature in database
GPG Key ID: 59D54DB0C9976482
3 changed files with 133 additions and 1 deletions

View File

@ -61,7 +61,7 @@ class BuilderTest(unittest.TestCase):
spec4h1 spec4h2 spec5d1 spec5d2 spec5fi1 spec5fi2 spec5fi3 spec5fi4 spec4h1 spec4h2 spec5d1 spec5d2 spec5fi1 spec5fi2 spec5fi3 spec5fi4
spec5f_ii_1 spec5f_ii_2 spec5f_ii_3 spec5f_ii_4 spec5f_ii_1 spec5f_ii_2 spec5f_ii_3 spec5f_ii_4
spec5h1 spec6b_ii spec6d2 spec6e spec6f spec5h1 spec6b_ii spec6d2 spec6e spec6f
spec6h_ii spec6h_iii_1 spec6h_iii_3d spec8a spec8b spec8c spec6h_ii spec6h_iii_1 spec6h_iii_3d spec8a spec8b spec8c spec8d
spec9a spec9b spec9c1 spec9c2 spec9c3 spec9d spec9e spec9f spec9g spec9a spec9b spec9c1 spec9c2 spec9c3 spec9d spec9e spec9f spec9g
spec10 spec10
bug453 bug457 bug463 bug501 bug502 bug504 bug505 bug506 bug509 bug453 bug457 bug463 bug501 bug502 bug504 bug505 bug506 bug509

View File

@ -0,0 +1,45 @@
# The cvParameters block must precede any of the rules in the feature.
# The ParamUILabelNameID entry may be omitted or repeated as often as needed.
# The other NameID types may be omitted, or defined only once.
# The NameID entries must be specified in the order listed below.
# Following the set of NameID entries, a series of 24-bit Unicode values may be specified.
# These provide Unicode values for the base glyphs referenced by the feature.
# The developer may specify none, some, or all of the Unicode values for the base glyphs.
# The Unicode value may be written with either decimal or hexadecimal notation.
# The value must be preceded by '0x' if it is a hexadecimal value.
# NOTE: The ParamUILabelNameID entries are used when one base glyph is mapped to more than
# one variant; the font designer may then specify one ParamUILabelNameID for each variant, in
# order to uniquely describe that variant. If any ParamUILabelNameID entries are specified,
# the number of ParamUILabelNameID entries must match the number of variants for each base
# glyph. If the Character Variant feature specifies more than one base glyph, then the set
# of NameID entries in the parameter block will be used for each base glyph and its variants.
feature cv01 {
cvParameters {
FeatUILabelNameID {
name 3 1 0x0409 "uilabel simple a"; # English US
name 1 0 0 "uilabel simple a"; # Mac English
};
FeatUITooltipTextNameID {
name 3 1 0x0409 "tool tip simple a"; # English US
name 1 0 0 "tool tip simple a"; # Mac English
};
SampleTextNameID {
name 3 1 0x0409 "sample text simple a"; # English US
name 1 0 0 "sample text simple a"; # Mac English
};
ParamUILabelNameID {
name 3 1 0x0409 "param1 text simple a"; # English US
name 1 0 0 "param1 text simple a"; # Mac English
};
ParamUILabelNameID {
name 3 1 0x0409 "param2 text simple a"; # English US
name 1 0 0 "param2 text simple a"; # Mac English
};
Character 10;
Character 0x5DDE;
};
# --- rules for this feature ---
sub A by B;
} cv01;

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<ttFont>
<name>
<namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
uilabel simple a
</namerecord>
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
uilabel simple a
</namerecord>
<namerecord nameID="257" platformID="3" platEncID="1" langID="0x409">
tool tip simple a
</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">
sample text simple a
</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">
param1 text simple a
</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">
param2 text simple a
</namerecord>
<namerecord nameID="260" platformID="1" platEncID="0" langID="0x0" unicode="True">
param2 text simple a
</namerecord>
</name>
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=1 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=1 -->
<FeatureRecord index="0">
<FeatureTag value="cv01"/>
<Feature>
<FeatureParamsCharacterVariants Format="0">
<Format value="0"/>
<FeatUILabelNameID value="256"/> <!-- uilabel simple a -->
<FeatUITooltipTextNameID value="257"/> <!-- tool tip simple a -->
<SampleTextNameID value="258"/> <!-- sample text simple a -->
<NumNamedParameters value="2"/>
<FirstParamUILabelNameID value="259"/> <!-- param1 text simple a -->
<!-- CharCount=2 -->
<Character index="0" value="10"/>
<Character index="1" value="24030"/>
</FeatureParamsCharacterVariants>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0">
<Substitution in="A" out="B"/>
</SingleSubst>
</Lookup>
</LookupList>
</GSUB>
</ttFont>