[aat.feat] Fix enum namespace
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 23 Nov 2018 17:23:35 +0000 (12:23 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Sun, 25 Nov 2018 06:16:02 +0000 (01:16 -0500)
src/hb-aat-layout-feat-table.hh
src/hb-aat-layout-morx-table.hh
src/hb-aat-layout.cc
src/hb-aat.h
test/api/test-aat-layout.c

index d30acee..41fa7da 100644 (file)
@@ -113,7 +113,7 @@ struct FeatureName
       unsigned int index = (featureFlags & NotDefault) ? featureFlags & IndexMask : 0;
       *default_selector = ((featureFlags & Exclusive) && index < settings_count)
                          ? settings_table[index].get_selector ()
-                         : HB_AAT_LAYOUT_SELECTOR_INVALID;
+                         : HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID;
     }
     return settings_count;
   }
index 05936c3..171ee4a 100644 (file)
@@ -967,11 +967,11 @@ struct Chain
          flags &= feature.disableFlags;
          flags |= feature.enableFlags;
        }
-       else if (type == HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE && setting == HB_AAT_LAYOUT_SELECTOR_SMALL_CAPS)
+       else if (type == HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE && setting == HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS)
        {
          /* Deprecated. https://github.com/harfbuzz/harfbuzz/issues/1342 */
          type = HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE;
-         setting = HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_SMALL_CAPS;
+         setting = HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS;
          goto retry;
        }
       }
