[SETUPLIB][USETUP] Convert MUI_LANGUAGE GeoID values to numbers.

This commit is contained in:
Hermès Bélusca-Maïto 2024-02-09 22:33:30 +01:00
parent c26a2e89eb
commit 88891d2ce7
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
5 changed files with 165 additions and 155 deletions

View file

@ -100,7 +100,7 @@ MUIGetOEMCodePage(
return MUILanguageList[lngIndex].OEMCPage;
}
PCWSTR
GEOID
MUIGetGeoID(
IN PCWSTR LanguageId)
{

View file

@ -25,6 +25,8 @@ typedef struct
KLID LayoutID; // Layout ID (like 0x00000409)
} MUI_LAYOUTS;
typedef ULONG GEOID; // See winnls.h
typedef struct
{
PCWSTR LanguageID;
@ -32,7 +34,7 @@ typedef struct
UINT OEMCPage;
UINT MACCPage;
PCWSTR LanguageDescriptor;
PCWSTR GeoID;
GEOID GeoID;
const MUI_SUBFONT* MuiSubFonts;
const MUI_LAYOUTS* MuiLayouts;
} MUI_LANGUAGE;
@ -50,7 +52,7 @@ UINT
MUIGetOEMCodePage(
IN PCWSTR LanguageId);
PCWSTR
GEOID
MUIGetGeoID(
IN PCWSTR LanguageId);

View file

