Reactos
at listview 73 lines 1.4 kB view raw
1#pragma once 2 3typedef struct 4{ 5 PCWSTR FontName; 6 PCWSTR SubFontName; 7} MUI_SUBFONT; 8 9typedef USHORT LANGID; 10typedef ULONG KLID; 11 12/* 13 * See http://archives.miloush.net/michkap/archive/2006/10/14/825404.html 14 * and the intl.inf LCID map: 15 * 16 * ; List of locales. 17 * ; <LCID> = <Description>,<OEMCP>,<Language Group>,<langID:HKL pair>,<langID:HKL pair>,... 18 * 19 * Each MUI_LANGUAGE entry corresponds to one such locale description. 20 * Each MUI_LAYOUTS entry corresponds to a <langID:HKL pair>. 21 */ 22typedef struct 23{ 24 LANGID LangID; // Language ID (like 0x0409) 25 KLID LayoutID; // Layout ID (like 0x00000409) 26} MUI_LAYOUTS; 27 28typedef ULONG GEOID; // See winnls.h 29 30typedef struct 31{ 32 PCWSTR LanguageID; 33 UINT ACPage; 34 UINT OEMCPage; 35 UINT MACCPage; 36 PCWSTR LanguageDescriptor; 37 GEOID GeoID; 38 const MUI_SUBFONT* MuiSubFonts; 39 const MUI_LAYOUTS* MuiLayouts; 40} MUI_LANGUAGE; 41 42 43BOOLEAN 44IsLanguageAvailable( 45 IN PCWSTR LanguageId); 46 47KLID 48MUIDefaultKeyboardLayout( 49 IN PCWSTR LanguageId); 50 51UINT 52MUIGetOEMCodePage( 53 IN PCWSTR LanguageId); 54 55GEOID 56MUIGetGeoID( 57 IN PCWSTR LanguageId); 58 59const MUI_LAYOUTS* 60MUIGetLayoutsList( 61 IN PCWSTR LanguageId); 62 63BOOLEAN 64AddKbLayoutsToRegistry( 65 _In_ const MUI_LAYOUTS* MuiLayouts); 66 67BOOLEAN 68AddKeyboardLayouts( 69 IN PCWSTR LanguageId); 70 71BOOLEAN 72AddCodePage( 73 IN PCWSTR LanguageId);