[name] Rebuild language list, include missing entries

This commit is contained in:
Behdad Esfahbod 2018-10-23 22:44:36 -07:00
parent 68f172101c
commit 7007bd9dff
1 changed files with 370 additions and 264 deletions

View File

@ -26,6 +26,9 @@
#include "hb-ot-name-language.hh" #include "hb-ot-name-language.hh"
/* Following two tables were generated by joining FreeType, FontConfig,
* and OpenType specification language lists. */
struct hb_ot_language_map_t struct hb_ot_language_map_t
{ {
static int cmp (const void *key, const void *item) static int cmp (const void *key, const void *item)
@ -42,275 +45,378 @@ struct hb_ot_language_map_t
static const hb_ot_language_map_t static const hb_ot_language_map_t
hb_ms_language_map[] = hb_ms_language_map[] =
{ {
{0x0401, "ar"}, /* Arabic (Saudi Arabia) */ {0x0001, "ar"}, /* ??? */
{0x0402, "bg"}, /* Bulgarian (Bulgaria) */ {0x0004, "zh"}, /* ??? */
{0x0404, "zh-tw"}, /* Chinese (Taiwan) */ {0x0009, "en"}, /* ??? */
{0x0405, "cs"}, /* Czech (Czech Republic) */ {0x0401, "ar"}, /* Arabic (Saudi Arabia) */
{0x0406, "da"}, /* Danish (Denmark) */ {0x0402, "bg"}, /* Bulgarian (Bulgaria) */
{0x0407, "de"}, /* German (Germany) */ //{0x0403, ""}, /* Catalan (Catalan) */
{0x0408, "el"}, /* Greek (Greece) */ {0x0404, "zh-tw"}, /* Chinese (Taiwan) */
{0x0409, "en"}, /* English (United States) */ {0x0405, "cs"}, /* Czech (Czech Republic) */
{0x040A, "es"}, /* Spanish (Traditional Sort) (Spain) */ {0x0406, "da"}, /* Danish (Denmark) */
{0x040B, "fi"}, /* Finnish (Finland) */ {0x0407, "de"}, /* German (Germany) */
{0x040C, "fr"}, /* French (France) */ {0x0408, "el"}, /* Greek (Greece) */
{0x040D, "he"}, /* Hebrew (Israel) */ {0x0409, "en"}, /* English (United States) */
{0x040E, "hu"}, /* Hungarian (Hungary) */ {0x040A, "es"}, /* Spanish (Traditional Sort) (Spain) */
{0x040F, "is"}, /* Icelandic (Iceland) */ {0x040B, "fi"}, /* Finnish (Finland) */
{0x0410, "it"}, /* Italian (Italy) */ {0x040C, "fr"}, /* French (France) */
{0x0411, "ja"}, /* Japanese (Japan) */ {0x040D, "he"}, /* Hebrew (Israel) */
{0x0413, "nl"}, /* Dutch (Netherlands) */ {0x040E, "hu"}, /* Hungarian (Hungary) */
{0x0414, "no"}, /* Norwegian (Bokmal) (Norway) */ {0x040F, "is"}, /* Icelandic (Iceland) */
{0x0415, "pl"}, /* Polish (Poland) */ {0x0410, "it"}, /* Italian (Italy) */
{0x0416, "pt"}, /* Portuguese (Brazil) */ {0x0411, "ja"}, /* Japanese (Japan) */
{0x0418, "ro"}, /* Romanian (Romania) */ //{0x0412, ""}, /* Korean (Korea) */
{0x0419, "ru"}, /* Russian (Russia) */ {0x0413, "nl"}, /* Dutch (Netherlands) */
{0x041A, "hr"}, /* Croatian (Croatia) */ {0x0414, "no"}, /* Norwegian (Bokmal) (Norway) */
{0x041B, "sk"}, /* Slovak (Slovakia) */ {0x0415, "pl"}, /* Polish (Poland) */
{0x041C, "sq"}, /* Albanian (Albania) */ {0x0416, "pt"}, /* Portuguese (Brazil) */
{0x041D, "sv"}, /* Swedish (Sweden) */ //{0x0417, ""}, /* Romansh (Switzerland) */
{0x041E, "th"}, /* Thai (Thailand) */ {0x0418, "ro"}, /* Romanian (Romania) */
{0x041F, "tr"}, /* Turkish (Turkey) */ {0x0419, "ru"}, /* Russian (Russia) */
{0x0420, "ur"}, /* Urdu (Islamic Republic of Pakistan) */ {0x041A, "hr"}, /* Croatian (Croatia) */
{0x0421, "id"}, /* Indonesian (Indonesia) */ {0x041B, "sk"}, /* Slovak (Slovakia) */
{0x0422, "uk"}, /* Ukrainian (Ukraine) */ {0x041C, "sq"}, /* Albanian (Albania) */
{0x0423, "be"}, /* Belarusian (Belarus) */ {0x041D, "sv"}, /* Swedish (Sweden) */
{0x0425, "et"}, /* Estonian (Estonia) */ {0x041E, "th"}, /* Thai (Thailand) */
{0x0426, "lv"}, /* Latvian (Latvia) */ {0x041F, "tr"}, /* Turkish (Turkey) */
{0x0427, "lt"}, /* Lithuanian (Lithuania) */ {0x0420, "ur"}, /* Urdu (Islamic Republic of Pakistan) */
{0x0428, "tg"}, /* Tajik (Cyrillic) (Tajikistan) */ {0x0421, "id"}, /* Indonesian (Indonesia) */
{0x042A, "vi"}, /* Vietnamese (Vietnam) */ {0x0422, "uk"}, /* Ukrainian (Ukraine) */
{0x042B, "hy"}, /* Armenian (Armenia) */ {0x0423, "be"}, /* Belarusian (Belarus) */
{0x042C, "az"}, /* Azeri (Latin) (Azerbaijan) */ //{0x0424, ""}, /* Slovenian (Slovenia) */
{0x042F, "mk"}, /* Macedonian (FYROM) (Former Yugoslav Republic of Macedonia) */ {0x0425, "et"}, /* Estonian (Estonia) */
{0x0436, "af"}, /* Afrikaans (South Africa) */ {0x0426, "lv"}, /* Latvian (Latvia) */
{0x0437, "ka"}, /* Georgian (Georgia) */ {0x0427, "lt"}, /* Lithuanian (Lithuania) */
{0x0438, "fo"}, /* Faroese (Faroe Islands) */ {0x0428, "tg"}, /* Tajik (Cyrillic) (Tajikistan) */
{0x0439, "hi"}, /* Hindi (India) */ {0x0429, "fa"}, /* ??? */
{0x043A, "mt"}, /* Maltese (Malta) */ {0x042A, "vi"}, /* Vietnamese (Vietnam) */
{0x043E, "ms"}, /* Malay (Malaysia) */ {0x042B, "hy"}, /* Armenian (Armenia) */
{0x0442, "tk"}, /* Turkmen (Turkmenistan) */ {0x042C, "az"}, /* Azeri (Latin) (Azerbaijan) */
{0x0443, "uz"}, /* Uzbek (Latin) (Uzbekistan) */ //{0x042D, ""}, /* Basque (Basque) */
{0x0445, "bn"}, /* Bengali (India) */ //{0x042E, ""}, /* Upper Sorbian (Germany) */
{0x0446, "pa"}, /* Punjabi (India) */ {0x042F, "mk"}, /* Macedonian (FYROM) (Former Yugoslav Republic of Macedonia) */
{0x0447, "gu"}, /* Gujarati (India) */ {0x0430, "st"}, /* ??? */
{0x0449, "ta"}, /* Tamil (India) */ {0x0431, "ts"}, /* ??? */
{0x044A, "te"}, /* Telugu (India) */ //{0x0432, ""}, /* Setswana (South Africa) */
{0x044B, "kn"}, /* Kannada (India) */ {0x0433, "ven"}, /* ??? */
{0x044C, "ml"}, /* Malayalam (India) */ //{0x0434, ""}, /* isiXhosa (South Africa) */
{0x044D, "as"}, /* Assamese (India) */ //{0x0435, ""}, /* isiZulu (South Africa) */
{0x044E, "mr"}, /* Marathi (India) */ {0x0436, "af"}, /* Afrikaans (South Africa) */
{0x044F, "sa"}, /* Sanskrit (India) */ {0x0437, "ka"}, /* Georgian (Georgia) */
{0x0450, "mn"}, /* Mongolian (Cyrillic) (Mongolia) */ {0x0438, "fo"}, /* Faroese (Faroe Islands) */
{0x0453, "km"}, /* Khmer (Cambodia) */ {0x0439, "hi"}, /* Hindi (India) */
{0x0454, "lo"}, /* Lao (Lao P.D.R.) */ {0x043A, "mt"}, /* Maltese (Malta) */
{0x0457, "kok"}, /* Konkani (India) */ {0x043B, "se"}, /* Sami (Northern) (Norway) */
{0x045A, "syr"}, /* Syriac (Syria) */ {0x043C, "ga"}, /* ??? */
{0x045D, "iu"}, /* Inuktitut (Canada) */ {0x043D, "yi"}, /* ??? */
{0x045E, "am"}, /* Amharic (Ethiopia) */ {0x043E, "ms"}, /* Malay (Malaysia) */
{0x0461, "ne"}, /* Nepali (Nepal) */ //{0x043F, ""}, /* Kazakh (Kazakhstan) */
{0x0462, "fy"}, /* Frisian (Netherlands) */ //{0x0440, ""}, /* Kyrgyz (Kyrgyzstan) */
{0x0463, "ps"}, /* Pashto (Afghanistan) */ //{0x0441, ""}, /* Kiswahili (Kenya) */
{0x0464, "phi"}, /* Filipino (Philippines) */ {0x0442, "tk"}, /* Turkmen (Turkmenistan) */
{0x0465, "div"}, /* Divehi (Maldives) */ {0x0443, "uz"}, /* Uzbek (Latin) (Uzbekistan) */
{0x0468, "ha"}, /* Hausa (Latin) (Nigeria) */ //{0x0444, ""}, /* Tatar (Russia) */
{0x046A, "yo"}, /* Yoruba (Nigeria) */ {0x0445, "bn"}, /* Bengali (India) */
{0x0470, "ibo"}, /* Igbo (Nigeria) */ {0x0446, "pa"}, /* Punjabi (India) */
{0x0481, "mi"}, /* Maori (New Zealand) */ {0x0447, "gu"}, /* Gujarati (India) */
{0x0801, "ar"}, /* Arabic (Iraq) */ //{0x0448, ""}, /* Odia (formerly Oriya) (India) */
{0x0804, "zh-cn"}, /* Chinese (Peoples Republic of China) */ {0x0449, "ta"}, /* Tamil (India) */
{0x0807, "de"}, /* German (Switzerland) */ {0x044A, "te"}, /* Telugu (India) */
{0x0809, "en"}, /* English (United Kingdom) */ {0x044B, "kn"}, /* Kannada (India) */
{0x080A, "es"}, /* Spanish (Mexico) */ {0x044C, "ml"}, /* Malayalam (India) */
{0x080C, "fr"}, /* French (Belgium) */ {0x044D, "as"}, /* Assamese (India) */
{0x0810, "it"}, /* Italian (Switzerland) */ {0x044E, "mr"}, /* Marathi (India) */
{0x0813, "nl"}, /* Dutch (Belgium) */ {0x044F, "sa"}, /* Sanskrit (India) */
{0x0814, "nn"}, /* Norwegian (Nynorsk) (Norway) */ {0x0450, "mn"}, /* Mongolian (Cyrillic) (Mongolia) */
{0x0816, "pt"}, /* Portuguese (Portugal) */ //{0x0451, ""}, /* Tibetan (PRC) */
{0x081A, "sr"}, /* Serbian (Latin) (Serbia) */ //{0x0452, ""}, /* Welsh (United Kingdom) */
{0x081D, "sv"}, /* Sweden (Finland) */ {0x0453, "km"}, /* Khmer (Cambodia) */
{0x082C, "az"}, /* Azeri (Cyrillic) (Azerbaijan) */ {0x0454, "lo"}, /* Lao (Lao P.D.R.) */
{0x083E, "ms"}, /* Malay (Brunei Darussalam) */ {0x0455, "my"}, /* ??? */
{0x0843, "uz"}, /* Uzbek (Cyrillic) (Uzbekistan) */ //{0x0456, ""}, /* Galician (Galician) */
{0x0845, "bn"}, /* Bengali (Bangladesh) */ {0x0457, "kok"}, /* Konkani (India) */
{0x0C01, "ar"}, /* Arabic (Egypt) */ {0x0458, "mni"}, /* ??? */
{0x0C04, "zh-hk"}, /* Chinese (Hong Kong S.A.R.) */ {0x0459, "sd"}, /* ??? */
{0x0C07, "de"}, /* German (Austria) */ {0x045A, "syr"}, /* Syriac (Syria) */
{0x0C09, "en"}, /* English (Australia) */ //{0x045B, ""}, /* Sinhala (Sri Lanka) */
{0x0C0C, "fr"}, /* French (Canada) */ {0x045C, "chr"}, /* ??? */
{0x0C1A, "sr"}, /* Serbian (Cyrillic) (Serbia) */ {0x045D, "iu"}, /* Inuktitut (Canada) */
{0x1001, "ar"}, /* Arabic (Libya) */ {0x045E, "am"}, /* Amharic (Ethiopia) */
{0x1004, "zh-sg"}, /* Chinese (Singapore) */ {0x0460, "ks"}, /* ??? */
{0x1007, "de"}, /* German (Luxembourg) */ {0x0461, "ne"}, /* Nepali (Nepal) */
{0x1009, "en"}, /* English (Canada) */ {0x0462, "fy"}, /* Frisian (Netherlands) */
{0x100A, "es"}, /* Spanish (Guatemala) */ {0x0463, "ps"}, /* Pashto (Afghanistan) */
{0x100C, "fr"}, /* French (Switzerland) */ {0x0464, "phi"}, /* Filipino (Philippines) */
{0x1401, "ar"}, /* Arabic (Algeria) */ {0x0465, "div"}, /* Divehi (Maldives) */
{0x1409, "en"}, /* English (New Zealand) */ {0x0468, "ha"}, /* Hausa (Latin) (Nigeria) */
{0x140A, "es"}, /* Spanish (Costa Rica) */ {0x046A, "yo"}, /* Yoruba (Nigeria) */
{0x141A, "bs"}, /* Bosnian (Latin) (Bosnia and Herzegovina) */ //{0x046B, ""}, /* Quechua (Bolivia) */
{0x1801, "ar"}, /* Arabic (Morocco) */ //{0x046C, ""}, /* Sesotho sa Leboa (South Africa) */
{0x1809, "en"}, /* English (Ireland) */ //{0x046D, ""}, /* Bashkir (Russia) */
{0x180A, "es"}, /* Spanish (Panama) */ //{0x046E, ""}, /* Luxembourgish (Luxembourg) */
{0x180C, "fr"}, /* French (Principality of Monaco) */ //{0x046F, ""}, /* Greenlandic (Greenland) */
{0x1C01, "ar"}, /* Arabic (Tunisia) */ {0x0470, "ibo"}, /* Igbo (Nigeria) */
{0x1C09, "en"}, /* English (South Africa) */ {0x0471, "kau"}, /* ??? */
{0x1C0A, "es"}, /* Spanish (Dominican Republic) */ {0x0472, "om"}, /* ??? */
{0x2001, "ar"}, /* Arabic (Oman) */ {0x0473, "ti"}, /* ??? */
{0x2009, "en"}, /* English (Jamaica) */ {0x0474, "gn"}, /* ??? */
{0x200A, "es"}, /* Spanish (Venezuela) */ {0x0475, "haw"}, /* ??? */
{0x2401, "ar"}, /* Arabic (Yemen) */ {0x0476, "la"}, /* ??? */
{0x2409, "en"}, /* English (Caribbean) */ {0x0477, "so"}, /* ??? */
{0x240A, "es"}, /* Spanish (Colombia) */ //{0x0478, ""}, /* Yi (PRC) */
{0x2801, "ar"}, /* Arabic (Syria) */ {0x0479, "pap"}, /* ??? */
{0x2809, "en"}, /* English (Belize) */ //{0x047A, ""}, /* Mapudungun (Chile) */
{0x280A, "es"}, /* Spanish (Peru) */ //{0x047C, ""}, /* Mohawk (Mohawk) */
{0x2C01, "ar"}, /* Arabic (Jordan) */ //{0x047E, ""}, /* Breton (France) */
{0x2C09, "en"}, /* English (Trinidad and Tobago) */ //{0x0480, ""}, /* Uighur (PRC) */
{0x2C0A, "es"}, /* Spanish (Argentina) */ {0x0481, "mi"}, /* Maori (New Zealand) */
{0x3001, "ar"}, /* Arabic (Lebanon) */ //{0x0482, ""}, /* Occitan (France) */
{0x3009, "en"}, /* English (Zimbabwe) */ //{0x0483, ""}, /* Corsican (France) */
{0x300A, "es"}, /* Spanish (Ecuador) */ //{0x0484, ""}, /* Alsatian (France) */
{0x3401, "ar"}, /* Arabic (Kuwait) */ //{0x0485, ""}, /* Yakut (Russia) */
{0x3409, "en"}, /* English (Republic of the Philippines) */ //{0x0486, ""}, /* K'iche (Guatemala) */
{0x340A, "es"}, /* Spanish (Chile) */ //{0x0487, ""}, /* Kinyarwanda (Rwanda) */
{0x3801, "ar"}, /* Arabic (U.A.E.) */ //{0x0488, ""}, /* Wolof (Senegal) */
{0x380A, "es"}, /* Spanish (Uruguay) */ //{0x048C, ""}, /* Dari (Afghanistan) */
{0x3C01, "ar"}, /* Arabic (Bahrain) */ {0x0801, "ar"}, /* Arabic (Iraq) */
{0x3C0A, "es"}, /* Spanish (Paraguay) */ {0x0804, "zh-cn"}, /* Chinese (Peoples Republic of China) */
{0x4001, "ar"}, /* Arabic (Qatar) */ {0x0807, "de"}, /* German (Switzerland) */
{0x4009, "en"}, /* English (India) */ {0x0809, "en"}, /* English (United Kingdom) */
{0x400A, "es"}, /* Spanish (Bolivia) */ {0x080A, "es"}, /* Spanish (Mexico) */
{0x4409, "en"}, /* English (Malaysia) */ {0x080C, "fr"}, /* French (Belgium) */
{0x440A, "es"}, /* Spanish (El Salvador) */ {0x0810, "it"}, /* Italian (Switzerland) */
{0x4809, "en"}, /* English (Singapore) */ {0x0812, "ko"}, /* ??? */
{0x480A, "es"}, /* Spanish (Honduras) */ {0x0813, "nl"}, /* Dutch (Belgium) */
{0x4C0A, "es"}, /* Spanish (Nicaragua) */ {0x0814, "nn"}, /* Norwegian (Nynorsk) (Norway) */
{0x500A, "es"}, /* Spanish (Puerto Rico) */ {0x0816, "pt"}, /* Portuguese (Portugal) */
{0x540A, "es"}, /* Spanish (United States) */ {0x0818, "mo"}, /* ??? */
{0x0819, "ru"}, /* ??? */
{0x081A, "sr"}, /* Serbian (Latin) (Serbia) */
{0x081D, "sv"}, /* Sweden (Finland) */
{0x0820, "ur"}, /* ??? */
{0x0827, "lt"}, /* ??? */
{0x082C, "az"}, /* Azeri (Cyrillic) (Azerbaijan) */
//{0x082E, ""}, /* Lower Sorbian (Germany) */
//{0x083B, ""}, /* Sami (Northern) (Sweden) */
{0x083C, "gd"}, /* Irish (Ireland) */
{0x083E, "ms"}, /* Malay (Brunei Darussalam) */
{0x0843, "uz"}, /* Uzbek (Cyrillic) (Uzbekistan) */
{0x0845, "bn"}, /* Bengali (Bangladesh) */
{0x0846, "ar"}, /* ??? */
//{0x0850, ""}, /* Mongolian (Traditional) (Peoples Republic of China) */
{0x0851, "dz"}, /* ??? */
//{0x085D, ""}, /* Inuktitut (Latin) (Canada) */
//{0x085F, ""}, /* Tamazight (Latin) (Algeria) */
{0x0861, "ne"}, /* ??? */
//{0x086B, ""}, /* Quechua (Ecuador) */
{0x0873, "ti"}, /* ??? */
{0x0C01, "ar"}, /* Arabic (Egypt) */
{0x0C04, "zh-hk"}, /* Chinese (Hong Kong S.A.R.) */
{0x0C07, "de"}, /* German (Austria) */
{0x0C09, "en"}, /* English (Australia) */
//{0x0C0A, ""}, /* Spanish (Modern Sort) (Spain) */
{0x0C0C, "fr"}, /* French (Canada) */
{0x0C1A, "sr"}, /* Serbian (Cyrillic) (Serbia) */
//{0x0C3B, ""}, /* Sami (Northern) (Finland) */
//{0x0C6B, ""}, /* Quechua (Peru) */
{0x1001, "ar"}, /* Arabic (Libya) */
{0x1004, "zh-sg"}, /* Chinese (Singapore) */
{0x1007, "de"}, /* German (Luxembourg) */
{0x1009, "en"}, /* English (Canada) */
{0x100A, "es"}, /* Spanish (Guatemala) */
{0x100C, "fr"}, /* French (Switzerland) */
//{0x101A, ""}, /* Croatian (Latin) (Bosnia and Herzegovina) */
//{0x103B, ""}, /* Sami (Lule) (Norway) */
{0x1401, "ar"}, /* Arabic (Algeria) */
//{0x1404, ""}, /* Chinese (Macao S.A.R.) */
//{0x1407, ""}, /* German (Liechtenstein) */
{0x1409, "en"}, /* English (New Zealand) */
{0x140A, "es"}, /* Spanish (Costa Rica) */
{0x140C, "fr"}, /* ??? */
//{0x140c, ""}, /* French (Luxembourg) */
{0x141A, "bs"}, /* Bosnian (Latin) (Bosnia and Herzegovina) */
//{0x143B, ""}, /* Sami (Lule) (Sweden) */
{0x1801, "ar"}, /* Arabic (Morocco) */
{0x1809, "en"}, /* English (Ireland) */
{0x180A, "es"}, /* Spanish (Panama) */
{0x180C, "fr"}, /* French (Principality of Monaco) */
//{0x181A, ""}, /* Serbian (Latin) (Bosnia and Herzegovina) */
//{0x183B, ""}, /* Sami (Southern) (Norway) */
{0x1C01, "ar"}, /* Arabic (Tunisia) */
{0x1C09, "en"}, /* English (South Africa) */
{0x1C0A, "es"}, /* Spanish (Dominican Republic) */
{0x1C0C, "fr"}, /* ??? */
//{0x1C1A, ""}, /* Serbian (Cyrillic) (Bosnia and Herzegovina) */
//{0x1C3B, ""}, /* Sami (Southern) (Sweden) */
{0x2001, "ar"}, /* Arabic (Oman) */
{0x2009, "en"}, /* English (Jamaica) */
{0x200A, "es"}, /* Spanish (Venezuela) */
{0x200C, "fr"}, /* ??? */
//{0x201A, ""}, /* Bosnian (Cyrillic) (Bosnia and Herzegovina) */
//{0x203B, ""}, /* Sami (Skolt) (Finland) */
{0x2401, "ar"}, /* Arabic (Yemen) */
{0x2409, "en"}, /* English (Caribbean) */
{0x240A, "es"}, /* Spanish (Colombia) */
{0x240C, "fr"}, /* ??? */
//{0x243B, ""}, /* Sami (Inari) (Finland) */
{0x2801, "ar"}, /* Arabic (Syria) */
{0x2809, "en"}, /* English (Belize) */
{0x280A, "es"}, /* Spanish (Peru) */
{0x280C, "fr"}, /* ??? */
{0x2C01, "ar"}, /* Arabic (Jordan) */
{0x2C09, "en"}, /* English (Trinidad and Tobago) */
{0x2C0A, "es"}, /* Spanish (Argentina) */
{0x2C0C, "fr"}, /* ??? */
{0x3001, "ar"}, /* Arabic (Lebanon) */
{0x3009, "en"}, /* English (Zimbabwe) */
{0x300A, "es"}, /* Spanish (Ecuador) */
{0x300C, "fr"}, /* ??? */
{0x3401, "ar"}, /* Arabic (Kuwait) */
{0x3409, "en"}, /* English (Republic of the Philippines) */
{0x340A, "es"}, /* Spanish (Chile) */
{0x340C, "fr"}, /* ??? */
{0x3801, "ar"}, /* Arabic (U.A.E.) */
{0x380A, "es"}, /* Spanish (Uruguay) */
{0x380C, "fr"}, /* ??? */
{0x3C01, "ar"}, /* Arabic (Bahrain) */
{0x3C09, "en"}, /* ??? */
{0x3C0A, "es"}, /* Spanish (Paraguay) */
{0x3C0C, "fr"}, /* ??? */
{0x4001, "ar"}, /* Arabic (Qatar) */
{0x4009, "en"}, /* English (India) */
{0x400A, "es"}, /* Spanish (Bolivia) */
{0x4409, "en"}, /* English (Malaysia) */
{0x440A, "es"}, /* Spanish (El Salvador) */
{0x4809, "en"}, /* English (Singapore) */
{0x480A, "es"}, /* Spanish (Honduras) */
{0x4C0A, "es"}, /* Spanish (Nicaragua) */
{0x500A, "es"}, /* Spanish (Puerto Rico) */
{0x540A, "es"}, /* Spanish (United States) */
{0xE40A, "es"}, /* ??? */
{0xE40C, "fr"}, /* ??? */
}; };
static const hb_ot_language_map_t static const hb_ot_language_map_t
hb_mac_language_map[] = hb_mac_language_map[] =
{ {
{0, "en"}, /* English */ { 0, "en"}, /* English */
{1, "fr"}, /* French */ { 1, "fr"}, /* French */
{2, "de"}, /* German */ { 2, "de"}, /* German */
{3, "it"}, /* Italian */ { 3, "it"}, /* Italian */
{4, "nl"}, /* Dutch */ { 4, "nl"}, /* Dutch */
{5, "sv"}, /* Swedish */ { 5, "sv"}, /* Swedish */
{6, "es"}, /* Spanish */ { 6, "es"}, /* Spanish */
{7, "da"}, /* Danish */ { 7, "da"}, /* Danish */
{8, "pt"}, /* Portuguese */ { 8, "pt"}, /* Portuguese */
{9, "no"}, /* Norwegian */ { 9, "no"}, /* Norwegian */
{10, "he"}, /* Hebrew */ { 10, "he"}, /* Hebrew */
{11, "ja"}, /* Japanese */ { 11, "ja"}, /* Japanese */
{12, "ar"}, /* Arabic */ { 12, "ar"}, /* Arabic */
{13, "fi"}, /* Finnish */ { 13, "fi"}, /* Finnish */
{14, "el"}, /* Greek */ { 14, "el"}, /* Greek */
{15, "is"}, /* Icelandic */ { 15, "is"}, /* Icelandic */
{16, "mt"}, /* Maltese */ { 16, "mt"}, /* Maltese */
{17, "tr"}, /* Turkish */ { 17, "tr"}, /* Turkish */
{18, "hr"}, /* Croatian */ { 18, "hr"}, /* Croatian */
{19, "zh-tw"}, /* Chinese (Traditional) */ { 19, "zh-tw"}, /* Chinese (Traditional) */
{20, "ur"}, /* Urdu */ { 20, "ur"}, /* Urdu */
{21, "hi"}, /* Hindi */ { 21, "hi"}, /* Hindi */
{22, "th"}, /* Thai */ { 22, "th"}, /* Thai */
{23, "ko"}, /* Korean */ { 23, "ko"}, /* Korean */
{24, "lt"}, /* Lithuanian */ { 24, "lt"}, /* Lithuanian */
{25, "pl"}, /* Polish */ { 25, "pl"}, /* Polish */
{26, "hu"}, /* Hungarian */ { 26, "hu"}, /* Hungarian */
{27, "et"}, /* Estonian */ { 27, "et"}, /* Estonian */
{28, "lv"}, /* Latvian */ { 28, "lv"}, /* Latvian */
{30, "fo"}, /* Faroese */ //{ 29, ""}, /* Sami */
{31, "fa"}, /* Farsi/Persian */ { 30, "fo"}, /* Faroese */
{32, "ru"}, /* Russian */ { 31, "fa"}, /* Farsi/Persian */
{33, "zh-cn"}, /* Chinese (Simplified) */ { 32, "ru"}, /* Russian */
{34, "nl"}, /* Flemish */ { 33, "zh-cn"}, /* Chinese (Simplified) */
{35, "ga"}, /* Irish Gaelic */ { 34, "nl"}, /* Flemish */
{36, "sq"}, /* Albanian */ { 35, "ga"}, /* Irish Gaelic */
{37, "ro"}, /* Romanian */ { 36, "sq"}, /* Albanian */
{38, "cs"}, /* Czech */ { 37, "ro"}, /* Romanian */
{39, "sk"}, /* Slovak */ { 38, "cs"}, /* Czech */
{40, "sl"}, /* Slovenian */ { 39, "sk"}, /* Slovak */
{41, "yi"}, /* Yiddish */ { 40, "sl"}, /* Slovenian */
{42, "sr"}, /* Serbian */ { 41, "yi"}, /* Yiddish */
{43, "mk"}, /* Macedonian */ { 42, "sr"}, /* Serbian */
{44, "bg"}, /* Bulgarian */ { 43, "mk"}, /* Macedonian */
{45, "uk"}, /* Ukrainian */ { 44, "bg"}, /* Bulgarian */
{46, "be"}, /* Byelorussian */ { 45, "uk"}, /* Ukrainian */
{47, "uz"}, /* Uzbek */ { 46, "be"}, /* Byelorussian */
{48, "kk"}, /* Kazakh */ { 47, "uz"}, /* Uzbek */
{49, "az"}, /* Azerbaijani (Cyrillic script) */ { 48, "kk"}, /* Kazakh */
{49, "az"}, /* Azerbaijani (Cyrillic script) */ { 49, "az"}, /* Azerbaijani (Cyrillic script) */
{50, "ar"}, /* Azerbaijani (Arabic script) */ { 50, "ar"}, /* Azerbaijani (Arabic script) */
{51, "hy"}, /* Armenian */ { 51, "hy"}, /* Armenian */
{52, "ka"}, /* Georgian */ { 52, "ka"}, /* Georgian */
{53, "mo"}, /* Moldavian */ { 53, "mo"}, /* Moldavian */
{54, "ky"}, /* Kirghiz */ { 54, "ky"}, /* Kirghiz */
{55, "tg"}, /* Tajiki */ { 55, "tg"}, /* Tajiki */
{56, "tk"}, /* Turkmen */ { 56, "tk"}, /* Turkmen */
{57, "mo"}, /* Mongolian (Mongolian script) */ { 57, "mo"}, /* Mongolian (Mongolian script) */
{57, "mo"}, /* Mongolian (Mongolian script) */ { 58, "mo"}, /* Mongolian (Cyrillic script) */
{58, "mo"}, /* Mongolian (Cyrillic script) */ { 59, "ps"}, /* Pashto */
{59, "ps"}, /* Pashto */ { 60, "ku"}, /* Kurdish */
{60, "ku"}, /* Kurdish */ { 61, "ks"}, /* Kashmiri */
{61, "ks"}, /* Kashmiri */ { 62, "sd"}, /* Sindhi */
{62, "sd"}, /* Sindhi */ { 63, "bo"}, /* Tibetan */
{63, "bo"}, /* Tibetan */ { 64, "ne"}, /* Nepali */
{64, "ne"}, /* Nepali */ { 65, "sa"}, /* Sanskrit */
{65, "sa"}, /* Sanskrit */ { 66, "mr"}, /* Marathi */
{66, "mr"}, /* Marathi */ { 67, "bn"}, /* Bengali */
{67, "bn"}, /* Bengali */ { 68, "as"}, /* Assamese */
{68, "as"}, /* Assamese */ { 69, "gu"}, /* Gujarati */
{69, "gu"}, /* Gujarati */ { 70, "pa"}, /* Punjabi */
{70, "pa"}, /* Punjabi */ { 71, "or"}, /* Oriya */
{71, "or"}, /* Oriya */ { 72, "ml"}, /* Malayalam */
{72, "ml"}, /* Malayalam */ { 73, "kn"}, /* Kannada */
{73, "kn"}, /* Kannada */ { 74, "ta"}, /* Tamil */
{74, "ta"}, /* Tamil */ { 75, "te"}, /* Telugu */
{75, "te"}, /* Telugu */ { 76, "si"}, /* Sinhalese */
{76, "si"}, /* Sinhalese */ { 77, "my"}, /* Burmese */
{77, "my"}, /* Burmese */ { 78, "km"}, /* Khmer */
{78, "km"}, /* Khmer */ { 79, "lo"}, /* Lao */
{79, "lo"}, /* Lao */ { 80, "vi"}, /* Vietnamese */
{80, "vi"}, /* Vietnamese */ { 81, "id"}, /* Indonesian */
{81, "id"}, /* Indonesian */ { 82, "tl"}, /* Tagalog */
{82, "tl"}, /* Tagalog */ { 83, "ms"}, /* Malay (Roman script) */
{83, "ms"}, /* Malay (Roman script) */ { 84, "ms"}, /* Malay (Arabic script) */
{84, "ms"}, /* Malay (Arabic script) */ { 85, "am"}, /* Amharic */
{85, "am"}, /* Amharic */ { 86, "ti"}, /* Tigrinya */
{86, "ti"}, /* Tigrinya */ { 87, "om"}, /* Galla */
{87, "om"}, /* Galla */ { 88, "so"}, /* Somali */
{88, "so"}, /* Somali */ { 89, "sw"}, /* Swahili */
{89, "sw"}, /* Swahili */ { 90, "rw"}, /* Kinyarwanda/Ruanda */
{90, "rw"}, /* Kinyarwanda/Ruanda */ { 91, "rn"}, /* Rundi */
{91, "rn"}, /* Rundi */ { 92, "ny"}, /* Nyanja/Chewa */
{92, "ny"}, /* Nyanja/Chewa */ { 93, "mg"}, /* Malagasy */
{93, "mg"}, /* Malagasy */ { 94, "eo"}, /* Esperanto */
{94, "eo"}, /* Esperanto */ {128, "cy"}, /* Welsh */
{128, "cy"}, /* Welsh */ {129, "eu"}, /* Basque */
{129, "eu"}, /* Basque */ {130, "ca"}, /* Catalan */
{130, "ca"}, /* Catalan */ {131, "la"}, /* Latin */
{131, "la"}, /* Latin */ {132, "qu"}, /* Quechua */
{132, "qu"}, /* Quechua */ {133, "gn"}, /* Guarani */
{133, "gn"}, /* Guarani */ {134, "ay"}, /* Aymara */
{134, "ay"}, /* Aymara */ {135, "tt"}, /* Tatar */
{135, "tt"}, /* Tatar */ {136, "ug"}, /* Uighur */
{136, "ug"}, /* Uighur */ {137, "dz"}, /* Dzongkha */
{137, "dz"}, /* Dzongkha */ {138, "jw"}, /* Javanese (Roman script) */
{138, "jw"}, /* Javanese (Roman script) */ {139, "su"}, /* Sundanese (Roman script) */
{139, "su"}, /* Sundanese (Roman script) */ {140, "gl"}, /* Galician */
{140, "gl"}, /* Galician */ {141, "af"}, /* Afrikaans */
{141, "af"}, /* Afrikaans */ {142, "br"}, /* Breton */
{142, "br"}, /* Breton */ {143, "iu"}, /* Inuktitut */
{143, "iu"}, /* Inuktitut */ {144, "gd"}, /* Scottish Gaelic */
{144, "gd"}, /* Scottish Gaelic */ {145, "gv"}, /* Manx Gaelic */
{145, "gv"}, /* Manx Gaelic */ {146, "ga"}, /* Irish Gaelic (with dot above) */
{146, "ga"}, /* Irish Gaelic (with dot above) */ {147, "to"}, /* Tongan */
{147, "to"}, /* Tongan */ {148, "el"}, /* Greek (polytonic) */
{148, "el"}, /* Greek (polytonic) */ {149, "ik"}, /* Greenlandic */
{149, "ik"}, /* Greenlandic */ {150, "az"}, /* Azerbaijani (Roman script) */
{150, "az"}, /* Azerbaijani (Roman script) */
}; };