@ -411,432 +411,432 @@
const MUI_LANGUAGE MUILanguageList[] =
{
/* Lang ID, ANSI CP, OEM CP, MAC CP, Language Name, GeoID, Fonts, KB Layouts */
/* Lang ID, ANSI CP, OEM CP, MAC CP, Language Name, GeoID, Fonts, KB Layouts */
#ifdef LANGUAGE_AF_ZA
{L"00000436", 1252, 850, 10000, L"Afrikaans", L"209", LatinFonts, afZALayouts},
{L"00000436", 1252, 850, 10000, L"Afrikaans", 209, LatinFonts, afZALayouts},
#endif
#ifdef LANGUAGE_SQ_AL
{L"0000041C", 1250, 852, 10029, L"Albanian (Albania)", L"6", LatinFonts, sqALLayouts},
{L"0000041C", 1250, 852, 10029, L"Albanian (Albania)", 6, LatinFonts, sqALLayouts},
#endif
#ifdef LANGUAGE_AR_SA
{L"00000401", 1256, 720, 10004, L"Arabic (Saudi Arabia)", L"205", UnicodeFonts, arSALayouts},
{L"00000401", 1256, 720, 10004, L"Arabic (Saudi Arabia)", 205, UnicodeFonts, arSALayouts},
#endif
#ifdef LANGUAGE_AR_IQ
{L"00000801", 1256, 720, 10004, L"Arabic (Iraq)", L"121", UnicodeFonts, arIQLayouts},
{L"00000801", 1256, 720, 10004, L"Arabic (Iraq)", 121, UnicodeFonts, arIQLayouts},
#endif
#ifdef LANGUAGE_AR_EG
{L"00000C01", 1256, 720, 10004, L"Arabic (Egypt)", L"67", UnicodeFonts, arEGLayouts},
{L"00000C01", 1256, 720, 10004, L"Arabic (Egypt)", 67, UnicodeFonts, arEGLayouts},
#endif
#ifdef LANGUAGE_AR_LY
{L"00001001", 1256, 720, 10004, L"Arabic (Libya)", L"148", UnicodeFonts, arLYLayouts},
{L"00001001", 1256, 720, 10004, L"Arabic (Libya)", 148, UnicodeFonts, arLYLayouts},
#endif
#ifdef LANGUAGE_AR_DZ
{L"00001401", 1256, 720, 10004, L"Arabic (Algeria)", L"4", UnicodeFonts, arDZLayouts},
{L"00001401", 1256, 720, 10004, L"Arabic (Algeria)", 4, UnicodeFonts, arDZLayouts},
#endif
#ifdef LANGUAGE_AR_MA
{L"00001801", 1256, 720, 10004, L"Arabic (Morocco)", L"149", UnicodeFonts, arMALayouts},
{L"00001801", 1256, 720, 10004, L"Arabic (Morocco)", 149, UnicodeFonts, arMALayouts},
#endif
#ifdef LANGUAGE_AR_TN
{L"00001C01", 1256, 720, 10004, L"Arabic (Tunisia)", L"234", UnicodeFonts, arTNLayouts},
{L"00001C01", 1256, 720, 10004, L"Arabic (Tunisia)", 234, UnicodeFonts, arTNLayouts},
#endif
#ifdef LANGUAGE_AR_OM
{L"00002001", 1256, 720, 10004, L"Arabic (Oman)", L"164", UnicodeFonts, arOMLayouts},
{L"00002001", 1256, 720, 10004, L"Arabic (Oman)", 164, UnicodeFonts, arOMLayouts},
#endif
#ifdef LANGUAGE_AR_YE
{L"00002401", 1256, 720, 10004, L"Arabic (Yemen)", L"261", UnicodeFonts, arYELayouts},
{L"00002401", 1256, 720, 10004, L"Arabic (Yemen)", 261, UnicodeFonts, arYELayouts},
#endif
#ifdef LANGUAGE_AR_SY
{L"00002801", 1256, 720, 10004, L"Arabic (Syria)", L"222", UnicodeFonts, arSYLayouts},
{L"00002801", 1256, 720, 10004, L"Arabic (Syria)", 222, UnicodeFonts, arSYLayouts},
#endif
#ifdef LANGUAGE_AR_JO
{L"00002C01", 1256, 720, 10004, L"Arabic (Jordan)", L"126", UnicodeFonts, arJOLayouts},
{L"00002C01", 1256, 720, 10004, L"Arabic (Jordan)", 126, UnicodeFonts, arJOLayouts},
#endif
#ifdef LANGUAGE_AR_LB
{L"00003001", 1256, 720, 10004, L"Arabic (Lebanon)", L"139", UnicodeFonts, arLBLayouts},
{L"00003001", 1256, 720, 10004, L"Arabic (Lebanon)", 139, UnicodeFonts, arLBLayouts},
#endif
#ifdef LANGUAGE_AR_KW
{L"00003401", 1256, 720, 10004, L"Arabic (Kuwait)", L"136", UnicodeFonts, arKWLayouts},
{L"00003401", 1256, 720, 10004, L"Arabic (Kuwait)", 136, UnicodeFonts, arKWLayouts},
#endif
#ifdef LANGUAGE_AR_AE
{L"00003801", 1256, 720, 10004, L"Arabic (U.A.E.)", L"224", UnicodeFonts, arAELayouts},
{L"00003801", 1256, 720, 10004, L"Arabic (U.A.E.)", 224, UnicodeFonts, arAELayouts},
#endif
#ifdef LANGUAGE_AR_BH
{L"00003C01", 1256, 720, 10004, L"Arabic (Bahrain)", L"17", UnicodeFonts, arBHLayouts},
{L"00003C01", 1256, 720, 10004, L"Arabic (Bahrain)", 17, UnicodeFonts, arBHLayouts},
#endif
#ifdef LANGUAGE_AR_QA
{L"00004001", 1256, 720, 10004, L"Arabic (Qatar)", L"197", UnicodeFonts, arQALayouts},
{L"00004001", 1256, 720, 10004, L"Arabic (Qatar)", 197, UnicodeFonts, arQALayouts},
#endif
#ifdef LANGUAGE_HY_AM
{L"0000042B", 0, 1, 2, L"Armenian", L"7", UnicodeFonts, hyAMLayouts},
{L"0000042B", 0, 1, 2, L"Armenian", 7, UnicodeFonts, hyAMLayouts},
#endif
#ifdef LANGUAGE_AZ_AZ
{L"0000082C", 1251, 866, 10007, L"Azeri (Cyrillic)", L"5", CyrillicFonts, azAZLayouts},
{L"0000082C", 1251, 866, 10007, L"Azeri (Cyrillic)", 5, CyrillicFonts, azAZLayouts},
#endif
#ifdef LANGUAGE_AZ_AZ
{L"0000042C", 1254, 857, 10081, L"Azeri (Latin)", L"5", LatinFonts, azAZLayouts},
{L"0000042C", 1254, 857, 10081, L"Azeri (Latin)", 5, LatinFonts, azAZLayouts},
#endif
#ifdef LANGUAGE_EU_ES
{L"0000042D", 1252, 850, 10000, L"Basque", L"217", LatinFonts, euESLayouts},
{L"0000042D", 1252, 850, 10000, L"Basque", 217, LatinFonts, euESLayouts},
#endif
#ifdef LANGUAGE_BE_BY
{L"00000423", 1251, 866, 10007, L"Belarusian", L"29", CyrillicFonts, beBYLayouts},
{L"00000423", 1251, 866, 10007, L"Belarusian", 29, CyrillicFonts, beBYLayouts},
#endif
#ifdef LANGUAGE_BN_BD
{L"00000845", 0, 1, 2, L"Bengali (Bangladesh)", L"23", UnicodeFonts, bnBDLayouts},
{L"00000845", 0, 1, 2, L"Bengali (Bangladesh)", 23, UnicodeFonts, bnBDLayouts},
#endif
#ifdef LANGUAGE_BN_IN
{L"00000445", 0, 1, 2, L"Bengali (India)", L"113", UnicodeFonts, bnINLayouts},
{L"00000445", 0, 1, 2, L"Bengali (India)", 113, UnicodeFonts, bnINLayouts},
#endif
#ifdef LANGUAGE_BG_BG
{L"00000402", 1251, 866, 10007, L"Bulgarian", L"35", CyrillicFonts, bgBGLayouts},
{L"00000402", 1251, 866, 10007, L"Bulgarian", 35, CyrillicFonts, bgBGLayouts},
#endif
#ifdef LANGUAGE_MY_MM
{L"00000455", 0, 1, 2, L"Burmese", L"1", UnicodeFonts, myMMLayouts},
{L"00000455", 0, 1, 2, L"Burmese", 1, UnicodeFonts, myMMLayouts},
#endif
#ifdef LANGUAGE_CA_ES
{L"00000403", 1252, 850, 10000, L"Catalan", L"217", LatinFonts, caESLayouts},
{L"00000403", 1252, 850, 10000, L"Catalan", 217, LatinFonts, caESLayouts},
#endif
#ifdef LANGUAGE_ZH_TW
{L"00000404", 950, 950, 10008, L"Chinese (Taiwan)", L"237", ChineseTraditionalFonts, zhTWLayouts},
{L"00000404", 950, 950, 10008, L"Chinese (Taiwan)", 237, ChineseTraditionalFonts, zhTWLayouts},
#endif
#ifdef LANGUAGE_ZH_CN
{L"00000804", 936, 936, 10008, L"Chinese (PRC)", L"45", ChineseSimplifiedFonts, zhCNLayouts},
{L"00000804", 936, 936, 10008, L"Chinese (PRC)", 45, ChineseSimplifiedFonts, zhCNLayouts},
#endif
#ifdef LANGUAGE_ZH_HK
{L"00000C04", 950, 950, 10008, L"Chinese (Hong Kong S.A.R.)", L"104", ChineseTraditionalFonts, zhHKLayouts},
{L"00000C04", 950, 950, 10008, L"Chinese (Hong Kong S.A.R.)", 104, ChineseTraditionalFonts, zhHKLayouts},
#endif
#ifdef LANGUAGE_ZH_SG
{L"00001004", 936, 936, 10008, L"Chinese (Singapore)", L"215", ChineseSimplifiedFonts, zhSGLayouts},
{L"00001004", 936, 936, 10008, L"Chinese (Singapore)", 215, ChineseSimplifiedFonts, zhSGLayouts},
#endif
#ifdef LANGUAGE_ZH_MO
{L"00001404", 950, 950, 10002, L"Chinese (Macau S.A.R.)", L"151", ChineseTraditionalFonts, zhMOLayouts},
{L"00001404", 950, 950, 10002, L"Chinese (Macau S.A.R.)", 151, ChineseTraditionalFonts, zhMOLayouts},
#endif
#ifdef LANGUAGE_HR_HR
{L"0000041A", 1250, 852, 10029, L"Croatian", L"108", LatinFonts, hrHRLayouts},
{L"0000041A", 1250, 852, 10029, L"Croatian", 108, LatinFonts, hrHRLayouts},
#endif
#ifdef LANGUAGE_CS_CZ
{L"00000405", 1250, 852, 10029, L"Czech", L"75", LatinFonts, csCZLayouts},
{L"00000405", 1250, 852, 10029, L"Czech", 75, LatinFonts, csCZLayouts},
#endif
#ifdef LANGUAGE_DA_DK
{L"00000406", 1252, 850, 10000, L"Danish", L"61", LatinFonts, daDKLayouts},
{L"00000406", 1252, 850, 10000, L"Danish", 61, LatinFonts, daDKLayouts},
#endif
#ifdef LANGUAGE_DV_MV
{L"00000465", 0, 1, 2, L"Dhivehi (Maldives)", L"165", UnicodeFonts, dvMVLayouts},
{L"00000465", 0, 1, 2, L"Dhivehi (Maldives)", 165, UnicodeFonts, dvMVLayouts},
#endif
#ifdef LANGUAGE_NL_NL
{L"00000413", 1252, 850, 10000, L"Dutch (Netherlands)", L"176", LatinFonts, nlNLLayouts},
{L"00000413", 1252, 850, 10000, L"Dutch (Netherlands)", 176, LatinFonts, nlNLLayouts},
#endif
#ifdef LANGUAGE_NL_BE
{L"00000813", 1252, 850, 10000, L"Dutch (Belgium)", L"21", LatinFonts, nlBELayouts},
{L"00000813", 1252, 850, 10000, L"Dutch (Belgium)", 21, LatinFonts, nlBELayouts},
#endif
#ifdef LANGUAGE_EN_US
{L"00000409", 1252, 437, 10000, L"English (United States)", L"244", LatinFonts, enUSLayouts},
{L"00000409", 1252, 437, 10000, L"English (United States)", 244, LatinFonts, enUSLayouts},
#endif
#ifdef LANGUAGE_EN_GB
{L"00000809", 1252, 850, 10000, L"English (United Kingdom)", L"242", LatinFonts, enGBLayouts},
{L"00000809", 1252, 850, 10000, L"English (United Kingdom)", 242, LatinFonts, enGBLayouts},
#endif
#ifdef LANGUAGE_EN_AU
{L"00000C09", 1252, 850, 10000, L"English (Australia)", L"12", LatinFonts, enAULayouts},
{L"00000C09", 1252, 850, 10000, L"English (Australia)", 12, LatinFonts, enAULayouts},
#endif
#ifdef LANGUAGE_EN_CA
{L"00001009", 1252, 850, 10000, L"English (Canada)", L"39", LatinFonts, enCALayouts},
{L"00001009", 1252, 850, 10000, L"English (Canada)", 39, LatinFonts, enCALayouts},
#endif
#ifdef LANGUAGE_EN_NZ
{L"00001409", 1252, 850, 10000, L"English (New Zealand)", L"183", LatinFonts, enNZLayouts},
{L"00001409", 1252, 850, 10000, L"English (New Zealand)", 183, LatinFonts, enNZLayouts},
#endif
#ifdef LANGUAGE_EN_IE
{L"00001809", 1252, 850, 10000, L"English (Ireland)", L"68", LatinFonts, enIELayouts},
{L"00001809", 1252, 850, 10000, L"English (Ireland)", 68, LatinFonts, enIELayouts},
#endif
#ifdef LANGUAGE_EN_ZA
{L"00001C09", 1252, 437, 10000, L"English (South Africa)", L"209", LatinFonts, enZALayouts},
{L"00001C09", 1252, 437, 10000, L"English (South Africa)", 209, LatinFonts, enZALayouts},
#endif
#ifdef LANGUAGE_EN_JM
{L"00002009", 1252, 850, 10000, L"English (Jamaica)", L"124", LatinFonts, enJMLayouts},
{L"00002009", 1252, 850, 10000, L"English (Jamaica)", 124, LatinFonts, enJMLayouts},
#endif
#ifdef LANGUAGE_EN_CB
{L"00002409", 1252, 850, 10000, L"English (Caribbean)", L"1", LatinFonts, enCBLayouts},
{L"00002409", 1252, 850, 10000, L"English (Caribbean)", 1, LatinFonts, enCBLayouts},
#endif
#ifdef LANGUAGE_EN_BZ
{L"00002809", 1252, 850, 10000, L"English (Belize)", L"24", LatinFonts, enBZLayouts},
{L"00002809", 1252, 850, 10000, L"English (Belize)", 24, LatinFonts, enBZLayouts},
#endif
#ifdef LANGUAGE_EN_TT
{L"00002C09", 1252, 850, 10000, L"English (Trinidad)", L"225", LatinFonts, enTTLayouts},
{L"00002C09", 1252, 850, 10000, L"English (Trinidad)", 225, LatinFonts, enTTLayouts},
#endif
#ifdef LANGUAGE_EN_ZW
{L"00003009", 1252, 437, 10000, L"English (Zimbabwe)", L"264", LatinFonts, enZWLayouts},
{L"00003009", 1252, 437, 10000, L"English (Zimbabwe)", 264, LatinFonts, enZWLayouts},
#endif
#ifdef LANGUAGE_EN_PH
{L"00003409", 1252, 437, 10000, L"English (Philippines)", L"201", LatinFonts, enPHLayouts},
{L"00003409", 1252, 437, 10000, L"English (Philippines)", 201, LatinFonts, enPHLayouts},
#endif
#ifdef LANGUAGE_EO_AA
{L"0000048F", 1252, 437, 10000, L"Esperanto", L"1", LatinFonts, eoAALayouts},
{L"0000048F", 1252, 437, 10000, L"Esperanto", 1, LatinFonts, eoAALayouts},
#endif
#ifdef LANGUAGE_ET_EE
{L"00000425", 1252, 775, 10029, L"Estonian", L"70", LatinFonts, etEELayouts},
{L"00000425", 1252, 775, 10029, L"Estonian", 70, LatinFonts, etEELayouts},
#endif
#ifdef LANGUAGE_FO_FO
{L"00000438", 1252, 850, 10079, L"Faeroese", L"81", LatinFonts, foFOLayouts},
{L"00000438", 1252, 850, 10079, L"Faeroese", 81, LatinFonts, foFOLayouts},
#endif
#ifdef LANGUAGE_FA_IR
{L"00000429", 1256, 720, 10004, L"Farsi", L"116", UnicodeFonts, faIRLayouts},
{L"00000429", 1256, 720, 10004, L"Farsi", 116, UnicodeFonts, faIRLayouts},
#endif
#ifdef LANGUAGE_FI_FI
{L"0000040B", 1252, 850, 10000, L"Finnish", L"77", LatinFonts, fiFILayouts},
{L"0000040B", 1252, 850, 10000, L"Finnish", 77, LatinFonts, fiFILayouts},
#endif
#ifdef LANGUAGE_FR_CA
{L"00000C0C", 1252, 850, 10000, L"French (Canada)", L"39", LatinFonts, frCALayouts},
{L"00000C0C", 1252, 850, 10000, L"French (Canada)", 39, LatinFonts, frCALayouts},
#endif
#ifdef LANGUAGE_FR_FR
{L"0000040C", 1252, 850, 10000, L"French (France)", L"84", LatinFonts, frFRLayouts},
{L"0000040C", 1252, 850, 10000, L"French (France)", 84, LatinFonts, frFRLayouts},
#endif
#ifdef LANGUAGE_FR_BE
{L"0000080C", 1252, 850, 10000, L"French (Belgium)", L"21", LatinFonts, frBELayouts},
{L"0000080C", 1252, 850, 10000, L"French (Belgium)", 21, LatinFonts, frBELayouts},
#endif
#ifdef LANGUAGE_FR_CH
{L"0000100C", 1252, 850, 10000, L"French (Switzerland)", L"223", LatinFonts, frCHLayouts},
{L"0000100C", 1252, 850, 10000, L"French (Switzerland)", 223, LatinFonts, frCHLayouts},
#endif
#ifdef LANGUAGE_FR_LU
{L"0000140C", 1252, 850, 10000, L"French (Luxembourg)", L"147", LatinFonts, frLULayouts},
{L"0000140C", 1252, 850, 10000, L"French (Luxembourg)", 147, LatinFonts, frLULayouts},
#endif
#ifdef LANGUAGE_FR_MC
{L"0000180C", 1252, 850, 10000, L"French (Monaco)", L"158", LatinFonts, frMCLayouts},
{L"0000180C", 1252, 850, 10000, L"French (Monaco)", 158, LatinFonts, frMCLayouts},
#endif
#ifdef LANGUAGE_GL_ES
{L"00000456", 1252, 850, 10000, L"Galician (Spain)", L"217", LatinFonts, glESLayouts},
{L"00000456", 1252, 850, 10000, L"Galician (Spain)", 217, LatinFonts, glESLayouts},
#endif
#ifdef LANGUAGE_KA_GE
{L"00000437", 0, 1, 2, L"Georgian", L"88", UnicodeFonts, kaGELayouts},
{L"00000437", 0, 1, 2, L"Georgian", 88, UnicodeFonts, kaGELayouts},
#endif
#ifdef LANGUAGE_DE_DE
{L"00000407", 1252, 850, 10000, L"German (Germany)", L"94", LatinFonts, deDELayouts},
{L"00000407", 1252, 850, 10000, L"German (Germany)", 94, LatinFonts, deDELayouts},
#endif
#ifdef LANGUAGE_DE_CH
{L"00000807", 1252, 850, 10000, L"German (Switzerland)", L"223", LatinFonts, deCHLayouts},
{L"00000807", 1252, 850, 10000, L"German (Switzerland)", 223, LatinFonts, deCHLayouts},
#endif
#ifdef LANGUAGE_DE_AT
{L"00000C07", 1252, 850, 10000, L"German (Austria)", L"14", LatinFonts, deATLayouts},
{L"00000C07", 1252, 850, 10000, L"German (Austria)", 14, LatinFonts, deATLayouts},
#endif
#ifdef LANGUAGE_DE_LU
{L"00001007", 1252, 850, 10000, L"German (Luxembourg)", L"147", LatinFonts, deLULayouts},
{L"00001007", 1252, 850, 10000, L"German (Luxembourg)", 147, LatinFonts, deLULayouts},
#endif
#ifdef LANGUAGE_DE_LI
{L"00001407", 1252, 850, 10000, L"German (Liechtenstein)", L"145", LatinFonts, deLILayouts},
{L"00001407", 1252, 850, 10000, L"German (Liechtenstein)", 145, LatinFonts, deLILayouts},
#endif
#ifdef LANGUAGE_EL_GR
{L"00000408", 1253, 737, 10006, L"Greek", L"98", GreekFonts, elGRLayouts},
{L"00000408", 1253, 737, 10006, L"Greek", 98, GreekFonts, elGRLayouts},
#endif
#ifdef LANGUAGE_GU_IN
{L"00000447", 0, 1, 2, L"Gujarati (India)", L"113", UnicodeFonts, guINLayouts},
{L"00000447", 0, 1, 2, L"Gujarati (India)", 113, UnicodeFonts, guINLayouts},
#endif
#ifdef LANGUAGE_HE_IL
{L"0000040D", 1255, 862, 10005, L"Hebrew", L"117", HebrewFonts, heILLayouts},
{L"0000040D", 1255, 862, 10005, L"Hebrew", 117, HebrewFonts, heILLayouts},
#endif
#ifdef LANGUAGE_HI_IN
{L"00000439", 1252, 437, 10000, L"Hindi", L"113", HindiFonts, hiINLayouts },
{L"00000439", 1252, 437, 10000, L"Hindi", 113, HindiFonts, hiINLayouts },
#endif
#ifdef LANGUAGE_HU_HU
{L"0000040E", 1250, 852, 10029, L"Hungarian", L"109", LatinFonts, huHULayouts},
{L"0000040E", 1250, 852, 10029, L"Hungarian", 109, LatinFonts, huHULayouts},
#endif
#ifdef LANGUAGE_IS_IS
{L"0000040F", 1252, 850, 10079, L"Icelandic", L"110", LatinFonts, isISLayouts},
{L"0000040F", 1252, 850, 10079, L"Icelandic", 110, LatinFonts, isISLayouts},
#endif
#ifdef LANGUAGE_ID_ID
{L"00000421", 1252, 850, 10079, L"Indonesian", L"111", LatinFonts, idIDLayouts},
{L"00000421", 1252, 850, 10079, L"Indonesian", 111, LatinFonts, idIDLayouts},
#endif
#ifdef LANGUAGE_IT_IT
{L"00000410", 1252, 850, 10000, L"Italian (Italy)", L"118", LatinFonts, itITLayouts},
{L"00000410", 1252, 850, 10000, L"Italian (Italy)", 118, LatinFonts, itITLayouts},
#endif
#ifdef LANGUAGE_IT_CH
{L"00000810", 1252, 850, 10000, L"Italian (Switzerland)", L"223", LatinFonts, itCHLayouts},
{L"00000810", 1252, 850, 10000, L"Italian (Switzerland)", 223, LatinFonts, itCHLayouts},
#endif
#ifdef LANGUAGE_JA_JP
{L"00000411", 932, 932, 10001, L"Japanese", L"122", JapaneseFonts, jaJPLayouts},
{L"00000411", 932, 932, 10001, L"Japanese", 122, JapaneseFonts, jaJPLayouts},
#endif
#ifdef LANGUAGE_KN_IN
{L"0000044B", 1252, 437, 10079, L"Kannada (India)", L"113", LatinFonts, knINLayouts},
{L"0000044B", 1252, 437, 10079, L"Kannada (India)", 113, LatinFonts, knINLayouts},
#endif
#ifdef LANGUAGE_KK_KZ
{L"0000043F", 1251, 866, 10007, L"Kazakh", L"137", CyrillicFonts, kkKZLayouts},
{L"0000043F", 1251, 866, 10007, L"Kazakh", 137, CyrillicFonts, kkKZLayouts},
#endif
#ifdef LANGUAGE_KOK_IN
{L"00000457", 0, 437, 2, L"Konkani", L"113", UnicodeFonts, kokINLayouts},
{L"00000457", 0, 437, 2, L"Konkani", 113, UnicodeFonts, kokINLayouts},
#endif
#ifdef LANGUAGE_KO_KR
{L"00000412", 949, 949, 10003, L"Korean", L"134", KoreanFonts, koKRLayouts},
{L"00000412", 949, 949, 10003, L"Korean", 134, KoreanFonts, koKRLayouts},
#endif
#ifdef LANGUAGE_KY_KG
{L"00000440", 1251, 866, 10007, L"Kyrgyz (Kyrgyzstan)", L"130", CyrillicFonts, kyKGLayouts},
{L"00000440", 1251, 866, 10007, L"Kyrgyz (Kyrgyzstan)", 130, CyrillicFonts, kyKGLayouts},
#endif
#ifdef LANGUAGE_LV_LV
{L"00000426", 1257, 775, 10029, L"Latvian", L"140", LatinFonts, lvLVLayouts},
{L"00000426", 1257, 775, 10029, L"Latvian", 140, LatinFonts, lvLVLayouts},
#endif
#ifdef LANGUAGE_LT_LT
{L"00000427", 1257, 775, 10029, L"Lithuanian", L"141", LatinFonts, ltLTLayouts},
{L"00000427", 1257, 775, 10029, L"Lithuanian", 141, LatinFonts, ltLTLayouts},
#endif
#ifdef LANGUAGE_MK_MK
{L"0000042F", 1251, 866, 10007, L"FYRO Macedonian", L"19618", CyrillicFonts, mkMKLayouts},
{L"0000042F", 1251, 866, 10007, L"FYRO Macedonian", 19618, CyrillicFonts, mkMKLayouts},
#endif
#ifdef LANGUAGE_MS_BN
{L"0000083E", 1252, 850, 10000, L"Malay (Brunei Darussalam)", L"37", LatinFonts, msBNLayouts},
{L"0000083E", 1252, 850, 10000, L"Malay (Brunei Darussalam)", 37, LatinFonts, msBNLayouts},
#endif
#ifdef LANGUAGE_MS_MY
{L"0000043E", 1252, 850, 10000, L"Malay (Malaysia)", L"167", LatinFonts, msMYLayouts},
{L"0000043E", 1252, 850, 10000, L"Malay (Malaysia)", 167, LatinFonts, msMYLayouts},
#endif
#ifdef LANGUAGE_MR_IN
{L"0000044E", 0, 1, 2, L"Marathi", L"113", UnicodeFonts, mrINLayouts},
{L"0000044E", 0, 1, 2, L"Marathi", 113, UnicodeFonts, mrINLayouts},
#endif
#ifdef LANGUAGE_MN_MN
{L"00000450", 1251, 866, 10007, L"Mongolian (Mongolia)", L"154", CyrillicFonts, mnMNLayouts},
{L"00000450", 1251, 866, 10007, L"Mongolian (Mongolia)", 154, CyrillicFonts, mnMNLayouts},
#endif
#ifdef LANGUAGE_NB_NO
{L"00000414", 1252, 850, 10000, L"Norwegian (Bokmal)", L"177", LatinFonts, nbNOLayouts},
{L"00000414", 1252, 850, 10000, L"Norwegian (Bokmal)", 177, LatinFonts, nbNOLayouts},
#endif
#ifdef LANGUAGE_NN_NO
{L"00000814", 1252, 850, 10000, L"Norwegian (Nynorsk)", L"177", LatinFonts, nnNOLayouts},
{L"00000814", 1252, 850, 10000, L"Norwegian (Nynorsk)", 177, LatinFonts, nnNOLayouts},
#endif
#ifdef LANGUAGE_PL_PL
{L"00000415", 1250, 852, 10029, L"Polish", L"191", LatinFonts, plPLLayouts},
{L"00000415", 1250, 852, 10029, L"Polish", 191, LatinFonts, plPLLayouts},
#endif
#ifdef LANGUAGE_PT_PT
{L"00000816", 1252, 850, 10000, L"Portuguese (Portugal)", L"193", LatinFonts, ptPTLayouts},
{L"00000816", 1252, 850, 10000, L"Portuguese (Portugal)", 193, LatinFonts, ptPTLayouts},
#endif
#ifdef LANGUAGE_PT_BR
{L"00000416", 1252, 850, 10000, L"Portuguese (Brazil)", L"32", LatinFonts, ptBRLayouts},
{L"00000416", 1252, 850, 10000, L"Portuguese (Brazil)", 32, LatinFonts, ptBRLayouts},
#endif
#ifdef LANGUAGE_PA_IN
{L"00000446", 0, 1, 2, L"Punjabi (India)", L"113", UnicodeFonts, paINLayouts},
{L"00000446", 0, 1, 2, L"Punjabi (India)", 113, UnicodeFonts, paINLayouts},
#endif
#ifdef LANGUAGE_RO_RO
{L"00000418", 28606, 28606, 10029, L"Romanian", L"200", LatinFonts, roROLayouts},
{L"00000418", 28606, 28606, 10029, L"Romanian", 200, LatinFonts, roROLayouts},
#endif
#ifdef LANGUAGE_RM_CH
{L"00000417", 1252, 850, 10000, L"Romansh", L"223", LatinFonts, rmCHLayouts},
{L"00000417", 1252, 850, 10000, L"Romansh", 223, LatinFonts, rmCHLayouts},
#endif
#ifdef LANGUAGE_RU_RU
{L"00000419", 1251, 866, 10007, L"Russian", L"203", CyrillicFonts, ruRULayouts},
{L"00000419", 1251, 866, 10007, L"Russian", 203, CyrillicFonts, ruRULayouts},
#endif
#ifdef LANGUAGE_SA_IN
{L"0000044F", 0, 1, 2, L"Sanskrit", L"113", UnicodeFonts, saINLayouts},
{L"0000044F", 0, 1, 2, L"Sanskrit", 113, UnicodeFonts, saINLayouts},
#endif
#ifdef LANGUAGE_SR_SP
{L"00000C1A", 1251, 855, 10007, L"Serbian (Cyrillic)", L"271", CyrillicFonts, srSPLayouts},
{L"00000C1A", 1251, 855, 10007, L"Serbian (Cyrillic)", 271, CyrillicFonts, srSPLayouts},
#endif
#ifdef LANGUAGE_SR_SP
{L"0000081A", 1250, 852, 10029, L"Serbian (Latin)", L"271", LatinFonts, srSPLayouts},
{L"0000081A", 1250, 852, 10029, L"Serbian (Latin)", 271, LatinFonts, srSPLayouts},
#endif
#ifdef LANGUAGE_SK_SK
{L"0000041B", 1250, 852, 10029, L"Slovak", L"143", LatinFonts, skSKLayouts},
{L"0000041B", 1250, 852, 10029, L"Slovak", 143, LatinFonts, skSKLayouts},
#endif
#ifdef LANGUAGE_SL_SI
{L"00000424", 1250, 852, 10029, L"Slovenian", L"212", LatinFonts, slSILayouts},
{L"00000424", 1250, 852, 10029, L"Slovenian", 212, LatinFonts, slSILayouts},
#endif
#ifdef LANGUAGE_ES_ES
{L"0000040A", 1252, 850, 10000, L"Spanish (Traditional Sort)", L"217", LatinFonts, esESLayouts},
{L"0000040A", 1252, 850, 10000, L"Spanish (Traditional Sort)", 217, LatinFonts, esESLayouts},
#endif
#ifdef LANGUAGE_ES_MX
{L"0000080A", 1252, 850, 10000, L"Spanish (Mexico)", L"166", LatinFonts, esMXLayouts},
{L"0000080A", 1252, 850, 10000, L"Spanish (Mexico)", 166, LatinFonts, esMXLayouts},
#endif
#ifdef LANGUAGE_ES_ES
{L"00000C0A", 1252, 850, 10000, L"Spanish (International Sort)", L"217", LatinFonts, esESLayouts},
{L"00000C0A", 1252, 850, 10000, L"Spanish (International Sort)", 217, LatinFonts, esESLayouts},
#endif
#ifdef LANGUAGE_ES_GT
{L"0000100A", 1252, 850, 10000, L"Spanish (Guatemala)", L"99", LatinFonts, esGTLayouts},
{L"0000100A", 1252, 850, 10000, L"Spanish (Guatemala)", 99, LatinFonts, esGTLayouts},
#endif
#ifdef LANGUAGE_ES_CR
{L"0000140A", 1252, 850, 10000, L"Spanish (Costa Rica)", L"54", LatinFonts, esCRLayouts},
{L"0000140A", 1252, 850, 10000, L"Spanish (Costa Rica)", 54, LatinFonts, esCRLayouts},
#endif
#ifdef LANGUAGE_ES_PA
{L"0000180A", 1252, 850, 10000, L"Spanish (Panama)", L"192", LatinFonts, esPALayouts},
{L"0000180A", 1252, 850, 10000, L"Spanish (Panama)", 192, LatinFonts, esPALayouts},
#endif
#ifdef LANGUAGE_ES_DO
{L"00001C0A", 1252, 850, 10000, L"Spanish (Dominican Republic)", L"65", LatinFonts, esDOLayouts},
{L"00001C0A", 1252, 850, 10000, L"Spanish (Dominican Republic)", 65, LatinFonts, esDOLayouts},
#endif
#ifdef LANGUAGE_ES_VE
{L"0000200A", 1252, 850, 10000, L"Spanish (Venezuela)", L"249", LatinFonts, esVELayouts},
{L"0000200A", 1252, 850, 10000, L"Spanish (Venezuela)", 249, LatinFonts, esVELayouts},
#endif
#ifdef LANGUAGE_ES_CO
{L"0000240A", 1252, 850, 10000, L"Spanish (Colombia)", L"51", LatinFonts, esCOLayouts},
{L"0000240A", 1252, 850, 10000, L"Spanish (Colombia)", 51, LatinFonts, esCOLayouts},
#endif
#ifdef LANGUAGE_ES_PE
{L"0000280A", 1252, 850, 10000, L"Spanish (Peru)", L"187", LatinFonts, esPELayouts},
{L"0000280A", 1252, 850, 10000, L"Spanish (Peru)", 187, LatinFonts, esPELayouts},
#endif
#ifdef LANGUAGE_ES_AR
{L"00002C0A", 1252, 850, 10000, L"Spanish (Argentina)", L"11", LatinFonts, esARLayouts},
{L"00002C0A", 1252, 850, 10000, L"Spanish (Argentina)", 11, LatinFonts, esARLayouts},
#endif
#ifdef LANGUAGE_ES_EC
{L"0000300A", 1252, 850, 10000, L"Spanish (Ecuador)", L"66", LatinFonts, esECLayouts},
{L"0000300A", 1252, 850, 10000, L"Spanish (Ecuador)", 66, LatinFonts, esECLayouts},
#endif
#ifdef LANGUAGE_ES_CL
{L"0000340A", 1252, 850, 10000, L"Spanish (Chile)", L"46", LatinFonts, esCLLayouts},
{L"0000340A", 1252, 850, 10000, L"Spanish (Chile)", 46, LatinFonts, esCLLayouts},
#endif
#ifdef LANGUAGE_ES_UY
{L"0000380A", 1252, 850, 10000, L"Spanish (Uruguay)", L"246", LatinFonts, esUYLayouts},
{L"0000380A", 1252, 850, 10000, L"Spanish (Uruguay)", 246, LatinFonts, esUYLayouts},
#endif
#ifdef LANGUAGE_ES_PY
{L"00003C0A", 1252, 850, 10000, L"Spanish (Paraguay)", L"185", LatinFonts, esPYLayouts},
{L"00003C0A", 1252, 850, 10000, L"Spanish (Paraguay)", 185, LatinFonts, esPYLayouts},
#endif
#ifdef LANGUAGE_ES_BO
{L"0000400A", 1252, 850, 10000, L"Spanish (Bolivia)", L"26", LatinFonts, esBOLayouts},
{L"0000400A", 1252, 850, 10000, L"Spanish (Bolivia)", 26, LatinFonts, esBOLayouts},
#endif
#ifdef LANGUAGE_ES_SV
{L"0000440A", 1252, 850, 10000, L"Spanish (El Salvador)", L"72", LatinFonts, esSVLayouts},
{L"0000440A", 1252, 850, 10000, L"Spanish (El Salvador)", 72, LatinFonts, esSVLayouts},
#endif
#ifdef LANGUAGE_ES_HN
{L"0000480A", 1252, 850, 10000, L"Spanish (Honduras)", L"106", LatinFonts, esHNLayouts},
{L"0000480A", 1252, 850, 10000, L"Spanish (Honduras)", 106, LatinFonts, esHNLayouts},
#endif
#ifdef LANGUAGE_ES_NI
{L"00004C0A", 1252, 850, 10000, L"Spanish (Nicaragua)", L"182", LatinFonts, esNILayouts},
{L"00004C0A", 1252, 850, 10000, L"Spanish (Nicaragua)", 182, LatinFonts, esNILayouts},
#endif
#ifdef LANGUAGE_ES_PR
{L"0000500A", 1252, 850, 10000, L"Spanish (Puerto Rico)", L"202", LatinFonts, esPRLayouts},
{L"0000500A", 1252, 850, 10000, L"Spanish (Puerto Rico)", 202, LatinFonts, esPRLayouts},
#endif
#ifdef LANGUAGE_SW_KE
{L"00000441", 1252, 437, 10000, L"Swahili", L"129", LatinFonts, swKELayouts},
{L"00000441", 1252, 437, 10000, L"Swahili", 129, LatinFonts, swKELayouts},
#endif
#ifdef LANGUAGE_SV_SE
{L"0000041D", 1252, 850, 10000, L"Swedish", L"221", LatinFonts, svSELayouts},
{L"0000041D", 1252, 850, 10000, L"Swedish", 221, LatinFonts, svSELayouts},
#endif
#ifdef LANGUAGE_SV_FI
{L"0000081D", 1252, 850, 10000, L"Swedish (Finland)", L"77", LatinFonts, svFILayouts},
{L"0000081D", 1252, 850, 10000, L"Swedish (Finland)", 77, LatinFonts, svFILayouts},
#endif
#ifdef LANGUAGE_SYR_SY
{L"0000045A", 0, 1, 2, L"Syriac (Syria)", L"222", UnicodeFonts, syrSYLayouts},
{L"0000045A", 0, 1, 2, L"Syriac (Syria)", 222, UnicodeFonts, syrSYLayouts},
#endif
#ifdef LANGUAGE_TA_IN
{L"00000449", 0, 1, 2, L"Tamil", L"113", UnicodeFonts, taINLayouts},
{L"00000449", 0, 1, 2, L"Tamil", 113, UnicodeFonts, taINLayouts},
#endif
#ifdef LANGUAGE_TT_TA
{L"00000444", 1251, 866, 10007, L"Tatar", L"1", CyrillicFonts, ttTALayouts},
{L"00000444", 1251, 866, 10007, L"Tatar", 1, CyrillicFonts, ttTALayouts},
#endif
#ifdef LANGUAGE_TE_IN
{L"0000044A", 0, 1, 2, L"Telugu (India)", L"113", UnicodeFonts, teINLayouts},
{L"0000044A", 0, 1, 2, L"Telugu (India)", 113, UnicodeFonts, teINLayouts},
#endif
#ifdef LANGUAGE_TH_TH
{L"0000041E", 874, 874, 10021, L"Thai", L"227", UnicodeFonts, thTHLayouts},
{L"0000041E", 874, 874, 10021, L"Thai", 227, UnicodeFonts, thTHLayouts},
#endif
#ifdef LANGUAGE_TR_TR
{L"0000041F", 1254, 857, 10081, L"Turkish", L"235", LatinFonts, trTRLayouts},
{L"0000041F", 1254, 857, 10081, L"Turkish", 235, LatinFonts, trTRLayouts},
#endif
#ifdef LANGUAGE_UK_UA
{L"00000422", 1251, 866, 10017, L"Ukrainian", L"241", CyrillicFonts, ukUALayouts},
{L"00000422", 1251, 866, 10017, L"Ukrainian", 241, CyrillicFonts, ukUALayouts},
#endif
#ifdef LANGUAGE_UR_PK
{L"00000420", 1256, 720, 10004, L"Urdu", L"190", UnicodeFonts, urPKLayouts},
{L"00000420", 1256, 720, 10004, L"Urdu", 190, UnicodeFonts, urPKLayouts},
#endif
#ifdef LANGUAGE_UZ_UZ
{L"00000443", 1254, 857, 10029, L"Uzbek (Latin)", L"247", LatinFonts, uzUZLayouts},
{L"00000443", 1254, 857, 10029, L"Uzbek (Latin)", 247, LatinFonts, uzUZLayouts},
#endif
#ifdef LANGUAGE_UZ_UZ
{L"00000843", 1251, 866, 10007, L"Uzbek (Cyrillic)", L"247", CyrillicFonts, uzUZLayouts},
{L"00000843", 1251, 866, 10007, L"Uzbek (Cyrillic)", 247, CyrillicFonts, uzUZLayouts},
#endif
#ifdef LANGUAGE_VI_VN
{L"0000042A", 1258, 1258, 10000, L"Vietnamese", L"251", UnicodeFonts, viVNLayouts},
{L"0000042A", 1258, 1258, 10000, L"Vietnamese", 251, UnicodeFonts, viVNLayouts},
#endif
#ifdef LANGUAGE_WA_BE
{L"00000490", 1252, 850, 10000, L"Walon", L"21", LatinFonts, waBELayouts},
{L"00000490", 1252, 850, 10000, L"Walon", 21, LatinFonts, waBELayouts},
#endif
#ifdef LANGUAGE_ZU_ZU
{L"00000435", 1252, 850, 10000, L"Zulu", L"1", LatinFonts, zuZULayouts},
{L"00000435", 1252, 850, 10000, L"Zulu", 1, LatinFonts, zuZULayouts},
#endif
{NULL, 0, 0, 0, NULL, NULL, NULL, NULL}
{NULL, 0, 0, 0, NULL, 0, NULL, NULL}
};