index 71bb71a..e25dcc8 100644 (file)
  * when moving to this file. */
 static const hb_aat_feature_mapping_t feature_mappings[] =
 {
-  {HB_TAG ('a','f','r','c'), HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS,               HB_AAT_LAYOUT_SELECTOR_VERTICAL_FRACTIONS,             HB_AAT_LAYOUT_SELECTOR_NO_FRACTIONS},
-  {HB_TAG ('c','2','p','c'), HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE,              HB_AAT_LAYOUT_SELECTOR_UPPER_CASE_PETITE_CAPS,         HB_AAT_LAYOUT_SELECTOR_DEFAULT_UPPER_CASE},
-  {HB_TAG ('c','2','s','c'), HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE,              HB_AAT_LAYOUT_SELECTOR_UPPER_CASE_SMALL_CAPS,          HB_AAT_LAYOUT_SELECTOR_DEFAULT_UPPER_CASE},
-  {HB_TAG ('c','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES, HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_ALTERNATES_ON,       HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_ALTERNATES_OFF},
-  {HB_TAG ('c','a','s','e'), HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT,   HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_LAYOUT_ON,       HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF},
-  {HB_TAG ('c','l','i','g'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_LIGATURES_ON,        HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_LIGATURES_OFF},
-  {HB_TAG ('c','p','s','p'), HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT,   HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_SPACING_ON,      HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_SPACING_OFF},
-  {HB_TAG ('c','s','w','h'), HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES, HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON, HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF},
-  {HB_TAG ('d','l','i','g'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_SELECTOR_RARE_LIGATURES_ON,              HB_AAT_LAYOUT_SELECTOR_RARE_LIGATURES_OFF},
-  {HB_TAG ('e','x','p','t'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_EXPERT_CHARACTERS,              (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('f','r','a','c'), HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS,               HB_AAT_LAYOUT_SELECTOR_DIAGONAL_FRACTIONS,             HB_AAT_LAYOUT_SELECTOR_NO_FRACTIONS},
-  {HB_TAG ('f','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_MONOSPACED_TEXT,                (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('h','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_ALT_HALF_WIDTH_TEXT,            (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('h','i','s','t'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_SELECTOR_HISTORICAL_LIGATURES_ON,        HB_AAT_LAYOUT_SELECTOR_HISTORICAL_LIGATURES_OFF},
-  {HB_TAG ('h','k','n','a'), HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA,          HB_AAT_LAYOUT_SELECTOR_ALTERNATE_HORIZ_KANA_ON,        HB_AAT_LAYOUT_SELECTOR_ALTERNATE_HORIZ_KANA_OFF},
-  {HB_TAG ('h','l','i','g'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_SELECTOR_HISTORICAL_LIGATURES_ON,        HB_AAT_LAYOUT_SELECTOR_HISTORICAL_LIGATURES_OFF},
-  {HB_TAG ('h','n','g','l'), HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION,         HB_AAT_LAYOUT_SELECTOR_HANJA_TO_HANGUL,                HB_AAT_LAYOUT_SELECTOR_NO_TRANSLITERATION},
-  {HB_TAG ('h','o','j','o'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_HOJO_CHARACTERS,                (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('h','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_HALF_WIDTH_TEXT,                (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('i','t','a','l'), HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN,        HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN_ON,            HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN_OFF},
-  {HB_TAG ('j','p','0','4'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_JIS2004_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('j','p','7','8'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_JIS1978_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('j','p','8','3'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_JIS1983_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('j','p','9','0'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_JIS1990_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('l','i','g','a'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_SELECTOR_COMMON_LIGATURES_ON,            HB_AAT_LAYOUT_SELECTOR_COMMON_LIGATURES_OFF},
-  {HB_TAG ('l','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE,             HB_AAT_LAYOUT_SELECTOR_UPPER_CASE_NUMBERS,             (hb_aat_layout_feature_selector_t) 2},
-  {HB_TAG ('m','g','r','k'), HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS,     HB_AAT_LAYOUT_SELECTOR_MATHEMATICAL_GREEK_ON,          HB_AAT_LAYOUT_SELECTOR_MATHEMATICAL_GREEK_OFF},
-  {HB_TAG ('n','l','c','k'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_NLCCHARACTERS,                  (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('o','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE,             HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_NUMBERS,             (hb_aat_layout_feature_selector_t) 2},
-  {HB_TAG ('o','r','d','n'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_SELECTOR_ORDINALS,                       HB_AAT_LAYOUT_SELECTOR_NORMAL_POSITION},
-  {HB_TAG ('p','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_ALT_PROPORTIONAL_TEXT,          (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('p','c','a','p'), HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE,              HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_PETITE_CAPS,         HB_AAT_LAYOUT_SELECTOR_DEFAULT_LOWER_CASE},
-  {HB_TAG ('p','k','n','a'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_TEXT,              (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('p','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING,          HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_NUMBERS,           (hb_aat_layout_feature_selector_t) 4},
-  {HB_TAG ('p','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_TEXT,              (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('q','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_QUARTER_WIDTH_TEXT,             (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('r','u','b','y'), HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA,               HB_AAT_LAYOUT_SELECTOR_RUBY_KANA_ON,                   HB_AAT_LAYOUT_SELECTOR_RUBY_KANA_OFF},
-  {HB_TAG ('s','i','n','f'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_SELECTOR_SCIENTIFIC_INFERIORS,           HB_AAT_LAYOUT_SELECTOR_NORMAL_POSITION},
-  {HB_TAG ('s','m','c','p'), HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE,              HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_SMALL_CAPS,          HB_AAT_LAYOUT_SELECTOR_DEFAULT_LOWER_CASE},
-  {HB_TAG ('s','m','p','l'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_SIMPLIFIED_CHARACTERS,          (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('s','s','0','1'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ONE_ON,           HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ONE_OFF},
-  {HB_TAG ('s','s','0','2'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWO_ON,           HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWO_OFF},
-  {HB_TAG ('s','s','0','3'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THREE_ON,         HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THREE_OFF},
-  {HB_TAG ('s','s','0','4'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOUR_ON,          HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOUR_OFF},
-  {HB_TAG ('s','s','0','5'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIVE_ON,          HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIVE_OFF},
-  {HB_TAG ('s','s','0','6'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIX_ON,           HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIX_OFF},
-  {HB_TAG ('s','s','0','7'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVEN_ON,         HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVEN_OFF},
-  {HB_TAG ('s','s','0','8'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHT_ON,         HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHT_OFF},
-  {HB_TAG ('s','s','0','9'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINE_ON,          HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINE_OFF},
-  {HB_TAG ('s','s','1','0'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TEN_ON,           HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TEN_OFF},
-  {HB_TAG ('s','s','1','1'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ELEVEN_ON,        HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF},
-  {HB_TAG ('s','s','1','2'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWELVE_ON,        HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWELVE_OFF},
-  {HB_TAG ('s','s','1','3'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON,      HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF},
-  {HB_TAG ('s','s','1','4'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON,      HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF},
-  {HB_TAG ('s','s','1','5'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON,       HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF},
-  {HB_TAG ('s','s','1','6'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON,       HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF},
-  {HB_TAG ('s','s','1','7'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON,     HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF},
-  {HB_TAG ('s','s','1','8'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON,      HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF},
-  {HB_TAG ('s','s','1','9'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINETEEN_ON,      HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF},
-  {HB_TAG ('s','s','2','0'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWENTY_ON,        HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWENTY_OFF},
-  {HB_TAG ('s','u','b','s'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_SELECTOR_INFERIORS,                      HB_AAT_LAYOUT_SELECTOR_NORMAL_POSITION},
-  {HB_TAG ('s','u','p','s'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_SELECTOR_SUPERIORS,                      HB_AAT_LAYOUT_SELECTOR_NORMAL_POSITION},
-  {HB_TAG ('s','w','s','h'), HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES, HB_AAT_LAYOUT_SELECTOR_SWASH_ALTERNATES_ON,            HB_AAT_LAYOUT_SELECTOR_SWASH_ALTERNATES_OFF},
-  {HB_TAG ('t','i','t','l'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS,           HB_AAT_LAYOUT_SELECTOR_TITLING_CAPS,                   HB_AAT_LAYOUT_SELECTOR_NO_STYLE_OPTIONS},
-  {HB_TAG ('t','n','a','m'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_NAMES_CHARACTERS,   (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('t','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING,          HB_AAT_LAYOUT_SELECTOR_MONOSPACED_NUMBERS,             (hb_aat_layout_feature_selector_t) 4},
-  {HB_TAG ('t','r','a','d'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_CHARACTERS,         (hb_aat_layout_feature_selector_t) 16},
-  {HB_TAG ('t','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_THIRD_WIDTH_TEXT,               (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('a','f','r','c'), HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS,               HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS,             HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS},
+  {HB_TAG ('c','2','p','c'), HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE,              HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS,         HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE},
+  {HB_TAG ('c','2','s','c'), HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE,              HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS,          HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE},
+  {HB_TAG ('c','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES, HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON,       HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF},
+  {HB_TAG ('c','a','s','e'), HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT,   HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON,       HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF},
+  {HB_TAG ('c','l','i','g'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF},
+  {HB_TAG ('c','p','s','p'), HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT,   HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON,      HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF},
+  {HB_TAG ('c','s','w','h'), HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES, HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON, HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF},
+  {HB_TAG ('d','l','i','g'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON,              HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF},
+  {HB_TAG ('e','x','p','t'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS,              (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('f','r','a','c'), HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS,               HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS,             HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS},
+  {HB_TAG ('f','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT,                (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('h','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT,            (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('h','i','s','t'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF},
+  {HB_TAG ('h','k','n','a'), HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA,          HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF},
+  {HB_TAG ('h','l','i','g'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF},
+  {HB_TAG ('h','n','g','l'), HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION,         HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL,                HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION},
+  {HB_TAG ('h','o','j','o'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS,                (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('h','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT,                (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('i','t','a','l'), HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN,        HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON,            HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF},
+  {HB_TAG ('j','p','0','4'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('j','p','7','8'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('j','p','8','3'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('j','p','9','0'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS,             (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('l','i','g','a'), HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES,               HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON,            HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF},
+  {HB_TAG ('l','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE,             HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS,             (hb_aat_layout_feature_selector_t) 2},
+  {HB_TAG ('m','g','r','k'), HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS,     HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON,          HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF},
+  {HB_TAG ('n','l','c','k'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS,                  (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('o','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE,             HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS,             (hb_aat_layout_feature_selector_t) 2},
+  {HB_TAG ('o','r','d','n'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS,                       HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION},
+  {HB_TAG ('p','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT,          (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('p','c','a','p'), HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE,              HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS,         HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE},
+  {HB_TAG ('p','k','n','a'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT,              (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('p','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING,          HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS,           (hb_aat_layout_feature_selector_t) 4},
+  {HB_TAG ('p','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT,              (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('q','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT,             (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('r','u','b','y'), HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA,               HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON,                   HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF},
+  {HB_TAG ('s','i','n','f'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS,           HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION},
+  {HB_TAG ('s','m','c','p'), HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE,              HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS,          HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE},
+  {HB_TAG ('s','m','p','l'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS,          (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('s','s','0','1'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON,           HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF},
+  {HB_TAG ('s','s','0','2'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON,           HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF},
+  {HB_TAG ('s','s','0','3'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON,         HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF},
+  {HB_TAG ('s','s','0','4'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON,          HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF},
+  {HB_TAG ('s','s','0','5'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON,          HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF},
+  {HB_TAG ('s','s','0','6'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON,           HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF},
+  {HB_TAG ('s','s','0','7'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON,         HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF},
+  {HB_TAG ('s','s','0','8'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON,         HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF},
+  {HB_TAG ('s','s','0','9'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON,          HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF},
+  {HB_TAG ('s','s','1','0'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON,           HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF},
+  {HB_TAG ('s','s','1','1'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF},
+  {HB_TAG ('s','s','1','2'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF},
+  {HB_TAG ('s','s','1','3'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON,      HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF},
+  {HB_TAG ('s','s','1','4'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON,      HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF},
+  {HB_TAG ('s','s','1','5'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON,       HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF},
+  {HB_TAG ('s','s','1','6'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON,       HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF},
+  {HB_TAG ('s','s','1','7'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON,     HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF},
+  {HB_TAG ('s','s','1','8'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON,      HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF},
+  {HB_TAG ('s','s','1','9'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON,      HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF},
+  {HB_TAG ('s','s','2','0'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES,  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON,        HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF},
+  {HB_TAG ('s','u','b','s'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS,                      HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION},
+  {HB_TAG ('s','u','p','s'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION,       HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS,                      HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION},
+  {HB_TAG ('s','w','s','h'), HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES, HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON,            HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF},
+  {HB_TAG ('t','i','t','l'), HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS,           HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS,                   HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS},
+  {HB_TAG ('t','n','a','m'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS,   (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('t','n','u','m'), HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING,          HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS,             (hb_aat_layout_feature_selector_t) 4},
+  {HB_TAG ('t','r','a','d'), HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE,         HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS,         (hb_aat_layout_feature_selector_t) 16},
+  {HB_TAG ('t','w','i','d'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT,               (hb_aat_layout_feature_selector_t) 7},
   {HB_TAG ('u','n','i','c'), HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE,             (hb_aat_layout_feature_selector_t) 14,                 (hb_aat_layout_feature_selector_t) 15},
-  {HB_TAG ('v','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_ALT_PROPORTIONAL_TEXT,          (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('v','e','r','t'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION,   HB_AAT_LAYOUT_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON,   HB_AAT_LAYOUT_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF},
-  {HB_TAG ('v','h','a','l'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_ALT_HALF_WIDTH_TEXT,            (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('v','k','n','a'), HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA,          HB_AAT_LAYOUT_SELECTOR_ALTERNATE_VERT_KANA_ON,         HB_AAT_LAYOUT_SELECTOR_ALTERNATE_VERT_KANA_OFF},
-  {HB_TAG ('v','p','a','l'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_SELECTOR_ALT_PROPORTIONAL_TEXT,          (hb_aat_layout_feature_selector_t) 7},
-  {HB_TAG ('v','r','t','2'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION,   HB_AAT_LAYOUT_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON,   HB_AAT_LAYOUT_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF},
-  {HB_TAG ('z','e','r','o'), HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS,      HB_AAT_LAYOUT_SELECTOR_SLASHED_ZERO_ON,                HB_AAT_LAYOUT_SELECTOR_SLASHED_ZERO_OFF},
+  {HB_TAG ('v','a','l','t'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT,          (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('v','e','r','t'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION,   HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON,   HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF},
+  {HB_TAG ('v','h','a','l'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT,            (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('v','k','n','a'), HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA,          HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON,         HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF},
+  {HB_TAG ('v','p','a','l'), HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING,            HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT,          (hb_aat_layout_feature_selector_t) 7},
+  {HB_TAG ('v','r','t','2'), HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION,   HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON,   HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF},
+  {HB_TAG ('z','e','r','o'), HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS,      HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON,                HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF},
 };
 
 const hb_aat_feature_mapping_t *
index 9eb8887..b6c5801 100644 (file)
@@ -89,333 +89,333 @@ typedef enum
  */
 typedef enum
 {
-  HB_AAT_LAYOUT_SELECTOR_INVALID                       = 0xFFFF,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID                       = 0xFFFF,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC */
-  HB_AAT_LAYOUT_SELECTOR_ALL_TYPE_FEATURES_ON          = 0,
-  HB_AAT_LAYOUT_SELECTOR_ALL_TYPE_FEATURES_OFF         = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON          = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF         = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES */
-  HB_AAT_LAYOUT_SELECTOR_REQUIRED_LIGATURES_ON         = 0,
-  HB_AAT_LAYOUT_SELECTOR_REQUIRED_LIGATURES_OFF                = 1,
-  HB_AAT_LAYOUT_SELECTOR_COMMON_LIGATURES_ON           = 2,
-  HB_AAT_LAYOUT_SELECTOR_COMMON_LIGATURES_OFF          = 3,
-  HB_AAT_LAYOUT_SELECTOR_RARE_LIGATURES_ON             = 4,
-  HB_AAT_LAYOUT_SELECTOR_RARE_LIGATURES_OFF            = 5,
-  HB_AAT_LAYOUT_SELECTOR_LOGOS_ON                      = 6,
-  HB_AAT_LAYOUT_SELECTOR_LOGOS_OFF                     = 7,
-  HB_AAT_LAYOUT_SELECTOR_REBUS_PICTURES_ON             = 8,
-  HB_AAT_LAYOUT_SELECTOR_REBUS_PICTURES_OFF            = 9,
-  HB_AAT_LAYOUT_SELECTOR_DIPHTHONG_LIGATURES_ON                = 10,
-  HB_AAT_LAYOUT_SELECTOR_DIPHTHONG_LIGATURES_OFF       = 11,
-  HB_AAT_LAYOUT_SELECTOR_SQUARED_LIGATURES_ON          = 12,
-  HB_AAT_LAYOUT_SELECTOR_SQUARED_LIGATURES_OFF         = 13,
-  HB_AAT_LAYOUT_SELECTOR_ABBREV_SQUARED_LIGATURES_ON   = 14,
-  HB_AAT_LAYOUT_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF  = 15,
-  HB_AAT_LAYOUT_SELECTOR_SYMBOL_LIGATURES_ON           = 16,
-  HB_AAT_LAYOUT_SELECTOR_SYMBOL_LIGATURES_OFF          = 17,
-  HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_LIGATURES_ON       = 18,
-  HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_LIGATURES_OFF      = 19,
-  HB_AAT_LAYOUT_SELECTOR_HISTORICAL_LIGATURES_ON       = 20,
-  HB_AAT_LAYOUT_SELECTOR_HISTORICAL_LIGATURES_OFF      = 21,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON         = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF                = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON           = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF          = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON             = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF            = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON                      = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF                     = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON             = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF            = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON                = 10,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF       = 11,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON          = 12,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF         = 13,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON   = 14,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF  = 15,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON           = 16,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF          = 17,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON       = 18,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF      = 19,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON       = 20,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF      = 21,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES */
-  HB_AAT_LAYOUT_SELECTOR_UNCONNECTED                   = 0,
-  HB_AAT_LAYOUT_SELECTOR_PARTIALLY_CONNECTED           = 1,
-  HB_AAT_LAYOUT_SELECTOR_CURSIVE                       = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED                   = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED           = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE                       = 2,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE */
-  HB_AAT_LAYOUT_SELECTOR_UPPER_AND_LOWER_CASE          = 0, /* deprecated */
-  HB_AAT_LAYOUT_SELECTOR_ALL_CAPS                      = 1, /* deprecated */
-  HB_AAT_LAYOUT_SELECTOR_ALL_LOWER_CASE                        = 2, /* deprecated */
-  HB_AAT_LAYOUT_SELECTOR_SMALL_CAPS                    = 3, /* deprecated */
-  HB_AAT_LAYOUT_SELECTOR_INITIAL_CAPS                  = 4, /* deprecated */
-  HB_AAT_LAYOUT_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS   = 5, /* deprecated */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE          = 0, /* deprecated */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS                      = 1, /* deprecated */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE                        = 2, /* deprecated */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS                    = 3, /* deprecated */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS                  = 4, /* deprecated */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS   = 5, /* deprecated */
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION */
-  HB_AAT_LAYOUT_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON  = 0,
-  HB_AAT_LAYOUT_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON  = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT */
-  HB_AAT_LAYOUT_SELECTOR_LINGUISTIC_REARRANGEMENT_ON   = 0,
-  HB_AAT_LAYOUT_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF  = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON   = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF  = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING */
-  HB_AAT_LAYOUT_SELECTOR_MONOSPACED_NUMBERS            = 0,
-  HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_NUMBERS          = 1,
-  HB_AAT_LAYOUT_SELECTOR_THIRD_WIDTH_NUMBERS           = 2,
-  HB_AAT_LAYOUT_SELECTOR_QUARTER_WIDTH_NUMBERS         = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS          = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS           = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS         = 3,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_WORD_INITIAL_SWASHES_ON       = 0,
-  HB_AAT_LAYOUT_SELECTOR_WORD_INITIAL_SWASHES_OFF      = 1,
-  HB_AAT_LAYOUT_SELECTOR_WORD_FINAL_SWASHES_ON         = 2,
-  HB_AAT_LAYOUT_SELECTOR_WORD_FINAL_SWASHES_OFF                = 3,
-  HB_AAT_LAYOUT_SELECTOR_LINE_INITIAL_SWASHES_ON       = 4,
-  HB_AAT_LAYOUT_SELECTOR_LINE_INITIAL_SWASHES_OFF      = 5,
-  HB_AAT_LAYOUT_SELECTOR_LINE_FINAL_SWASHES_ON         = 6,
-  HB_AAT_LAYOUT_SELECTOR_LINE_FINAL_SWASHES_OFF                = 7,
-  HB_AAT_LAYOUT_SELECTOR_NON_FINAL_SWASHES_ON          = 8,
-  HB_AAT_LAYOUT_SELECTOR_NON_FINAL_SWASHES_OFF         = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON       = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF      = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON         = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF                = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON       = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF      = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON         = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF                = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON          = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF         = 9,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_SHOW_DIACRITICS               = 0,
-  HB_AAT_LAYOUT_SELECTOR_HIDE_DIACRITICS               = 1,
-  HB_AAT_LAYOUT_SELECTOR_DECOMPOSE_DIACRITICS          = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS               = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS               = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS          = 2,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION */
-  HB_AAT_LAYOUT_SELECTOR_NORMAL_POSITION               = 0,
-  HB_AAT_LAYOUT_SELECTOR_SUPERIORS                     = 1,
-  HB_AAT_LAYOUT_SELECTOR_INFERIORS                     = 2,
-  HB_AAT_LAYOUT_SELECTOR_ORDINALS                      = 3,
-  HB_AAT_LAYOUT_SELECTOR_SCIENTIFIC_INFERIORS          = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION               = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS                     = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS                     = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS                      = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS          = 4,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS */
-  HB_AAT_LAYOUT_SELECTOR_NO_FRACTIONS                  = 0,
-  HB_AAT_LAYOUT_SELECTOR_VERTICAL_FRACTIONS            = 1,
-  HB_AAT_LAYOUT_SELECTOR_DIAGONAL_FRACTIONS            = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS                  = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS            = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS            = 2,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_PREVENT_OVERLAP_ON            = 0,
-  HB_AAT_LAYOUT_SELECTOR_PREVENT_OVERLAP_OFF           = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF           = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS */
-  HB_AAT_LAYOUT_SELECTOR_HYPHENS_TO_EM_DASH_ON         = 0,
-  HB_AAT_LAYOUT_SELECTOR_HYPHENS_TO_EM_DASH_OFF                = 1,
-  HB_AAT_LAYOUT_SELECTOR_HYPHEN_TO_EN_DASH_ON          = 2,
-  HB_AAT_LAYOUT_SELECTOR_HYPHEN_TO_EN_DASH_OFF         = 3,
-  HB_AAT_LAYOUT_SELECTOR_SLASHED_ZERO_ON               = 4,
-  HB_AAT_LAYOUT_SELECTOR_SLASHED_ZERO_OFF              = 5,
-  HB_AAT_LAYOUT_SELECTOR_FORM_INTERROBANG_ON           = 6,
-  HB_AAT_LAYOUT_SELECTOR_FORM_INTERROBANG_OFF          = 7,
-  HB_AAT_LAYOUT_SELECTOR_SMART_QUOTES_ON               = 8,
-  HB_AAT_LAYOUT_SELECTOR_SMART_QUOTES_OFF              = 9,
-  HB_AAT_LAYOUT_SELECTOR_PERIODS_TO_ELLIPSIS_ON                = 10,
-  HB_AAT_LAYOUT_SELECTOR_PERIODS_TO_ELLIPSIS_OFF       = 11,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON         = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF                = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON          = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF         = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON               = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF              = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON           = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF          = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON               = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF              = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON                = 10,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF       = 11,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS */
-  HB_AAT_LAYOUT_SELECTOR_HYPHEN_TO_MINUS_ON            = 0,
-  HB_AAT_LAYOUT_SELECTOR_HYPHEN_TO_MINUS_OFF           = 1,
-  HB_AAT_LAYOUT_SELECTOR_ASTERISK_TO_MULTIPLY_ON       = 2,
-  HB_AAT_LAYOUT_SELECTOR_ASTERISK_TO_MULTIPLY_OFF      = 3,
-  HB_AAT_LAYOUT_SELECTOR_SLASH_TO_DIVIDE_ON            = 4,
-  HB_AAT_LAYOUT_SELECTOR_SLASH_TO_DIVIDE_OFF           = 5,
-  HB_AAT_LAYOUT_SELECTOR_INEQUALITY_LIGATURES_ON       = 6,
-  HB_AAT_LAYOUT_SELECTOR_INEQUALITY_LIGATURES_OFF      = 7,
-  HB_AAT_LAYOUT_SELECTOR_EXPONENTS_ON                  = 8,
-  HB_AAT_LAYOUT_SELECTOR_EXPONENTS_OFF                 = 9,
-  HB_AAT_LAYOUT_SELECTOR_MATHEMATICAL_GREEK_ON         = 10,
-  HB_AAT_LAYOUT_SELECTOR_MATHEMATICAL_GREEK_OFF                = 11,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF           = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON       = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF      = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON            = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF           = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON       = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF      = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON                  = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF                 = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON         = 10,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF                = 11,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_NO_ORNAMENTS                  = 0,
-  HB_AAT_LAYOUT_SELECTOR_DINGBATS                      = 1,
-  HB_AAT_LAYOUT_SELECTOR_PI_CHARACTERS                 = 2,
-  HB_AAT_LAYOUT_SELECTOR_FLEURONS                      = 3,
-  HB_AAT_LAYOUT_SELECTOR_DECORATIVE_BORDERS            = 4,
-  HB_AAT_LAYOUT_SELECTOR_INTERNATIONAL_SYMBOLS         = 5,
-  HB_AAT_LAYOUT_SELECTOR_MATH_SYMBOLS                  = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS                  = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS                      = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS                 = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS                      = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS            = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS         = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS                  = 6,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES */
-  HB_AAT_LAYOUT_SELECTOR_NO_ALTERNATES                 = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES                 = 0,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_DESIGN_LEVEL1                 = 0,
-  HB_AAT_LAYOUT_SELECTOR_DESIGN_LEVEL2                 = 1,
-  HB_AAT_LAYOUT_SELECTOR_DESIGN_LEVEL3                 = 2,
-  HB_AAT_LAYOUT_SELECTOR_DESIGN_LEVEL4                 = 3,
-  HB_AAT_LAYOUT_SELECTOR_DESIGN_LEVEL5                 = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1                 = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2                 = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3                 = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4                 = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5                 = 4,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS */
-  HB_AAT_LAYOUT_SELECTOR_NO_STYLE_OPTIONS              = 0,
-  HB_AAT_LAYOUT_SELECTOR_DISPLAY_TEXT                  = 1,
-  HB_AAT_LAYOUT_SELECTOR_ENGRAVED_TEXT                 = 2,
-  HB_AAT_LAYOUT_SELECTOR_ILLUMINATED_CAPS              = 3,
-  HB_AAT_LAYOUT_SELECTOR_TITLING_CAPS                  = 4,
-  HB_AAT_LAYOUT_SELECTOR_TALL_CAPS                     = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS              = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT                  = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT                 = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS              = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS                  = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS                     = 5,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE */
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_CHARACTERS                = 0,
-  HB_AAT_LAYOUT_SELECTOR_SIMPLIFIED_CHARACTERS         = 1,
-  HB_AAT_LAYOUT_SELECTOR_JIS1978_CHARACTERS            = 2,
-  HB_AAT_LAYOUT_SELECTOR_JIS1983_CHARACTERS            = 3,
-  HB_AAT_LAYOUT_SELECTOR_JIS1990_CHARACTERS            = 4,
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_ALT_ONE           = 5,
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_ALT_TWO           = 6,
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_ALT_THREE         = 7,
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_ALT_FOUR          = 8,
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_ALT_FIVE          = 9,
-  HB_AAT_LAYOUT_SELECTOR_EXPERT_CHARACTERS             = 10,
-  HB_AAT_LAYOUT_SELECTOR_JIS2004_CHARACTERS            = 11,
-  HB_AAT_LAYOUT_SELECTOR_HOJO_CHARACTERS               = 12,
-  HB_AAT_LAYOUT_SELECTOR_NLCCHARACTERS                 = 13,
-  HB_AAT_LAYOUT_SELECTOR_TRADITIONAL_NAMES_CHARACTERS  = 14,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS                = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS         = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS            = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS            = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS            = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE           = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO           = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE         = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR          = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE          = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS             = 10,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS            = 11,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS               = 12,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS                 = 13,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS  = 14,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE */
-  HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_NUMBERS            = 0,
-  HB_AAT_LAYOUT_SELECTOR_UPPER_CASE_NUMBERS            = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS            = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING */
-  HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_TEXT             = 0,
-  HB_AAT_LAYOUT_SELECTOR_MONOSPACED_TEXT               = 1,
-  HB_AAT_LAYOUT_SELECTOR_HALF_WIDTH_TEXT               = 2,
-  HB_AAT_LAYOUT_SELECTOR_THIRD_WIDTH_TEXT              = 3,
-  HB_AAT_LAYOUT_SELECTOR_QUARTER_WIDTH_TEXT            = 4,
-  HB_AAT_LAYOUT_SELECTOR_ALT_PROPORTIONAL_TEXT         = 5,
-  HB_AAT_LAYOUT_SELECTOR_ALT_HALF_WIDTH_TEXT           = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT             = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT               = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT               = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT              = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT            = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT         = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT           = 6,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION */
-  HB_AAT_LAYOUT_SELECTOR_NO_TRANSLITERATION            = 0,
-  HB_AAT_LAYOUT_SELECTOR_HANJA_TO_HANGUL               = 1,
-  HB_AAT_LAYOUT_SELECTOR_HIRAGANA_TO_KATAKANA          = 2,
-  HB_AAT_LAYOUT_SELECTOR_KATAKANA_TO_HIRAGANA          = 3,
-  HB_AAT_LAYOUT_SELECTOR_KANA_TO_ROMANIZATION          = 4,
-  HB_AAT_LAYOUT_SELECTOR_ROMANIZATION_TO_HIRAGANA      = 5,
-  HB_AAT_LAYOUT_SELECTOR_ROMANIZATION_TO_KATAKANA      = 6,
-  HB_AAT_LAYOUT_SELECTOR_HANJA_TO_HANGUL_ALT_ONE       = 7,
-  HB_AAT_LAYOUT_SELECTOR_HANJA_TO_HANGUL_ALT_TWO       = 8,
-  HB_AAT_LAYOUT_SELECTOR_HANJA_TO_HANGUL_ALT_THREE     = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL               = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA          = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA          = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION          = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA      = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA      = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE       = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO       = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE     = 9,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_NO_ANNOTATION                 = 0,
-  HB_AAT_LAYOUT_SELECTOR_BOX_ANNOTATION                        = 1,
-  HB_AAT_LAYOUT_SELECTOR_ROUNDED_BOX_ANNOTATION                = 2,
-  HB_AAT_LAYOUT_SELECTOR_CIRCLE_ANNOTATION             = 3,
-  HB_AAT_LAYOUT_SELECTOR_INVERTED_CIRCLE_ANNOTATION    = 4,
-  HB_AAT_LAYOUT_SELECTOR_PARENTHESIS_ANNOTATION                = 5,
-  HB_AAT_LAYOUT_SELECTOR_PERIOD_ANNOTATION             = 6,
-  HB_AAT_LAYOUT_SELECTOR_ROMAN_NUMERAL_ANNOTATION      = 7,
-  HB_AAT_LAYOUT_SELECTOR_DIAMOND_ANNOTATION            = 8,
-  HB_AAT_LAYOUT_SELECTOR_INVERTED_BOX_ANNOTATION       = 9,
-  HB_AAT_LAYOUT_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION= 10,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION                 = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION                        = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION                = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION             = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION    = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION                = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION             = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION      = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION            = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION       = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION= 10,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_FULL_WIDTH_KANA               = 0,
-  HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_KANA             = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA               = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA             = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_FULL_WIDTH_IDEOGRAPHS         = 0,
-  HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_IDEOGRAPHS       = 1,
-  HB_AAT_LAYOUT_SELECTOR_HALF_WIDTH_IDEOGRAPHS         = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS         = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS       = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS         = 2,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_CANONICAL_COMPOSITION_ON      = 0,
-  HB_AAT_LAYOUT_SELECTOR_CANONICAL_COMPOSITION_OFF     = 1,
-  HB_AAT_LAYOUT_SELECTOR_COMPATIBILITY_COMPOSITION_ON  = 2,
-  HB_AAT_LAYOUT_SELECTOR_COMPATIBILITY_COMPOSITION_OFF = 3,
-  HB_AAT_LAYOUT_SELECTOR_TRANSCODING_COMPOSITION_ON    = 4,
-  HB_AAT_LAYOUT_SELECTOR_TRANSCODING_COMPOSITION_OFF   = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON      = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF     = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON  = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON    = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF   = 5,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA */
-  HB_AAT_LAYOUT_SELECTOR_NO_RUBY_KANA                  = 0, /* deprecated - use HB_AAT_LAYOUT_SELECTOR_RUBY_KANA_OFF instead */
-  HB_AAT_LAYOUT_SELECTOR_RUBY_KANA                     = 1, /* deprecated - use HB_AAT_LAYOUT_SELECTOR_RUBY_KANA_ON instead */
-  HB_AAT_LAYOUT_SELECTOR_RUBY_KANA_ON                  = 2,
-  HB_AAT_LAYOUT_SELECTOR_RUBY_KANA_OFF                 = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA                  = 0, /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA                     = 1, /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON                  = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF                 = 3,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES    = 0,
-  HB_AAT_LAYOUT_SELECTOR_CJK_SYMBOL_ALT_ONE            = 1,
-  HB_AAT_LAYOUT_SELECTOR_CJK_SYMBOL_ALT_TWO            = 2,
-  HB_AAT_LAYOUT_SELECTOR_CJK_SYMBOL_ALT_THREE          = 3,
-  HB_AAT_LAYOUT_SELECTOR_CJK_SYMBOL_ALT_FOUR           = 4,
-  HB_AAT_LAYOUT_SELECTOR_CJK_SYMBOL_ALT_FIVE           = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES    = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE            = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO            = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE          = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR           = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE           = 5,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES   = 0,
-  HB_AAT_LAYOUT_SELECTOR_IDEOGRAPHIC_ALT_ONE           = 1,
-  HB_AAT_LAYOUT_SELECTOR_IDEOGRAPHIC_ALT_TWO           = 2,
-  HB_AAT_LAYOUT_SELECTOR_IDEOGRAPHIC_ALT_THREE         = 3,
-  HB_AAT_LAYOUT_SELECTOR_IDEOGRAPHIC_ALT_FOUR          = 4,
-  HB_AAT_LAYOUT_SELECTOR_IDEOGRAPHIC_ALT_FIVE          = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES   = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE           = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO           = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE         = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR          = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE          = 5,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED   = 0,
-  HB_AAT_LAYOUT_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE  = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED   = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE  = 1,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN */
-  HB_AAT_LAYOUT_SELECTOR_NO_CJK_ITALIC_ROMAN           = 0,    /* deprecated - use HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN_OFF instead */
-  HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN              = 1,    /* deprecated - use HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN_ON instead */
-  HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN_ON           = 2,
-  HB_AAT_LAYOUT_SELECTOR_CJK_ITALIC_ROMAN_OFF          = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN           = 0,    /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN              = 1,    /* deprecated - use HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead */
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON           = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF          = 3,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT */
-  HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_LAYOUT_ON      = 0,
-  HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF     = 1,
-  HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_SPACING_ON     = 2,
-  HB_AAT_LAYOUT_SELECTOR_CASE_SENSITIVE_SPACING_OFF    = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON      = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF     = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON     = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF    = 3,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA */
-  HB_AAT_LAYOUT_SELECTOR_ALTERNATE_HORIZ_KANA_ON       = 0,
-  HB_AAT_LAYOUT_SELECTOR_ALTERNATE_HORIZ_KANA_OFF      = 1,
-  HB_AAT_LAYOUT_SELECTOR_ALTERNATE_VERT_KANA_ON                = 2,
-  HB_AAT_LAYOUT_SELECTOR_ALTERNATE_VERT_KANA_OFF       = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON       = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF      = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON                = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF       = 3,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES */
-  HB_AAT_LAYOUT_SELECTOR_NO_STYLISTIC_ALTERNATES       = 0,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ONE_ON          = 2,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ONE_OFF         = 3,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWO_ON          = 4,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWO_OFF         = 5,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THREE_ON                = 6,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THREE_OFF       = 7,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOUR_ON         = 8,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOUR_OFF                = 9,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIVE_ON         = 10,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIVE_OFF                = 11,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIX_ON          = 12,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIX_OFF         = 13,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVEN_ON                = 14,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVEN_OFF       = 15,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHT_ON                = 16,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHT_OFF       = 17,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINE_ON         = 18,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINE_OFF                = 19,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TEN_ON          = 20,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TEN_OFF         = 21,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ELEVEN_ON       = 22,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF      = 23,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWELVE_ON       = 24,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWELVE_OFF      = 25,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON     = 26,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF    = 27,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON     = 28,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF    = 29,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON      = 30,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF     = 31,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON      = 32,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF     = 33,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON    = 34,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF   = 35,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON     = 36,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF    = 37,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINETEEN_ON     = 38,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF    = 39,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWENTY_ON       = 40,
-  HB_AAT_LAYOUT_SELECTOR_STYLISTIC_ALT_TWENTY_OFF      = 41,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES       = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON          = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF         = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON          = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF         = 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON                = 6,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF       = 7,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON         = 8,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF                = 9,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON         = 10,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF                = 11,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON          = 12,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF         = 13,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON                = 14,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF       = 15,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON                = 16,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF       = 17,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON         = 18,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF                = 19,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON          = 20,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF         = 21,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON       = 22,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF      = 23,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON       = 24,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF      = 25,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON     = 26,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF    = 27,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON     = 28,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF    = 29,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON      = 30,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF     = 31,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON      = 32,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF     = 33,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON    = 34,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF   = 35,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON     = 36,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF    = 37,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON     = 38,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF    = 39,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON       = 40,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF      = 41,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES */
-  HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_ALTERNATES_ON      = 0,
-  HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_ALTERNATES_OFF     = 1,
-  HB_AAT_LAYOUT_SELECTOR_SWASH_ALTERNATES_ON           = 2,
-  HB_AAT_LAYOUT_SELECTOR_SWASH_ALTERNATES_OFF          = 3,
-  HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON        = 4,
-  HB_AAT_LAYOUT_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF= 5,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON      = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF     = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON           = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF          = 3,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON        = 4,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF= 5,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE */
-  HB_AAT_LAYOUT_SELECTOR_DEFAULT_LOWER_CASE            = 0,
-  HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_SMALL_CAPS         = 1,
-  HB_AAT_LAYOUT_SELECTOR_LOWER_CASE_PETITE_CAPS                = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS         = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS                = 2,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE */
-  HB_AAT_LAYOUT_SELECTOR_DEFAULT_UPPER_CASE            = 0,
-  HB_AAT_LAYOUT_SELECTOR_UPPER_CASE_SMALL_CAPS         = 1,
-  HB_AAT_LAYOUT_SELECTOR_UPPER_CASE_PETITE_CAPS                = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE            = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS         = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS                = 2,
 
   /* Selectors for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE */
-  HB_AAT_LAYOUT_SELECTOR_HALF_WIDTH_CJK_ROMAN          = 0,
-  HB_AAT_LAYOUT_SELECTOR_PROPORTIONAL_CJK_ROMAN                = 1,
-  HB_AAT_LAYOUT_SELECTOR_DEFAULT_CJK_ROMAN             = 2,
-  HB_AAT_LAYOUT_SELECTOR_FULL_WIDTH_CJK_ROMAN          = 3
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN          = 0,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN                = 1,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN             = 2,
+  HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN          = 3
 } hb_aat_layout_feature_selector_t;
 
 HB_EXTERN unsigned int
index 8139f19..516b461 100644 (file)
@@ -70,7 +70,7 @@ test_aat_get_feature_selectors (void)
   g_assert_cmpuint (2, ==, settings[2]);
   g_assert_cmpuint (296, ==, hb_aat_layout_feature_selector_get_name_id (face, HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE, settings[2]));
 
-  g_assert_cmpuint (HB_OT_NAME_ID_INVALID, ==, hb_aat_layout_feature_selector_get_name_id (face, HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE, HB_AAT_LAYOUT_SELECTOR_INVALID));
+  g_assert_cmpuint (HB_OT_NAME_ID_INVALID, ==, hb_aat_layout_feature_selector_get_name_id (face, HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE, HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID));
 
   count = 3;
   g_assert_cmpuint (4, ==, hb_aat_layout_feature_type_get_selectors (face, HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE,