From 1ca4b5c77012ed586413f39e730b03bf965e1305 Mon Sep 17 00:00:00 2001 From: Qunxin Liu Date: Mon, 22 Apr 2019 11:31:23 -0700 Subject: [PATCH] [subset] Add unit test for str de-dup Also move the implementation of some methods from the .cc to the .hh --- src/Makefile.sources | 1 - src/hb-aat-layout.cc | 8 - src/hb-aat-layout.hh | 9 +- src/hb-ot-name-language.cc | 457 --------------------------------- src/hb-ot-name-language.hh | 432 ++++++++++++++++++++++++++++++- test/api/fonts/nameID.dup.expected.ttf | Bin 0 -> 2340 bytes test/api/fonts/nameID.dup.origin.ttf | Bin 0 -> 170680 bytes test/api/test-subset-nameids.c | 21 ++ 8 files changed, 456 insertions(+), 472 deletions(-) delete mode 100644 src/hb-ot-name-language.cc create mode 100644 test/api/fonts/nameID.dup.expected.ttf create mode 100644 test/api/fonts/nameID.dup.origin.ttf diff --git a/src/Makefile.sources b/src/Makefile.sources index 17956c5..803d229 100644 --- a/src/Makefile.sources +++ b/src/Makefile.sources @@ -84,7 +84,6 @@ HB_BASE_sources = \ hb-ot-math-table.hh \ hb-ot-math.cc \ hb-ot-maxp-table.hh \ - hb-ot-name-language.cc \ hb-ot-name-language.hh \ hb-ot-name-table.hh \ hb-ot-name.cc \ diff --git a/src/hb-aat-layout.cc b/src/hb-aat-layout.cc index 5168a9c..1966ded 100644 --- a/src/hb-aat-layout.cc +++ b/src/hb-aat-layout.cc @@ -311,14 +311,6 @@ hb_aat_layout_track (const hb_ot_shape_plan_t *plan, trak.apply (&c); } - -hb_language_t -_hb_aat_language_get (hb_face_t *face, - unsigned int i) -{ - return face->table.ltag->get_language (i); -} - /** * hb_aat_layout_get_feature_types: * @face: a face object diff --git a/src/hb-aat-layout.hh b/src/hb-aat-layout.hh index 6340924..1ed009e 100644 --- a/src/hb-aat-layout.hh +++ b/src/hb-aat-layout.hh @@ -30,6 +30,7 @@ #include "hb.hh" #include "hb-ot-shape.hh" +#include "hb-aat-ltag-table.hh" struct hb_aat_feature_mapping_t @@ -77,9 +78,13 @@ hb_aat_layout_track (const hb_ot_shape_plan_t *plan, hb_font_t *font, hb_buffer_t *buffer); -HB_INTERNAL hb_language_t + +inline hb_language_t _hb_aat_language_get (hb_face_t *face, - unsigned int i); + unsigned int i) +{ + return face->table.ltag->get_language (i); +} #endif /* HB_AAT_LAYOUT_HH */ diff --git a/src/hb-ot-name-language.cc b/src/hb-ot-name-language.cc deleted file mode 100644 index 0e37e0a..0000000 --- a/src/hb-ot-name-language.cc +++ /dev/null @@ -1,457 +0,0 @@ -/* - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#include "hb-ot-name-language.hh" - -/* Following two tables were generated by joining FreeType, FontConfig, - * and OpenType specification language lists, then filled in missing - * entries using: - * https://docs.microsoft.com/en-us/windows/desktop/intl/language-identifier-constants-and-strings - */ - -struct hb_ot_language_map_t -{ - static int cmp (const void *key, const void *item) - { - unsigned int a = * (unsigned int *) key; - unsigned int b = ((const hb_ot_language_map_t *) item)->code; - return a < b ? -1 : a > b ? +1 : 0; - } - - uint16_t code; - char lang[6]; -}; - -static const hb_ot_language_map_t -hb_ms_language_map[] = -{ - {0x0001, "ar"}, /* ??? */ - {0x0004, "zh"}, /* ??? */ - {0x0009, "en"}, /* ??? */ - {0x0401, "ar"}, /* Arabic (Saudi Arabia) */ - {0x0402, "bg"}, /* Bulgarian (Bulgaria) */ - {0x0403, "ca"}, /* Catalan (Catalan) */ - {0x0404, "zh-tw"}, /* Chinese (Taiwan) */ - {0x0405, "cs"}, /* Czech (Czech Republic) */ - {0x0406, "da"}, /* Danish (Denmark) */ - {0x0407, "de"}, /* German (Germany) */ - {0x0408, "el"}, /* Greek (Greece) */ - {0x0409, "en"}, /* English (United States) */ - {0x040A, "es"}, /* Spanish (Traditional Sort) (Spain) */ - {0x040B, "fi"}, /* Finnish (Finland) */ - {0x040C, "fr"}, /* French (France) */ - {0x040D, "he"}, /* Hebrew (Israel) */ - {0x040E, "hu"}, /* Hungarian (Hungary) */ - {0x040F, "is"}, /* Icelandic (Iceland) */ - {0x0410, "it"}, /* Italian (Italy) */ - {0x0411, "ja"}, /* Japanese (Japan) */ - {0x0412, "ko"}, /* Korean (Korea) */ - {0x0413, "nl"}, /* Dutch (Netherlands) */ - {0x0414, "no"}, /* Norwegian (Bokmal) (Norway) */ - {0x0415, "pl"}, /* Polish (Poland) */ - {0x0416, "pt"}, /* Portuguese (Brazil) */ - {0x0417, "rm"}, /* Romansh (Switzerland) */ - {0x0418, "ro"}, /* Romanian (Romania) */ - {0x0419, "ru"}, /* Russian (Russia) */ - {0x041A, "hr"}, /* Croatian (Croatia) */ - {0x041B, "sk"}, /* Slovak (Slovakia) */ - {0x041C, "sq"}, /* Albanian (Albania) */ - {0x041D, "sv"}, /* Swedish (Sweden) */ - {0x041E, "th"}, /* Thai (Thailand) */ - {0x041F, "tr"}, /* Turkish (Turkey) */ - {0x0420, "ur"}, /* Urdu (Islamic Republic of Pakistan) */ - {0x0421, "id"}, /* Indonesian (Indonesia) */ - {0x0422, "uk"}, /* Ukrainian (Ukraine) */ - {0x0423, "be"}, /* Belarusian (Belarus) */ - {0x0424, "sl"}, /* Slovenian (Slovenia) */ - {0x0425, "et"}, /* Estonian (Estonia) */ - {0x0426, "lv"}, /* Latvian (Latvia) */ - {0x0427, "lt"}, /* Lithuanian (Lithuania) */ - {0x0428, "tg"}, /* Tajik (Cyrillic) (Tajikistan) */ - {0x0429, "fa"}, /* Persian (Iran) */ - {0x042A, "vi"}, /* Vietnamese (Vietnam) */ - {0x042B, "hy"}, /* Armenian (Armenia) */ - {0x042C, "az"}, /* Azeri (Latin) (Azerbaijan) */ - {0x042D, "eu"}, /* Basque (Basque) */ - {0x042E, "hsb"}, /* Upper Sorbian (Germany) */ - {0x042F, "mk"}, /* Macedonian (FYROM) (Former Yugoslav Republic of Macedonia) */ - {0x0430, "st"}, /* ??? */ - {0x0431, "ts"}, /* ??? */ - {0x0432, "tn"}, /* Setswana (South Africa) */ - {0x0433, "ven"}, /* ??? */ - {0x0434, "xh"}, /* isiXhosa (South Africa) */ - {0x0435, "zu"}, /* isiZulu (South Africa) */ - {0x0436, "af"}, /* Afrikaans (South Africa) */ - {0x0437, "ka"}, /* Georgian (Georgia) */ - {0x0438, "fo"}, /* Faroese (Faroe Islands) */ - {0x0439, "hi"}, /* Hindi (India) */ - {0x043A, "mt"}, /* Maltese (Malta) */ - {0x043B, "se"}, /* Sami (Northern) (Norway) */ - {0x043C, "ga"}, /* ??? */ - {0x043D, "yi"}, /* ??? */ - {0x043E, "ms"}, /* Malay (Malaysia) */ - {0x043F, "kk"}, /* Kazakh (Kazakhstan) */ - {0x0440, "ky"}, /* Kyrgyz (Kyrgyzstan) */ - {0x0441, "sw"}, /* Kiswahili (Kenya) */ - {0x0442, "tk"}, /* Turkmen (Turkmenistan) */ - {0x0443, "uz"}, /* Uzbek (Latin) (Uzbekistan) */ - {0x0444, "tt"}, /* Tatar (Russia) */ - {0x0445, "bn"}, /* Bengali (India) */ - {0x0446, "pa"}, /* Punjabi (India) */ - {0x0447, "gu"}, /* Gujarati (India) */ - {0x0448, "or"}, /* Odia (formerly Oriya) (India) */ - {0x0449, "ta"}, /* Tamil (India) */ - {0x044A, "te"}, /* Telugu (India) */ - {0x044B, "kn"}, /* Kannada (India) */ - {0x044C, "ml"}, /* Malayalam (India) */ - {0x044D, "as"}, /* Assamese (India) */ - {0x044E, "mr"}, /* Marathi (India) */ - {0x044F, "sa"}, /* Sanskrit (India) */ - {0x0450, "mn"}, /* Mongolian (Cyrillic) (Mongolia) */ - {0x0451, "bo"}, /* Tibetan (PRC) */ - {0x0452, "cy"}, /* Welsh (United Kingdom) */ - {0x0453, "km"}, /* Khmer (Cambodia) */ - {0x0454, "lo"}, /* Lao (Lao P.D.R.) */ - {0x0455, "my"}, /* ??? */ - {0x0456, "gl"}, /* Galician (Galician) */ - {0x0457, "kok"}, /* Konkani (India) */ - {0x0458, "mni"}, /* ??? */ - {0x0459, "sd"}, /* ??? */ - {0x045A, "syr"}, /* Syriac (Syria) */ - {0x045B, "si"}, /* Sinhala (Sri Lanka) */ - {0x045C, "chr"}, /* ??? */ - {0x045D, "iu"}, /* Inuktitut (Canada) */ - {0x045E, "am"}, /* Amharic (Ethiopia) */ - {0x0460, "ks"}, /* ??? */ - {0x0461, "ne"}, /* Nepali (Nepal) */ - {0x0462, "fy"}, /* Frisian (Netherlands) */ - {0x0463, "ps"}, /* Pashto (Afghanistan) */ - {0x0464, "phi"}, /* Filipino (Philippines) */ - {0x0465, "div"}, /* Divehi (Maldives) */ - {0x0468, "ha"}, /* Hausa (Latin) (Nigeria) */ - {0x046A, "yo"}, /* Yoruba (Nigeria) */ - {0x046B, "quz"}, /* Quechua (Bolivia) */ - {0x046C, "nso"}, /* Sesotho sa Leboa (South Africa) */ - {0x046D, "ba"}, /* Bashkir (Russia) */ - {0x046E, "lb"}, /* Luxembourgish (Luxembourg) */ - {0x046F, "kl"}, /* Greenlandic (Greenland) */ - {0x0470, "ibo"}, /* Igbo (Nigeria) */ - {0x0471, "kau"}, /* ??? */ - {0x0472, "om"}, /* ??? */ - {0x0473, "ti"}, /* ??? */ - {0x0474, "gn"}, /* ??? */ - {0x0475, "haw"}, /* ??? */ - {0x0476, "la"}, /* ??? */ - {0x0477, "so"}, /* ??? */ - {0x0478, "ii"}, /* Yi (PRC) */ - {0x0479, "pap"}, /* ??? */ - {0x047A, "arn"}, /* Mapudungun (Chile) */ - {0x047C, "moh"}, /* Mohawk (Mohawk) */ - {0x047E, "br"}, /* Breton (France) */ - {0x0480, "ug"}, /* Uighur (PRC) */ - {0x0481, "mi"}, /* Maori (New Zealand) */ - {0x0482, "oc"}, /* Occitan (France) */ - {0x0483, "co"}, /* Corsican (France) */ - {0x0484, "gsw"}, /* Alsatian (France) */ - {0x0485, "sah"}, /* Yakut (Russia) */ - {0x0486, "qut"}, /* K'iche (Guatemala) */ - {0x0487, "rw"}, /* Kinyarwanda (Rwanda) */ - {0x0488, "wo"}, /* Wolof (Senegal) */ - {0x048C, "fa"}, /* Dari (Afghanistan) */ - {0x0801, "ar"}, /* Arabic (Iraq) */ - {0x0804, "zh-cn"}, /* Chinese (People’s Republic of China) */ - {0x0807, "de"}, /* German (Switzerland) */ - {0x0809, "en"}, /* English (United Kingdom) */ - {0x080A, "es"}, /* Spanish (Mexico) */ - {0x080C, "fr"}, /* French (Belgium) */ - {0x0810, "it"}, /* Italian (Switzerland) */ - {0x0812, "ko"}, /* ??? */ - {0x0813, "nl"}, /* Dutch (Belgium) */ - {0x0814, "nn"}, /* Norwegian (Nynorsk) (Norway) */ - {0x0816, "pt"}, /* Portuguese (Portugal) */ - {0x0818, "mo"}, /* ??? */ - {0x0819, "ru"}, /* ??? */ - {0x081A, "sr"}, /* Serbian (Latin) (Serbia) */ - {0x081D, "sv"}, /* Sweden (Finland) */ - {0x0820, "ur"}, /* ??? */ - {0x0827, "lt"}, /* ??? */ - {0x082C, "az"}, /* Azeri (Cyrillic) (Azerbaijan) */ - {0x082E, "dsb"}, /* 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, "mn"}, /* Mongolian (Traditional) (People’s Republic of China) */ - {0x0851, "dz"}, /* ??? */ - {0x085D, "iu"}, /* Inuktitut (Latin) (Canada) */ - {0x085F, "tzm"}, /* 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, "es"}, /* Spanish (Modern Sort) (Spain) */ - {0x0C0C, "fr"}, /* French (Canada) */ - {0x0C1A, "sr"}, /* Serbian (Cyrillic) (Serbia) */ - {0x0C3B, "se"}, /* 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, "hr"}, /* Croatian (Latin) (Bosnia and Herzegovina) */ - {0x103B, "smj"}, /* Sami (Lule) (Norway) */ - {0x1401, "ar"}, /* Arabic (Algeria) */ -//{0x1404, ""}, /* Chinese (Macao S.A.R.) */ - {0x1407, "de"}, /* German (Liechtenstein) */ - {0x1409, "en"}, /* English (New Zealand) */ - {0x140A, "es"}, /* Spanish (Costa Rica) */ - {0x140C, "fr"}, /* 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, "sma"}, /* 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, "bs"}, /* Bosnian (Cyrillic) (Bosnia and Herzegovina) */ - {0x203B, "sms"}, /* Sami (Skolt) (Finland) */ - {0x2401, "ar"}, /* Arabic (Yemen) */ - {0x2409, "en"}, /* English (Caribbean) */ - {0x240A, "es"}, /* Spanish (Colombia) */ - {0x240C, "fr"}, /* ??? */ - {0x243B, "smn"}, /* 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 -hb_mac_language_map[] = -{ - { 0, "en"}, /* English */ - { 1, "fr"}, /* French */ - { 2, "de"}, /* German */ - { 3, "it"}, /* Italian */ - { 4, "nl"}, /* Dutch */ - { 5, "sv"}, /* Swedish */ - { 6, "es"}, /* Spanish */ - { 7, "da"}, /* Danish */ - { 8, "pt"}, /* Portuguese */ - { 9, "no"}, /* Norwegian */ - { 10, "he"}, /* Hebrew */ - { 11, "ja"}, /* Japanese */ - { 12, "ar"}, /* Arabic */ - { 13, "fi"}, /* Finnish */ - { 14, "el"}, /* Greek */ - { 15, "is"}, /* Icelandic */ - { 16, "mt"}, /* Maltese */ - { 17, "tr"}, /* Turkish */ - { 18, "hr"}, /* Croatian */ - { 19, "zh-tw"}, /* Chinese (Traditional) */ - { 20, "ur"}, /* Urdu */ - { 21, "hi"}, /* Hindi */ - { 22, "th"}, /* Thai */ - { 23, "ko"}, /* Korean */ - { 24, "lt"}, /* Lithuanian */ - { 25, "pl"}, /* Polish */ - { 26, "hu"}, /* Hungarian */ - { 27, "et"}, /* Estonian */ - { 28, "lv"}, /* Latvian */ -//{ 29, ""}, /* Sami */ - { 30, "fo"}, /* Faroese */ - { 31, "fa"}, /* Farsi/Persian */ - { 32, "ru"}, /* Russian */ - { 33, "zh-cn"}, /* Chinese (Simplified) */ - { 34, "nl"}, /* Flemish */ - { 35, "ga"}, /* Irish Gaelic */ - { 36, "sq"}, /* Albanian */ - { 37, "ro"}, /* Romanian */ - { 38, "cs"}, /* Czech */ - { 39, "sk"}, /* Slovak */ - { 40, "sl"}, /* Slovenian */ - { 41, "yi"}, /* Yiddish */ - { 42, "sr"}, /* Serbian */ - { 43, "mk"}, /* Macedonian */ - { 44, "bg"}, /* Bulgarian */ - { 45, "uk"}, /* Ukrainian */ - { 46, "be"}, /* Byelorussian */ - { 47, "uz"}, /* Uzbek */ - { 48, "kk"}, /* Kazakh */ - { 49, "az"}, /* Azerbaijani (Cyrillic script) */ - { 50, "az"}, /* Azerbaijani (Arabic script) */ - { 51, "hy"}, /* Armenian */ - { 52, "ka"}, /* Georgian */ - { 53, "mo"}, /* Moldavian */ - { 54, "ky"}, /* Kirghiz */ - { 55, "tg"}, /* Tajiki */ - { 56, "tk"}, /* Turkmen */ - { 57, "mn"}, /* Mongolian (Mongolian script) */ - { 58, "mn"}, /* Mongolian (Cyrillic script) */ - { 59, "ps"}, /* Pashto */ - { 60, "ku"}, /* Kurdish */ - { 61, "ks"}, /* Kashmiri */ - { 62, "sd"}, /* Sindhi */ - { 63, "bo"}, /* Tibetan */ - { 64, "ne"}, /* Nepali */ - { 65, "sa"}, /* Sanskrit */ - { 66, "mr"}, /* Marathi */ - { 67, "bn"}, /* Bengali */ - { 68, "as"}, /* Assamese */ - { 69, "gu"}, /* Gujarati */ - { 70, "pa"}, /* Punjabi */ - { 71, "or"}, /* Oriya */ - { 72, "ml"}, /* Malayalam */ - { 73, "kn"}, /* Kannada */ - { 74, "ta"}, /* Tamil */ - { 75, "te"}, /* Telugu */ - { 76, "si"}, /* Sinhalese */ - { 77, "my"}, /* Burmese */ - { 78, "km"}, /* Khmer */ - { 79, "lo"}, /* Lao */ - { 80, "vi"}, /* Vietnamese */ - { 81, "id"}, /* Indonesian */ - { 82, "tl"}, /* Tagalog */ - { 83, "ms"}, /* Malay (Roman script) */ - { 84, "ms"}, /* Malay (Arabic script) */ - { 85, "am"}, /* Amharic */ - { 86, "ti"}, /* Tigrinya */ - { 87, "om"}, /* Galla */ - { 88, "so"}, /* Somali */ - { 89, "sw"}, /* Swahili */ - { 90, "rw"}, /* Kinyarwanda/Ruanda */ - { 91, "rn"}, /* Rundi */ - { 92, "ny"}, /* Nyanja/Chewa */ - { 93, "mg"}, /* Malagasy */ - { 94, "eo"}, /* Esperanto */ - {128, "cy"}, /* Welsh */ - {129, "eu"}, /* Basque */ - {130, "ca"}, /* Catalan */ - {131, "la"}, /* Latin */ - {132, "qu"}, /* Quechua */ - {133, "gn"}, /* Guarani */ - {134, "ay"}, /* Aymara */ - {135, "tt"}, /* Tatar */ - {136, "ug"}, /* Uighur */ - {137, "dz"}, /* Dzongkha */ - {138, "jw"}, /* Javanese (Roman script) */ - {139, "su"}, /* Sundanese (Roman script) */ - {140, "gl"}, /* Galician */ - {141, "af"}, /* Afrikaans */ - {142, "br"}, /* Breton */ - {143, "iu"}, /* Inuktitut */ - {144, "gd"}, /* Scottish Gaelic */ - {145, "gv"}, /* Manx Gaelic */ - {146, "ga"}, /* Irish Gaelic (with dot above) */ - {147, "to"}, /* Tongan */ - {148, "el"}, /* Greek (polytonic) */ - {149, "ik"}, /* Greenlandic */ - {150, "az"}, /* Azerbaijani (Roman script) */ -}; - - -static hb_language_t -_hb_ot_name_language_for (unsigned int code, - const hb_ot_language_map_t *array, - unsigned int len) -{ - const hb_ot_language_map_t *entry = (const hb_ot_language_map_t *) - hb_bsearch (&code, - array, - len, - sizeof (array[0]), - hb_ot_language_map_t::cmp); - - if (entry) - return hb_language_from_string (entry->lang, -1); - - return HB_LANGUAGE_INVALID; -} - -hb_language_t -_hb_ot_name_language_for_ms_code (unsigned int code) -{ - return _hb_ot_name_language_for (code, - hb_ms_language_map, - ARRAY_LENGTH (hb_ms_language_map)); -} - -hb_language_t -_hb_ot_name_language_for_mac_code (unsigned int code) -{ - return _hb_ot_name_language_for (code, - hb_mac_language_map, - ARRAY_LENGTH (hb_mac_language_map)); -} diff --git a/src/hb-ot-name-language.hh b/src/hb-ot-name-language.hh index 903076c..a544976 100644 --- a/src/hb-ot-name-language.hh +++ b/src/hb-ot-name-language.hh @@ -29,12 +29,436 @@ #include "hb.hh" +/* Following two tables were generated by joining FreeType, FontConfig, + * and OpenType specification language lists, then filled in missing + * entries using: + * https://docs.microsoft.com/en-us/windows/desktop/intl/language-identifier-constants-and-strings + */ + +struct hb_ot_language_map_t +{ + static int cmp (const void *key, const void *item) + { + unsigned int a = * (unsigned int *) key; + unsigned int b = ((const hb_ot_language_map_t *) item)->code; + return a < b ? -1 : a > b ? +1 : 0; + } + + uint16_t code; + char lang[6]; +}; + + +static const hb_ot_language_map_t +hb_ms_language_map[] = +{ + {0x0001, "ar"}, /* ??? */ + {0x0004, "zh"}, /* ??? */ + {0x0009, "en"}, /* ??? */ + {0x0401, "ar"}, /* Arabic (Saudi Arabia) */ + {0x0402, "bg"}, /* Bulgarian (Bulgaria) */ + {0x0403, "ca"}, /* Catalan (Catalan) */ + {0x0404, "zh-tw"}, /* Chinese (Taiwan) */ + {0x0405, "cs"}, /* Czech (Czech Republic) */ + {0x0406, "da"}, /* Danish (Denmark) */ + {0x0407, "de"}, /* German (Germany) */ + {0x0408, "el"}, /* Greek (Greece) */ + {0x0409, "en"}, /* English (United States) */ + {0x040A, "es"}, /* Spanish (Traditional Sort) (Spain) */ + {0x040B, "fi"}, /* Finnish (Finland) */ + {0x040C, "fr"}, /* French (France) */ + {0x040D, "he"}, /* Hebrew (Israel) */ + {0x040E, "hu"}, /* Hungarian (Hungary) */ + {0x040F, "is"}, /* Icelandic (Iceland) */ + {0x0410, "it"}, /* Italian (Italy) */ + {0x0411, "ja"}, /* Japanese (Japan) */ + {0x0412, "ko"}, /* Korean (Korea) */ + {0x0413, "nl"}, /* Dutch (Netherlands) */ + {0x0414, "no"}, /* Norwegian (Bokmal) (Norway) */ + {0x0415, "pl"}, /* Polish (Poland) */ + {0x0416, "pt"}, /* Portuguese (Brazil) */ + {0x0417, "rm"}, /* Romansh (Switzerland) */ + {0x0418, "ro"}, /* Romanian (Romania) */ + {0x0419, "ru"}, /* Russian (Russia) */ + {0x041A, "hr"}, /* Croatian (Croatia) */ + {0x041B, "sk"}, /* Slovak (Slovakia) */ + {0x041C, "sq"}, /* Albanian (Albania) */ + {0x041D, "sv"}, /* Swedish (Sweden) */ + {0x041E, "th"}, /* Thai (Thailand) */ + {0x041F, "tr"}, /* Turkish (Turkey) */ + {0x0420, "ur"}, /* Urdu (Islamic Republic of Pakistan) */ + {0x0421, "id"}, /* Indonesian (Indonesia) */ + {0x0422, "uk"}, /* Ukrainian (Ukraine) */ + {0x0423, "be"}, /* Belarusian (Belarus) */ + {0x0424, "sl"}, /* Slovenian (Slovenia) */ + {0x0425, "et"}, /* Estonian (Estonia) */ + {0x0426, "lv"}, /* Latvian (Latvia) */ + {0x0427, "lt"}, /* Lithuanian (Lithuania) */ + {0x0428, "tg"}, /* Tajik (Cyrillic) (Tajikistan) */ + {0x0429, "fa"}, /* Persian (Iran) */ + {0x042A, "vi"}, /* Vietnamese (Vietnam) */ + {0x042B, "hy"}, /* Armenian (Armenia) */ + {0x042C, "az"}, /* Azeri (Latin) (Azerbaijan) */ + {0x042D, "eu"}, /* Basque (Basque) */ + {0x042E, "hsb"}, /* Upper Sorbian (Germany) */ + {0x042F, "mk"}, /* Macedonian (FYROM) (Former Yugoslav Republic of Macedonia) */ + {0x0430, "st"}, /* ??? */ + {0x0431, "ts"}, /* ??? */ + {0x0432, "tn"}, /* Setswana (South Africa) */ + {0x0433, "ven"}, /* ??? */ + {0x0434, "xh"}, /* isiXhosa (South Africa) */ + {0x0435, "zu"}, /* isiZulu (South Africa) */ + {0x0436, "af"}, /* Afrikaans (South Africa) */ + {0x0437, "ka"}, /* Georgian (Georgia) */ + {0x0438, "fo"}, /* Faroese (Faroe Islands) */ + {0x0439, "hi"}, /* Hindi (India) */ + {0x043A, "mt"}, /* Maltese (Malta) */ + {0x043B, "se"}, /* Sami (Northern) (Norway) */ + {0x043C, "ga"}, /* ??? */ + {0x043D, "yi"}, /* ??? */ + {0x043E, "ms"}, /* Malay (Malaysia) */ + {0x043F, "kk"}, /* Kazakh (Kazakhstan) */ + {0x0440, "ky"}, /* Kyrgyz (Kyrgyzstan) */ + {0x0441, "sw"}, /* Kiswahili (Kenya) */ + {0x0442, "tk"}, /* Turkmen (Turkmenistan) */ + {0x0443, "uz"}, /* Uzbek (Latin) (Uzbekistan) */ + {0x0444, "tt"}, /* Tatar (Russia) */ + {0x0445, "bn"}, /* Bengali (India) */ + {0x0446, "pa"}, /* Punjabi (India) */ + {0x0447, "gu"}, /* Gujarati (India) */ + {0x0448, "or"}, /* Odia (formerly Oriya) (India) */ + {0x0449, "ta"}, /* Tamil (India) */ + {0x044A, "te"}, /* Telugu (India) */ + {0x044B, "kn"}, /* Kannada (India) */ + {0x044C, "ml"}, /* Malayalam (India) */ + {0x044D, "as"}, /* Assamese (India) */ + {0x044E, "mr"}, /* Marathi (India) */ + {0x044F, "sa"}, /* Sanskrit (India) */ + {0x0450, "mn"}, /* Mongolian (Cyrillic) (Mongolia) */ + {0x0451, "bo"}, /* Tibetan (PRC) */ + {0x0452, "cy"}, /* Welsh (United Kingdom) */ + {0x0453, "km"}, /* Khmer (Cambodia) */ + {0x0454, "lo"}, /* Lao (Lao P.D.R.) */ + {0x0455, "my"}, /* ??? */ + {0x0456, "gl"}, /* Galician (Galician) */ + {0x0457, "kok"}, /* Konkani (India) */ + {0x0458, "mni"}, /* ??? */ + {0x0459, "sd"}, /* ??? */ + {0x045A, "syr"}, /* Syriac (Syria) */ + {0x045B, "si"}, /* Sinhala (Sri Lanka) */ + {0x045C, "chr"}, /* ??? */ + {0x045D, "iu"}, /* Inuktitut (Canada) */ + {0x045E, "am"}, /* Amharic (Ethiopia) */ + {0x0460, "ks"}, /* ??? */ + {0x0461, "ne"}, /* Nepali (Nepal) */ + {0x0462, "fy"}, /* Frisian (Netherlands) */ + {0x0463, "ps"}, /* Pashto (Afghanistan) */ + {0x0464, "phi"}, /* Filipino (Philippines) */ + {0x0465, "div"}, /* Divehi (Maldives) */ + {0x0468, "ha"}, /* Hausa (Latin) (Nigeria) */ + {0x046A, "yo"}, /* Yoruba (Nigeria) */ + {0x046B, "quz"}, /* Quechua (Bolivia) */ + {0x046C, "nso"}, /* Sesotho sa Leboa (South Africa) */ + {0x046D, "ba"}, /* Bashkir (Russia) */ + {0x046E, "lb"}, /* Luxembourgish (Luxembourg) */ + {0x046F, "kl"}, /* Greenlandic (Greenland) */ + {0x0470, "ibo"}, /* Igbo (Nigeria) */ + {0x0471, "kau"}, /* ??? */ + {0x0472, "om"}, /* ??? */ + {0x0473, "ti"}, /* ??? */ + {0x0474, "gn"}, /* ??? */ + {0x0475, "haw"}, /* ??? */ + {0x0476, "la"}, /* ??? */ + {0x0477, "so"}, /* ??? */ + {0x0478, "ii"}, /* Yi (PRC) */ + {0x0479, "pap"}, /* ??? */ + {0x047A, "arn"}, /* Mapudungun (Chile) */ + {0x047C, "moh"}, /* Mohawk (Mohawk) */ + {0x047E, "br"}, /* Breton (France) */ + {0x0480, "ug"}, /* Uighur (PRC) */ + {0x0481, "mi"}, /* Maori (New Zealand) */ + {0x0482, "oc"}, /* Occitan (France) */ + {0x0483, "co"}, /* Corsican (France) */ + {0x0484, "gsw"}, /* Alsatian (France) */ + {0x0485, "sah"}, /* Yakut (Russia) */ + {0x0486, "qut"}, /* K'iche (Guatemala) */ + {0x0487, "rw"}, /* Kinyarwanda (Rwanda) */ + {0x0488, "wo"}, /* Wolof (Senegal) */ + {0x048C, "fa"}, /* Dari (Afghanistan) */ + {0x0801, "ar"}, /* Arabic (Iraq) */ + {0x0804, "zh-cn"}, /* Chinese (People’s Republic of China) */ + {0x0807, "de"}, /* German (Switzerland) */ + {0x0809, "en"}, /* English (United Kingdom) */ + {0x080A, "es"}, /* Spanish (Mexico) */ + {0x080C, "fr"}, /* French (Belgium) */ + {0x0810, "it"}, /* Italian (Switzerland) */ + {0x0812, "ko"}, /* ??? */ + {0x0813, "nl"}, /* Dutch (Belgium) */ + {0x0814, "nn"}, /* Norwegian (Nynorsk) (Norway) */ + {0x0816, "pt"}, /* Portuguese (Portugal) */ + {0x0818, "mo"}, /* ??? */ + {0x0819, "ru"}, /* ??? */ + {0x081A, "sr"}, /* Serbian (Latin) (Serbia) */ + {0x081D, "sv"}, /* Sweden (Finland) */ + {0x0820, "ur"}, /* ??? */ + {0x0827, "lt"}, /* ??? */ + {0x082C, "az"}, /* Azeri (Cyrillic) (Azerbaijan) */ + {0x082E, "dsb"}, /* 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, "mn"}, /* Mongolian (Traditional) (People’s Republic of China) */ + {0x0851, "dz"}, /* ??? */ + {0x085D, "iu"}, /* Inuktitut (Latin) (Canada) */ + {0x085F, "tzm"}, /* 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, "es"}, /* Spanish (Modern Sort) (Spain) */ + {0x0C0C, "fr"}, /* French (Canada) */ + {0x0C1A, "sr"}, /* Serbian (Cyrillic) (Serbia) */ + {0x0C3B, "se"}, /* 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, "hr"}, /* Croatian (Latin) (Bosnia and Herzegovina) */ + {0x103B, "smj"}, /* Sami (Lule) (Norway) */ + {0x1401, "ar"}, /* Arabic (Algeria) */ +//{0x1404, ""}, /* Chinese (Macao S.A.R.) */ + {0x1407, "de"}, /* German (Liechtenstein) */ + {0x1409, "en"}, /* English (New Zealand) */ + {0x140A, "es"}, /* Spanish (Costa Rica) */ + {0x140C, "fr"}, /* 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, "sma"}, /* 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, "bs"}, /* Bosnian (Cyrillic) (Bosnia and Herzegovina) */ + {0x203B, "sms"}, /* Sami (Skolt) (Finland) */ + {0x2401, "ar"}, /* Arabic (Yemen) */ + {0x2409, "en"}, /* English (Caribbean) */ + {0x240A, "es"}, /* Spanish (Colombia) */ + {0x240C, "fr"}, /* ??? */ + {0x243B, "smn"}, /* 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 +hb_mac_language_map[] = +{ + { 0, "en"}, /* English */ + { 1, "fr"}, /* French */ + { 2, "de"}, /* German */ + { 3, "it"}, /* Italian */ + { 4, "nl"}, /* Dutch */ + { 5, "sv"}, /* Swedish */ + { 6, "es"}, /* Spanish */ + { 7, "da"}, /* Danish */ + { 8, "pt"}, /* Portuguese */ + { 9, "no"}, /* Norwegian */ + { 10, "he"}, /* Hebrew */ + { 11, "ja"}, /* Japanese */ + { 12, "ar"}, /* Arabic */ + { 13, "fi"}, /* Finnish */ + { 14, "el"}, /* Greek */ + { 15, "is"}, /* Icelandic */ + { 16, "mt"}, /* Maltese */ + { 17, "tr"}, /* Turkish */ + { 18, "hr"}, /* Croatian */ + { 19, "zh-tw"}, /* Chinese (Traditional) */ + { 20, "ur"}, /* Urdu */ + { 21, "hi"}, /* Hindi */ + { 22, "th"}, /* Thai */ + { 23, "ko"}, /* Korean */ + { 24, "lt"}, /* Lithuanian */ + { 25, "pl"}, /* Polish */ + { 26, "hu"}, /* Hungarian */ + { 27, "et"}, /* Estonian */ + { 28, "lv"}, /* Latvian */ +//{ 29, ""}, /* Sami */ + { 30, "fo"}, /* Faroese */ + { 31, "fa"}, /* Farsi/Persian */ + { 32, "ru"}, /* Russian */ + { 33, "zh-cn"}, /* Chinese (Simplified) */ + { 34, "nl"}, /* Flemish */ + { 35, "ga"}, /* Irish Gaelic */ + { 36, "sq"}, /* Albanian */ + { 37, "ro"}, /* Romanian */ + { 38, "cs"}, /* Czech */ + { 39, "sk"}, /* Slovak */ + { 40, "sl"}, /* Slovenian */ + { 41, "yi"}, /* Yiddish */ + { 42, "sr"}, /* Serbian */ + { 43, "mk"}, /* Macedonian */ + { 44, "bg"}, /* Bulgarian */ + { 45, "uk"}, /* Ukrainian */ + { 46, "be"}, /* Byelorussian */ + { 47, "uz"}, /* Uzbek */ + { 48, "kk"}, /* Kazakh */ + { 49, "az"}, /* Azerbaijani (Cyrillic script) */ + { 50, "az"}, /* Azerbaijani (Arabic script) */ + { 51, "hy"}, /* Armenian */ + { 52, "ka"}, /* Georgian */ + { 53, "mo"}, /* Moldavian */ + { 54, "ky"}, /* Kirghiz */ + { 55, "tg"}, /* Tajiki */ + { 56, "tk"}, /* Turkmen */ + { 57, "mn"}, /* Mongolian (Mongolian script) */ + { 58, "mn"}, /* Mongolian (Cyrillic script) */ + { 59, "ps"}, /* Pashto */ + { 60, "ku"}, /* Kurdish */ + { 61, "ks"}, /* Kashmiri */ + { 62, "sd"}, /* Sindhi */ + { 63, "bo"}, /* Tibetan */ + { 64, "ne"}, /* Nepali */ + { 65, "sa"}, /* Sanskrit */ + { 66, "mr"}, /* Marathi */ + { 67, "bn"}, /* Bengali */ + { 68, "as"}, /* Assamese */ + { 69, "gu"}, /* Gujarati */ + { 70, "pa"}, /* Punjabi */ + { 71, "or"}, /* Oriya */ + { 72, "ml"}, /* Malayalam */ + { 73, "kn"}, /* Kannada */ + { 74, "ta"}, /* Tamil */ + { 75, "te"}, /* Telugu */ + { 76, "si"}, /* Sinhalese */ + { 77, "my"}, /* Burmese */ + { 78, "km"}, /* Khmer */ + { 79, "lo"}, /* Lao */ + { 80, "vi"}, /* Vietnamese */ + { 81, "id"}, /* Indonesian */ + { 82, "tl"}, /* Tagalog */ + { 83, "ms"}, /* Malay (Roman script) */ + { 84, "ms"}, /* Malay (Arabic script) */ + { 85, "am"}, /* Amharic */ + { 86, "ti"}, /* Tigrinya */ + { 87, "om"}, /* Galla */ + { 88, "so"}, /* Somali */ + { 89, "sw"}, /* Swahili */ + { 90, "rw"}, /* Kinyarwanda/Ruanda */ + { 91, "rn"}, /* Rundi */ + { 92, "ny"}, /* Nyanja/Chewa */ + { 93, "mg"}, /* Malagasy */ + { 94, "eo"}, /* Esperanto */ + {128, "cy"}, /* Welsh */ + {129, "eu"}, /* Basque */ + {130, "ca"}, /* Catalan */ + {131, "la"}, /* Latin */ + {132, "qu"}, /* Quechua */ + {133, "gn"}, /* Guarani */ + {134, "ay"}, /* Aymara */ + {135, "tt"}, /* Tatar */ + {136, "ug"}, /* Uighur */ + {137, "dz"}, /* Dzongkha */ + {138, "jw"}, /* Javanese (Roman script) */ + {139, "su"}, /* Sundanese (Roman script) */ + {140, "gl"}, /* Galician */ + {141, "af"}, /* Afrikaans */ + {142, "br"}, /* Breton */ + {143, "iu"}, /* Inuktitut */ + {144, "gd"}, /* Scottish Gaelic */ + {145, "gv"}, /* Manx Gaelic */ + {146, "ga"}, /* Irish Gaelic (with dot above) */ + {147, "to"}, /* Tongan */ + {148, "el"}, /* Greek (polytonic) */ + {149, "ik"}, /* Greenlandic */ + {150, "az"}, /* Azerbaijani (Roman script) */ +}; + +static hb_language_t +_hb_ot_name_language_for (unsigned int code, + const hb_ot_language_map_t *array, + unsigned int len) +{ + const hb_ot_language_map_t *entry = (const hb_ot_language_map_t *) + hb_bsearch (&code, + array, + len, + sizeof (array[0]), + hb_ot_language_map_t::cmp); + + if (entry) + return hb_language_from_string (entry->lang, -1); + + return HB_LANGUAGE_INVALID; +} + -HB_INTERNAL hb_language_t -_hb_ot_name_language_for_ms_code (unsigned int code); +inline hb_language_t +_hb_ot_name_language_for_ms_code (unsigned int code) +{ + return _hb_ot_name_language_for (code, + hb_ms_language_map, + ARRAY_LENGTH (hb_ms_language_map)); +} -HB_INTERNAL hb_language_t -_hb_ot_name_language_for_mac_code (unsigned int code); +inline hb_language_t +_hb_ot_name_language_for_mac_code (unsigned int code) +{ + return _hb_ot_name_language_for (code, + hb_mac_language_map, + ARRAY_LENGTH (hb_mac_language_map)); +} #endif /* HB_OT_NAME_LANGUAGE_HH */ diff --git a/test/api/fonts/nameID.dup.expected.ttf b/test/api/fonts/nameID.dup.expected.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e9e7ff5b4c3c254d6128e11971fed1e64a1f83e5 GIT binary patch literal 2340 zcmZWq4Qx}_6+ZX9XZzVP@q3wxOCBWe@yH*sn~)z5(ulfh5@69FCF%NJl!h2PA*pa< zh=EipZTbhP%TL*;D#2*02~8cX%JnN733O7V(M{V_#xyp;rdF!dR&9l#mDq&nZ13FX zkidGad(QdJJ@@!K_wNA#03S>O56MkE^^K{K=Zn$vU+jaiL^KHsxdA}>5gW1HDYfox z*9pXD5cduzwWD{ox=Q$+7WNJ^?t_HOmUMAh&dq#Fzh^ZEQ+HpbOM%;F1;#YC~kuoGAbCtwoNFaejb zx{c5W`(Y4%0?k|-d;k_4f(sbu&kcf~I}R$ZL6Oi3e&HZU$j$G(4;GVOg6y1yV&_$G zVk}Syc2Re?ks;)eIZg5}(HECx-29e-5G6rX?HFyRWH3azASElc5aokvC*>Si&BLD=(`2$6Q=!r|g*kLh*N~yv z9-{7GSC7$w6g8yi3DTO55G@MQT2$U(rkYHt=^kSyf@dH$Ey7f)iNYl&owjt_a?vH+{SJe2^-6{-Uu)U`5J1UV(-JtqnUcCD&z6q zw7dn+B3n^T$`pHVHmuS#S>t6wWWsBtg=lC^t>3q$t3W3R0$G!ApyzjJ^P|jH+sO9Qe$u(+}@{KFPqUF&E$$x#HIh>0sabPyX=OR`%2!$X^pwyo$xJ1ct4W zGKJAAktmNfi}iMKUaZu6r)(Ypf2V9G0w>!ohsd+CJzl18qcbH7C0!kA3gKZQBJ;<``eMdPRRc5 zmE1paS;ucLp2`JJUBvU(k2`h^cWfDSSyFig{(0d{Nk~k(Ls>*1BFhXcu%IF|MYm=hnuKil-gBKYa4z+;^#~M}PCJcv?I>dhqzM7bf~1 ze>+a92~@oCpQ(SoH@g4Nv-u}xn<=_Ig2RDd4wlEYJ%_Kgd&6xd_ak?Mof!w_o4_A{ zxX=d)VJ{pI8lc~f5a2MBLNDG|mXGZ_{sp&U?mNNZ*)RBs{XQ3LcB5hQ*w(Ss7{=Kx z{{*}5-*41gN1+ZZB5`%Zk_pPQa%)4SB7s;3XUX~p?$`Wip5=`7t7~kF-~4cMWhwIs z13zx7Tf!_yIJkU?k6F$gk9RgI%yJ#s)8DEyOMGTq_nI%dH2?$hftI ziD#LpFC!^y6BA=h9A@G)6L}^o%E&G@V;7sTi_O?&`O4W`CT=iMQI2t2m^jSDUzo@< T@nAUyk1uyXb literal 0 HcmV?d00001 diff --git a/test/api/fonts/nameID.dup.origin.ttf b/test/api/fonts/nameID.dup.origin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..aad75d421bd533c092d12f935d27a859aec6c26c GIT binary patch literal 170680 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 z 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 jwjfR_MgyKgSMv)q!A!KL+cRu8+ufdNdyuo#2~X