📄 data.c
字号:
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] = {
" 0123456789abcdefghijklmnopqrstuvwxyz;=,-./`[\]'",
" κχυμγνξοθπρ ωψι αδλεηφβτζσ ",
" лъшнвопржстуьызиагмдёщбчецф э юя й кх",
" ㄦㄉ ㄓ ㄚㄞㄢㄇㄖㄏㄎㄍㄑㄕㄘㄛㄨㄜㄠㄩㄙㄟㄣㄆㄐㄋㄔㄧㄒㄊ ㄗㄈㄤ ㄝ ㄡㄥㄅ ",
" ē ǔěǎè īǒíǐìǘǖò āàé óùáúōū ǚ ǜü ê ",
" ぃぅぇぉかきくけこなもむぬすねのはつひふへゅゃってさせにそちめしみたまほ ょんゎをぁと ゐゑ",
" ケィゥヴェォカヵキクナモムヌスネノハツヒフヘュャッテサセニソチメシミタマホコョヶヮヲァトンヰヱ",
" ˉ,、;:?!…—·〔(【〈“〉《》∶「」『[)"'‘”〕々‖】’〗~〖』¨]ˇ{}。`〃|.",
" ⅪⅡⅢⅣⅤⅥⅦⅧⅨⅩ㈠⑸⑶㈢⒊㈣㈤㈥⒏㈦㈧㈨⑺⑹⒐⒑⒈⒋㈡⒌⒎⑷⒉⑵⒍⑴㈩ ⑻Ⅻ⑼⑽Ⅰ ",
" ≡≠=≤≥<>≮≯∧⊙∠∑-∏∪∩∫∈ ∵∽≌∮∝±×∨÷ ⌒+∥/⊥∴ ∷√ ≈∞ ",
" ¤°′″$£¥‰%℃百 毫万二亿兆吉七太拍艾 八九○三千四六微一厘五分 ¢ 十 ",
" ┄┍┎┏┐┑┒┓ ─┬╀┾┮┞┯┰┱┣┲┳ ╂╁ │├┟┭┠┢┿┝┽┡┼ ╃┈ ┌┆ ┊ ",
" ■^@▲☆※→←◇↑↓〓 ̄_◆□§★△○◎\№&●# ",
};
BYTE SKLayoutS[NumsSK][MAXSOFTKEYS*2] = {
" )!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZ:+<_>?~{|}"",
" ΚΧΥΜΓΝΞΟΘΠΡ ΩΨΙ ΑΔΛΕΗΦΒΤΖΣ ",
" ЛЪШНВОПРЖСТУЬЫЗИАГМДЁЩБЧЕЦФ Э ЮЯ Й КХ",
" ",
" ",
" いうえおがぎぐげごぱろるぷずぺぽぼづびぶべゆや でざぜぴぞぢれじりだらぼ よ わ あど ",
" ゲイウ エオガ ギグパロルプズペポバヅビブベユヤ デザゼピゾヂレジリダラボゴヨ ワ アド ",
" ",
" ①⒂⒀③⒔④⑤⑥⒙⑦⑧⑨⒄⒃⒚⒛⒒⒕②⒖⒘⒁⒓⑿⒗⑾⑩ ⒅ ⒆⒇ ",
" ",
" 佰 贰 柒 扒玖零叁仟肆陆 壹 伍 拾 ",
" ┅┕┖┗┘┙┚┛ ━┴╈╆┶┦┷┸┹┫┺┻ ╊╉ ┃┤┧┵┨┪╇┥╅┩╄ ╋┉ └┇ ┋ ",
" ",
};
#endif //UNICODE
#pragma data_seg()
HDC ST_UI_hDC;
UINT uStartComp = 0;
UINT uOpenCand = 0;
UINT uCaps = 0;
DWORD SaTC_Trace;
HINSTANCE hInst;
IMEL sImeL;
LPIMEL lpImeL;
TCHAR szUIClassName[CLASS_LEN];
TCHAR szCompClassName[CLASS_LEN];
TCHAR szCandClassName[CLASS_LEN];
TCHAR szStatusClassName[CLASS_LEN];
TCHAR szCMenuClassName[CLASS_LEN];
TCHAR szSoftkeyMenuClassName[CLASS_LEN];
TCHAR szHandCursor[] = TEXT("Hand");
TCHAR szChinese[] = TEXT("Chinese");
TCHAR szEnglish[] = TEXT("English");
#if defined(COMBO_IME)
TCHAR pszImeName[IMEINDEXNUM][MAX_PATH];
TCHAR *szImeName;
TCHAR szImeRegName[MAX_PATH];
#else
#if defined(GB)
TCHAR szImeName[] = pszImeName[0];
#else
TCHAR szImeName[] = pszImeName[1];
#endif
#endif //COMBO_IME
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
TCHAR szCandInf[] ={0x0020, 0x0020, 0x0020, 0x6570, 0x5B57, 0x952E, 0x0000};
TCHAR szTrace[]= {0x5149, 0x6807, 0x8DDF, 0x968F, 0x0000};
TCHAR szRegRevKL[] = {0x7F16, 0x7801, 0x67E5, 0x8BE2, 0x0000};
TCHAR szRegRevMaxKey[] = {0x7F16, 0x7801, 0x67E5, 0x8BE2, 0x7801, 0x957F, 0x0000};
TCHAR szWarnTitle[] = {0x8B66, 0x544A, 0x0000};
TCHAR szErrorTitle[] = {0x9519, 0x8BEF, 0x0000};
#else
BYTE szCandInf[] = " 数字键";
BYTE szTrace[]= "光标跟随";
#if defined(CROSSREF)
BYTE szRegRevKL[] = "编码查询";
BYTE szRegRevMaxKey[] = "编码查询码长";
#endif //CROSSREF
BYTE szWarnTitle[]="警告";
BYTE szErrorTitle[]="错误";
#endif //UNICODE
// convert char to upper case
BYTE bUpper[] = {
// 0x20 - 0x27
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
// 0x28 - 0x2F
0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
// 0x30 - 0x37
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
// 0x38 - 0x3F
0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
// 0x40 - 0x47
0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
// 0x48 - 0x4F
0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
// 0x50 - 0x57
0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
// 0x58 - 0x5F
0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
// ' a b c d e f g
'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
// h i j k l m n o
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
// p q r s t u v w
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
// x y z { | } ~
'X', 'Y', 'Z'
};
WORD fMask[] = { // offset of bitfield
0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080,
0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000
};
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(COMBO_IME)
TCHAR szRegImeIndex[] = TEXT("IME Index");
#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[48] = {
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
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -