📄 uninorm.cpp
字号:
0x8688, 0x870E, 0x86E2, 0x8779, 0x8728, 0x876B, 0x8786, 0x45D7,
0x87E1, 0x8801, 0x45F9, 0x8860, 0x8863, 0x7667, 0x88D7, 0x88DE, // 0x2F9CX
0x4635, 0x88FA, 0x34BB, 0x78AE, 0x7966, 0x46BE, 0x46C7, 0x8AA0,
0x8AED, 0x8B8A, 0x8C55, 0x7CA8, 0x8CAB, 0x8CC1, 0x8D1B, 0x8D77, // 0x2F9DX
0x7F2F, 0x0804, 0x8DCB, 0x8DBC, 0x8DF0, 0x08DE, 0x8ED4, 0x8F38,
0x85D2, 0x85ED, 0x9094, 0x90F1, 0x9111, 0x872E, 0x911B, 0x9238, // 0x2F9EX
0x92D7, 0x92D8, 0x927C, 0x93F9, 0x9415, 0x8BFA, 0x958B, 0x4995,
0x95B7, 0x8D77, 0x49E6, 0x96C3, 0x5DB2, 0x9723, 0x9145, 0x921A, // 0x2F9FX
0x4A6E, 0x4A76, 0x97E0, 0x940A, 0x4AB2, 0x9496, 0x980B, 0x980B,
} ;
static const unsigned short UninormTable_2FA00 [] = {
0x9829, 0x95B6, 0x98E2, 0x4B33, 0x9929, 0x99A7, 0x99C2, 0x99FE, // 0x2FA0X
0x4BCE, 0x9B30, 0x9B12, 0x9C40, 0x9CFD, 0x4CCE, 0x4CED, 0x9D67,
0xA0CE, 0x4CF8, 0xA105, 0xA20E, 0xA291, 0x9EBB, 0x4D56, 0x9EF9, // 0x2FA1X
0x9EFE, 0x9F05, 0x9F0F, 0x9F16, 0x9F3B, 0xA600, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA2X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA3X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA4X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA5X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA6X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA7X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA8X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FA9X
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FAAX
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FABX
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FACX
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FADX
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FAEX
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 0x2FAFX
0, 0, 0, 0, 0, 0, 0, 0,
} ;
const unsigned short *pUninormTable = NULL ;
switch ( cUnicode >> 8 ) {
case 0xF900 >> 8 : pUninormTable = UninormTable_F900 ; break ;
case 0xFA00 >> 8 : pUninormTable = UninormTable_FA00 ; break ;
case 0x1D400 >> 8 : pUninormTable = UninormTable_1D400 ; break ;
case 0x1D500 >> 8 : pUninormTable = UninormTable_1D500 ; break ;
case 0x1D600 >> 8 : pUninormTable = UninormTable_1D600 ; break ;
case 0x1D700 >> 8 : pUninormTable = UninormTable_1D700 ; break ;
case 0x2F800 >> 8 : pUninormTable = UninormTable_2F800 ; break ;
case 0x2F900 >> 8 : pUninormTable = UninormTable_2F900 ; break ;
case 0x2FA00 >> 8 : pUninormTable = UninormTable_2FA00 ; break ;
}
if ( pUninormTable ) {
switch ( cUnicode ) {
case 0xFACF :
case 0xFAD0 :
case 0xFAD1 :
case 0xFAD5 :
case 0xFAD6 :
case 0xFAD7 :
case 0x2F803 :
case 0x2F80D :
case 0x2F812 :
case 0x2F816 :
case 0x2F81C :
case 0x2F834 :
case 0x2F838 :
case 0x2F859 :
case 0x2F860 :
case 0x2F861 :
case 0x2F86C :
case 0x2F871 :
case 0x2F87B :
case 0x2F87D :
case 0x2F889 :
case 0x2F88F :
case 0x2F891 :
case 0x2F892 :
case 0x2F897 :
case 0x2F898 :
case 0x2F8A4 :
case 0x2F8B8 :
case 0x2F8BE :
case 0x2F8CA :
case 0x2F8DD :
case 0x2F8E3 :
case 0x2F8EC :
case 0x2F8F0 :
case 0x2F8F7 :
case 0x2F8F8 :
case 0x2F8F9 :
case 0x2F8FB :
case 0x2F906 :
case 0x2F90D :
case 0x2F910 :
case 0x2F911 :
case 0x2F91B :
case 0x2F91D :
case 0x2F91F :
case 0x2F923 :
case 0x2F926 :
case 0x2F927 :
case 0x2F935 :
case 0x2F937 :
case 0x2F939 :
case 0x2F93B :
case 0x2F93C :
case 0x2F93D :
case 0x2F941 :
case 0x2F942 :
case 0x2F943 :
case 0x2F944 :
case 0x2F94D :
case 0x2F952 :
case 0x2F954 :
case 0x2F955 :
case 0x2F95C :
case 0x2F95D :
case 0x2F95E :
case 0x2F961 :
case 0x2F965 :
case 0x2F96B :
case 0x2F972 :
case 0x2F973 :
case 0x2F975 :
case 0x2F977 :
case 0x2F97B :
case 0x2F97C :
case 0x2F97E :
case 0x2F980 :
case 0x2F987 :
case 0x2F988 :
case 0x2F989 :
case 0x2F98A :
case 0x2F997 :
case 0x2F9A4 :
case 0x2F9A5 :
case 0x2F9A6 :
case 0x2F9AB :
case 0x2F9AD :
case 0x2F9B0 :
case 0x2F9B1 :
case 0x2F9C5 :
case 0x2F9CB :
case 0x2F9CC :
case 0x2F9D3 :
case 0x2F9D8 :
case 0x2F9D9 :
case 0x2F9DD :
case 0x2F9E0 :
case 0x2F9E1 :
case 0x2F9E5 :
case 0x2F9ED :
case 0x2F9F1 :
case 0x2F9F6 :
case 0x2F9F7 :
case 0x2F9FB :
case 0x2F9FD :
case 0x2FA01 :
case 0x2FA09 :
case 0x2FA10 :
case 0x2FA12 :
case 0x2FA13 :
case 0x2FA14 :
case 0x2FA1D :
return pUninormTable [ cUnicode & 0xFF ] + 0x20000 ;
default :
return pUninormTable [ cUnicode & 0xFF ] ;
}
}
return 0 ;
}
////////////////////////////////////////////
// 昞帵梡暥帤 //
////////////////////////////////////////////
// 昞帵宍傪捠忢偺暥帤偵
const wchar_t *GetUnicodePresentationForm ( int cUnicode ) {
static const wchar_t *const PresentationFormTable_FB00 [] = {
/* 0xFB00 */ L"ff",
/* 0xFB01 */ L"fi",
/* 0xFB02 */ L"fl",
/* 0xFB03 */ L"ffi",
/* 0xFB04 */ L"ffl",
/* 0xFB05 */ L"\x017F\x0074",
/* 0xFB06 */ L"st",
/* 0xFB07 */ NULL,
/* 0xFB08 */ NULL,
/* 0xFB09 */ NULL,
/* 0xFB0A */ NULL,
/* 0xFB0B */ NULL,
/* 0xFB0C */ NULL,
/* 0xFB0D */ NULL,
/* 0xFB0E */ NULL,
/* 0xFB0F */ NULL,
/* 0xFB10 */ NULL,
/* 0xFB11 */ NULL,
/* 0xFB12 */ NULL,
/* 0xFB13 */ L"\x0574\x0576",
/* 0xFB14 */ L"\x0574\x0565",
/* 0xFB15 */ L"\x0574\x056B",
/* 0xFB16 */ L"\x057E\x0576",
/* 0xFB17 */ L"\x0574\x056D",
/* 0xFB18 */ NULL,
/* 0xFB19 */ NULL,
/* 0xFB1A */ NULL,
/* 0xFB1B */ NULL,
/* 0xFB1C */ NULL,
/* 0xFB1D */ L"\x05D9\x05B4",
/* 0xFB1E */ L"\x05BF",
/* 0xFB1F */ L"\x05F2\x05B7",
/* 0xFB20 */ L"\x05E2",
/* 0xFB21 */ L"\x05D0",
/* 0xFB22 */ L"\x05D3",
/* 0xFB23 */ L"\x05D4",
/* 0xFB24 */ L"\x05DB",
/* 0xFB25 */ L"\x05DC",
/* 0xFB26 */ L"\x05DD",
/* 0xFB27 */ L"\x05E8",
/* 0xFB28 */ L"\x05EA",
/* 0xFB29 */ L"\x002B",
/* 0xFB2A */ L"\x05E9\x05C1",
/* 0xFB2B */ L"\x05E9\x05C2",
/* 0xFB2C */ L"\x05E9\x05BC\x05C1",
/* 0xFB2D */ L"\x05E9\x05BC\x05C2",
/* 0xFB2E */ L"\x05D0\x05B7",
/* 0xFB2F */ L"\x05D0\x05B8",
/* 0xFB30 */ L"\x05D0\x05BC",
/* 0xFB31 */ L"\x05D1\x05BC",
/* 0xFB32 */ L"\x05D2\x05BC",
/* 0xFB33 */ L"\x05D3\x05BC",
/* 0xFB34 */ L"\x05D4\x05BC",
/* 0xFB35 */ L"\x05D5\x05BC",
/* 0xFB36 */ L"\x05D6\x05BC",
/* 0xFB37 */ NULL,
/* 0xFB38 */ L"\x05D8\x05BC",
/* 0xFB39 */ L"\x05D9\x05BC",
/* 0xFB3A */ L"\x05DA\x05BC",
/* 0xFB3B */ L"\x05DB\x05BC",
/* 0xFB3C */ L"\x05DC\x05BC",
/* 0xFB3D */ NULL,
/* 0xFB3E */ L"\x05DE\x05BC",
/* 0xFB3F */ NULL,
/* 0xFB40 */ L"\x05E0\x05BC",
/* 0xFB41 */ L"\x05E1\x05BC",
/* 0xFB42 */ NULL,
/* 0xFB43 */ L"\x05E3\x05BC",
/* 0xFB44 */ L"\x05E4\x05BC",
/* 0xFB45 */ NULL,
/* 0xFB46 */ L"\x05E6\x05BC",
/* 0xFB47 */ L"\x05E7\x05BC",
/* 0xFB48 */ L"\x05E8\x05BC",
/* 0xFB49 */ L"\x05E9\x05BC",
/* 0xFB4A */ L"\x05EA\x05BC",
/* 0xFB4B */ L"\x05D5\x05B9",
/* 0xFB4C */ L"\x05D1\x05BF",
/* 0xFB4D */ L"\x05DB\x05BF",
/* 0xFB4E */ L"\x05E4\x05BF",
/* 0xFB4F */ L"\x05D0\x05DC",
/* 0xFB50 */ L"\x0671",
/* 0xFB51 */ L"\x0671",
/* 0xFB52 */ L"\x067B",
/* 0xFB53 */ L"\x067B",
/* 0xFB54 */ L"\x067B",
/* 0xFB55 */ L"\x067B",
/* 0xFB56 */ L"\x067E",
/* 0xFB57 */ L"\x067E",
/* 0xFB58 */ L"\x067E",
/* 0xFB59 */ L"\x067E",
/* 0xFB5A */ L"\x0680",
/* 0xFB5B */ L"\x0680",
/* 0xFB5C */ L"\x0680",
/* 0xFB5D */ L"\x0680",
/* 0xFB5E */ L"\x067A",
/* 0xFB5F */ L"\x067A",
/* 0xFB60 */ L"\x067A",
/* 0xFB61 */ L"\x067A",
/* 0xFB62 */ L"\x067F",
/* 0xFB63 */ L"\x067F",
/* 0xFB64 */ L"\x067F",
/* 0xFB65 */ L"\x067F",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -