+static const FcChar8 *fcLangLatin1[] = {
+ (FcChar8 *) "br", /* Breton */
+ (FcChar8 *) "ca", /* Catalan */
+ (FcChar8 *) "da", /* Danish */
+ (FcChar8 *) "de", /* German */
+ (FcChar8 *) "en", /* English */
+ (FcChar8 *) "es", /* Spanish */
+ (FcChar8 *) "eu", /* Basque */
+ (FcChar8 *) "fi", /* Finnish */
+ (FcChar8 *) "fo", /* Faroese */
+ (FcChar8 *) "fr", /* French */
+ (FcChar8 *) "ga", /* Irish */
+ (FcChar8 *) "gd", /* Scottish */
+ (FcChar8 *) "gl", /* Galician */
+ (FcChar8 *) "is", /* Islandic */
+ (FcChar8 *) "it", /* Italian */
+ (FcChar8 *) "kl", /* Greenlandic */
+ (FcChar8 *) "la", /* Latin */
+ (FcChar8 *) "nl", /* Dutch */
+ (FcChar8 *) "no", /* Norwegian */
+ (FcChar8 *) "pt", /* Portuguese */
+ (FcChar8 *) "rm", /* Rhaeto-Romanic */
+ (FcChar8 *) "sq", /* Albanian */
+ (FcChar8 *) "sv", /* Swedish */
+ 0
+};
+
+static const FcChar8 *fcLangLatin2[] = {
+ (FcChar8 *) "cs", /* Czech */
+ (FcChar8 *) "de", /* German */
+ (FcChar8 *) "en", /* English */
+ (FcChar8 *) "fi", /* Finnish */
+ (FcChar8 *) "hr", /* Croatian */
+ (FcChar8 *) "hu", /* Hungarian */
+ (FcChar8 *) "la", /* Latin */
+ (FcChar8 *) "pl", /* Polish */
+ (FcChar8 *) "ro", /* Romanian */
+ (FcChar8 *) "sk", /* Slovak */
+ (FcChar8 *) "sl", /* Slovenian */
+ (FcChar8 *) "sq", /* Albanian */
+ 0
+};
+
+static const FcChar8 *fcLangCyrillic[] = {
+ (FcChar8 *) "az", /* Azerbaijani */
+ (FcChar8 *) "ba", /* Bashkir */
+ (FcChar8 *) "bg", /* Bulgarian */
+ (FcChar8 *) "be", /* Byelorussian */
+ (FcChar8 *) "kk", /* Kazakh */
+ (FcChar8 *) "ky", /* Kirghiz */
+ (FcChar8 *) "mk", /* Macedonian */
+ (FcChar8 *) "mo", /* Moldavian */
+ (FcChar8 *) "mn", /* Mongolian */
+ (FcChar8 *) "ru", /* Russian */
+ (FcChar8 *) "sr", /* Serbian */
+ (FcChar8 *) "tg", /* Tadzhik */
+ (FcChar8 *) "tt", /* Tatar */
+ (FcChar8 *) "tk", /* Turkmen */
+ (FcChar8 *) "uz", /* Uzbek */
+ (FcChar8 *) "uk", /* Ukrainian */
+ 0,
+};
+
+static const FcChar8 *fcLangGreek[] = {
+ (FcChar8 *) "el", /* Greek */
+ 0
+};
+
+static const FcChar8 *fcLangTurkish[] = {
+ (FcChar8 *) "tr", /* Turkish */
+ 0
+};
+
+static const FcChar8 *fcLangHebrew[] = {
+ (FcChar8 *) "he", /* Hebrew */
+ (FcChar8 *) "yi", /* Yiddish */
+ 0
+};
+
+static const FcChar8 *fcLangArabic[] = {
+ (FcChar8 *) "ar", /* arabic */
+ 0
+};
+
+static const FcChar8 *fcLangWindowsBaltic[] = {
+ (FcChar8 *) "da", /* Danish */
+ (FcChar8 *) "de", /* German */
+ (FcChar8 *) "en", /* English */
+ (FcChar8 *) "et", /* Estonian */
+ (FcChar8 *) "fi", /* Finnish */
+ (FcChar8 *) "la", /* Latin */
+ (FcChar8 *) "lt", /* Lithuanian */
+ (FcChar8 *) "lv", /* Latvian */
+ (FcChar8 *) "no", /* Norwegian */
+ (FcChar8 *) "pl", /* Polish */
+ (FcChar8 *) "sl", /* Slovenian */
+ (FcChar8 *) "sv", /* Swedish */
+ 0
+};
+
+static const FcChar8 *fcLangVietnamese[] = {
+ (FcChar8 *) "vi", /* Vietnamese */
+ 0,
+};
+
+static const FcChar8 *fcLangThai[] = {
+ (FcChar8 *) "th", /* Thai */
+ 0,
+};
+
+static const FcChar8 *fcLangJapanese[] = {
+ (FcChar8 *) "ja", /* Japanese */
+ 0,
+};
+
+static const FcChar8 *fcLangSimplifiedChinese[] = {
+ (FcChar8 *) "zh-cn", /* Chinese-China */
+ 0,
+};
+
+static const FcChar8 *fcLangKorean[] = {
+ (FcChar8 *) "ko", /* Korean */
+ 0,
+};
+
+static const FcChar8 *fcLangTraditionalChinese[] = {
+ (FcChar8 *) "zh-tw", /* Chinese-Taiwan */
+ 0,
+};
+
+static const FcChar8 *fcLangEnglish[] = {
+ (FcChar8 *) "en", /* English */
+ 0,
+};
+
+/*
+ * Elide some of the less useful bits
+ */