windows-nt/Source/XPSP1/NT/windows/feime/chs/ntime/data.c
2020-09-26 16:20:57 +08:00

591 lines
28 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1995-1999 Microsoft Corporation, All Rights Reserved
Module Name:
DATA.C
++*/
#include <windows.h>
#include <immdev.h>
#include "imedefs.h"
#pragma data_seg(".ShareDate")
IMEG sImeG = {0};
MBINDEX MBIndex = {0};
#ifdef UNICODE
TCHAR SKLayout[NumsSK][MAXSOFTKEYS] = {
#ifdef KEYSTICKER
#ifdef CHAJEI
0x3000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x65E5, 0x6708, 0x91D1, 0x6728, 0x6C34,
0x706B, 0x571F, 0x7AF9, 0x6208, 0x5341, 0x5927, 0x4E2D, 0x4E00,
0x5F13, 0x4EBA, 0x5FC3, 0x624B, 0x53E3, 0x5C38, 0x5EFF, 0x5C71,
0x5973, 0x7530, 0x96E3, 0x535C, 0xFF3A, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
#else //if PHON
0x3000, 0x3122, 0x3105, 0x3109, 0x02C7, 0x02CB, 0x3113, 0x02CA,
0x02D9, 0x311A, 0x311E, 0x3107, 0x3116, 0x310F, 0x310E, 0x310D,
0x3111, 0x3115, 0x3118, 0x311B, 0x3128, 0x311C, 0x3120, 0x3129,
0x3119, 0x311F, 0x3123, 0x3106, 0x3110, 0x310B, 0x3114, 0x3127,
0x3112, 0x310A, 0x310C, 0x3117, 0x3108, 0x3124, 0x0020, 0x311D,
0x3126, 0x3121, 0x3125, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
#endif //CHAJEI
#else //KEYSTICKER
0x3000, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16,
0xFF17, 0xFF18, 0xFF19, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45,
0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D,
0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55,
0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0xFF1B, 0xFF1D, 0xFF0C,
0xFF0D, 0xFF0E, 0xFF0F, 0xFF40, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF07,
#endif //KEYSTICKER
0x3000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x03BA, 0x03C7, 0x03C5, 0x03BC, 0x03B3,
0x03BD, 0x03BE, 0x03BF, 0x03B8, 0x03C0, 0x03C1, 0x0020, 0x03C9,
0x03C8, 0x03B9, 0x0020, 0x03B1, 0x03B4, 0x03BB, 0x03B5, 0x03B7,
0x03C6, 0x03B2, 0x03C4, 0x03B6, 0x03C3, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x3000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x043B, 0x044A, 0x0448, 0x043D, 0x0432,
0x043E, 0x043F, 0x0440, 0x0436, 0x0441, 0x0442, 0x0443, 0x044C,
0x044B, 0x0437, 0x0438, 0x0430, 0x0433, 0x043C, 0x0434, 0x0451,
0x0449, 0x0431, 0x0447, 0x0435, 0x0446, 0x0444, 0x0020, 0x044D,
0x0020, 0x044E, 0x044F, 0x0020, 0x0439, 0x0020, 0x043A, 0x0445,
0x3000, 0x3122, 0x3105, 0x3109, 0x02C7, 0x02CB, 0x3113, 0x02CA,
0x02D9, 0x311A, 0x311E, 0x3107, 0x3116, 0x310F, 0x310E, 0x310D,
0x3111, 0x3115, 0x3118, 0x311B, 0x3128, 0x311C, 0x3120, 0x3129,
0x3119, 0x311F, 0x3123, 0x3106, 0x3110, 0x310B, 0x3114, 0x3127,
0x3112, 0x310A, 0x310C, 0x3117, 0x3108, 0x3124, 0x0020, 0x311D,
0x3126, 0x3121, 0x3125, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x3000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0113, 0x0020, 0x01D4, 0x011B, 0x01CE,
0x00E8, 0x0020, 0x012B, 0x01D2, 0x00ED, 0x01D0, 0x00EC, 0x01D8,
0x01D6, 0x00F2, 0x0020, 0x0101, 0x00E0, 0x00E9, 0x0020, 0x00F3,
0x00F9, 0x00E1, 0x00FA, 0x014D, 0x016B, 0x0020, 0x0020, 0x01DA,
0x0020, 0x01DC, 0x00FC, 0x0020, 0x00EA, 0x0020, 0x0020, 0x0020,
0x3000, 0x0020, 0x3043, 0x3045, 0x3047, 0x3049, 0x304B, 0x304D,
0x304F, 0x3051, 0x3053, 0x306A, 0x3082, 0x3080, 0x306C, 0x3059,
0x306D, 0x306E, 0x306F, 0x3064, 0x3072, 0x3075, 0x3078, 0x3085,
0x3083, 0x3063, 0x3066, 0x3055, 0x305B, 0x306B, 0x305D, 0x3061,
0x3081, 0x3057, 0x307F, 0x305F, 0x307E, 0x307B, 0x0020, 0x3087,
0x3093, 0x308E, 0x3092, 0x3041, 0x3068, 0x0020, 0x3090, 0x3091,
0x3000, 0x30B1, 0x30A3, 0x30A5, 0x30F4, 0x30A7, 0x30A9, 0x30AB,
0x30F5, 0x30AD, 0x30AF, 0x30CA, 0x30E2, 0x30E0, 0x30CC, 0x30B9,
0x30CD, 0x30CE, 0x30CF, 0x30C4, 0x30D2, 0x30D5, 0x30D8, 0x30E5,
0x30E3, 0x30C3, 0x30C6, 0x30B5, 0x30BB, 0x30CB, 0x30BD, 0x30C1,
0x30E1, 0x30B7, 0x30DF, 0x30BF, 0x30DE, 0x30DB, 0x30B3, 0x30E7,
0x30F6, 0x30EE, 0x30F2, 0x30A1, 0x30C8, 0x30F3, 0x30F0, 0x30F1,
0x3000, 0x02C9, 0xFF0C, 0x3001, 0xFF1B, 0xFF1A, 0xFF1F, 0xFF01,
0x2026, 0x2014, 0x00B7, 0x3014, 0xFF08, 0x3010, 0x3008, 0x201C,
0x3009, 0x300A, 0x300B, 0x2236, 0x300C, 0x300D, 0x300E, 0xFF3B,
0xFF09, 0xFF02, 0xFF07, 0x2018, 0x201D, 0x3015, 0x3005, 0x2016,
0x3011, 0x2019, 0x3017, 0xFF5E, 0x3016, 0x300F, 0x00A8, 0xFF3D,
0x02C7, 0xFF5B, 0xFF5D, 0x3002, 0xFF40, 0x3003, 0xFF5C, 0xFF0E,
0x3000, 0x216A, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,
0x2167, 0x2168, 0x2169, 0x3220, 0x2478, 0x2476, 0x3222, 0x248A,
0x3223, 0x3224, 0x3225, 0x248F, 0x3226, 0x3227, 0x3228, 0x247A,
0x2479, 0x2490, 0x2491, 0x2488, 0x248B, 0x3221, 0x248C, 0x248E,
0x2477, 0x2489, 0x2475, 0x248D, 0x2474, 0x3229, 0x0020, 0x247B,
0x216B, 0x247C, 0x247D, 0x2160, 0x0020, 0x0020, 0x0020, 0x0020,
0x3000, 0x0020, 0x2261, 0x2260, 0xFF1D, 0x2264, 0x2265, 0xFF1C,
0xFF1E, 0x226E, 0x226F, 0x2227, 0x2299, 0x2220, 0x2211, 0xFF0D,
0x220F, 0x222A, 0x2229, 0x222B, 0x2208, 0x0020, 0x2235, 0x223D,
0x224C, 0x222E, 0x221D, 0x00B1, 0x00D7, 0x2228, 0x00F7, 0x0020,
0x2312, 0xFF0B, 0x2225, 0xFF0F, 0x22A5, 0x2234, 0x0020, 0x0020,
0x2237, 0x221A, 0x0020, 0x2248, 0x221E, 0x0020, 0x0020, 0x0020,
0x3000, 0x00A4, 0x00B0, 0x2032, 0x2033, 0xFF04, 0xFFE1, 0xFFE5,
0x2030, 0xFF05, 0x2103, 0x767E, 0x0020, 0x6BEB, 0x4E07, 0x4E8C,
0x4EBF, 0x5146, 0x5409, 0x4E03, 0x592A, 0x62CD, 0x827E, 0x0020,
0x0020, 0x516B, 0x4E5D, 0x25CB, 0x4E09, 0x5343, 0x56DB, 0x516D,
0x5FAE, 0x4E00, 0x5398, 0x4E94, 0x5206, 0x0020, 0x0020, 0x0020,
0xFFE0, 0x0020, 0x0020, 0x0020, 0x5341, 0x0020, 0x0020, 0x0020,
0x3000, 0x2504, 0x250D, 0x250E, 0x250F, 0x2510, 0x2511, 0x2512,
0x2513, 0x0020, 0x2500, 0x252C, 0x2540, 0x253E, 0x252E, 0x251E,
0x252F, 0x2530, 0x2531, 0x2523, 0x2532, 0x2533, 0x0020, 0x2542,
0x2541, 0x0020, 0x2502, 0x251C, 0x251F, 0x252D, 0x2520, 0x2522,
0x253F, 0x251D, 0x253D, 0x2521, 0x253C, 0x0020, 0x0020, 0x2543,
0x2508, 0x0020, 0x0020, 0x250C, 0x2506, 0x0020, 0x250A, 0x0020,
0x3000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x25A0, 0xFF3E, 0xFF20, 0x25B2, 0x2606,
0x203B, 0x2192, 0x2190, 0x25C7, 0x2191, 0x2193, 0x3013, 0xFFE3,
0xFF3F, 0x25C6, 0x25A1, 0x00A7, 0x2605, 0x25B3, 0x25CB, 0x25CE,
0xFF3C, 0x2116, 0xFF06, 0x25CF, 0xFF03, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
};
TCHAR SKLayoutS[NumsSK][MAXSOFTKEYS] = {
#ifdef KEYSTICKER
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
#else
0x3000, 0xFF09, 0xFF01, 0xFF20, 0xFF03, 0xFF04, 0xFF05, 0xFF3E,
0xFF06, 0xFF0A, 0xFF08, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25,
0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D,
0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35,
0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0xFF1A, 0xFF0B, 0xFF1C,
0xFF3F, 0xFF1E, 0xFF1F, 0xFF5E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF02,
#endif //KEYSTICKER
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x039A, 0x03A7, 0x03A5, 0x039C, 0x0393,
0x039D, 0x039E, 0x039F, 0x0398, 0x03A0, 0x03A1, 0x0020, 0x03A9,
0x03A8, 0x0399, 0x0020, 0x0391, 0x0394, 0x039B, 0x0395, 0x0397,
0x03A6, 0x0392, 0x03A4, 0x0396, 0x03A3, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x041B, 0x042A, 0x0428, 0x041D, 0x0412,
0x041E, 0x041F, 0x0420, 0x0416, 0x0421, 0x0422, 0x0423, 0x042C,
0x042B, 0x0417, 0x0418, 0x0410, 0x0413, 0x041C, 0x0414, 0x0401,
0x0429, 0x0411, 0x0427, 0x0415, 0x0426, 0x0424, 0x0020, 0x042D,
0x0020, 0x042E, 0x042F, 0x0020, 0x0419, 0x0020, 0x041A, 0x0425,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x3044, 0x3046, 0x3048, 0x304A, 0x304C, 0x304E,
0x3050, 0x3052, 0x3054, 0x3071, 0x308D, 0x308B, 0x3077, 0x305A,
0x307A, 0x307D, 0x3070, 0x3065, 0x3073, 0x3076, 0x3079, 0x3086,
0x3084, 0x0020, 0x3067, 0x3056, 0x305C, 0x3074, 0x305E, 0x3062,
0x308C, 0x3058, 0x308A, 0x3060, 0x3089, 0x307C, 0x0020, 0x3088,
0x0020, 0x308F, 0x0020, 0x3042, 0x3069, 0x0020, 0x0020, 0x0020,
0x0020, 0x30B2, 0x30A4, 0x30A6, 0x0020, 0x30A8, 0x30AA, 0x30AC,
0x0020, 0x30AE, 0x30B0, 0x30D1, 0x30ED, 0x30EB, 0x30D7, 0x30BA,
0x30DA, 0x30DD, 0x30D0, 0x30C5, 0x30D3, 0x30D6, 0x30D9, 0x30E6,
0x30E4, 0x0020, 0x30C7, 0x30B6, 0x30BC, 0x30D4, 0x30BE, 0x30C2,
0x30EC, 0x30B8, 0x30EA, 0x30C0, 0x30E9, 0x30DC, 0x30B4, 0x30E8,
0x0020, 0x30EF, 0x0020, 0x30A2, 0x30C9, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x2460, 0x2482, 0x2480, 0x2462, 0x2494,
0x2463, 0x2464, 0x2465, 0x2499, 0x2466, 0x2467, 0x2468, 0x2484,
0x2483, 0x249A, 0x249B, 0x2492, 0x2495, 0x2461, 0x2496, 0x2498,
0x2481, 0x2493, 0x247F, 0x2497, 0x247E, 0x2469, 0x0020, 0x2485,
0x0020, 0x2486, 0x2487, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x4F70, 0x0020, 0x0020, 0x0020, 0x8D30,
0x0020, 0x0020, 0x0020, 0x67D2, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x634C, 0x7396, 0x96F6, 0x53C1, 0x4EDF, 0x8086, 0x9646,
0x0020, 0x58F9, 0x0020, 0x4F0D, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x62FE, 0x0020, 0x0020, 0x0020,
0x0020, 0x2505, 0x2515, 0x2516, 0x2517, 0x2518, 0x2519, 0x251A,
0x251B, 0x0020, 0x2501, 0x2534, 0x2548, 0x2546, 0x2536, 0x2526,
0x2537, 0x2538, 0x2539, 0x252B, 0x253A, 0x253B, 0x0020, 0x254A,
0x2549, 0x0020, 0x2503, 0x2524, 0x2527, 0x2535, 0x2528, 0x252A,
0x2547, 0x2525, 0x2545, 0x2529, 0x2544, 0x0020, 0x0020, 0x254B,
0x2509, 0x0020, 0x0020, 0x2514, 0x2507, 0x0020, 0x250B, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
};
#else
BYTE SKLayout[NumsSK][MAXSOFTKEYS*2] = {
#ifdef KEYSTICKER
#ifdef CHAJEI
"<EFBFBD><EFBFBD> <20><><EFBFBD>½<EFBFBD>ľˮ<C4BE><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>ʬإɽŮ<C9BD><C5AE><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD> "),
#else //if PHON
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ũɡ<EFBFBD><EFBFBD>A<EFBFBD>Ө@<40>B<EFBFBD>ڨިǨ֨ϨΨͨѨըبۨ<D8A8><DBA8>ܨ<EFBFBD><DCA8><EFBFBD><EFBFBD>٨ߨ<D9A8><DFA8>ƨШ˨Ԩ<CBA8><D4A8>Ҩʨ̨רȨ<D7A8> <20>ݨ<EFBFBD><DDA8><EFBFBD><EFBFBD><EFBFBD> ",
#endif //CHAJEI
#else //KEYSTICKER
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣܣݣ<EFBFBD>",
#endif //KEYSTICKER
"<EFBFBD><EFBFBD> <20>ʦ֦Ԧ̦æͦΦϦȦЦ<C8A6> <20>ئצ<D8A6> <20><><EFBFBD>Ħ˦ŦǦզ¦ӦƦ<D3A6> ",
"<EFBFBD><EFBFBD> <20>ݧ<EFBFBD><DDA7><EFBFBD><EFBFBD>ߧӧ<DFA7><D3A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ا<EFBFBD><D8A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٧ڧѧԧާէק<D5A7><D7A7>ҧ<EFBFBD><D2A7>֧<EFBFBD><D6A7><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20>ܧ<EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ũɡ<EFBFBD><EFBFBD>A<EFBFBD>Ө@<40>B<EFBFBD>ڨިǨ֨ϨΨͨѨըبۨ<D8A8><DBA8>ܨ<EFBFBD><DCA8><EFBFBD><EFBFBD>٨ߨ<D9A8><DFA8>ƨШ˨Ԩ<CBA8><D4A8>Ҩʨ̨רȨ<D7A8> <20>ݨ<EFBFBD><DDA8><EFBFBD><EFBFBD><EFBFBD> ",
// "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ڨި<DAA8><DEA8>Ǩ֨ϨΨͨѨըبۨ<D8A8><DBA8>ܨ<EFBFBD><DCA8><EFBFBD><EFBFBD>٨ߨ<D9A8><DFA8>ƨШ˨Ԩ<CBA8><D4A8>Ҩ<EFBFBD> <20>רȨ<D7A8> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",
"<EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> ",
"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>̤<EFBFBD><CCA4>ͤΤϤĤҤդؤ<D5A4><D8A4><EFBFBD><EFBFBD>äƤ<C3A4><C6A4><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4>ޤ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򤡤<EFBFBD> <20><><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̥<EFBFBD><EFBFBD>ͥΥϥĥҥեإ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>åƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥ<EFBFBD><EFBFBD>ޥۥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򥡥ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɢǢ碳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢʢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȣ<EFBFBD><EFBFBD>Ƣ<EFBFBD><EFBFBD>Ţ<EFBFBD> <20>̢<EFBFBD><CCA2>͢΢<CDA2> ",
"<EFBFBD><EFBFBD> <20>ԡ٣<D4A1><D9A3>ܡݣ<DCA1><DDA3><EFBFBD><EFBFBD>ڡۡġѡϡƣ<CFA1><C6A3>ǡȡɡҡ<C9A1> <20>ߡסաӡء<D3A1><D8A1><EFBFBD><EFBFBD>š<EFBFBD> <20>У<EFBFBD><D0A3>Σ<EFBFBD><CEA3>͡<EFBFBD> <20>ˡ<EFBFBD> <20>֡<EFBFBD> ",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD>̫<EFBFBD>İ<EFBFBD> <20>˾š<CBBE><C5A1><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD><EFBFBD>΢һ<CEA2><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ʮ ",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD>ҩ©өԩթǩ֩<C7A9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>éѩĩƩ<C4A9><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ũ<EFBFBD> <20><20><><EFBFBD><EFBFBD> <20><> ",
"<EFBFBD><EFBFBD> <20><><EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><DCA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",
};
BYTE SKLayoutS[NumsSK][MAXSOFTKEYS*2] = {
#ifdef KEYSTICKER
" ",
#else
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£ãģţƣǣȣɣʣˣ̣ͣΣϣУѣңӣԣգ֣ףأ٣ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
#endif //KEYSTICKER
" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",
" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>",
" ",
" ",
" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ڤݤܤŤӤ֤٤<D6A4><D9A4><EFBFBD> <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>¤줸<C2A4><ECA4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> ",
" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5>ڥݥХťӥ֥٥<D6A5><D9A5><EFBFBD> <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ԥ<EFBFBD><D4A5>¥쥸<C2A5><ECA5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܥ<EFBFBD><DCA5><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> ",
" ",
" <20>٢ӢѢۢ<D1A2><DBA2>ܢݢޢ¢ߢ<C2A2><DFA2><EFBFBD><EFBFBD>բԢâĢ<C3A2><C4A2><EFBFBD><EFBFBD>ڢ<EFBFBD><DAA2><EFBFBD><EFBFBD>Ң<EFBFBD><D2A2>Т<EFBFBD><D0A2>Ϣ<EFBFBD> <20><> <20>ע<EFBFBD> ",
" ",
" <20><> <20><> <20><> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD>Ǫ<EFBFBD><C7AA>½ Ҽ <20><> ʰ ",
" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ة<EFBFBD><D8A9><EFBFBD><EFBFBD>کʩ۩ܩݩϩީ<CFA9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ȩ˩٩̩Ω<CCA9><CEA9>ɩ<EFBFBD><C9A9>ͩ<EFBFBD> <20><20><><EFBFBD><EFBFBD> <20><> ",
" ",
};
#endif //UNICODE
#pragma data_seg()
//
TCHAR CWCodeStr[13] = {0};
TCHAR CWDBCSStr[41] = {0};
HWND hCrtDlg = NULL;
UINT uStartComp = 0;
UINT uOpenCand = 0;
UINT uCaps = 0;
DWORD SaTC_Trace;
UINT UI_CANDSTR = 300;
HINSTANCE hInst;
IMEL sImeL;
LPIMEL lpImeL = NULL;
TCHAR szImeMBFileName[MAX_PATH] = TEXT("");
TCHAR szUIClassName[CLASS_LEN] = TEXT("");
TCHAR szCompClassName[CLASS_LEN] = TEXT("");
TCHAR szCandClassName[CLASS_LEN] = TEXT("");
TCHAR szStatusClassName[CLASS_LEN] = TEXT("");
TCHAR szCMenuClassName[CLASS_LEN];
TCHAR szSoftkeyMenuClassName[CLASS_LEN];
TCHAR szOrgName[NAMESIZE/2] = TEXT("");
TCHAR szVerInfo[NAMESIZE] = TEXT("");
TCHAR szHandCursor[] = TEXT("Hand");
TCHAR szChinese[] = TEXT("Chinese");
TCHAR szCZ[] = TEXT("CZ");
#ifdef UNICODE
WCHAR szCandInf1[] = {
0x0020, 0x0020, 0x0053, 0x0068, 0x0069, 0x0066, 0x0074, 0x0020,
0x002B, 0x0020, 0x6570, 0x5B57, 0x952E, 0x0000
};
WCHAR szCandInf2[] = {
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x6570, 0x5B57,
0x952E, 0x0000
};
#else
TCHAR szCandInf1[] = TEXT(" Shift + <20><><EFBFBD>ּ<EFBFBD>");
TCHAR szCandInf2[] = TEXT(" <20><><EFBFBD>ּ<EFBFBD>");
#endif
TCHAR szEnglish[] = TEXT("English");
TCHAR szImeName[] = TEXT("ImeName");
TCHAR szCode[] = TEXT("Code");
TCHAR szEudc[] = TEXT("Eudc");
TCHAR szFullShape[] = TEXT("FullShape");
TCHAR szHalfShape[] = TEXT("HalfShape");
TCHAR szSymbol[] = TEXT("Symbol");
TCHAR szNoSymbol[] = TEXT("NoSymbol");
TCHAR szNone[] = TEXT("None");
TCHAR szSoftKBD[] = TEXT("SoftKBD");
TCHAR szNoSoftKBD[] = TEXT("NoSoftKBD");
TCHAR szDigit[] = TEXT("01234567890");
#ifdef UNICODE
WCHAR szTrace[] = { 0x5149, 0x6807, 0x8DDF, 0x968F, 0x0000 };
WCHAR szWarnTitle[] = { 0x8B66, 0x544A, 0x0000 };
WCHAR szErrorTitle[] = { 0x9519, 0x8BEF, 0x0000 };
#else
TCHAR szTrace[]= TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
TCHAR szWarnTitle[]=TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
TCHAR szErrorTitle[]=TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
#endif
// convert char to upper case
BYTE bUpper[] = {
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z'
};
TCHAR szRegIMESetting[] = TEXT("Control Panel\\Input Method");
TCHAR szPara[] = TEXT("Parallel Distance");
TCHAR szPerp[] = TEXT("Perpendicular Distance");
TCHAR szParaTol[] = TEXT("Parallel Tolerance");
TCHAR szPerpTol[] = TEXT("Perpendicular Tolerance");
#if defined(CROSSREF)
#ifdef UNICODE
WCHAR szRegRevKL[] = { 0x7F16, 0x7801, 0x67E5, 0x8BE2, 0x0000 };
WCHAR szRegRevMaxKey[] = { 0x7F16, 0x7801, 0x67E5, 0x8BE2, 0x7801, 0x957F, 0x0000 };
#else
TCHAR szRegRevKL[] = TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ");
TCHAR szRegRevMaxKey[] = TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>");
#endif
#endif //CROSSREF
#if defined(EUDC)
TCHAR szRegEudcDictName[] = TEXT("EUDCDictName");
TCHAR szRegEudcMapFileName[] = TEXT("EUDCMapFileName");
#endif
// decide UI offset base on escapement
const NEARCARET ncUIEsc[] = {
// LogFontX LogFontY ParaX PerpX ParaY PerpY
{ 0, 1, 1, 0, 0, 1}, // 0
{ 1, 0, 0, 1, 1, 0}, // 900
{ 0, 0, -1, 0, 0, 1}, // 1800
{-1, 0, 0, -1, -1, 0} // 2700
};
// decide another UI offset base on escapement
const NEARCARET ncAltUIEsc[] = {
// LogFontX LogFontY ParaX PerpX ParaY PerpY
{ 0, 0, 1, 0, 0, -1}, // 0
{ 0, 0, 0, -1, 1, 0}, // 900
{ 0, 0, -1, 0, 0, -1}, // 1800
{ 0, 0, 0, 1, -1, 0} // 2700
};
// decide input rectangle base on escapement
const POINT ptInputEsc[] = {
// LogFontWi LogFontHi
{1, 1}, // 0
{1, -1}, // 900
{1, 1}, // 1800
{-1, 1} // 2700
};
// decide another input rectangle base on escapement
const POINT ptAltInputEsc[] = {
// LogFontWi LogFontHi
{1, -1}, // 0
{-1, -1}, // 900
{1, -1}, // 1800
{1, 1} // 2700
};
BYTE VirtKey48Map[MAXSOFTKEYS] = {
0x20, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0xba, 0xbb, 0xbc,
0xbd, 0xbe, 0xbf, 0xc0, 0xdb, 0xdc, 0xdd, 0xde
};
#ifdef KEYSTICKER
#ifdef CHAJEI
TCHAR KeyIndexTbl[INDEXNUM] = {
TEXT('a'), TEXT('b'), TEXT('c'), TEXT('d'),
TEXT('e'), TEXT('f'), TEXT('g'), TEXT('h'),
TEXT('i'), TEXT('j'), TEXT('k'), TEXT('l'),
TEXT('m'), TEXT('n'), TEXT('o'), TEXT('p'),
TEXT('q'), TEXT('r'), TEXT('s'), TEXT('t'),
TEXT('u'), TEXT('v'), TEXT('w'), TEXT('x'),
TEXT('y'), TEXT('z')};
#ifdef UNICODE
WCHAR MapKeySticker_a[] = { 0x65E5, 0x0000 };
WCHAR MapKeySticker_b[] = { 0x6708, 0x0000 };
WCHAR MapKeySticker_c[] = { 0x91D1, 0x0000 };
WCHAR MapKeySticker_d[] = { 0x6728, 0x0000 };
WCHAR MapKeySticker_e[] = { 0x6C34, 0x0000 };
WCHAR MapKeySticker_f[] = { 0x706B, 0x0000 };
WCHAR MapKeySticker_g[] = { 0x571F, 0x0000 };
WCHAR MapKeySticker_h[] = { 0x7AF9, 0x0000 };
WCHAR MapKeySticker_i[] = { 0x6208, 0x0000 };
WCHAR MapKeySticker_j[] = { 0x5341, 0x0000 };
WCHAR MapKeySticker_k[] = { 0x5927, 0x0000 };
WCHAR MapKeySticker_l[] = { 0x4E2D, 0x0000 };
WCHAR MapKeySticker_m[] = { 0x4E00, 0x0000 };
WCHAR MapKeySticker_n[] = { 0x5F13, 0x0000 };
WCHAR MapKeySticker_o[] = { 0x4EBA, 0x0000 };
WCHAR MapKeySticker_p[] = { 0x5FC3, 0x0000 };
WCHAR MapKeySticker_q[] = { 0x624B, 0x0000 };
WCHAR MapKeySticker_r[] = { 0x53E3, 0x0000 };
WCHAR MapKeySticker_s[] = { 0x5C38, 0x0000 };
WCHAR MapKeySticker_t[] = { 0x5EFF, 0x0000 };
WCHAR MapKeySticker_u[] = { 0x5C71, 0x0000 };
WCHAR MapKeySticker_v[] = { 0x5973, 0x0000 };
WCHAR MapKeySticker_w[] = { 0x7530, 0x0000 };
WCHAR MapKeySticker_x[] = { 0x96E3, 0x0000 };
WCHAR MapKeySticker_y[] = { 0x535C, 0x0000 };
WCHAR MapKeySticker_z[] = { 0xFF3A, 0x0000 };
LPWSTR MapKeyStickerTbl[INDEXNUM] = {
MapKeySticker_a, MapKeySticker_b, MapKeySticker_c,
MapKeySticker_d, MapKeySticker_e, MapKeySticker_f,
MapKeySticker_g, MapKeySticker_h, MapKeySticker_i,
MapKeySticker_j, MapKeySticker_k, MapKeySticker_l,
MapKeySticker_m, MapKeySticker_n, MapKeySticker_o,
MapKeySticker_p, MapKeySticker_q, MapKeySticker_r,
MapKeySticker_s, MapKeySticker_t, MapKeySticker_u,
MapKeySticker_v, MapKeySticker_w, MapKeySticker_x,
MapKeySticker_y, MapKeySticker_z
};
#else
LPTSTR MapKeyStickerTbl[INDEXNUM] = {
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("ľ"), TEXT("ˮ"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("ʮ"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("һ"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("ʬ"), TEXT("إ"), TEXT("ɽ"),
TEXT("Ů"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD>y"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>")};
#endif // UNICODE
#endif // CHAJEI
#ifdef PHON
TCHAR KeyIndexTbl[INDEXNUM] = {
TEXT('a'), TEXT('b'), TEXT('c'), TEXT('d'),
TEXT('e'), TEXT('f'), TEXT('g'), TEXT('h'),
TEXT('i'), TEXT('j'), TEXT('k'), TEXT('l'),
TEXT('m'), TEXT('n'), TEXT('o'), TEXT('p'),
TEXT('q'), TEXT('r'), TEXT('s'), TEXT('t'),
TEXT('u'), TEXT('v'), TEXT('w'), TEXT('x'),
TEXT('y'), TEXT('z'), TEXT('1'), TEXT('2'),
TEXT('3'), TEXT('4'), TEXT('5'), TEXT('6'),
TEXT('7'), TEXT('8'), TEXT('9'), TEXT('0'),
TEXT('-'), TEXT('='), TEXT('\\'),TEXT('['),
TEXT(']'), TEXT(';'), TEXT('\''),TEXT(','),
TEXT('.'), TEXT('/')};
#ifdef UNICODE
WCHAR MapKeySticker_a[] = { 0x3107, 0x0000 };
WCHAR MapKeySticker_b[] = { 0x3116, 0x0000 };
WCHAR MapKeySticker_c[] = { 0x310F, 0x0000 };
WCHAR MapKeySticker_d[] = { 0x310E, 0x0000 };
WCHAR MapKeySticker_e[] = { 0x310D, 0x0000 };
WCHAR MapKeySticker_f[] = { 0x3111, 0x0000 };
WCHAR MapKeySticker_g[] = { 0x3115, 0x0000 };
WCHAR MapKeySticker_h[] = { 0x3118, 0x0000 };
WCHAR MapKeySticker_i[] = { 0x311B, 0x0000 };
WCHAR MapKeySticker_j[] = { 0x3128, 0x0000 };
WCHAR MapKeySticker_k[] = { 0x311C, 0x0000 };
WCHAR MapKeySticker_l[] = { 0x3120, 0x0000 };
WCHAR MapKeySticker_m[] = { 0x3129, 0x0000 };
WCHAR MapKeySticker_n[] = { 0x3119, 0x0000 };
WCHAR MapKeySticker_o[] = { 0x311F, 0x0000 };
WCHAR MapKeySticker_p[] = { 0x3123, 0x0000 };
WCHAR MapKeySticker_q[] = { 0x3106, 0x0000 };
WCHAR MapKeySticker_r[] = { 0x3110, 0x0000 };
WCHAR MapKeySticker_s[] = { 0x310B, 0x0000 };
WCHAR MapKeySticker_t[] = { 0x3114, 0x0000 };
WCHAR MapKeySticker_u[] = { 0x3127, 0x0000 };
WCHAR MapKeySticker_v[] = { 0x3112, 0x0000 };
WCHAR MapKeySticker_w[] = { 0x310A, 0x0000 };
WCHAR MapKeySticker_x[] = { 0x310C, 0x0000 };
WCHAR MapKeySticker_y[] = { 0x3117, 0x0000 };
WCHAR MapKeySticker_z[] = { 0x3108, 0x0000 };
WCHAR MapKeySticker_1[] = { 0x3105, 0x0000 };
WCHAR MapKeySticker_2[] = { 0x3109, 0x0000 };
WCHAR MapKeySticker_3[] = { 0x02C7, 0x0000 };
WCHAR MapKeySticker_4[] = { 0x02CB, 0x0000 };
WCHAR MapKeySticker_5[] = { 0x3113, 0x0000 };
WCHAR MapKeySticker_6[] = { 0x02CA, 0x0000 };
WCHAR MapKeySticker_7[] = { 0x02D9, 0x0000 };
WCHAR MapKeySticker_8[] = { 0x311A, 0x0000 };
WCHAR MapKeySticker_9[] = { 0x311E, 0x0000 };
WCHAR MapKeySticker_0[] = { 0x3122, 0x0000 };
WCHAR MapKeySticker_MINUS[] = { 0x3126, 0x0000 };
WCHAR MapKeySticker_EQUAL[] = { 0x0000, 0x0000 };
WCHAR MapKeySticker_BSLASH[] = { 0x0000, 0x0000 };
WCHAR MapKeySticker_LBRACKET[] = { 0x0000 };
WCHAR MapKeySticker_RBRACKET[] = { 0x0000 };
WCHAR MapKeySticker_SEMICLN[] = { 0x3124, 0x0000 };
WCHAR MapKeySticker_QUOTE[] = { 0x0000 };
WCHAR MapKeySticker_COMMA[] = { 0x311D, 0x0000 };
WCHAR MapKeySticker_DOT[] = { 0x3121, 0x0000 };
WCHAR MapKeySticker_SLASH[] = { 0x3125, 0x0000 };
LPWSTR MapKeyStickerTbl[INDEXNUM] = {
MapKeySticker_a, MapKeySticker_b, MapKeySticker_c,
MapKeySticker_d, MapKeySticker_e, MapKeySticker_f,
MapKeySticker_g, MapKeySticker_h, MapKeySticker_i,
MapKeySticker_j, MapKeySticker_k, MapKeySticker_l,
MapKeySticker_m, MapKeySticker_n, MapKeySticker_o,
MapKeySticker_p, MapKeySticker_q, MapKeySticker_r,
MapKeySticker_s, MapKeySticker_t, MapKeySticker_u,
MapKeySticker_v, MapKeySticker_w, MapKeySticker_x,
MapKeySticker_y, MapKeySticker_z, MapKeySticker_1,
MapKeySticker_2, MapKeySticker_3, MapKeySticker_4,
MapKeySticker_5, MapKeySticker_6, MapKeySticker_7,
MapKeySticker_8, MapKeySticker_9, MapKeySticker_0,
MapKeySticker_MINUS, MapKeySticker_EQUAL, MapKeySticker_BSLASH,
MapKeySticker_LBRACKET, MapKeySticker_RBRACKET, MapKeySticker_SEMICLN,
MapKeySticker_QUOTE, MapKeySticker_COMMA, MapKeySticker_DOT,
MapKeySticker_SLASH
};
#else
LPTSTR MapKeyStickerTbl[INDEXNUM] = {
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD>A"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD>@"), TEXT("<EFBFBD>B"),
TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>"), TEXT(""), TEXT(""),
TEXT(""), TEXT(""), TEXT("<EFBFBD><EFBFBD>"),
TEXT(""), TEXT("<EFBFBD><EFBFBD>"), TEXT("<EFBFBD><EFBFBD>"),
TEXT("<EFBFBD><EFBFBD>")};
#endif // UNICODE
#endif // PHON
#endif //KEYSTICKER