View file

@ -1346,12 +1346,20 @@ ProcessKeyboardLayoutFiles(
BOOLEAN
SetGeoID(
IN PCWSTR Id)
_In_ GEOID GeoId)
{
NTSTATUS Status;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING Name;
HANDLE KeyHandle;
/*
* Buffer big enough to hold the NULL-terminated string L"4294967295",
* corresponding to the literal 0xFFFFFFFF (MAXULONG) in decimal.
*/
WCHAR Value[sizeof("4294967295")];
Status = RtlStringCchPrintfW(Value, _countof(Value), L"%lu", GeoId);
ASSERT(NT_SUCCESS(Status));
RtlInitUnicodeString(&Name,
L".DEFAULT\\Control Panel\\International\\Geo");
@ -1360,9 +1368,9 @@ SetGeoID(
OBJ_CASE_INSENSITIVE,
GetRootKeyByPredefKey(HKEY_USERS, NULL),
NULL);
Status = NtOpenKey(&KeyHandle,
KEY_SET_VALUE,
&ObjectAttributes);
Status = NtOpenKey(&KeyHandle,
KEY_SET_VALUE,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
@ -1374,12 +1382,12 @@ SetGeoID(
&Name,
0,
REG_SZ,
(PVOID)Id,
(wcslen(Id) + 1) * sizeof(WCHAR));
(PVOID)Value,
(wcslen(Value) + 1) * sizeof(WCHAR));
NtClose(KeyHandle);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status);
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
return FALSE;
}

View file

@ -85,7 +85,7 @@ ProcessLocaleRegistry(
BOOLEAN
SetGeoID(
IN PCWSTR Id);
_In_ GEOID GeoId);
BOOLEAN
SetDefaultPagefile(