package provide Freetype::ttnameid 0.1

if {![info exists _source([file tail [info script]])]} {
package require Freetype::ft2build

set TT_PLATFORM_APPLE_UNICODE  0
set TT_PLATFORM_MACINTOSH      1
set TT_PLATFORM_ISO            2 ;# deprecated
set TT_PLATFORM_MICROSOFT      3
set TT_PLATFORM_CUSTOM         4
set TT_PLATFORM_ADOBE          7 ;# artificial

set TT_APPLE_ID_DEFAULT           0 ;# Unicode 1.0
set TT_APPLE_ID_UNICODE_1_1       1 ;# specify Hangul at U+34xx
set TT_APPLE_ID_ISO_10646         2 ;# deprecated
set TT_APPLE_ID_UNICODE_2_0       3 ;# or later
set TT_APPLE_ID_UNICODE_32        4 ;# 2.0 or later, full repertoire
set TT_APPLE_ID_VARIANT_SELECTOR  5 ;# variation selector data

set TT_MAC_ID_ROMAN                 0
set TT_MAC_ID_JAPANESE              1
set TT_MAC_ID_TRADITIONAL_CHINESE   2
set TT_MAC_ID_KOREAN                3
set TT_MAC_ID_ARABIC                4
set TT_MAC_ID_HEBREW                5
set TT_MAC_ID_GREEK                 6
set TT_MAC_ID_RUSSIAN               7
set TT_MAC_ID_RSYMBOL               8
set TT_MAC_ID_DEVANAGARI            9
set TT_MAC_ID_GURMUKHI             10
set TT_MAC_ID_GUJARATI             11
set TT_MAC_ID_ORIYA                12
set TT_MAC_ID_BENGALI              13
set TT_MAC_ID_TAMIL                14
set TT_MAC_ID_TELUGU               15
set TT_MAC_ID_KANNADA              16
set TT_MAC_ID_MALAYALAM            17
set TT_MAC_ID_SINHALESE            18
set TT_MAC_ID_BURMESE              19
set TT_MAC_ID_KHMER                20
set TT_MAC_ID_THAI                 21
set TT_MAC_ID_LAOTIAN              22
set TT_MAC_ID_GEORGIAN             23
set TT_MAC_ID_ARMENIAN             24
set TT_MAC_ID_MALDIVIAN            25
set TT_MAC_ID_SIMPLIFIED_CHINESE   25
set TT_MAC_ID_TIBETAN              26
set TT_MAC_ID_MONGOLIAN            27
set TT_MAC_ID_GEEZ                 28
set TT_MAC_ID_SLAVIC               29
set TT_MAC_ID_VIETNAMESE           30
set TT_MAC_ID_SINDHI               31
set TT_MAC_ID_UNINTERP             32

set TT_ISO_ID_7BIT_ASCII  0
set TT_ISO_ID_10646       1
set TT_ISO_ID_8859_1      2

set TT_MS_ID_SYMBOL_CS    0
set TT_MS_ID_UNICODE_CS   1
set TT_MS_ID_SJIS         2
set TT_MS_ID_GB2312       3
set TT_MS_ID_BIG_5        4
set TT_MS_ID_WANSUNG      5
set TT_MS_ID_JOHAB        6
set TT_MS_ID_UCS_4       10

set TT_ADOBE_ID_STANDARD  0
set TT_ADOBE_ID_EXPERT    1
set TT_ADOBE_ID_CUSTOM    2
set TT_ADOBE_ID_LATIN_1   3

set TT_MAC_LANGID_ENGLISH                       0
set TT_MAC_LANGID_FRENCH                        1
set TT_MAC_LANGID_GERMAN                        2
set TT_MAC_LANGID_ITALIAN                       3
set TT_MAC_LANGID_DUTCH                         4
set TT_MAC_LANGID_SWEDISH                       5
set TT_MAC_LANGID_SPANISH                       6
set TT_MAC_LANGID_DANISH                        7
set TT_MAC_LANGID_PORTUGUESE                    8
set TT_MAC_LANGID_NORWEGIAN                     9
set TT_MAC_LANGID_HEBREW                       10
set TT_MAC_LANGID_JAPANESE                     11
set TT_MAC_LANGID_ARABIC                       12
set TT_MAC_LANGID_FINNISH                      13
set TT_MAC_LANGID_GREEK                        14
set TT_MAC_LANGID_ICELANDIC                    15
set TT_MAC_LANGID_MALTESE                      16
set TT_MAC_LANGID_TURKISH                      17
set TT_MAC_LANGID_CROATIAN                     18
set TT_MAC_LANGID_CHINESE_TRADITIONAL          19
set TT_MAC_LANGID_URDU                         20
set TT_MAC_LANGID_HINDI                        21
set TT_MAC_LANGID_THAI                         22
set TT_MAC_LANGID_KOREAN                       23
set TT_MAC_LANGID_LITHUANIAN                   24
set TT_MAC_LANGID_POLISH                       25
set TT_MAC_LANGID_HUNGARIAN                    26
set TT_MAC_LANGID_ESTONIAN                     27
set TT_MAC_LANGID_LETTISH                      28
set TT_MAC_LANGID_SAAMISK                      29
set TT_MAC_LANGID_FAEROESE                     30
set TT_MAC_LANGID_FARSI                        31
set TT_MAC_LANGID_RUSSIAN                      32
set TT_MAC_LANGID_CHINESE_SIMPLIFIED           33
set TT_MAC_LANGID_FLEMISH                      34
set TT_MAC_LANGID_IRISH                        35
set TT_MAC_LANGID_ALBANIAN                     36
set TT_MAC_LANGID_ROMANIAN                     37
set TT_MAC_LANGID_CZECH                        38
set TT_MAC_LANGID_SLOVAK                       39
set TT_MAC_LANGID_SLOVENIAN                    40
set TT_MAC_LANGID_YIDDISH                      41
set TT_MAC_LANGID_SERBIAN                      42
set TT_MAC_LANGID_MACEDONIAN                   43
set TT_MAC_LANGID_BULGARIAN                    44
set TT_MAC_LANGID_UKRAINIAN                    45
set TT_MAC_LANGID_BYELORUSSIAN                 46
set TT_MAC_LANGID_UZBEK                        47
set TT_MAC_LANGID_KAZAKH                       48
set TT_MAC_LANGID_AZERBAIJANI                  49
set TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT  49
set TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT    50
set TT_MAC_LANGID_ARMENIAN                     51
set TT_MAC_LANGID_GEORGIAN                     52
set TT_MAC_LANGID_MOLDAVIAN                    53
set TT_MAC_LANGID_KIRGHIZ                      54
set TT_MAC_LANGID_TAJIKI                       55
set TT_MAC_LANGID_TURKMEN                      56
set TT_MAC_LANGID_MONGOLIAN                    57
set TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT   57
set TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT    58
set TT_MAC_LANGID_PASHTO                       59
set TT_MAC_LANGID_KURDISH                      60
set TT_MAC_LANGID_KASHMIRI                     61
set TT_MAC_LANGID_SINDHI                       62
set TT_MAC_LANGID_TIBETAN                      63
set TT_MAC_LANGID_NEPALI                       64
set TT_MAC_LANGID_SANSKRIT                     65
set TT_MAC_LANGID_MARATHI                      66
set TT_MAC_LANGID_BENGALI                      67
set TT_MAC_LANGID_ASSAMESE                     68
set TT_MAC_LANGID_GUJARATI                     69
set TT_MAC_LANGID_PUNJABI                      70
set TT_MAC_LANGID_ORIYA                        71
set TT_MAC_LANGID_MALAYALAM                    72
set TT_MAC_LANGID_KANNADA                      73
set TT_MAC_LANGID_TAMIL                        74
set TT_MAC_LANGID_TELUGU                       75
set TT_MAC_LANGID_SINHALESE                    76
set TT_MAC_LANGID_BURMESE                      77
set TT_MAC_LANGID_KHMER                        78
set TT_MAC_LANGID_LAO                          79
set TT_MAC_LANGID_VIETNAMESE                   80
set TT_MAC_LANGID_INDONESIAN                   81
set TT_MAC_LANGID_TAGALOG                      82
set TT_MAC_LANGID_MALAY_ROMAN_SCRIPT           83
set TT_MAC_LANGID_MALAY_ARABIC_SCRIPT          84
set TT_MAC_LANGID_AMHARIC                      85
set TT_MAC_LANGID_TIGRINYA                     86
set TT_MAC_LANGID_GALLA                        87
set TT_MAC_LANGID_SOMALI                       88
set TT_MAC_LANGID_SWAHILI                      89
set TT_MAC_LANGID_RUANDA                       90
set TT_MAC_LANGID_RUNDI                        91
set TT_MAC_LANGID_CHEWA                        92
set TT_MAC_LANGID_MALAGASY                     93
set TT_MAC_LANGID_ESPERANTO                    94
set TT_MAC_LANGID_WELSH                       128
set TT_MAC_LANGID_BASQUE                      129
set TT_MAC_LANGID_CATALAN                     130
set TT_MAC_LANGID_LATIN                       131
set TT_MAC_LANGID_QUECHUA                     132
set TT_MAC_LANGID_GUARANI                     133
set TT_MAC_LANGID_AYMARA                      134
set TT_MAC_LANGID_TATAR                       135
set TT_MAC_LANGID_UIGHUR                      136
set TT_MAC_LANGID_DZONGKHA                    137
set TT_MAC_LANGID_JAVANESE                    138
set TT_MAC_LANGID_SUNDANESE                   139

set TT_MAC_LANGID_GALICIAN                    140
set TT_MAC_LANGID_AFRIKAANS                   141
set TT_MAC_LANGID_BRETON                      142
set TT_MAC_LANGID_INUKTITUT                   143
set TT_MAC_LANGID_SCOTTISH_GAELIC             144
set TT_MAC_LANGID_MANX_GAELIC                 145
set TT_MAC_LANGID_IRISH_GAELIC                146
set TT_MAC_LANGID_TONGAN                      147
set TT_MAC_LANGID_GREEK_POLYTONIC             148
set TT_MAC_LANGID_GREELANDIC                  149
set TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT    150

set TT_MS_LANGID_ARABIC_GENERAL                    [expr 0x0001]
set TT_MS_LANGID_ARABIC_SAUDI_ARABIA               [expr 0x0401]
set TT_MS_LANGID_ARABIC_IRAQ                       [expr 0x0801]
set TT_MS_LANGID_ARABIC_EGYPT                      [expr 0x0c01]
set TT_MS_LANGID_ARABIC_LIBYA                      [expr 0x1001]
set TT_MS_LANGID_ARABIC_ALGERIA                    [expr 0x1401]
set TT_MS_LANGID_ARABIC_MOROCCO                    [expr 0x1801]
set TT_MS_LANGID_ARABIC_TUNISIA                    [expr 0x1c01]
set TT_MS_LANGID_ARABIC_OMAN                       [expr 0x2001]
set TT_MS_LANGID_ARABIC_YEMEN                      [expr 0x2401]
set TT_MS_LANGID_ARABIC_SYRIA                      [expr 0x2801]
set TT_MS_LANGID_ARABIC_JORDAN                     [expr 0x2c01]
set TT_MS_LANGID_ARABIC_LEBANON                    [expr 0x3001]
set TT_MS_LANGID_ARABIC_KUWAIT                     [expr 0x3401]
set TT_MS_LANGID_ARABIC_UAE                        [expr 0x3801]
set TT_MS_LANGID_ARABIC_BAHRAIN                    [expr 0x3c01]
set TT_MS_LANGID_ARABIC_QATAR                      [expr 0x4001]
set TT_MS_LANGID_BULGARIAN_BULGARIA                [expr 0x0402]
set TT_MS_LANGID_CATALAN_SPAIN                     [expr 0x0403]
set TT_MS_LANGID_CHINESE_GENERAL                   [expr 0x0004]
set TT_MS_LANGID_CHINESE_TAIWAN                    [expr 0x0404]
set TT_MS_LANGID_CHINESE_PRC                       [expr 0x0804]
set TT_MS_LANGID_CHINESE_HONG_KONG                 [expr 0x0c04]
set TT_MS_LANGID_CHINESE_SINGAPORE                 [expr 0x1004]

if 1 {;# this looks like the correct value
set TT_MS_LANGID_CHINESE_MACAU                     [expr 0x1404]
} else {;# but beware, Microsoft may change its mind...
         # the most recent Word reference has the following:
set TT_MS_LANGID_CHINESE_MACAU  $TT_MS_LANGID_CHINESE_HONG_KONG
}

set TT_MS_LANGID_CZECH_CZECH_REPUBLIC              [expr 0x0405]
set TT_MS_LANGID_DANISH_DENMARK                    [expr 0x0406]
set TT_MS_LANGID_GERMAN_GERMANY                    [expr 0x0407]
set TT_MS_LANGID_GERMAN_SWITZERLAND                [expr 0x0807]
set TT_MS_LANGID_GERMAN_AUSTRIA                    [expr 0x0c07]
set TT_MS_LANGID_GERMAN_LUXEMBOURG                 [expr 0x1007]
set TT_MS_LANGID_GERMAN_LIECHTENSTEI               [expr 0x1407]
set TT_MS_LANGID_GREEK_GREECE                      [expr 0x0408]

set TT_MS_LANGID_ENGLISH_GENERAL                   [expr 0x0009]
set TT_MS_LANGID_ENGLISH_UNITED_STATES             [expr 0x0409]
set TT_MS_LANGID_ENGLISH_UNITED_KINGDOM            [expr 0x0809]
set TT_MS_LANGID_ENGLISH_AUSTRALIA                 [expr 0x0c09]
set TT_MS_LANGID_ENGLISH_CANADA                    [expr 0x1009]
set TT_MS_LANGID_ENGLISH_NEW_ZEALAND               [expr 0x1409]
set TT_MS_LANGID_ENGLISH_IRELAND                   [expr 0x1809]
set TT_MS_LANGID_ENGLISH_SOUTH_AFRICA              [expr 0x1c09]
set TT_MS_LANGID_ENGLISH_JAMAICA                   [expr 0x2009]
set TT_MS_LANGID_ENGLISH_CARIBBEAN                 [expr 0x2409]
set TT_MS_LANGID_ENGLISH_BELIZE                    [expr 0x2809]
set TT_MS_LANGID_ENGLISH_TRINIDAD                  [expr 0x2c09]
set TT_MS_LANGID_ENGLISH_ZIMBABWE                  [expr 0x3009]
set TT_MS_LANGID_ENGLISH_PHILIPPINES               [expr 0x3409]
set TT_MS_LANGID_ENGLISH_INDONESIA                 [expr 0x3809]
set TT_MS_LANGID_ENGLISH_HONG_KONG                 [expr 0x3c09]
set TT_MS_LANGID_ENGLISH_INDIA                     [expr 0x4009]
set TT_MS_LANGID_ENGLISH_MALAYSIA                  [expr 0x4409]
set TT_MS_LANGID_ENGLISH_SINGAPORE                 [expr 0x4809]
set TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT    [expr 0x040a]
set TT_MS_LANGID_SPANISH_MEXICO                    [expr 0x080a]
set TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT  [expr 0x0c0a]
set TT_MS_LANGID_SPANISH_GUATEMALA                 [expr 0x100a]
set TT_MS_LANGID_SPANISH_COSTA_RICA                [expr 0x140a]
set TT_MS_LANGID_SPANISH_PANAMA                    [expr 0x180a]
set TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC        [expr 0x1c0a]
set TT_MS_LANGID_SPANISH_VENEZUELA                 [expr 0x200a]
set TT_MS_LANGID_SPANISH_COLOMBIA                  [expr 0x240a]
set TT_MS_LANGID_SPANISH_PERU                      [expr 0x280a]
set TT_MS_LANGID_SPANISH_ARGENTINA                 [expr 0x2c0a]
set TT_MS_LANGID_SPANISH_ECUADOR                   [expr 0x300a]
set TT_MS_LANGID_SPANISH_CHILE                     [expr 0x340a]
set TT_MS_LANGID_SPANISH_URUGUAY                   [expr 0x380a]
set TT_MS_LANGID_SPANISH_PARAGUAY                  [expr 0x3c0a]
set TT_MS_LANGID_SPANISH_BOLIVIA                   [expr 0x400a]
set TT_MS_LANGID_SPANISH_EL_SALVADOR               [expr 0x440a]
set TT_MS_LANGID_SPANISH_HONDURAS                  [expr 0x480a]
set TT_MS_LANGID_SPANISH_NICARAGUA                 [expr 0x4c0a]
set TT_MS_LANGID_SPANISH_PUERTO_RICO               [expr 0x500a]
set TT_MS_LANGID_SPANISH_UNITED_STATES             [expr 0x540a]
  # The following ID blatantly violate MS specs by using a
  # sublanguage > 0x1F.
set TT_MS_LANGID_SPANISH_LATIN_AMERICA             [expr 0xE40a];#0xE40aU
set TT_MS_LANGID_FINNISH_FINLAND                   [expr 0x040b]
set TT_MS_LANGID_FRENCH_FRANCE                     [expr 0x040c]
set TT_MS_LANGID_FRENCH_BELGIUM                    [expr 0x080c]
set TT_MS_LANGID_FRENCH_CANADA                     [expr 0x0c0c]
set TT_MS_LANGID_FRENCH_SWITZERLAND                [expr 0x100c]
set TT_MS_LANGID_FRENCH_LUXEMBOURG                 [expr 0x140c]
set TT_MS_LANGID_FRENCH_MONACO                     [expr 0x180c]
set TT_MS_LANGID_FRENCH_WEST_INDIES                [expr 0x1c0c]
set TT_MS_LANGID_FRENCH_REUNION                    [expr 0x200c]
set TT_MS_LANGID_FRENCH_CONGO                      [expr 0x240c]
  # which was formerly:
set TT_MS_LANGID_FRENCH_ZAIRE  $TT_MS_LANGID_FRENCH_CONGO
set TT_MS_LANGID_FRENCH_SENEGAL                    [expr 0x280c]
set TT_MS_LANGID_FRENCH_CAMEROON                   [expr 0x2c0c]
set TT_MS_LANGID_FRENCH_COTE_D_IVOIRE              [expr 0x300c]
set TT_MS_LANGID_FRENCH_MALI                       [expr 0x340c]
set TT_MS_LANGID_FRENCH_MOROCCO                    [expr 0x380c]
set TT_MS_LANGID_FRENCH_HAITI                      [expr 0x3c0c]
  # and another violation of the spec (see 0xE40aU)
set TT_MS_LANGID_FRENCH_NORTH_AFRICA               [expr 0xE40c];#0xE40cU
set TT_MS_LANGID_HEBREW_ISRAEL                     [expr 0x040d]
set TT_MS_LANGID_HUNGARIAN_HUNGARY                 [expr 0x040e]
set TT_MS_LANGID_ICELANDIC_ICELAND                 [expr 0x040f]
set TT_MS_LANGID_ITALIAN_ITALY                     [expr 0x0410]
set TT_MS_LANGID_ITALIAN_SWITZERLAND               [expr 0x0810]
set TT_MS_LANGID_JAPANESE_JAPAN                    [expr 0x0411]
set TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA     [expr 0x0412]
set TT_MS_LANGID_KOREAN_JOHAB_KOREA                [expr 0x0812]
set TT_MS_LANGID_DUTCH_NETHERLANDS                 [expr 0x0413]
set TT_MS_LANGID_DUTCH_BELGIUM                     [expr 0x0813]
set TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL           [expr 0x0414]
set TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK          [expr 0x0814]
set TT_MS_LANGID_POLISH_POLAND                     [expr 0x0415]
set TT_MS_LANGID_PORTUGUESE_BRAZIL                 [expr 0x0416]
set TT_MS_LANGID_PORTUGUESE_PORTUGAL               [expr 0x0816]
set TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND        [expr 0x0417]
set TT_MS_LANGID_ROMANIAN_ROMANIA                  [expr 0x0418]
set TT_MS_LANGID_MOLDAVIAN_MOLDAVIA                [expr 0x0818]
set TT_MS_LANGID_RUSSIAN_RUSSIA                    [expr 0x0419]
set TT_MS_LANGID_RUSSIAN_MOLDAVIA                  [expr 0x0819]
set TT_MS_LANGID_CROATIAN_CROATIA                  [expr 0x041a]
set TT_MS_LANGID_SERBIAN_SERBIA_LATIN              [expr 0x081a]
set TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC           [expr 0x0c1a]

if 0 { ;#this used to be this value, but it looks like we were wrong
set TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        [expr 0x101a]
} else { ;#current sources say
set TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA       [expr 0x101a]
set TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        [expr 0x141a]
       # and XPsp2 Platform SDK added (2004-07-26)
       # Names are shortened to be significant within 40 chars.
set TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN         [expr 0x181a]
set TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC      [expr 0x181a]
}

set TT_MS_LANGID_SLOVAK_SLOVAKIA                   [expr 0x041b]
set TT_MS_LANGID_ALBANIAN_ALBANIA                  [expr 0x041c]
set TT_MS_LANGID_SWEDISH_SWEDEN                    [expr 0x041d]
set TT_MS_LANGID_SWEDISH_FINLAND                   [expr 0x081d]
set TT_MS_LANGID_THAI_THAILAND                     [expr 0x041e]
set TT_MS_LANGID_TURKISH_TURKEY                    [expr 0x041f]
set TT_MS_LANGID_URDU_PAKISTAN                     [expr 0x0420]
set TT_MS_LANGID_URDU_INDIA                        [expr 0x0820]
set TT_MS_LANGID_INDONESIAN_INDONESIA              [expr 0x0421]
set TT_MS_LANGID_UKRAINIAN_UKRAINE                 [expr 0x0422]
set TT_MS_LANGID_BELARUSIAN_BELARUS                [expr 0x0423]
set TT_MS_LANGID_SLOVENE_SLOVENIA                  [expr 0x0424]
set TT_MS_LANGID_ESTONIAN_ESTONIA                  [expr 0x0425]
set TT_MS_LANGID_LATVIAN_LATVIA                    [expr 0x0426]
set TT_MS_LANGID_LITHUANIAN_LITHUANIA              [expr 0x0427]
set TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA      [expr 0x0827]
set TT_MS_LANGID_TAJIK_TAJIKISTAN                  [expr 0x0428]
set TT_MS_LANGID_FARSI_IRAN                        [expr 0x0429]
set TT_MS_LANGID_VIETNAMESE_VIET_NAM               [expr 0x042a]
set TT_MS_LANGID_ARMENIAN_ARMENIA                  [expr 0x042b]
set TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN            [expr 0x042c]
set TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC         [expr 0x082c]
set TT_MS_LANGID_BASQUE_SPAIN                      [expr 0x042d]
set TT_MS_LANGID_SORBIAN_GERMANY                   [expr 0x042e]
set TT_MS_LANGID_MACEDONIAN_MACEDONIA              [expr 0x042f]
set TT_MS_LANGID_SUTU_SOUTH_AFRICA                 [expr 0x0430]
set TT_MS_LANGID_TSONGA_SOUTH_AFRICA               [expr 0x0431]
set TT_MS_LANGID_TSWANA_SOUTH_AFRICA               [expr 0x0432]
set TT_MS_LANGID_VENDA_SOUTH_AFRICA                [expr 0x0433]
set TT_MS_LANGID_XHOSA_SOUTH_AFRICA                [expr 0x0434]
set TT_MS_LANGID_ZULU_SOUTH_AFRICA                 [expr 0x0435]
set TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA            [expr 0x0436]
set TT_MS_LANGID_GEORGIAN_GEORGIA                  [expr 0x0437]
set TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS           [expr 0x0438]
set TT_MS_LANGID_HINDI_INDIA                       [expr 0x0439]
set TT_MS_LANGID_MALTESE_MALTA                     [expr 0x043a]
  # Added by XPsp2 Platform SDK (2004-07-26)
set TT_MS_LANGID_SAMI_NORTHERN_NORWAY              [expr 0x043b]
set TT_MS_LANGID_SAMI_NORTHERN_SWEDEN              [expr 0x083b]
set TT_MS_LANGID_SAMI_NORTHERN_FINLAND             [expr 0x0C3b]
set TT_MS_LANGID_SAMI_LULE_NORWAY                  [expr 0x103b]
set TT_MS_LANGID_SAMI_LULE_SWEDEN                  [expr 0x143b]
set TT_MS_LANGID_SAMI_SOUTHERN_NORWAY              [expr 0x183b]
set TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN              [expr 0x1C3b]
set TT_MS_LANGID_SAMI_SKOLT_FINLAND                [expr 0x203b]
set TT_MS_LANGID_SAMI_INARI_FINLAND                [expr 0x243b]
  # ... and we also keep our old identifier...
set TT_MS_LANGID_SAAMI_LAPONIA                     [expr 0x043b]

if 0 { ;# this seems to be a previous inversion 
set TT_MS_LANGID_IRISH_GAELIC_IRELAND              [expr 0x043c]
set TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM    [expr 0x083c]
} else {
set TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM    [expr 0x083c]
set TT_MS_LANGID_IRISH_GAELIC_IRELAND              [expr 0x043c]
}

set TT_MS_LANGID_YIDDISH_GERMANY                   [expr 0x043d]
set TT_MS_LANGID_MALAY_MALAYSIA                    [expr 0x043e]
set TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM           [expr 0x083e]
set TT_MS_LANGID_KAZAK_KAZAKSTAN                   [expr 0x043f]
set TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN               [expr 0x0440] ;# Cyrillic
   # alias declared in Windows 2000
set TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \
          $TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN

set TT_MS_LANGID_SWAHILI_KENYA                     [expr 0x0441]
set TT_MS_LANGID_TURKMEN_TURKMENISTAN              [expr 0x0442]
set TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN            [expr 0x0443]
set TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC         [expr 0x0843]
set TT_MS_LANGID_TATAR_TATARSTAN                   [expr 0x0444]
set TT_MS_LANGID_BENGALI_INDIA                     [expr 0x0445]
set TT_MS_LANGID_BENGALI_BANGLADESH                [expr 0x0845]
set TT_MS_LANGID_PUNJABI_INDIA                     [expr 0x0446]
set TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN           [expr 0x0846]
set TT_MS_LANGID_GUJARATI_INDIA                    [expr 0x0447]
set TT_MS_LANGID_ORIYA_INDIA                       [expr 0x0448]
set TT_MS_LANGID_TAMIL_INDIA                       [expr 0x0449]
set TT_MS_LANGID_TELUGU_INDIA                      [expr 0x044a]
set TT_MS_LANGID_KANNADA_INDIA                     [expr 0x044b]
set TT_MS_LANGID_MALAYALAM_INDIA                   [expr 0x044c]
set TT_MS_LANGID_ASSAMESE_INDIA                    [expr 0x044d]
set TT_MS_LANGID_MARATHI_INDIA                     [expr 0x044e]
set TT_MS_LANGID_SANSKRIT_INDIA                    [expr 0x044f]
set TT_MS_LANGID_MONGOLIAN_MONGOLIA                [expr 0x0450];#Cyrillic 
set TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN      [expr 0x0850]
set TT_MS_LANGID_TIBETAN_CHINA                     [expr 0x0451]
  # Don't use the next constant!  It has
  #   (1) the wrong spelling (Dzonghka)
  #   (2) Microsoft doesn't officially define it --
  #       at least it is not in the List of Local
  #       ID Values.
  #   (3) Dzongkha is not the same language as
  #       Tibetan, so merging it is wrong anyway.
  #
  # TT_MS_LANGID_TIBETAN_BHUTAN is correct, BTW.
set TT_MS_LANGID_DZONGHKA_BHUTAN                   [expr 0x0851]

if 0 {
  # the following used to be defined
set TT_MS_LANGID_TIBETAN_BHUTAN                    [expr 0x0451]
  # ... but it was changed;
} else {
  # So we will continue to #define it, but with the correct value
set TT_MS_LANGID_TIBETAN_BHUTAN   $TT_MS_LANGID_DZONGHKA_BHUTAN
}

set TT_MS_LANGID_WELSH_WALES                       [expr 0x0452]
set TT_MS_LANGID_KHMER_CAMBODIA                    [expr 0x0453]
set TT_MS_LANGID_LAO_LAOS                          [expr 0x0454]
set TT_MS_LANGID_BURMESE_MYANMAR                   [expr 0x0455]
set TT_MS_LANGID_GALICIAN_SPAIN                    [expr 0x0456]
set TT_MS_LANGID_KONKANI_INDIA                     [expr 0x0457]
set TT_MS_LANGID_MANIPURI_INDIA                    [expr 0x0458];#Bengali
set TT_MS_LANGID_SINDHI_INDIA                      [expr 0x0459];#Arabic
set TT_MS_LANGID_SINDHI_PAKISTAN                   [expr 0x0859]
  # Missing a LCID for Sindhi in Devanagari script
set TT_MS_LANGID_SYRIAC_SYRIA                      [expr 0x045a]
set TT_MS_LANGID_SINHALESE_SRI_LANKA               [expr 0x045b]
set TT_MS_LANGID_CHEROKEE_UNITED_STATES            [expr 0x045c]
set TT_MS_LANGID_INUKTITUT_CANADA                  [expr 0x045d]
set TT_MS_LANGID_AMHARIC_ETHIOPIA                  [expr 0x045e]
set TT_MS_LANGID_TAMAZIGHT_MOROCCO                 [expr 0x045f];#Arabic
set TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN           [expr 0x085f]
  # Missing a LCID for Tifinagh script
set TT_MS_LANGID_KASHMIRI_PAKISTAN                 [expr 0x0460];#Arabic
  # Spelled this way by XPsp2 Platform SDK (2004-07-26)
  # script is yet unclear... might be Arabic, Nagari or Sharada
set TT_MS_LANGID_KASHMIRI_SASIA                    [expr 0x0860]
  # ... and aliased (by MS) for compatibility reasons.
set TT_MS_LANGID_KASHMIRI_INDIA $TT_MS_LANGID_KASHMIRI_SASIA
set TT_MS_LANGID_NEPALI_NEPAL                      [expr 0x0461]
set TT_MS_LANGID_NEPALI_INDIA                      [expr 0x0861]
set TT_MS_LANGID_FRISIAN_NETHERLANDS               [expr 0x0462]
set TT_MS_LANGID_PASHTO_AFGHANISTAN                [expr 0x0463]
set TT_MS_LANGID_FILIPINO_PHILIPPINES              [expr 0x0464]
set TT_MS_LANGID_DHIVEHI_MALDIVES                  [expr 0x0465]
  # alias declared in Windows 2000 
set TT_MS_LANGID_DIVEHI_MALDIVES  $TT_MS_LANGID_DHIVEHI_MALDIVES
set TT_MS_LANGID_EDO_NIGERIA                       [expr 0x0466]
set TT_MS_LANGID_FULFULDE_NIGERIA                  [expr 0x0467]
set TT_MS_LANGID_HAUSA_NIGERIA                     [expr 0x0468]
set TT_MS_LANGID_IBIBIO_NIGERIA                    [expr 0x0469]
set TT_MS_LANGID_YORUBA_NIGERIA                    [expr 0x046a]
set TT_MS_LANGID_QUECHUA_BOLIVIA                   [expr 0x046b]
set TT_MS_LANGID_QUECHUA_ECUADOR                   [expr 0x086b]
set TT_MS_LANGID_QUECHUA_PERU                      [expr 0x0c6b]
set TT_MS_LANGID_SEPEDI_SOUTH_AFRICA               [expr 0x046c]
  # Also spelled by XPsp2 Platform SDK (2004-07-26)
set TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \
          $TT_MS_LANGID_SEPEDI_SOUTH_AFRICA
  # language codes 0x046d, 0x046e and 0x046f are (still) unknown.
set TT_MS_LANGID_IGBO_NIGERIA                      [expr 0x0470]
set TT_MS_LANGID_KANURI_NIGERIA                    [expr 0x0471]
set TT_MS_LANGID_OROMO_ETHIOPIA                    [expr 0x0472]
set TT_MS_LANGID_TIGRIGNA_ETHIOPIA                 [expr 0x0473]
set TT_MS_LANGID_TIGRIGNA_ERYTHREA                 [expr 0x0873]
  # also spelled in the `Passport SDK' list as:
set TT_MS_LANGID_TIGRIGNA_ERYTREA  $TT_MS_LANGID_TIGRIGNA_ERYTHREA
set TT_MS_LANGID_GUARANI_PARAGUAY                  [expr 0x0474]
set TT_MS_LANGID_HAWAIIAN_UNITED_STATES            [expr 0x0475]
set TT_MS_LANGID_LATIN                             [expr 0x0476]
set TT_MS_LANGID_SOMALI_SOMALIA                    [expr 0x0477]
  # Note: Yi does not have a (proper) ISO 639-2 code, since it is mostly
  #       not written (but OTOH the peculiar writing system is worth
  #       studying).
set TT_MS_LANGID_YI_CHINA                          [expr 0x0478]
set TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES   [expr 0x0479]
  # language codes from 0x047a to 0x047f are (still) unknown.
set TT_MS_LANGID_UIGHUR_CHINA                      [expr 0x0480]
set TT_MS_LANGID_MAORI_NEW_ZEALAND                 [expr 0x0481]

if 0  {;# not deemed useful for fonts
set TT_MS_LANGID_HUMAN_INTERFACE_DEVICE            [expr 0x04ff]
}


set TT_NAME_ID_COPYRIGHT            0
set TT_NAME_ID_FONT_FAMILY          1
set TT_NAME_ID_FONT_SUBFAMILY       2
set TT_NAME_ID_UNIQUE_ID            3
set TT_NAME_ID_FULL_NAME            4
set TT_NAME_ID_VERSION_STRING       5
set TT_NAME_ID_PS_NAME              6
set TT_NAME_ID_TRADEMARK            7

  # the following values are from the OpenType spec
set TT_NAME_ID_MANUFACTURER         8
set TT_NAME_ID_DESIGNER             9
set TT_NAME_ID_DESCRIPTION          10
set TT_NAME_ID_VENDOR_URL           11
set TT_NAME_ID_DESIGNER_URL         12
set TT_NAME_ID_LICENSE              13
set TT_NAME_ID_LICENSE_URL          14
  # number 15 is reserved 
set TT_NAME_ID_PREFERRED_FAMILY     16
set TT_NAME_ID_PREFERRED_SUBFAMILY  17
set TT_NAME_ID_MAC_FULL_NAME        18

  # The following code is new as of 2000-01-21
set TT_NAME_ID_SAMPLE_TEXT          19

  # This is new in OpenType 1.3
set TT_NAME_ID_CID_FINDFONT_NAME    20

  # This is new in OpenType 1.5
set TT_NAME_ID_WWS_FAMILY           21
set TT_NAME_ID_WWS_SUBFAMILY        22



  # Bit  0   Basic Latin
set TT_UCR_BASIC_LATIN                     [expr 1 <<  0] ;# U+0020-U+007E
  # Bit  1   C1 Controls and Latin-1 Supplement
set TT_UCR_LATIN1_SUPPLEMENT               [expr 1 <<  1] ;# U+0080-U+00FF 
  # Bit  2   Latin Extended-A
set TT_UCR_LATIN_EXTENDED_A                [expr 1 <<  2] ;# U+0100-U+017F
  # Bit  3   Latin Extended-B
set TT_UCR_LATIN_EXTENDED_B                [expr 1 <<  3] ;# U+0180-U+024F
  # Bit  4   IPA Extensions
  #          Phonetic Extensions
  #          Phonetic Extensions Supplement
set TT_UCR_IPA_EXTENSIONS                  [expr 1 <<  4] ;# U+0250-U+02AF
                                                           # U+1D00-U+1D7F
                                                           # U+1D80-U+1DBF
  # Bit  5   Spacing Modifier Letters
  #          Modifier Tone Letters
set TT_UCR_SPACING_MODIFIER                [expr 1 <<  5] ;# U+02B0-U+02FF
                                                           # U+A700-U+A71F
  # Bit  6   Combining Diacritical Marks
  #          Combining Diacritical Marks Supplement
set TT_UCR_COMBINING_DIACRITICS            [expr 1 <<  6] ;# U+0300-U+036F
                                                           # U+1DC0-U+1DFF
  # Bit  7   Greek and Coptic
set TT_UCR_GREEK                           [expr 1 <<  7] ;# U+0370-U+03FF
  # Bit  8   Coptic
set TT_UCR_COPTIC                          [expr 1 <<  8] ;# U+2C80-U+2CFF
  # Bit  9   Cyrillic
  #          Cyrillic Supplement
  #          Cyrillic Extended-A
  #          Cyrillic Extended-B
set TT_UCR_CYRILLIC                        [expr 1 <<  9] ;# U+0400-U+04FF
                                                           # U+0500-U+052F
                                                           # U+2DE0-U+2DFF
                                                           # U+A640-U+A69F
  # Bit 10   Armenian
set TT_UCR_ARMENIAN                        [expr 1 << 10] ;# U+0530-U+058F
  # Bit 11   Hebrew
set TT_UCR_HEBREW                          [expr 1 << 11] ;# U+0590-U+05FF
  # Bit 12   Vai
set TT_UCR_VAI                             [expr 1 << 12] ;# U+A500-U+A63F
  # Bit 13   Arabic
  #          Arabic Supplement
set TT_UCR_ARABIC                          [expr 1 << 13] ;# U+0600-U+06FF
                                                          ;# U+0750-U+077F
  # Bit 14   NKo
set TT_UCR_NKO                             [expr 1 << 14] ;# U+07C0-U+07FF
  # Bit 15   Devanagari
set TT_UCR_DEVANAGARI                      [expr 1 << 15] ;# U+0900-U+097F
  # Bit 16   Bengali
set TT_UCR_BENGALI                         [expr 1 << 16] ;# U+0980-U+09FF
  # Bit 17   Gurmukhi
set TT_UCR_GURMUKHI                        [expr 1 << 17] ;# U+0A00-U+0A7F
  # Bit 18   Gujarati
set TT_UCR_GUJARATI                        [expr 1 << 18] ;# U+0A80-U+0AFF
  # Bit 19   Oriya
set TT_UCR_ORIYA                           [expr 1 << 19] ;# U+0B00-U+0B7F
  # Bit 20   Tamil
set TT_UCR_TAMIL                           [expr 1 << 20] ;# U+0B80-U+0BFF
  # Bit 21   Telugu
set TT_UCR_TELUGU                          [expr 1 << 21] ;# U+0C00-U+0C7F
  # Bit 22   Kannada
set TT_UCR_KANNADA                         [expr 1 << 22] ;# U+0C80-U+0CFF
  # Bit 23   Malayalam
set TT_UCR_MALAYALAM                       [expr 1 << 23] ;# U+0D00-U+0D7F
  # Bit 24   Thai
set TT_UCR_THAI                            [expr 1 << 24] ;# U+0E00-U+0E7F
  # Bit 25   Lao
set TT_UCR_LAO                             [expr 1 << 25] ;# U+0E80-U+0EFF
  # Bit 26   Georgian           
  #          Georgian Supplement
set TT_UCR_GEORGIAN                        [expr 1 << 26] ;# U+10A0-U+10FF
                                                           # U+2D00-U+2D2F
  # Bit 27   Balinese
set TT_UCR_BALINESE                        [expr 1 << 27] ;# U+1B00-U+1B7F
  # Bit 28   Hangul Jamo
set TT_UCR_HANGUL_JAMO                     [expr 1 << 28] ;# U+1100-U+11FF
  # Bit 29   Latin Extended Additional
  #          Latin Extended-C
  #          Latin Extended-D
set TT_UCR_LATIN_EXTENDED_ADDITIONAL       [expr 1 << 29] ;# U+1E00-U+1EFF
                                                           # U+2C60-U+2C7F
                                                           # U+A720-U+A7FF
  # Bit 30   Greek Extended
set TT_UCR_GREEK_EXTENDED                  [expr 1 << 30] ;# U+1F00-U+1FFF
  # Bit 31   General Punctuation
  #          Supplemental Punctuation
set TT_UCR_GENERAL_PUNCTUATION             [expr 1 << 31] ;# U+2000-U+206F
                                                           # U+2E00-U+2E7F
  # Bit 32   Superscripts And Subscripts
set TT_UCR_SUPERSCRIPTS_SUBSCRIPTS         [expr 1 <<  0] ;# U+2070-U+209F
  # Bit 33   Currency Symbols
set TT_UCR_CURRENCY_SYMBOLS                [expr 1 <<  1] ;# U+20A0-U+20CF
  # Bit 34   Combining Diacritical Marks For Symbols
set TT_UCR_COMBINING_DIACRITICS_SYMB       [expr 1 <<  2] ;# U+20D0-U+20FF
  # Bit 35   Letterlike Symbols
set TT_UCR_LETTERLIKE_SYMBOLS              [expr 1 <<  3] ;# U+2100-U+214F
  # Bit 36   Number Forms
set TT_UCR_NUMBER_FORMS                    [expr 1 <<  4] ;# U+2150-U+218F
  # Bit 37   Arrows
  #          Supplemental Arrows-A
  #          Supplemental Arrows-B
  #          Miscellaneous Symbols and Arrows
set TT_UCR_ARROWS                          [expr 1 <<  5] ;# U+2190-U+21FF
                                                           # U+27F0-U+27FF
                                                           # U+2900-U+297F
                                                           # U+2B00-U+2BFF
  # Bit 38   Mathematical Operators
  #          Supplemental Mathematical Operators
  #          Miscellaneous Mathematical Symbols-A
  #          Miscellaneous Mathematical Symbols-B
set TT_UCR_MATHEMATICAL_OPERATORS          [expr 1 <<  6] ;# U+2200-U+22FF
                                                           # U+2A00-U+2AFF
                                                           # U+27C0-U+27EF
                                                           # U+2980-U+29FF
  # Bit 39 Miscellaneous Technical
set TT_UCR_MISCELLANEOUS_TECHNICAL         [expr 1 <<  7] ;# U+2300-U+23FF
  # Bit 40   Control Pictures
set TT_UCR_CONTROL_PICTURES                [expr 1 <<  8] ;# U+2400-U+243F
  # Bit 41   Optical Character Recognition
set TT_UCR_OCR                             [expr 1 <<  9] ;# U+2440-U+245F
  # Bit 42   Enclosed Alphanumerics
set TT_UCR_ENCLOSED_ALPHANUMERICS          [expr 1 << 10] ;# U+2460-U+24FF
  # Bit 43   Box Drawing
set TT_UCR_BOX_DRAWING                     [expr 1 << 11] ;# U+2500-U+257F
  # Bit 44   Block Elements
set TT_UCR_BLOCK_ELEMENTS                  [expr 1 << 12] ;# U+2580-U+259F
  # Bit 45   Geometric Shapes
set TT_UCR_GEOMETRIC_SHAPES                [expr 1 << 13] ;# U+25A0-U+25FF
  # Bit 46   Miscellaneous Symbols
set TT_UCR_MISCELLANEOUS_SYMBOLS           [expr 1 << 14] ;# U+2600-U+26FF
  # Bit 47   Dingbats
set TT_UCR_DINGBATS                        [expr 1 << 15] ;# U+2700-U+27BF
  # Bit 48   CJK Symbols and Punctuation
set TT_UCR_CJK_SYMBOLS                     [expr 1 << 16] ;# U+3000-U+303F
  # Bit 49   Hiragana
set TT_UCR_HIRAGANA                        [expr 1 << 17] ;# U+3040-U+309F
  # Bit 50   Katakana
  #          Katakana Phonetic Extensions
set TT_UCR_KATAKANA                        [expr 1 << 18] ;# U+30A0-U+30FF
                                                           # U+31F0-U+31FF
  # Bit 51   Bopomofo
  #          Bopomofo Extended
set TT_UCR_BOPOMOFO                        [expr 1 << 19] ;# U+3100-U+312F
                                                           #  U+31A0-U+31BF
  # Bit 52   Hangul Compatibility Jamo
set TT_UCR_HANGUL_COMPATIBILITY_JAMO       [expr 1 << 20] ;# U+3130-U+318F
  # Bit 53   Phags-Pa
set TT_UCR_CJK_MISC                        [expr 1 << 21] ;# U+A840-U+A87F
set TT_UCR_KANBUN  $TT_UCR_CJK_MISC ;# deprecated
#set TT_UCR_PHAGSPA
  # Bit 54   Enclosed CJK Letters and Months
set TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS     [expr 1 << 22] ;# U+3200-U+32FF
  # Bit 55   CJK Compatibility
set TT_UCR_CJK_COMPATIBILITY               [expr 1 << 23] ;# U+3300-U+33FF
  # Bit 56   Hangul Syllables
set TT_UCR_HANGUL                          [expr 1 << 24] ;# U+AC00-U+D7A3
  # Bit 57   High Surrogates
  #          High Private Use Surrogates
  #          Low Surrogates
  #
  # According to OpenType specs v.1.3+,
  # setting bit 57 implies that there is
  # at least one codepoint beyond the
  # Basic Multilingual Plane that is
  # supported by this font.  So it really
  # means >= U+10000
set TT_UCR_SURROGATES                      [expr 1 << 25] ;# U+D800-U+DB7F
                                                           # U+DB80-U+DBFF
                                                           # U+DC00-U+DFFF
set TT_UCR_NON_PLANE_0  $TT_UCR_SURROGATES
  # Bit 58  Phoenician
set TT_UCR_PHOENICIAN                      [expr 1 << 26] ;# U+10900-U+1091F
  # Bit 59   CJK Unified Ideographs
  #          CJK Radicals Supplement
  #          Kangxi Radicals
  #          Ideographic Description Characters
  #          CJK Unified Ideographs Extension A
  #          CJK Unified Ideographs Extension B
  #          Kanbun
set TT_UCR_CJK_UNIFIED_IDEOGRAPHS          [expr 1 << 27] ;# U+4E00-U+9FFF
                                                           # U+2E80-U+2EFF
                                                           # U+2F00-U+2FDF
                                                           # U+2FF0-U+2FFF
                                                           # U+3400-U+4DB5
                                                           #U+20000-U+2A6DF
                                                           # U+3190-U+319F
  # Bit 60   Private Use
set TT_UCR_PRIVATE_USE                     [expr 1 << 28] ;# U+E000-U+F8FF
  # Bit 61   CJK Strokes
  #          CJK Compatibility Ideographs
  #          CJK Compatibility Ideographs Supplement
set TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS    [expr 1 << 29] ;# U+31C0-U+31EF
                                                           # U+F900-U+FAFF
                                                           #U+2F800-U+2FA1F
  # Bit 62   Alphabetic Presentation Forms
set TT_UCR_ALPHABETIC_PRESENTATION_FORMS   [expr 1 << 30] ;# U+FB00-U+FB4F
  # Bit 63   Arabic Presentation Forms-A
set TT_UCR_ARABIC_PRESENTATIONS_A          [expr 1 << 31] ;# U+FB50-U+FDFF
  # Bit 64   Combining Half Marks
set TT_UCR_COMBINING_HALF_MARKS            [expr 1 <<  0] ;# U+FE20-U+FE2F
  # Bit 65   Vertical forms
  #          CJK Compatibility Forms
set TT_UCR_CJK_COMPATIBILITY_FORMS         [expr 1 <<  1] ;# U+FE10-U+FE1F
                                                           # U+FE30-U+FE4F
  # Bit 66   Small Form Variants
set TT_UCR_SMALL_FORM_VARIANTS             [expr 1 <<  2] ;# U+FE50-U+FE6F
  # Bit 67   Arabic Presentation Forms-B
set TT_UCR_ARABIC_PRESENTATIONS_B          [expr 1 <<  3] ;# U+FE70-U+FEFE
  # Bit 68   Halfwidth and Fullwidth Forms
set TT_UCR_HALFWIDTH_FULLWIDTH_FORMS       [expr 1 <<  4] ;# U+FF00-U+FFEF
  # Bit 69   Specials
set TT_UCR_SPECIALS                        [expr 1 <<  5] ;# U+FFF0-U+FFFD
  # Bit 70   Tibetan
set TT_UCR_TIBETAN                         [expr 1 <<  6] ;# U+0F00-U+0FFF
  # Bit 71   Syriac
set TT_UCR_SYRIAC                          [expr 1 <<  7] ;# U+0700-U+074F
  # Bit 72   Thaana
set TT_UCR_THAANA                          [expr 1 <<  8] ;# U+0780-U+07BF
  # Bit 73   Sinhala
set TT_UCR_SINHALA                         [expr 1 <<  9] ;# U+0D80-U+0DFF
  # Bit 74   Myanmar
set TT_UCR_MYANMAR                         [expr 1 << 10] ;# U+1000-U+109F
  # Bit 75   Ethiopic
  #          Ethiopic Supplement
  #          Ethiopic Extended
set TT_UCR_ETHIOPIC                        [expr 1 << 11] ;# U+1200-U+137F
                                                           # U+1380-U+139F
                                                           # U+2D80-U+2DDF
  # Bit 76   Cherokee
set TT_UCR_CHEROKEE                        [expr 1 << 12] ;# U+13A0-U+13FF
  # Bit 77   Unified Canadian Aboriginal Syllabics
set TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS   [expr 1 << 13] ;# U+1400-U+167F
  # Bit 78   Ogham
set TT_UCR_OGHAM                           [expr 1 << 14] ;# U+1680-U+169F
  # Bit 79   Runic
set TT_UCR_RUNIC                           [expr 1 << 15] ;# U+16A0-U+16FF
  # Bit 80   Khmer
  #          Khmer Symbols
set TT_UCR_KHMER                           [expr 1 << 16] ;# U+1780-U+17FF
                                                           # U+19E0-U+19FF
  # Bit 81   Mongolian
set TT_UCR_MONGOLIAN                       [expr 1 << 17] ;# U+1800-U+18AF
  # Bit 82   Braille Patterns
set TT_UCR_BRAILLE                         [expr 1 << 18] ;# U+2800-U+28FF
  # Bit 83   Yi Syllables
  #          Yi Radicals
set TT_UCR_YI                              [expr 1 << 19] ;# U+A000-U+A48F
                                                           # U+A490-U+A4CF
  # Bit 84   Tagalog
  #          Hanunoo
  #          Buhid
  #          Tagbanwa
set TT_UCR_PHILIPPINE                      [expr 1 << 20] ;# U+1700-U+171F
                                                           # U+1720-U+173F
                                                           # U+1740-U+175F
                                                           # U+1760-U+177F
  # Bit 85   Old Italic
set TT_UCR_OLD_ITALIC                      [expr 1 << 21] ;#U+10300-U+1032F
  # Bit 86   Gothic
set TT_UCR_GOTHIC                          [expr 1 << 22] ;#U+10330-U+1034F
  # Bit 87   Deseret
set TT_UCR_DESERET                         [expr 1 << 23] ;#U+10400-U+1044F
  # Bit 88   Byzantine Musical Symbols
  #          Musical Symbols
  #          Ancient Greek Musical Notation
set TT_UCR_MUSICAL_SYMBOLS                 [expr 1 << 24] ;#U+1D000-U+1D0FF
                                                           #U+1D100-U+1D1FF
                                                           #U+1D200-U+1D24F
  # Bit 89   Mathematical Alphanumeric Symbols
set TT_UCR_MATH_ALPHANUMERIC_SYMBOLS       [expr 1 << 25] ;#U+1D400-U+1D7FF
  # Bit 90   Private Use (plane 15)
  #          Private Use (plane 16)
set TT_UCR_PRIVATE_USE_SUPPLEMENTARY       [expr 1 << 26] ;#U+F0000-U+FFFFD
                                                           #U+100000-U+10FFFD
  # Bit 91   Variation Selectors
  #          Variation Selectors Supplement
set TT_UCR_VARIATION_SELECTORS             [expr 1 << 27] ;# U+FE00-U+FE0F
                                                           #U+E0100-U+E01EF
  # Bit 92   Tags
set TT_UCR_TAGS                            [expr 1 << 28] ;#U+E0000-U+E007F
  # Bit 93   Limbu
set TT_UCR_LIMBU                           [expr 1 << 29] ;# U+1900-U+194F 
  # Bit 94   Tai Le
set TT_UCR_TAI_LE                          [expr 1 << 30] ;# U+1950-U+197F 
  # Bit 95   New Tai Lue
set TT_UCR_NEW_TAI_LUE                     [expr 1 << 31] ;# U+1980-U+19DF 
  # Bit 96   Buginese 
set TT_UCR_BUGINESE                        [expr 1 <<  0] ;# U+1A00-U+1A1F 
  # Bit 97   Glagolitic
set TT_UCR_GLAGOLITIC                      [expr 1 <<  1] ;# U+2C00-U+2C5F 
  # Bit 98   Tifinagh 
set TT_UCR_TIFINAGH                        [expr 1 <<  2] ;# U+2D30-U+2D7F 
  # Bit 99   Yijing Hexagram Symbols 
set TT_UCR_YIJING                          [expr 1 <<  3] ;# U+4DC0-U+4DFF 
  # Bit 100  Syloti Nagri 
set TT_UCR_SYLOTI_NAGRI                    [expr 1 <<  4] ;# U+A800-U+A82F 
  # Bit 101  Linear B Syllabary
  #          Linear B Ideograms
  #          Aegean Numbers
set TT_UCR_LINEAR_B                        [expr 1 <<  5] ;#U+10000-U+1007F
                                                           #U+10080-U+100FF
                                                           #U+10100-U+1013F
  # Bit 102  Ancient Greek Numbers
set TT_UCR_ANCIENT_GREEK_NUMBERS           [expr 1 <<  6] ;#U+10140-U+1018F
  # Bit 103  Ugaritic
set TT_UCR_UGARITIC                        [expr 1 <<  7] ;#U+10380-U+1039F
  # Bit 104  Old Persian 
set TT_UCR_OLD_PERSIAN                     [expr 1 <<  8] ;#U+103A0-U+103DF
  # Bit 105  Shavian 
set TT_UCR_SHAVIAN                         [expr 1 <<  9] ;#U+10450-U+1047F
  # Bit 106  Osmanya 
set TT_UCR_OSMANYA                         [expr 1 << 10] ;#U+10480-U+104AF
  # Bit 107  Cypriot Syllabary 
set TT_UCR_CYPRIOT_SYLLABARY               [expr 1 << 11] ;#U+10800-U+1083F
  # Bit 108  Kharoshthi 
set TT_UCR_KHAROSHTHI                      [expr 1 << 12] ;#U+10A00-U+10A5F
  # Bit 109  Tai Xuan Jing Symbols
set TT_UCR_TAI_XUAN_JING                   [expr 1 << 13] ;#U+1D300-U+1D35F
  # Bit 110  Cuneiform
  #          Cuneiform Numbers and Punctuation
set TT_UCR_CUNEIFORM                       [expr 1 << 14] ;#U+12000-U+123FF
                                                           #U+12400-U+1247F
  # Bit 111  Counting Rod Numerals
set TT_UCR_COUNTING_ROD_NUMERALS           [expr 1 << 15] ;#U+1D360-U+1D37F
  # Bit 112  Sundanese
set TT_UCR_SUNDANESE                       [expr 1 << 16] ;# U+1B80-U+1BBF 
  # Bit 113  Lepcha
set TT_UCR_LEPCHA                          [expr 1 << 17] ;# U+1C00-U+1C4F 
  # Bit 114  Ol Chiki
set TT_UCR_OL_CHIKI                        [expr 1 << 18] ;# U+1C50-U+1C7F 
  # Bit 115  Saurashtra
set TT_UCR_SAURASHTRA                      [expr 1 << 19] ;# U+A880-U+A8DF 
  # Bit 116  Kayah Li
set TT_UCR_KAYAH_LI                        [expr 1 << 20] ;# U+A900-U+A92F 
  # Bit 117  Rejang
set TT_UCR_REJANG                          [expr 1 << 21] ;# U+A930-U+A95F 
  # Bit 118  Cham
set TT_UCR_CHAM                            [expr 1 << 22] ;# U+AA00-U+AA5F 
  # Bit 119  Ancient Symbols
set TT_UCR_ANCIENT_SYMBOLS                 [expr 1 << 23] ;#U+10190-U+101CF
  # Bit 120  Phaistos Disc
set TT_UCR_PHAISTOS_DISC                   [expr 1 << 24] ;#U+101D0-U+101FF
  # Bit 121  Carian
  #          Lycian
  #          Lydian
set TT_UCR_OLD_ANATOLIAN                   [expr 1 << 25] ;#U+102A0-U+102DF
                                                           #U+10280-U+1029F
                                                           #U+10920-U+1093F
  # Bit 122  Domino Tiles
  #          Mahjong Tiles
set TT_UCR_GAME_TILES                      [expr 1 << 26] ;#U+1F030-U+1F09F
                                                           #U+1F000-U+1F02F
  # Bit 123-127 Reserved for process-internal usage


set TT_UCR_ARABIC_PRESENTATION_FORMS_A      \
         $TT_UCR_ARABIC_PRESENTATIONS_A
set TT_UCR_ARABIC_PRESENTATION_FORMS_B      \
         $TT_UCR_ARABIC_PRESENTATIONS_B

set TT_UCR_COMBINING_DIACRITICAL_MARKS      \
         $TT_UCR_COMBINING_DIACRITICS
set TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \
         $TT_UCR_COMBINING_DIACRITICS_SYMB

set _source([file tail [info script]]) 1
}
