#include <winuser.h>
#include "phon.rcv"
#include "imeattr.h"
#include "imerc.h"
#include "ime.rc"

IDBM_CMODE_NATIVE   BITMAP       Chinese.bmp

IDIC_IME_ICON       ICON         IME.ICO

IDRC_VALIDCHAR      RCDATA
BEGIN
//  DWORD dwVersion;
    0, 1,

//  WORD fwProperties1;
#ifdef UNICODE
    IMEPROP_UNICODE|
#endif
    IMEPROP_CAND_NOBEEP_GUIDELINE,

//  WORD fwProperties2;
    0x0000,

//  WORD nMaxkey;
    4,

//  WORD nSeqCode;
    0x2A,

//  WORD fChooseChar[6]; bit 15 -> 0xF, bit 0 -> 0x0
    // when this bit == 1, this char can be entered in choosing candidates
    //  20-2F          /.-, +*)(  '&%$ #"!
        0xF001,     // 1111 0000  0000 0001

    //  30-3F          ?>=< ;:98  7654 3210
        0xDBFF,     // 1101 1011  1111 1111

    //  40-4F          ONML KJIH  GFED CBA@
        0xFFFE,     // 1111 1111  1111 1110

    //  50-5f          _^]\ [ZYX  WVUT SRQP
        0x07FF,     // 0000 0111  1111 1111

    //  60-6F          onml kjih  gfed cba`
        0x0000,     // 0000 0000  0000 0000

    //  70-7F          ~}| {zyx  wvut srqp
        0x0000,     // 0000 0000  0000 0000

//  WORD wReserved1[2];
    0x0000, 0x0000,

//  WORD fCompChar[6]; bit 15 -> 0xF, bit 0 -> 0x0
    // when this bit == 1, this char can be entered in composing char
    //  20-2F          /.-, +*)(  '&%$ #"!
        0xF001,     // 1111 0000  0000 0001

    //  30-3F          ?>=< ;:98  7654 3210
        0x0BFF,     // 0000 1011  1111 1111

    //  40-4F          ONML KJIH  GFED CBA@
        0xFFFE,     // 1111 1111  1111 1110

    //  50-5f          _^]\ [ZYX  WVUT SRQP
        0x07FF,     // 0000 0111  1111 1111

    //  60-6F          onml kjih  gfed cba`
        0x0000,     // 0000 0000  0000 0000

    //  70-7F          ~}| {zyx  wvut srqp
        0x0000,     // 0000 0000  0000 0000

//  WORD wReserved2[2];
    0x0000, 0x0000,

//  WORD wCandPerPage;
    0x0009,

//  WORD wCandStart;
    0x0001,

//  WORD wCandRangeStart;
    0x0001,

//  WORD wReserved3[1];
    0x0000,

//  WORD wSeq2CompTbl[64];
    //   0 1 2 3 4 5 6 7 8 9 A B C D E F - sequence code
#ifdef UNICODE
       0x3000, 0x3105, 0x3106, 0x3107, 0x3108, 0x3109, 0x310A, 0x310B,
       0x310C, 0x310D, 0x310E, 0x310F, 0x3110, 0x3111, 0x3112, 0x3113,
#else
        "¡@£t£u£v£w£x£y£z£{£|£}£~£¡£¢£££¤", // comp char
    // 0x40A1, 0x74A3, 0x75A3, 0x76A3, 0x77A3, 0x78A3, 0x79A3, 0x7AA3,
    // 0x7BA3, 0x7CA3, 0x7DA3, 0x7EA3, 0xA1A3, 0xA2A3, 0xA3A3, 0xA4A3,
#endif

    //   101112131415161718191A1B1C1D1E1F
#ifdef UNICODE
       0x3114, 0x3115, 0x3116, 0x3117, 0x3118, 0x3119, 0x3127, 0x3128,
       0x3129, 0x311A, 0x311B, 0x311C, 0x311D, 0x311E, 0x311F, 0x3120,
#else
        "£¥£¦£§£¨£©£ª£¸£¹£º£«£¬£­£®£¯£°£±",
    // 0xA5A3, 0xA6A3, 0xA7A3, 0xA8A3, 0xA9A3, 0xAAA3, 0xB8A3, 0xB9A3,
    // 0xBAA3, 0xABA3, 0xACA3, 0xADA3, 0xAEA3, 0xAFA3, 0xB0A3, 0xB1A3,
#endif

    //   202122232425262728292A2B2C2D2E2F
#ifdef UNICODE
       0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126, 0x02C9, 0x02CA,
       0x02C7, 0x02CB, 0x02D9, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000,
#else
        "£²£³£´£µ£¶£·£¼£½£¾£¿£»¡@¡@¡@¡@¡@",
    // 0xB2A3, 0xB3A3, 0xB4A3, 0xB5A3, 0xB6A3, 0xB7A3, 0xBCA3, 0xBDA3,
    // 0xBEA3, 0xBFA3, 0xBBA3, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1,
