(u'-', (u'…', u'—', u'-', u'¯', u'﹉', u' ̄', u'﹊', u'ˍ', u'–', u'‥',)),
(u'.', (u'。', u'·', u'‧', u'﹒', u'.',)),
(u'/', (u'/', u'÷', u'↗', u'↙', u'∕',)),
- (u'0', (u'0',)),
- (u'1', (u'1',)),
- (u'2', (u'2',)),
- (u'3', (u'3',)),
- (u'4', (u'4',)),
- (u'5', (u'5',)),
- (u'6', (u'6',)),
- (u'7', (u'7',)),
- (u'8', (u'8',)),
- (u'9', (u'9',)),
+ (u'0', (u'0', u'0')),
+ (u'1', (u'1', u'1')),
+ (u'2', (u'2', u'2')),
+ (u'3', (u'3', u'3')),
+ (u'4', (u'4', u'4')),
+ (u'5', (u'5', u'5')),
+ (u'6', (u'6', u'6')),
+ (u'7', (u'7', u'7')),
+ (u'8', (u'8', u'8')),
+ (u'9', (u'9', u'9')),
(u':', (u':', u'︰', u'﹕',)),
(u';', (u';', u'﹔',)),
(u'<', (u'<', u'〈', u'《', u'︽', u'︿', u'﹤',)),
(u'>', (u'>', u'〉', u'》', u'︾', u'﹀', u'﹥',)),
(u'?', (u'?', u'﹖', u'⁇', u'⁈',)),
(u'@', (u'@', u'⊕', u'⊙', u'㊣', u'﹫', u'◉', u'◎',)),
- (u'A', (u'A',)),
- (u'B', (u'B',)),
- (u'C', (u'C',)),
- (u'D', (u'D',)),
- (u'E', (u'E',)),
- (u'F', (u'F',)),
- (u'G', (u'G',)),
- (u'H', (u'H',)),
- (u'I', (u'I',)),
- (u'J', (u'J',)),
- (u'K', (u'K',)),
- (u'L', (u'L',)),
- (u'M', (u'M',)),
- (u'N', (u'N',)),
- (u'O', (u'O',)),
- (u'P', (u'P',)),
- (u'Q', (u'Q',)),
- (u'R', (u'R',)),
- (u'S', (u'S',)),
- (u'T', (u'T',)),
- (u'U', (u'U',)),
- (u'V', (u'V',)),
- (u'W', (u'W',)),
- (u'X', (u'X',)),
- (u'Y', (u'Y',)),
- (u'Z', (u'Z',)),
+ (u'A', (u'A', u'A')),
+ (u'B', (u'B', u'B')),
+ (u'C', (u'C', u'C')),
+ (u'D', (u'D', u'D')),
+ (u'E', (u'E', u'E')),
+ (u'F', (u'F', u'F')),
+ (u'G', (u'G', u'G')),
+ (u'H', (u'H', u'H')),
+ (u'I', (u'I', u'I')),
+ (u'J', (u'J', u'J')),
+ (u'K', (u'K', u'K')),
+ (u'L', (u'L', u'L')),
+ (u'M', (u'M', u'M')),
+ (u'N', (u'N', u'N')),
+ (u'O', (u'O', u'O')),
+ (u'P', (u'P', u'P')),
+ (u'Q', (u'Q', u'Q')),
+ (u'R', (u'R', u'R')),
+ (u'S', (u'S', u'S')),
+ (u'T', (u'T', u'T')),
+ (u'U', (u'U', u'U')),
+ (u'V', (u'V', u'V')),
+ (u'W', (u'W', u'W')),
+ (u'X', (u'X', u'X')),
+ (u'Y', (u'Y', u'Y')),
+ (u'Z', (u'Z', u'Z')),
(u'[', (u'「', u'[', u'『', u'【', u'「', u'︻', u'﹁', u'﹃',)),
(u'\\', (u'\', u'↖', u'↘', u'﹨',)),
(u']', (u'」', u']', u'』', u'】', u'」', u'︼', u'﹂', u'﹄',)),
(u'^', (u'︿', u'〈', u'《', u'︽', u'﹤', u'<',)),
(u'_', (u'_', u'╴', u'←', u'→',)),
(u'`', (u'‵', u'′',)),
- (u'a', (u'a',)),
- (u'b', (u'b',)),
- (u'c', (u'c',)),
- (u'd', (u'd',)),
- (u'e', (u'e',)),
- (u'f', (u'f',)),
- (u'g', (u'g',)),
- (u'h', (u'h',)),
- (u'i', (u'i',)),
- (u'j', (u'j',)),
- (u'k', (u'k',)),
- (u'l', (u'l',)),
- (u'm', (u'm',)),
- (u'n', (u'n',)),
- (u'o', (u'o',)),
- (u'p', (u'p',)),
- (u'q', (u'q',)),
- (u'r', (u'r',)),
- (u's', (u's',)),
- (u't', (u't',)),
- (u'u', (u'u',)),
- (u'v', (u'v',)),
- (u'w', (u'w',)),
- (u'x', (u'x',)),
- (u'y', (u'y',)),
- (u'z', (u'z',)),
+ (u'a', (u'a', u'a')),
+ (u'b', (u'b', u'b')),
+ (u'c', (u'c', u'c')),
+ (u'd', (u'd', u'd')),
+ (u'e', (u'e', u'e')),
+ (u'f', (u'f', u'f')),
+ (u'g', (u'g', u'g')),
+ (u'h', (u'h', u'h')),
+ (u'i', (u'i', u'i')),
+ (u'j', (u'j', u'j')),
+ (u'k', (u'k', u'k')),
+ (u'l', (u'l', u'l')),
+ (u'm', (u'm', u'm')),
+ (u'n', (u'n', u'n')),
+ (u'o', (u'o', u'o')),
+ (u'p', (u'p', u'p')),
+ (u'q', (u'q', u'q')),
+ (u'r', (u'r', u'r')),
+ (u's', (u's', u's')),
+ (u't', (u't', u't')),
+ (u'u', (u'u', u'u')),
+ (u'v', (u'v', u'v')),
+ (u'w', (u'w', u'w')),
+ (u'x', (u'x', u'x')),
+ (u'y', (u'y', u'y')),
+ (u'z', (u'z', u'z')),
(u'{', (u'{', u'︷', u'﹛', u'〔', u'﹝', u'︹',)),
(u'|', (u'|', u'↑', u'↓', u'∣', u'∥', u'︱', u'︳', u'︴', u'¦',)),
(u'}', (u'}', u'︸', u'﹜', u'〕', u'﹞', u'︺',)),
#include <libintl.h>
#include <string>
#include <cstdlib>
-#include <ibus.h>
#include "RawEditor.h"
#include "PunctEditor.h"
#include "ExtEditor.h"
enum {
MODE_INIT = 0, // init mode
+ MODE_PUNCT, // punct mode
MODE_RAW, // raw mode
#if 0
MODE_ENGLISH, // press v into English input mode
"-", "…", "—", "-", "¯", "﹉", " ̄", "﹊", "ˍ", "–", "‥", NULL,
".", "。", "·", "‧", "﹒", ".", NULL,
"/", "/", "÷", "↗", "↙", "∕", NULL,
- "0", "0", NULL,
- "1", "1", NULL,
- "2", "2", NULL,
- "3", "3", NULL,
- "4", "4", NULL,
- "5", "5", NULL,
- "6", "6", NULL,
- "7", "7", NULL,
- "8", "8", NULL,
- "9", "9", NULL,
+ "0", "0", "0", NULL,
+ "1", "1", "1", NULL,
+ "2", "2", "2", NULL,
+ "3", "3", "3", NULL,
+ "4", "4", "4", NULL,
+ "5", "5", "5", NULL,
+ "6", "6", "6", NULL,
+ "7", "7", "7", NULL,
+ "8", "8", "8", NULL,
+ "9", "9", "9", NULL,
":", ":", "︰", "﹕", NULL,
";", ";", "﹔", NULL,
"<", "<", "〈", "《", "︽", "︿", "﹤", NULL,
">", ">", "〉", "》", "︾", "﹀", "﹥", NULL,
"?", "?", "﹖", "⁇", "⁈", NULL,
"@", "@", "⊕", "⊙", "㊣", "﹫", "◉", "◎", NULL,
- "A", "A", NULL,
- "B", "B", NULL,
- "C", "C", NULL,
- "D", "D", NULL,
- "E", "E", NULL,
- "F", "F", NULL,
- "G", "G", NULL,
- "H", "H", NULL,
- "I", "I", NULL,
- "J", "J", NULL,
- "K", "K", NULL,
- "L", "L", NULL,
- "M", "M", NULL,
- "N", "N", NULL,
- "O", "O", NULL,
- "P", "P", NULL,
- "Q", "Q", NULL,
- "R", "R", NULL,
- "S", "S", NULL,
- "T", "T", NULL,
- "U", "U", NULL,
- "V", "V", NULL,
- "W", "W", NULL,
- "X", "X", NULL,
- "Y", "Y", NULL,
- "Z", "Z", NULL,
+ "A", "A", "A", NULL,
+ "B", "B", "B", NULL,
+ "C", "C", "C", NULL,
+ "D", "D", "D", NULL,
+ "E", "E", "E", NULL,
+ "F", "F", "F", NULL,
+ "G", "G", "G", NULL,
+ "H", "H", "H", NULL,
+ "I", "I", "I", NULL,
+ "J", "J", "J", NULL,
+ "K", "K", "K", NULL,
+ "L", "L", "L", NULL,
+ "M", "M", "M", NULL,
+ "N", "N", "N", NULL,
+ "O", "O", "O", NULL,
+ "P", "P", "P", NULL,
+ "Q", "Q", "Q", NULL,
+ "R", "R", "R", NULL,
+ "S", "S", "S", NULL,
+ "T", "T", "T", NULL,
+ "U", "U", "U", NULL,
+ "V", "V", "V", NULL,
+ "W", "W", "W", NULL,
+ "X", "X", "X", NULL,
+ "Y", "Y", "Y", NULL,
+ "Z", "Z", "Z", NULL,
"[", "「", "[", "『", "【", "「", "︻", "﹁", "﹃", NULL,
"\\", "\", "↖", "↘", "﹨", NULL,
"]", "」", "]", "』", "】", "」", "︼", "﹂", "﹄", NULL,
"^", "︿", "〈", "《", "︽", "﹤", "<", NULL,
"_", "_", "╴", "←", "→", NULL,
"`", "‵", "′", NULL,
- "a", "a", NULL,
- "b", "b", NULL,
- "c", "c", NULL,
- "d", "d", NULL,
- "e", "e", NULL,
- "f", "f", NULL,
- "g", "g", NULL,
- "h", "h", NULL,
- "i", "i", NULL,
- "j", "j", NULL,
- "k", "k", NULL,
- "l", "l", NULL,
- "m", "m", NULL,
- "n", "n", NULL,
- "o", "o", NULL,
- "p", "p", NULL,
- "q", "q", NULL,
- "r", "r", NULL,
- "s", "s", NULL,
- "t", "t", NULL,
- "u", "u", NULL,
- "v", "v", NULL,
- "w", "w", NULL,
- "x", "x", NULL,
- "y", "y", NULL,
- "z", "z", NULL,
+ "a", "a", "a", NULL,
+ "b", "b", "b", NULL,
+ "c", "c", "c", NULL,
+ "d", "d", "d", NULL,
+ "e", "e", "e", NULL,
+ "f", "f", "f", NULL,
+ "g", "g", "g", NULL,
+ "h", "h", "h", NULL,
+ "i", "i", "i", NULL,
+ "j", "j", "j", NULL,
+ "k", "k", "k", NULL,
+ "l", "l", "l", NULL,
+ "m", "m", "m", NULL,
+ "n", "n", "n", NULL,
+ "o", "o", "o", NULL,
+ "p", "p", "p", NULL,
+ "q", "q", "q", NULL,
+ "r", "r", "r", NULL,
+ "s", "s", "s", NULL,
+ "t", "t", "t", NULL,
+ "u", "u", "u", NULL,
+ "v", "v", "v", NULL,
+ "w", "w", "w", NULL,
+ "x", "x", "x", NULL,
+ "y", "y", "y", NULL,
+ "z", "z", "z", NULL,
"{", "{", "︷", "﹛", "〔", "﹝", "︹", NULL,
"|", "|", "↑", "↓", "∣", "∥", "︱", "︳", "︴", "¦", NULL,
"}", "}", "︸", "﹜", "〕", "﹞", "︺", NULL,
&puncts[96], // "."
&puncts[103], // "/"
&puncts[110], // "0"
- &puncts[113], // "1"
- &puncts[116], // "2"
- &puncts[119], // "3"
- &puncts[122], // "4"
- &puncts[125], // "5"
- &puncts[128], // "6"
- &puncts[131], // "7"
- &puncts[134], // "8"
- &puncts[137], // "9"
- &puncts[140], // ":"
- &puncts[145], // ";"
- &puncts[149], // "<"
- &puncts[157], // "="
- &puncts[166], // ">"
- &puncts[174], // "?"
- &puncts[180], // "@"
- &puncts[189], // "A"
- &puncts[192], // "B"
- &puncts[195], // "C"
- &puncts[198], // "D"
- &puncts[201], // "E"
- &puncts[204], // "F"
- &puncts[207], // "G"
- &puncts[210], // "H"
- &puncts[213], // "I"
- &puncts[216], // "J"
- &puncts[219], // "K"
- &puncts[222], // "L"
- &puncts[225], // "M"
- &puncts[228], // "N"
- &puncts[231], // "O"
- &puncts[234], // "P"
- &puncts[237], // "Q"
- &puncts[240], // "R"
- &puncts[243], // "S"
- &puncts[246], // "T"
- &puncts[249], // "U"
- &puncts[252], // "V"
- &puncts[255], // "W"
- &puncts[258], // "X"
- &puncts[261], // "Y"
- &puncts[264], // "Z"
- &puncts[267], // "["
- &puncts[277], // "\\"
- &puncts[283], // "]"
- &puncts[293], // "^"
- &puncts[301], // "_"
- &puncts[307], // "`"
- &puncts[311], // "a"
- &puncts[314], // "b"
- &puncts[317], // "c"
- &puncts[320], // "d"
- &puncts[323], // "e"
- &puncts[326], // "f"
- &puncts[329], // "g"
- &puncts[332], // "h"
- &puncts[335], // "i"
- &puncts[338], // "j"
- &puncts[341], // "k"
- &puncts[344], // "l"
- &puncts[347], // "m"
- &puncts[350], // "n"
- &puncts[353], // "o"
- &puncts[356], // "p"
- &puncts[359], // "q"
- &puncts[362], // "r"
- &puncts[365], // "s"
- &puncts[368], // "t"
- &puncts[371], // "u"
- &puncts[374], // "v"
- &puncts[377], // "w"
- &puncts[380], // "x"
- &puncts[383], // "y"
- &puncts[386], // "z"
- &puncts[389], // "{"
- &puncts[397], // "|"
- &puncts[408], // "}"
- &puncts[416], // "~"
+ &puncts[114], // "1"
+ &puncts[118], // "2"
+ &puncts[122], // "3"
+ &puncts[126], // "4"
+ &puncts[130], // "5"
+ &puncts[134], // "6"
+ &puncts[138], // "7"
+ &puncts[142], // "8"
+ &puncts[146], // "9"
+ &puncts[150], // ":"
+ &puncts[155], // ";"
+ &puncts[159], // "<"
+ &puncts[167], // "="
+ &puncts[176], // ">"
+ &puncts[184], // "?"
+ &puncts[190], // "@"
+ &puncts[199], // "A"
+ &puncts[203], // "B"
+ &puncts[207], // "C"
+ &puncts[211], // "D"
+ &puncts[215], // "E"
+ &puncts[219], // "F"
+ &puncts[223], // "G"
+ &puncts[227], // "H"
+ &puncts[231], // "I"
+ &puncts[235], // "J"
+ &puncts[239], // "K"
+ &puncts[243], // "L"
+ &puncts[247], // "M"
+ &puncts[251], // "N"
+ &puncts[255], // "O"
+ &puncts[259], // "P"
+ &puncts[263], // "Q"
+ &puncts[267], // "R"
+ &puncts[271], // "S"
+ &puncts[275], // "T"
+ &puncts[279], // "U"
+ &puncts[283], // "V"
+ &puncts[287], // "W"
+ &puncts[291], // "X"
+ &puncts[295], // "Y"
+ &puncts[299], // "Z"
+ &puncts[303], // "["
+ &puncts[313], // "\\"
+ &puncts[319], // "]"
+ &puncts[329], // "^"
+ &puncts[337], // "_"
+ &puncts[343], // "`"
+ &puncts[347], // "a"
+ &puncts[351], // "b"
+ &puncts[355], // "c"
+ &puncts[359], // "d"
+ &puncts[363], // "e"
+ &puncts[367], // "f"
+ &puncts[371], // "g"
+ &puncts[375], // "h"
+ &puncts[379], // "i"
+ &puncts[383], // "j"
+ &puncts[387], // "k"
+ &puncts[391], // "l"
+ &puncts[395], // "m"
+ &puncts[399], // "n"
+ &puncts[403], // "o"
+ &puncts[407], // "p"
+ &puncts[411], // "q"
+ &puncts[415], // "r"
+ &puncts[419], // "s"
+ &puncts[423], // "t"
+ &puncts[427], // "u"
+ &puncts[431], // "v"
+ &puncts[435], // "w"
+ &puncts[439], // "x"
+ &puncts[443], // "y"
+ &puncts[447], // "z"
+ &puncts[451], // "{"
+ &puncts[459], // "|"
+ &puncts[470], // "}"
+ &puncts[478], // "~"
};