#endif

    //   30 - 3F
#ifdef UNICODE
       0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000,
       0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000,
#else
        "¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@",
    // 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1,
    // 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1, 0x40A1,
#endif

//  WORD wChar2SeqTbl[0x42];
    //  ' '   !     "     #     $     %     &     ' - char code
        0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // sequence code

    //  (     )     *     +     ,     -     .     /
        0x00, 0x00, 0x00, 0x00, 0x1C, 0x25, 0x20, 0x24,

    //  0     1     2     3     4     5     6     7
        0x21, 0x01, 0x05, 0x28, 0x29, 0x0F, 0x27, 0x2A,

    //  8     9     :     ;     <     =     >     ?
        0x19, 0x1D, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00,

    //  @     A     B     C     D     E     F     G
        0x00, 0x03, 0x12, 0x0B, 0x0A, 0x09, 0x0D, 0x11,

    //  H     I     J     K     L     M     N     O
        0x14, 0x1A, 0x17, 0x1B, 0x1F, 0x18, 0x15, 0x1E,

    //  P     Q     R     S     T     U     V     W
        0x22, 0x02, 0X0C, 0x07, 0x10, 0x16, 0x0E, 0x06,

    //  X     Y     Z     [     \     ]     ^     _ 
        0x08, 0x13, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,

    //  `     a
        0x00, 0x00,
END


IDRC_TABLEFILES     RCDATA
BEGIN
#ifdef UNICODE
// szTblFile[4][16]
    L"PHON.TBL\0 123456",                L"PHONPTR.TBL\0 456",
    L"PHONCODE.TBL\0 56",                L"\0 34567890123456",
#else
// szTblFile[4][32]
    "PHON.TBL\0 1234567890123456789012", "PHONPTR.TBL\0 4567890123456789012",
    "PHONCODE.TBL\0 567890123456789012", "\0 345678901234567890123456789012",
#endif
END


STRINGTABLE
BEGIN
    IDS_IMENAME,          "Phonetic"
    IDS_IMEUICLASS,       "PHON"
    IDS_IMECOMPCLASS,     "CompPHON"
    IDS_IMECANDCLASS,     "CandPHON"
    IDS_IMESTATUSCLASS,   "StatusPHON"
    IDS_IMEOFFCARETCLASS, "OffPHON"
    IDS_IMECMENUCLASS,    "CMenuPHON"
END


// dialog to change configuration
IDDG_IME_CONFIG DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 40, 200, 190
CAPTION "Change Configuration"
STYLE WS_CAPTION|WS_POPUP|DS_MODALFRAME|DS_3DLOOK|DS_CENTER|WS_SYSMENU
BEGIN
    GROUPBOX      "keyboard mapping selection", -1, 10, 8, 180, 44
    CONTROL       "&Standard", IDD_DEFAULT_KB,
                  "Button", BS_AUTORADIOBUTTON|WS_GROUP|WS_TABSTOP, 16, 20, 68, 14
    CONTROL       "&ETen", IDD_ETEN_KB,
                  "Button", BS_AUTORADIOBUTTON|WS_TABSTOP, 16, 36, 68, 14
    CONTROL       "&IBM", IDD_IBM_KB,
                  "Button", BS_AUTORADIOBUTTON|WS_TABSTOP, 106, 20, 68, 14
    CONTROL       "Ching&Yeah", IDD_CHING_KB,
                  "Button", BS_AUTORADIOBUTTON|WS_TABSTOP, 106, 36, 68, 14
#if defined(ETEN)   // ETen told us 26 Keys is its Copy Right
    CONTROL       "ETen &26 Key", IDD_ETEN26_KB,
                  "Button", BS_AUTORADIOBUTTON|WS_TABSTOP, 16, 84, 84, 14
#endif
    LTEXT         "Reverse conversion Input Method :", -1, 10, 64, 180, 14
    LISTBOX       IDD_LAYOUT_LIST, 10, 80, 180, 48, WS_VSCROLL|WS_TABSTOP
    CHECKBOX      "Caret &Unrelated user interface", IDD_OFF_CARET_UI, 28, 134, 120, 14, BS_AUTOCHECKBOX|WS_TABSTOP
    CHECKBOX      "&Phrase prediction", IDD_PREDICT, 28, 150, 70, 14, BS_AUTOCHECKBOX|WS_TABSTOP
//  CHECKBOX      "&Quick key", IDD_QUICK_KEY, 110, 150, 60, 14, BS_AUTOCHECKBOX|WS_GROUP|WS_TABSTOP
    DEFPUSHBUTTON "&OK", IDOK, 40, 170, 40, 14, WS_GROUP|WS_TABSTOP
    PUSHBUTTON    "&Cancel", IDCANCEL, 120, 170, 40, 14, WS_TABSTOP
END
