1 static const ucschar hangul_keyboard_table_2[] = { 2 0x0000, /* 0x00 null */ 3 0x0000, /* 0x01 start of heading */ 4 0x0000, /* 0x02 start of text */ 5 0x0000, /* 0x03 end of text */ 6 0x0000, /* 0x04 end of transmission */ 7 0x0000, /* 0x05 enquiry */ 8 0x0000, /* 0x06 acknowledge */ 9 0x0000, /* 0x07 bell */ 10 0x0000, /* 0x08 backspace */ 11 0x0000, /* 0x09 character tabulation */ 12 0x0000, /* 0x0A line feed (lf) */ 13 0x0000, /* 0x0B line tabulation */ 14 0x0000, /* 0x0C form feed (ff) */ 15 0x0000, /* 0x0D carriage return (cr) */ 16 0x0000, /* 0x0E shift out */ 17 0x0000, /* 0x0F shift in */ 18 0x0000, /* 0x10 data link escape */ 19 0x0000, /* 0x11 device control one */ 20 0x0000, /* 0x12 device control two */ 21 0x0000, /* 0x13 device control three */ 22 0x0000, /* 0x14 device control four */ 23 0x0000, /* 0x15 negative acknowledge */ 24 0x0000, /* 0x16 synchronous idle */ 25 0x0000, /* 0x17 end of transmission block */ 26 0x0000, /* 0x18 cancel */ 27 0x0000, /* 0x19 end of medium */ 28 0x0000, /* 0x1A substitute */ 29 0x0000, /* 0x1B escape */ 30 0x0000, /* 0x1C information separator four */ 31 0x0000, /* 0x1D information separator three */ 32 0x0000, /* 0x1E information separator two */ 33 0x0000, /* 0x1F information separator one */ 34 0x0000, /* 0x20 space */ 35 0x0021, /* 0x21 exclam: exclamation mark */ 36 0x0022, /* 0x22 quotedbl: quotation mark */ 37 0x0023, /* 0x23 numbersign: number sign */ 38 0x0024, /* 0x24 dollar: dollar sign */ 39 0x0025, /* 0x25 percent: percent sign */ 40 0x0026, /* 0x26 ampersand: ampersand */ 41 0x0027, /* 0x27 apostrophe: apostrophe */ 42 0x0028, /* 0x28 parenleft: left parenthesis */ 43 0x0029, /* 0x29 parenright: right parenthesis */ 44 0x002a, /* 0x2A asterisk: asterisk */ 45 0x002b, /* 0x2B plus: plus sign */ 46 0x002c, /* 0x2C comma: comma */ 47 0x002d, /* 0x2D minus: minus sign */ 48 0x002e, /* 0x2E period: period */ 49 0x002f, /* 0x2F slash: slash */ 50 0x0030, /* 0x30 0: 0 */ 51 0x0031, /* 0x31 1: 1 */ 52 0x0032, /* 0x32 2: 2 */ 53 0x0033, /* 0x33 3: 3 */ 54 0x0034, /* 0x34 4: 4 */ 55 0x0035, /* 0x35 5: 5 */ 56 0x0036, /* 0x36 6: 6 */ 57 0x0037, /* 0x37 7: 7 */ 58 0x0038, /* 0x38 8: 8 */ 59 0x0039, /* 0x39 9: 9 */ 60 0x003a, /* 0x3A colon: colon */ 61 0x003b, /* 0x3B semicolon: semicolon */ 62 0x003c, /* 0x3C less: less-than sign */ 63 0x003d, /* 0x3D equal: equals sign */ 64 0x003e, /* 0x3E greater: greater-than sign */ 65 0x003f, /* 0x3F question: question mark */ 66 0x0040, /* 0x40 at: commercial at */ 67 0x1106, /* 0x41 A: choseong mieum */ 68 0x1172, /* 0x42 B: jungseong yu */ 69 0x110e, /* 0x43 C: choseong chieuch */ 70 0x110b, /* 0x44 D: choseong ieung */ 71 0x1104, /* 0x45 E: choseong ssangtikeut */ 72 0x1105, /* 0x46 F: choseong rieul */ 73 0x1112, /* 0x47 G: choseong hieuh */ 74 0x1169, /* 0x48 H: jungseong o */ 75 0x1163, /* 0x49 I: jungseong ya */ 76 0x1165, /* 0x4A J: jungseong eo */ 77 0x1161, /* 0x4B K: jungseong a */ 78 0x1175, /* 0x4C L: jungseong i */ 79 0x1173, /* 0x4D M: jungseong eu */ 80 0x116e, /* 0x4E N: jungseong u */ 81 0x1164, /* 0x4F O: jungseong yae */ 82 0x1168, /* 0x50 P: jungseong ye */ 83 0x1108, /* 0x51 Q: choseong ssangpieup */ 84 0x1101, /* 0x52 R: choseong ssangkiyeok */ 85 0x1102, /* 0x53 S: choseong nieun */ 86 0x110a, /* 0x54 T: choseong ssangsios */ 87 0x1167, /* 0x55 U: jungseong yeo */ 88 0x1111, /* 0x56 V: choseong phieuph */ 89 0x110d, /* 0x57 W: choseong ssangcieuc */ 90 0x1110, /* 0x58 X: choseong thieuth */ 91 0x116d, /* 0x59 Y: jungseong yo */ 92 0x110f, /* 0x5A Z: choseong khieukh */ 93 0x005b, /* 0x5B bracketleft: left bracket */ 94 0x005c, /* 0x5C backslash: backslash */ 95 0x005d, /* 0x5D bracketright: right bracket */ 96 0x005e, /* 0x5E asciicircum: circumflex accent */ 97 0x005f, /* 0x5F underscore: underscore */ 98 0x0060, /* 0x60 quoteleft: grave accent */ 99 0x1106, /* 0x61 a: choseong mieum */ 100 0x1172, /* 0x62 b: jungseong yu */ 101 0x110e, /* 0x63 c: choseong chieuch */ 102 0x110b, /* 0x64 d: choseong ieung */ 103 0x1103, /* 0x65 e: choseong tikeut */ 104 0x1105, /* 0x66 f: choseong rieul */ 105 0x1112, /* 0x67 g: choseong hieuh */ 106 0x1169, /* 0x68 h: jungseong o */ 107 0x1163, /* 0x69 i: jungseong ya */ 108 0x1165, /* 0x6A j: jungseong eo */ 109 0x1161, /* 0x6B k: jungseong a */ 110 0x1175, /* 0x6C l: jungseong i */ 111 0x1173, /* 0x6D m: jungseong eu */ 112 0x116e, /* 0x6E n: jungseong u */ 113 0x1162, /* 0x6F o: jungseong ae */ 114 0x1166, /* 0x70 p: jungseong e */ 115 0x1107, /* 0x71 q: choseong pieup */ 116 0x1100, /* 0x72 r: choseong kiyeok */ 117 0x1102, /* 0x73 s: choseong nieun */ 118 0x1109, /* 0x74 t: choseong sios */ 119 0x1167, /* 0x75 u: jungseong yeo */ 120 0x1111, /* 0x76 v: choseong phieuph */ 121 0x110c, /* 0x77 w: choseong cieuc */ 122 0x1110, /* 0x78 x: choseong thieuth */ 123 0x116d, /* 0x79 y: jungseong yo */ 124 0x110f, /* 0x7A z: choseong khieukh */ 125 0x007b, /* 0x7B braceleft: left brace */ 126 0x007c, /* 0x7C bar: vertical bar */ 127 0x007d, /* 0x7D braceright: right brace */ 128 0x007e, /* 0x7E asciitilde: tilde */ 129 0x0000 /* 0x7F delete */ 130 }; 131 132 static const ucschar hangul_keyboard_table_2y[] = { 133 0x0000, /* 0x00 null */ 134 0x0000, /* 0x01 start of heading */ 135 0x0000, /* 0x02 start of text */ 136 0x0000, /* 0x03 end of text */ 137 0x0000, /* 0x04 end of transmission */ 138 0x0000, /* 0x05 enquiry */ 139 0x0000, /* 0x06 acknowledge */ 140 0x0000, /* 0x07 bell */ 141 0x0000, /* 0x08 backspace */ 142 0x0000, /* 0x09 character tabulation */ 143 0x0000, /* 0x0A line feed (lf) */ 144 0x0000, /* 0x0B line tabulation */ 145 0x0000, /* 0x0C form feed (ff) */ 146 0x0000, /* 0x0D carriage return (cr) */ 147 0x0000, /* 0x0E shift out */ 148 0x0000, /* 0x0F shift in */ 149 0x0000, /* 0x10 data link escape */ 150 0x0000, /* 0x11 device control one */ 151 0x0000, /* 0x12 device control two */ 152 0x0000, /* 0x13 device control three */ 153 0x0000, /* 0x14 device control four */ 154 0x0000, /* 0x15 negative acknowledge */ 155 0x0000, /* 0x16 synchronous idle */ 156 0x0000, /* 0x17 end of transmission block */ 157 0x0000, /* 0x18 cancel */ 158 0x0000, /* 0x19 end of medium */ 159 0x0000, /* 0x1A substitute */ 160 0x0000, /* 0x1B escape */ 161 0x0000, /* 0x1C information separator four */ 162 0x0000, /* 0x1D information separator three */ 163 0x0000, /* 0x1E information separator two */ 164 0x0000, /* 0x1F information separator one */ 165 0x0000, /* 0x20 space */ 166 0x0021, /* 0x21 exclam: exclamation mark */ 167 0x0022, /* 0x22 quotedbl: quotation mark */ 168 0x0023, /* 0x23 numbersign: number sign */ 169 0x0024, /* 0x24 dollar: dollar sign */ 170 0x0025, /* 0x25 percent: percent sign */ 171 0x0026, /* 0x26 ampersand: ampersand */ 172 0x0027, /* 0x27 apostrophe: apostrophe */ 173 0x0028, /* 0x28 parenleft: left parenthesis */ 174 0x0029, /* 0x29 parenright: right parenthesis */ 175 0x002a, /* 0x2A asterisk: asterisk */ 176 0x002b, /* 0x2B plus: plus sign */ 177 0x002c, /* 0x2C comma: comma */ 178 0x002d, /* 0x2D minus: minus sign */ 179 0x002e, /* 0x2E period: period */ 180 0x002f, /* 0x2F slash: slash */ 181 0x0030, /* 0x30 0: 0 */ 182 0x0031, /* 0x31 1: 1 */ 183 0x0032, /* 0x32 2: 2 */ 184 0x0033, /* 0x33 3: 3 */ 185 0x0034, /* 0x34 4: 4 */ 186 0x0035, /* 0x35 5: 5 */ 187 0x0036, /* 0x36 6: 6 */ 188 0x0037, /* 0x37 7: 7 */ 189 0x0038, /* 0x38 8: 8 */ 190 0x0039, /* 0x39 9: 9 */ 191 0x003a, /* 0x3A colon: colon */ 192 0x003b, /* 0x3B semicolon: semicolon */ 193 0x003c, /* 0x3C less: less-than sign */ 194 0x003d, /* 0x3D equal: equals sign */ 195 0x003e, /* 0x3E greater: greater-than sign */ 196 0x003f, /* 0x3F question: question mark */ 197 0x0040, /* 0x40 at: commercial at */ 198 0x1140, /* 0x41 A: choseong pansios */ 199 0x1154, /* 0x42 B: choseong chitueumchieuch */ 200 0x114e, /* 0x43 C: choseong chitueumcieuc */ 201 0x114c, /* 0x44 D: choseong yesieung */ 202 0x1104, /* 0x45 E: choseong ssangtikeut */ 203 0x111a, /* 0x46 F: choseong rieul-hieuh */ 204 0x1159, /* 0x47 G: choseong yeorinhieuh */ 205 0x1183, /* 0x48 H: jungseong o-u */ 206 0x1163, /* 0x49 I: jungseong ya */ 207 0x1165, /* 0x4A J: jungseong eo */ 208 0x119e, /* 0x4B K: jungseong araea */ 209 0x1194, /* 0x4C L: jungseong yu-i */ 210 0x1173, /* 0x4D M: jungseong eu */ 211 0x1155, /* 0x4E N: choseong ceongchieumchieuch */ 212 0x1164, /* 0x4F O: jungseong yae */ 213 0x1168, /* 0x50 P: jungseong ye */ 214 0x1108, /* 0x51 Q: choseong ssangpieup */ 215 0x1101, /* 0x52 R: choseong ssangkiyeok */ 216 0x115d, /* 0x53 S: choseong nieun-hieuh */ 217 0x110a, /* 0x54 T: choseong ssangsios */ 218 0x1167, /* 0x55 U: jungseong yeo */ 219 0x1150, /* 0x56 V: choseong ceongchieumcieuc */ 220 0x110d, /* 0x57 W: choseong ssangcieuc */ 221 0x113e, /* 0x58 X: choseong ceongchieumsios */ 222 0x116d, /* 0x59 Y: jungseong yo */ 223 0x113c, /* 0x5A Z: choseong chitueumsios */ 224 0x005b, /* 0x5B bracketleft: left bracket */ 225 0x005c, /* 0x5C backslash: backslash */ 226 0x005d, /* 0x5D bracketright: right bracket */ 227 0x005e, /* 0x5E asciicircum: circumflex accent */ 228 0x005f, /* 0x5F underscore: underscore */ 229 0x0060, /* 0x60 quoteleft: grave accent */ 230 0x1106, /* 0x61 a: choseong mieum */ 231 0x1172, /* 0x62 b: jungseong yu */ 232 0x110e, /* 0x63 c: choseong chieuch */ 233 0x110b, /* 0x64 d: choseong ieung */ 234 0x1103, /* 0x65 e: choseong tikeut */ 235 0x1105, /* 0x66 f: choseong rieul */ 236 0x1112, /* 0x67 g: choseong hieuh */ 237 0x1169, /* 0x68 h: jungseong o */ 238 0x1163, /* 0x69 i: jungseong ya */ 239 0x1165, /* 0x6A j: jungseong eo */ 240 0x1161, /* 0x6B k: jungseong a */ 241 0x1175, /* 0x6C l: jungseong i */ 242 0x1173, /* 0x6D m: jungseong eu */ 243 0x116e, /* 0x6E n: jungseong u */ 244 0x1162, /* 0x6F o: jungseong ae */ 245 0x1166, /* 0x70 p: jungseong e */ 246 0x1107, /* 0x71 q: choseong pieup */ 247 0x1100, /* 0x72 r: choseong kiyeok */ 248 0x1102, /* 0x73 s: choseong nieun */ 249 0x1109, /* 0x74 t: choseong sios */ 250 0x1167, /* 0x75 u: jungseong yeo */ 251 0x1111, /* 0x76 v: choseong phieuph */ 252 0x110c, /* 0x77 w: choseong cieuc */ 253 0x1110, /* 0x78 x: choseong thieuth */ 254 0x116d, /* 0x79 y: jungseong yo */ 255 0x110f, /* 0x7A z: choseong khieukh */ 256 0x007b, /* 0x7B braceleft: left brace */ 257 0x007c, /* 0x7C bar: vertical bar */ 258 0x007d, /* 0x7D braceright: right brace */ 259 0x007e, /* 0x7E asciitilde: tilde */ 260 0x0000 /* 0x7F delete */ 261 }; 262 263 static const ucschar hangul_keyboard_table_32[] = { 264 0x0000, /* 0x00 null */ 265 0x0000, /* 0x01 start of heading */ 266 0x0000, /* 0x02 start of text */ 267 0x0000, /* 0x03 end of text */ 268 0x0000, /* 0x04 end of transmission */ 269 0x0000, /* 0x05 enquiry */ 270 0x0000, /* 0x06 acknowledge */ 271 0x0000, /* 0x07 bell */ 272 0x0000, /* 0x08 backspace */ 273 0x0000, /* 0x09 character tabulation */ 274 0x0000, /* 0x0A line feed (lf) */ 275 0x0000, /* 0x0B line tabulation */ 276 0x0000, /* 0x0C form feed (ff) */ 277 0x0000, /* 0x0D carriage return (cr) */ 278 0x0000, /* 0x0E shift out */ 279 0x0000, /* 0x0F shift in */ 280 0x0000, /* 0x10 data link escape */ 281 0x0000, /* 0x11 device control one */ 282 0x0000, /* 0x12 device control two */ 283 0x0000, /* 0x13 device control three */ 284 0x0000, /* 0x14 device control four */ 285 0x0000, /* 0x15 negative acknowledge */ 286 0x0000, /* 0x16 synchronous idle */ 287 0x0000, /* 0x17 end of transmission block */ 288 0x0000, /* 0x18 cancel */ 289 0x0000, /* 0x19 end of medium */ 290 0x0000, /* 0x1A substitute */ 291 0x0000, /* 0x1B escape */ 292 0x0000, /* 0x1C information separator four */ 293 0x0000, /* 0x1D information separator three */ 294 0x0000, /* 0x1E information separator two */ 295 0x0000, /* 0x1F information separator one */ 296 0x0000, /* 0x20 space */ 297 0x0021, /* 0x21 exclam: exclamation mark */ 298 0x0022, /* 0x22 quotedbl: quotation mark */ 299 0x0023, /* 0x23 numbersign: number sign */ 300 0x0024, /* 0x24 dollar: dollar sign */ 301 0x0025, /* 0x25 percent: percent sign */ 302 0x0026, /* 0x26 ampersand: ampersand */ 303 0x0027, /* 0x27 apostrophe: apostrophe */ 304 0x0028, /* 0x28 parenleft: left parenthesis */ 305 0x0029, /* 0x29 parenright: right parenthesis */ 306 0x002a, /* 0x2A asterisk: asterisk */ 307 0x002b, /* 0x2B plus: plus sign */ 308 0x002c, /* 0x2C comma: comma */ 309 0x002d, /* 0x2D minus: minus sign */ 310 0x002e, /* 0x2E period: period */ 311 0x002f, /* 0x2F slash: slash */ 312 0x0030, /* 0x30 0: 0 */ 313 0x0031, /* 0x31 1: 1 */ 314 0x0032, /* 0x32 2: 2 */ 315 0x0033, /* 0x33 3: 3 */ 316 0x0034, /* 0x34 4: 4 */ 317 0x0035, /* 0x35 5: 5 */ 318 0x0036, /* 0x36 6: 6 */ 319 0x0037, /* 0x37 7: 7 */ 320 0x0038, /* 0x38 8: 8 */ 321 0x0039, /* 0x39 9: 9 */ 322 0x003a, /* 0x3A colon: colon */ 323 0x003b, /* 0x3B semicolon: semicolon */ 324 0x003c, /* 0x3C less: less-than sign */ 325 0x003d, /* 0x3D equal: equals sign */ 326 0x003e, /* 0x3E greater: greater-than sign */ 327 0x003f, /* 0x3F question: question mark */ 328 0x0040, /* 0x40 at: commercial at */ 329 0x11b7, /* 0x41 A: jongseong mieum */ 330 0x1172, /* 0x42 B: jungseong yu */ 331 0x11be, /* 0x43 C: jongseong chieuch */ 332 0x11bc, /* 0x44 D: jongseong ieung */ 333 0x11ae, /* 0x45 E: jongseong tikeut */ 334 0x11af, /* 0x46 F: jongseong rieul */ 335 0x11c2, /* 0x47 G: jongseong hieuh */ 336 0x1169, /* 0x48 H: jungseong o */ 337 0x1163, /* 0x49 I: jungseong ya */ 338 0x1165, /* 0x4A J: jungseong eo */ 339 0x1161, /* 0x4B K: jungseong a */ 340 0x1175, /* 0x4C L: jungseong i */ 341 0x1173, /* 0x4D M: jungseong eu */ 342 0x116e, /* 0x4E N: jungseong u */ 343 0x1164, /* 0x4F O: jungseong yae */ 344 0x1168, /* 0x50 P: jungseong ye */ 345 0x11b8, /* 0x51 Q: jongseong pieup */ 346 0x11a8, /* 0x52 R: jongseong kiyeok */ 347 0x11ab, /* 0x53 S: jongseong nieun */ 348 0x11ba, /* 0x54 T: jongseong sios */ 349 0x1167, /* 0x55 U: jungseong yeo */ 350 0x11c1, /* 0x56 V: jongseong phieuph */ 351 0x11bd, /* 0x57 W: jongseong cieuc */ 352 0x11c0, /* 0x58 X: jongseong thieuth */ 353 0x116d, /* 0x59 Y: jungseong yo */ 354 0x11bf, /* 0x5A Z: jongseong khieukh */ 355 0x005b, /* 0x5B bracketleft: left bracket */ 356 0x005c, /* 0x5C backslash: backslash */ 357 0x005d, /* 0x5D bracketright: right bracket */ 358 0x005e, /* 0x5E asciicircum: circumflex accent */ 359 0x005f, /* 0x5F underscore: underscore */ 360 0x0060, /* 0x60 quoteleft: grave accent */ 361 0x1106, /* 0x61 a: choseong mieum */ 362 0x1172, /* 0x62 b: jungseong yu */ 363 0x110e, /* 0x63 c: choseong chieuch */ 364 0x110b, /* 0x64 d: choseong ieung */ 365 0x1103, /* 0x65 e: choseong tikeut */ 366 0x1105, /* 0x66 f: choseong rieul */ 367 0x1112, /* 0x67 g: choseong hieuh */ 368 0x1169, /* 0x68 h: jungseong o */ 369 0x1163, /* 0x69 i: jungseong ya */ 370 0x1165, /* 0x6A j: jungseong eo */ 371 0x1161, /* 0x6B k: jungseong a */ 372 0x1175, /* 0x6C l: jungseong i */ 373 0x1173, /* 0x6D m: jungseong eu */ 374 0x116e, /* 0x6E n: jungseong u */ 375 0x1162, /* 0x6F o: jungseong ae */ 376 0x1166, /* 0x70 p: jungseong e */ 377 0x1107, /* 0x71 q: choseong pieup */ 378 0x1100, /* 0x72 r: choseong kiyeok */ 379 0x1102, /* 0x73 s: choseong nieun */ 380 0x1109, /* 0x74 t: choseong sios */ 381 0x1167, /* 0x75 u: jungseong yeo */ 382 0x1111, /* 0x76 v: choseong phieuph */ 383 0x110c, /* 0x77 w: choseong cieuc */ 384 0x1110, /* 0x78 x: choseong thieuth */ 385 0x116d, /* 0x79 y: jungseong yo */ 386 0x110f, /* 0x7A z: choseong khieukh */ 387 0x007b, /* 0x7B braceleft: left brace */ 388 0x007c, /* 0x7C bar: vertical bar */ 389 0x007d, /* 0x7D braceright: right brace */ 390 0x203b, /* 0x7E asciitilde: tilde */ 391 0x0000 /* 0x7F delete */ 392 }; 393 394 static const ucschar hangul_keyboard_table_390[] = { 395 0x0000, /* 0x00 null */ 396 0x0000, /* 0x01 start of heading */ 397 0x0000, /* 0x02 start of text */ 398 0x0000, /* 0x03 end of text */ 399 0x0000, /* 0x04 end of transmission */ 400 0x0000, /* 0x05 enquiry */ 401 0x0000, /* 0x06 acknowledge */ 402 0x0000, /* 0x07 bell */ 403 0x0000, /* 0x08 backspace */ 404 0x0000, /* 0x09 character tabulation */ 405 0x0000, /* 0x0A line feed (lf) */ 406 0x0000, /* 0x0B line tabulation */ 407 0x0000, /* 0x0C form feed (ff) */ 408 0x0000, /* 0x0D carriage return (cr) */ 409 0x0000, /* 0x0E shift out */ 410 0x0000, /* 0x0F shift in */ 411 0x0000, /* 0x10 data link escape */ 412 0x0000, /* 0x11 device control one */ 413 0x0000, /* 0x12 device control two */ 414 0x0000, /* 0x13 device control three */ 415 0x0000, /* 0x14 device control four */ 416 0x0000, /* 0x15 negative acknowledge */ 417 0x0000, /* 0x16 synchronous idle */ 418 0x0000, /* 0x17 end of transmission block */ 419 0x0000, /* 0x18 cancel */ 420 0x0000, /* 0x19 end of medium */ 421 0x0000, /* 0x1A substitute */ 422 0x0000, /* 0x1B escape */ 423 0x0000, /* 0x1C information separator four */ 424 0x0000, /* 0x1D information separator three */ 425 0x0000, /* 0x1E information separator two */ 426 0x0000, /* 0x1F information separator one */ 427 0x0000, /* 0x20 space */ 428 0x11bd, /* 0x21 exclam: jongseong cieuc */ 429 0x0022, /* 0x22 quotedbl: quotatioin mark */ 430 0x0023, /* 0x23 numbersign: number sign */ 431 0x0024, /* 0x24 dollar: dollar sign */ 432 0x0025, /* 0x25 percent: percent sign */ 433 0x0026, /* 0x26 ampersand: ampersand */ 434 0x1110, /* 0x27 apostrophe: choseong thieuth */ 435 0x0028, /* 0x28 parenleft: left parenthesis */ 436 0x0029, /* 0x29 parenright: right parenthesis */ 437 0x002a, /* 0x2A asterisk: asterisk */ 438 0x002b, /* 0x2B plus: plus sign */ 439 0x002c, /* 0x2C comma: comma */ 440 0x002d, /* 0x2D minus: minus sign */ 441 0x002e, /* 0x2E period: period */ 442 0x1169, /* 0x2F slash: jungseong o */ 443 0x110f, /* 0x30 0: choseong khieukh */ 444 0x11c2, /* 0x31 1: jongseong hieuh */ 445 0x11bb, /* 0x32 2: jongseong ssangsios */ 446 0x11b8, /* 0x33 3: jongseong pieup */ 447 0x116d, /* 0x34 4: jungseong yo */ 448 0x1172, /* 0x35 5: jungseong yu */ 449 0x1163, /* 0x36 6: jungseong ya */ 450 0x1168, /* 0x37 7: jungseong ye */ 451 0x1174, /* 0x38 8: jungseong yi */ 452 0x116e, /* 0x39 9: jungseong u */ 453 0x003a, /* 0x3A colon: colon */ 454 0x1107, /* 0x3B semicolon: choseong pieup */ 455 0x0032, /* 0x3C less: 2 */ 456 0x003d, /* 0x3D equal: euals sign */ 457 0x0033, /* 0x3E greater: 3 */ 458 0x003f, /* 0x3F question: question mark */ 459 0x0040, /* 0x40 at: commertial at */ 460 0x11ae, /* 0x41 A: jongseong tikeut */ 461 0x0021, /* 0x42 B: exclamation mark */ 462 0x11b1, /* 0x43 C: jongseong rieul-mieum */ 463 0x11b0, /* 0x44 D: jongseong rieul-kiyeok */ 464 0x11bf, /* 0x45 E: jongseong khieukh */ 465 0x11a9, /* 0x46 F: jongseong ssangkiyeok */ 466 0x002f, /* 0x47 G: slash */ 467 0x0027, /* 0x48 H: apostrophe */ 468 0x0038, /* 0x49 I: 8 */ 469 0x0034, /* 0x4A J: 4 */ 470 0x0035, /* 0x4B K: 5 */ 471 0x0036, /* 0x4C L: 6 */ 472 0x0031, /* 0x4D M: 1 */ 473 0x0030, /* 0x4E N: 0 */ 474 0x0039, /* 0x4F O: 9 */ 475 0x003e, /* 0x50 P: greater-than sign */ 476 0x11c1, /* 0x51 Q: jongseong phieuph */ 477 0x1164, /* 0x52 R: jungseong yae */ 478 0x11ad, /* 0x53 S: jongseong nieun-hieuh */ 479 0x003b, /* 0x54 T: semicolon */ 480 0x0037, /* 0x55 U: 7 */ 481 0x11b6, /* 0x56 V: jongseong rieul-hieuh */ 482 0x11c0, /* 0x57 W: jongseong thikeuth */ 483 0x11b9, /* 0x58 X: jongseong pieup-sios */ 484 0x003c, /* 0x59 Y: less-than sign */ 485 0x11be, /* 0x5A Z: jongseong chieuch */ 486 0x005b, /* 0x5B bracketleft: left bracket */ 487 0x005c, /* 0x5C backslash: backslash */ 488 0x005d, /* 0x5D bracketright: right bracket */ 489 0x005e, /* 0x5E asciicircum: circumflex accent */ 490 0x005f, /* 0x5F underscore: underscore */ 491 0x0060, /* 0x60 quoteleft: grave accent */ 492 0x11bc, /* 0x61 a: jongseong ieung */ 493 0x116e, /* 0x62 b: jungseong u */ 494 0x1166, /* 0x63 c: jungseong e */ 495 0x1175, /* 0x64 d: jungseong i */ 496 0x1167, /* 0x65 e: jungseong yeo */ 497 0x1161, /* 0x66 f: jungseong a */ 498 0x1173, /* 0x67 g: jungseong eu */ 499 0x1102, /* 0x68 h: choseong nieun */ 500 0x1106, /* 0x69 i: choseong mieum */ 501 0x110b, /* 0x6A j: choseong ieung */ 502 0x1100, /* 0x6B k: choseong kiyeok */ 503 0x110c, /* 0x6C l: choseong cieuc */ 504 0x1112, /* 0x6D m: choseong hieuh */ 505 0x1109, /* 0x6E n: choseong sios */ 506 0x110e, /* 0x6F o: choseong chieuch */ 507 0x1111, /* 0x70 p: choseong phieuph */ 508 0x11ba, /* 0x71 q: jongseong sios */ 509 0x1162, /* 0x72 r: jungseong ae */ 510 0x11ab, /* 0x73 s: jongseong nieun */ 511 0x1165, /* 0x74 t: jungseong eo */ 512 0x1103, /* 0x75 u: choseong tikeut */ 513 0x1169, /* 0x76 v: jungseong o */ 514 0x11af, /* 0x77 w: jongseong rieul */ 515 0x11a8, /* 0x78 x: jongseong kiyeok */ 516 0x1105, /* 0x79 y: choseong rieul */ 517 0x11b7, /* 0x7A z: jongseong mieum */ 518 0x007b, /* 0x7B braceleft: left brace */ 519 0x007c, /* 0x7C bar: vertical line(bar) */ 520 0x007d, /* 0x7D braceright: right brace */ 521 0x007e, /* 0x7E asciitilde: tilde */ 522 0x0000 /* 0x7F delete */ 523 }; 524 525 static const ucschar hangul_keyboard_table_3final[] = { 526 0x0000, /* 0x00 null */ 527 0x0000, /* 0x01 start of heading */ 528 0x0000, /* 0x02 start of text */ 529 0x0000, /* 0x03 end of text */ 530 0x0000, /* 0x04 end of transmission */ 531 0x0000, /* 0x05 enquiry */ 532 0x0000, /* 0x06 acknowledge */ 533 0x0000, /* 0x07 bell */ 534 0x0000, /* 0x08 backspace */ 535 0x0000, /* 0x09 character tabulation */ 536 0x0000, /* 0x0A line feed (lf) */ 537 0x0000, /* 0x0B line tabulation */ 538 0x0000, /* 0x0C form feed (ff) */ 539 0x0000, /* 0x0D carriage return (cr) */ 540 0x0000, /* 0x0E shift out */ 541 0x0000, /* 0x0F shift in */ 542 0x0000, /* 0x10 data link escape */ 543 0x0000, /* 0x11 device control one */ 544 0x0000, /* 0x12 device control two */ 545 0x0000, /* 0x13 device control three */ 546 0x0000, /* 0x14 device control four */ 547 0x0000, /* 0x15 negative acknowledge */ 548 0x0000, /* 0x16 synchronous idle */ 549 0x0000, /* 0x17 end of transmission block */ 550 0x0000, /* 0x18 cancel */ 551 0x0000, /* 0x19 end of medium */ 552 0x0000, /* 0x1A substitute */ 553 0x0000, /* 0x1B escape */ 554 0x0000, /* 0x1C information separator four */ 555 0x0000, /* 0x1D information separator three */ 556 0x0000, /* 0x1E information separator two */ 557 0x0000, /* 0x1F information separator one */ 558 0x0000, /* 0x20 space */ 559 0x11a9, /* 0x21 exclam: jongseong ssangkiyeok */ 560 0x00b7, /* 0x22 quotedbl: middle dot */ 561 0x11bd, /* 0x23 numbersign: jognseong cieuc */ 562 0x11b5, /* 0x24 dollar: jongseong rieul-phieuph */ 563 0x11b4, /* 0x25 percent: jongseong rieul-thieuth */ 564 0x201c, /* 0x26 ampersand: left double quotation mark */ 565 0x1110, /* 0x27 apostrophe: choseong thieuth */ 566 0x0027, /* 0x28 parenleft: apostrophe */ 567 0x007e, /* 0x29 parenright: Tilde */ 568 0x201d, /* 0x2A asterisk: right double quotation mark */ 569 0x002b, /* 0x2B plus: plus sign */ 570 0x002c, /* 0x2C comma: comma */ 571 0x0029, /* 0x2D minus: right parenthesis */ 572 0x002e, /* 0x2E period: period */ 573 0x1169, /* 0x2F slash: jungseong o */ 574 0x110f, /* 0x30 0: choseong khieukh */ 575 0x11c2, /* 0x31 1: jongseong hieuh */ 576 0x11bb, /* 0x32 2: jongseong ssangsios */ 577 0x11b8, /* 0x33 3: jongseong pieup */ 578 0x116d, /* 0x34 4: jungseong yo */ 579 0x1172, /* 0x35 5: jungseong yu */ 580 0x1163, /* 0x36 6: jungseong ya */ 581 0x1168, /* 0x37 7: jungseong ye */ 582 0x1174, /* 0x38 8: jungseong yi */ 583 0x116e, /* 0x39 9: jungseong u */ 584 0x0034, /* 0x3A colon: 4 */ 585 0x1107, /* 0x3B semicolon: choseong pieup */ 586 0x002c, /* 0x3C less: comma */ 587 0x003e, /* 0x3D equal: greater-than sign */ 588 0x002e, /* 0x3E greater: period */ 589 0x0021, /* 0x3F question: exclamation mark */ 590 0x11b0, /* 0x40 at: jongseong rieul-kiyeok */ 591 0x11ae, /* 0x41 A: jongseong tikeut */ 592 0x003f, /* 0x42 B: question mark */ 593 0x11bf, /* 0x43 C: jongseong khieukh */ 594 0x11b2, /* 0x44 D: jongseong rieul-pieup */ 595 0x11ac, /* 0x45 E: jongseong nieun-cieuc */ 596 0x11b1, /* 0x46 F: jongseong rieul-mieum */ 597 0x1164, /* 0x47 G: jungseong yae */ 598 0x0030, /* 0x48 H: 0 */ 599 0x0037, /* 0x49 I: 7 */ 600 0x0031, /* 0x4A J: 1 */ 601 0x0032, /* 0x4B K: 2 */ 602 0x0033, /* 0x4C L: 3 */ 603 0x0022, /* 0x4D M: double quotation mark */ 604 0x002d, /* 0x4E N: minus sign */ 605 0x0038, /* 0x4F O: 8 */ 606 0x0039, /* 0x50 P: 9 */ 607 0x11c1, /* 0x51 Q: jongseong phieuph */ 608 0x11b6, /* 0x52 R: jongseong rieul-hieuh */ 609 0x11ad, /* 0x53 S: jongseong nieun-hieuh */ 610 0x11b3, /* 0x54 T: jongseong rieul-sios */ 611 0x0036, /* 0x55 U: 6 */ 612 0x11aa, /* 0x56 V: jongseong kiyeok-sios */ 613 0x11c0, /* 0x57 W: jongseong thikeuth */ 614 0x11b9, /* 0x58 X: jongseong pieup-sios */ 615 0x0035, /* 0x59 Y: 5 */ 616 0x11be, /* 0x5A Z: jongseong chieuch */ 617 0x0028, /* 0x5B bracketleft: left parenthesis */ 618 0x003a, /* 0x5C backslash: colon */ 619 0x003c, /* 0x5D bracketright: less-than sign */ 620 0x003d, /* 0x5E asciicircum: equals sign */ 621 0x003b, /* 0x5F underscore: semicolon */ 622 0x002a, /* 0x60 quoteleft: asterisk */ 623 0x11bc, /* 0x61 a: jongseong ieung */ 624 0x116e, /* 0x62 b: jungseong u */ 625 0x1166, /* 0x63 c: jungseong e */ 626 0x1175, /* 0x64 d: jungseong i */ 627 0x1167, /* 0x65 e: jungseong yeo */ 628 0x1161, /* 0x66 f: jungseong a */ 629 0x1173, /* 0x67 g: jungseong eu */ 630 0x1102, /* 0x68 h: choseong nieun */ 631 0x1106, /* 0x69 i: choseong mieum */ 632 0x110b, /* 0x6A j: choseong ieung */ 633 0x1100, /* 0x6B k: choseong kiyeok */ 634 0x110c, /* 0x6C l: choseong cieuc */ 635 0x1112, /* 0x6D m: choseong hieuh */ 636 0x1109, /* 0x6E n: choseong sios */ 637 0x110e, /* 0x6F o: choseong chieuch */ 638 0x1111, /* 0x70 p: choseong phieuph */ 639 0x11ba, /* 0x71 q: jongseong sios */ 640 0x1162, /* 0x72 r: jungseong ae */ 641 0x11ab, /* 0x73 s: jongseong nieun */ 642 0x1165, /* 0x74 t: jungseong eo */ 643 0x1103, /* 0x75 u: choseong tikeut */ 644 0x1169, /* 0x76 v: jungseong o */ 645 0x11af, /* 0x77 w: jongseong rieul */ 646 0x11a8, /* 0x78 x: jongseong kiyeok */ 647 0x1105, /* 0x79 y: choseong rieul */ 648 0x11b7, /* 0x7A z: jongseong mieum */ 649 0x0025, /* 0x7B braceleft: percent sign */ 650 0x005c, /* 0x7C bar: backslash */ 651 0x002f, /* 0x7D braceright: slash */ 652 0x203b, /* 0x7E asciitilde: reference mark */ 653 0x0000 /* 0x7F delete */ 654 }; 655 656 static const ucschar hangul_keyboard_table_3sun[] = { 657 0x0000, /* 0x00 null */ 658 0x0000, /* 0x01 start of heading */ 659 0x0000, /* 0x02 start of text */ 660 0x0000, /* 0x03 end of text */ 661 0x0000, /* 0x04 end of transmission */ 662 0x0000, /* 0x05 enquiry */ 663 0x0000, /* 0x06 acknowledge */ 664 0x0000, /* 0x07 bell */ 665 0x0000, /* 0x08 backspace */ 666 0x0000, /* 0x09 character tabulation */ 667 0x0000, /* 0x0A line feed (lf) */ 668 0x0000, /* 0x0B line tabulation */ 669 0x0000, /* 0x0C form feed (ff) */ 670 0x0000, /* 0x0D carriage return (cr) */ 671 0x0000, /* 0x0E shift out */ 672 0x0000, /* 0x0F shift in */ 673 0x0000, /* 0x10 data link escape */ 674 0x0000, /* 0x11 device control one */ 675 0x0000, /* 0x12 device control two */ 676 0x0000, /* 0x13 device control three */ 677 0x0000, /* 0x14 device control four */ 678 0x0000, /* 0x15 negative acknowledge */ 679 0x0000, /* 0x16 synchronous idle */ 680 0x0000, /* 0x17 end of transmission block */ 681 0x0000, /* 0x18 cancel */ 682 0x0000, /* 0x19 end of medium */ 683 0x0000, /* 0x1A substitute */ 684 0x0000, /* 0x1B escape */ 685 0x0000, /* 0x1C information separator four */ 686 0x0000, /* 0x1D information separator three */ 687 0x0000, /* 0x1E information separator two */ 688 0x0000, /* 0x1F information separator one */ 689 0x0000, /* 0x20 space */ 690 0x0021, /* 0x21 exclam: exclamation mark */ 691 0x0022, /* 0x22 quotedbl: quotatioin mark */ 692 0x0023, /* 0x23 numbersign: number sign */ 693 0x0024, /* 0x24 dollar: dollar sign */ 694 0x0025, /* 0x25 percent: percent sign */ 695 0x0026, /* 0x26 ampersand: ampersand */ 696 0x1110, /* 0x27 apostrophe: choseong thieuth */ 697 0x0028, /* 0x28 parenleft: left parenthesis */ 698 0x0029, /* 0x29 parenright: right parenthesis */ 699 0x002a, /* 0x2A asterisk: asterisk */ 700 0x002b, /* 0x2B plus: plus sign */ 701 0x002c, /* 0x2C comma: comma */ 702 0x11bd, /* 0x2D minus: jongseong cieuc */ 703 0x002e, /* 0x2E period: period */ 704 0x11ae, /* 0x2F slash: jongseong tikeut */ 705 0x1164, /* 0x30 0: choseong yae */ 706 0x11c2, /* 0x31 1: jongseong hieuh */ 707 0x11bb, /* 0x32 2: jongseong ssangsios */ 708 0x11b8, /* 0x33 3: jongseong pieup */ 709 0x116d, /* 0x34 4: jungseong yo */ 710 0x1172, /* 0x35 5: jungseong yu */ 711 0x1163, /* 0x36 6: jungseong ya */ 712 0x1168, /* 0x37 7: jungseong ye */ 713 0x1174, /* 0x38 8: jungseong yi */ 714 0x110f, /* 0x39 9: choseong khieukh */ 715 0x003a, /* 0x3A colon: colon */ 716 0x1107, /* 0x3B semicolon: choseong pieup */ 717 0x0032, /* 0x3C less: 2 */ 718 0x11be, /* 0x3D equal: jongseong chieuch */ 719 0x0033, /* 0x3E greater: 3 */ 720 0x003f, /* 0x3F question: question mark */ 721 0x0040, /* 0x40 at: commertial at */ 722 0x11bc, /* 0x41 A: jongseong ieung */ 723 0x0021, /* 0x42 B: exclamation mark */ 724 0x005c, /* 0x43 C: backslash */ 725 0x005d, /* 0x44 D: right bracket */ 726 0x1167, /* 0x45 E: jungseong yeo */ 727 0x1161, /* 0x46 F: jungseong a */ 728 0x002f, /* 0x47 G: slash */ 729 0x0027, /* 0x48 H: apostrophe */ 730 0x0038, /* 0x49 I: 8 */ 731 0x0034, /* 0x4A J: 4 */ 732 0x0035, /* 0x4B K: 5 */ 733 0x0036, /* 0x4C L: 6 */ 734 0x0031, /* 0x4D M: 1 */ 735 0x0030, /* 0x4E N: 0 */ 736 0x0039, /* 0x4F O: 9 */ 737 0x003e, /* 0x50 P: greater-than sign */ 738 0x11ba, /* 0x51 Q: jongseong sios */ 739 0x1162, /* 0x52 R: jungseong ae */ 740 0x005b, /* 0x53 S: left bracket */ 741 0x003b, /* 0x54 T: semicolon */ 742 0x0037, /* 0x55 U: 7 */ 743 0x1169, /* 0x56 V: jungseong o */ 744 0x11af, /* 0x57 W: jongseong rieul */ 745 0x003d, /* 0x58 X: equals sign */ 746 0x003c, /* 0x59 Y: less-than sign */ 747 0x002d, /* 0x5A Z: minus sign */ 748 0x11c0, /* 0x5B bracketleft: jongseong thieuth */ 749 0x11bf, /* 0x5C backslash: jongseong khieukh */ 750 0x11c1, /* 0x5D bracketright: jongseong phieuph */ 751 0x005e, /* 0x5E asciicircum: circumflex accent */ 752 0x005f, /* 0x5F underscore: underscore */ 753 0x0060, /* 0x60 quoteleft: grave accent */ 754 0x11bc, /* 0x61 a: jongseong ieung */ 755 0x116e, /* 0x62 b: jungseong u */ 756 0x1166, /* 0x63 c: jungseong e */ 757 0x1175, /* 0x64 d: jungseong i */ 758 0x1167, /* 0x65 e: jungseong yeo */ 759 0x1161, /* 0x66 f: jungseong a */ 760 0x1173, /* 0x67 g: jungseong eu */ 761 0x1102, /* 0x68 h: choseong nieun */ 762 0x1106, /* 0x69 i: choseong mieum */ 763 0x110b, /* 0x6A j: choseong ieung */ 764 0x1100, /* 0x6B k: choseong kiyeok */ 765 0x110c, /* 0x6C l: choseong cieuc */ 766 0x1112, /* 0x6D m: choseong hieuh */ 767 0x1109, /* 0x6E n: choseong sios */ 768 0x110e, /* 0x6F o: choseong chieuch */ 769 0x1111, /* 0x70 p: choseong phieuph */ 770 0x11ba, /* 0x71 q: jongseong sios */ 771 0x1162, /* 0x72 r: jungseong ae */ 772 0x11ab, /* 0x73 s: jongseong nieun */ 773 0x1165, /* 0x74 t: jungseong eo */ 774 0x1103, /* 0x75 u: choseong tikeut */ 775 0x1169, /* 0x76 v: jungseong o */ 776 0x11af, /* 0x77 w: jongseong rieul */ 777 0x11a8, /* 0x78 x: jongseong kiyeok */ 778 0x1105, /* 0x79 y: choseong rieul */ 779 0x11b7, /* 0x7A z: jongseong mieum */ 780 0x007b, /* 0x7B braceleft: left brace */ 781 0x007c, /* 0x7C bar: vertical line(bar) */ 782 0x007d, /* 0x7D braceright: right brace */ 783 0x007e, /* 0x7E asciitilde: tilde */ 784 0x0000 /* 0x7F delete */ 785 }; 786 787 static const ucschar hangul_keyboard_table_3yet[] = { 788 0x0000, /* 0x00 null */ 789 0x0000, /* 0x01 start of heading */ 790 0x0000, /* 0x02 start of text */ 791 0x0000, /* 0x03 end of text */ 792 0x0000, /* 0x04 end of transmission */ 793 0x0000, /* 0x05 enquiry */ 794 0x0000, /* 0x06 acknowledge */ 795 0x0000, /* 0x07 bell */ 796 0x0000, /* 0x08 backspace */ 797 0x0000, /* 0x09 character tabulation */ 798 0x0000, /* 0x0A line feed (lf) */ 799 0x0000, /* 0x0B line tabulation */ 800 0x0000, /* 0x0C form feed (ff) */ 801 0x0000, /* 0x0D carriage return (cr) */ 802 0x0000, /* 0x0E shift out */ 803 0x0000, /* 0x0F shift in */ 804 0x0000, /* 0x10 data link escape */ 805 0x0000, /* 0x11 device control one */ 806 0x0000, /* 0x12 device control two */ 807 0x0000, /* 0x13 device control three */ 808 0x0000, /* 0x14 device control four */ 809 0x0000, /* 0x15 negative acknowledge */ 810 0x0000, /* 0x16 synchronous idle */ 811 0x0000, /* 0x17 end of transmission block */ 812 0x0000, /* 0x18 cancel */ 813 0x0000, /* 0x19 end of medium */ 814 0x0000, /* 0x1A substitute */ 815 0x0000, /* 0x1B escape */ 816 0x0000, /* 0x1C information separator four */ 817 0x0000, /* 0x1D information separator three */ 818 0x0000, /* 0x1E information separator two */ 819 0x0000, /* 0x1F information separator one */ 820 0x0000, /* 0x20 space */ 821 0x11bd, /* 0x21 exclam: jongseong cieuc */ 822 0x0022, /* 0x22 quotedbl: quotatioin mark */ 823 0x0023, /* 0x23 numbersign: number sign */ 824 0x0024, /* 0x24 dollar: dollar sign */ 825 0x0025, /* 0x25 percent: percent sign */ 826 0x0026, /* 0x26 ampersand: ampersand */ 827 0x1110, /* 0x27 apostrophe: choseong thieuth */ 828 0x0028, /* 0x28 parenleft: left parenthesis */ 829 0x0029, /* 0x29 parenright: right parenthesis */ 830 0x002a, /* 0x2A asterisk: asterisk */ 831 0x002b, /* 0x2B plus: plus sign */ 832 0x002c, /* 0x2C comma: comma */ 833 0x002d, /* 0x2D minus: minus sign */ 834 0x002e, /* 0x2E period: period */ 835 0x1169, /* 0x2F slash: jungseong o */ 836 0x110f, /* 0x30 0: choseong khieukh */ 837 0x11c2, /* 0x31 1: jongseong hieuh */ 838 0x11bb, /* 0x32 2: jongseong ssangsios */ 839 0x11b8, /* 0x33 3: jongseong pieup */ 840 0x116d, /* 0x34 4: jungseong yo */ 841 0x1172, /* 0x35 5: jungseong yu */ 842 0x1163, /* 0x36 6: jungseong ya */ 843 0x1168, /* 0x37 7: jungseong ye */ 844 0x1174, /* 0x38 8: jungseong yi */ 845 0x116e, /* 0x39 9: jungseong u */ 846 0x003a, /* 0x3A colon: colon */ 847 0x1107, /* 0x3B semicolon: choseong pieup */ 848 0x113c, /* 0x3C less: choseong chitueumsios */ 849 0x003d, /* 0x3D equal: euals sign */ 850 0x113e, /* 0x3E greater: choseong ceongchieumsios */ 851 0x003f, /* 0x3F question: question mark */ 852 0x11eb, /* 0x40 at: jongseong pansios */ 853 0x11ae, /* 0x41 A: jongseong tikeut */ 854 0x0021, /* 0x42 B: exclamation mark */ 855 0x11b1, /* 0x43 C: jongseong rieul-mieum */ 856 0x11b0, /* 0x44 D: jongseong rieul-kiyeok */ 857 0x11bf, /* 0x45 E: jongseong khieukh */ 858 0x11a9, /* 0x46 F: jongseong ssangkiyeok */ 859 0x119e, /* 0x47 G: jungseong araea */ 860 0x0027, /* 0x48 H: apostrophe */ 861 0x1154, /* 0x49 I: choseong chitueumchieuch */ 862 0x114c, /* 0x4A J: choseong yesieung */ 863 0x114e, /* 0x4B K: choseong chitueumcieuc */ 864 0x1150, /* 0x4C L: choseong ceongchieumcieuc */ 865 0x1159, /* 0x4D M: choseong yeorinhieuh */ 866 0x1140, /* 0x4E N: choseong pansios */ 867 0x1155, /* 0x4F O: choseong ceongchieumchieuch */ 868 0x003e, /* 0x50 P: greater-than sign */ 869 0x11c1, /* 0x51 Q: jongseong phieuph */ 870 0x1164, /* 0x52 R: jungseong yae */ 871 0x11ad, /* 0x53 S: jongseong nieun-hieuh */ 872 0x003b, /* 0x54 T: semicolon */ 873 0x00b7, /* 0x55 U: middle dot */ 874 0x11b6, /* 0x56 V: jongseong rieul-hieuh */ 875 0x11c0, /* 0x57 W: jongseong thikeuth */ 876 0x11b9, /* 0x58 X: jongseong pieup-sios */ 877 0x003c, /* 0x59 Y: less-than sign */ 878 0x11be, /* 0x5A Z: jongseong chieuch */ 879 0x005b, /* 0x5B bracketleft: left bracket */ 880 0x005c, /* 0x5C backslash: backslash */ 881 0x005d, /* 0x5D bracketright: right bracket */ 882 0x114c, /* 0x5E asciicircum: choseong yesieung */ 883 0x005f, /* 0x5F underscore: underscore */ 884 0x11f9, /* 0x60 quoteleft: jongseong yeorinhieuh */ 885 0x11bc, /* 0x61 a: jongseong ieung */ 886 0x116e, /* 0x62 b: jungseong u */ 887 0x1166, /* 0x63 c: jungseong e */ 888 0x1175, /* 0x64 d: jungseong i */ 889 0x1167, /* 0x65 e: jungseong yeo */ 890 0x1161, /* 0x66 f: jungseong a */ 891 0x1173, /* 0x67 g: jungseong eu */ 892 0x1102, /* 0x68 h: choseong nieun */ 893 0x1106, /* 0x69 i: choseong mieum */ 894 0x110b, /* 0x6A j: choseong ieung */ 895 0x1100, /* 0x6B k: choseong kiyeok */ 896 0x110c, /* 0x6C l: choseong cieuc */ 897 0x1112, /* 0x6D m: choseong hieuh */ 898 0x1109, /* 0x6E n: choseong sios */ 899 0x110e, /* 0x6F o: choseong chieuch */ 900 0x1111, /* 0x70 p: choseong phieuph */ 901 0x11ba, /* 0x71 q: jongseong sios */ 902 0x1162, /* 0x72 r: jungseong ae */ 903 0x11ab, /* 0x73 s: jongseong nieun */ 904 0x1165, /* 0x74 t: jungseong eo */ 905 0x1103, /* 0x75 u: choseong tikeut */ 906 0x1169, /* 0x76 v: jungseong o */ 907 0x11af, /* 0x77 w: jongseong rieul */ 908 0x11a8, /* 0x78 x: jongseong kiyeok */ 909 0x1105, /* 0x79 y: choseong rieul */ 910 0x11b7, /* 0x7A z: jongseong mieum */ 911 0x007b, /* 0x7B braceleft: left brace */ 912 0x007c, /* 0x7C bar: vertical line(bar) */ 913 0x007d, /* 0x7D braceright: right brace */ 914 0x11f0, /* 0x7E asciitilde: jongseong yesieung */ 915 0x0000 /* 0x7F delete */ 916 }; 917 918 static const ucschar hangul_keyboard_table_romaja[] = { 919 0x0000, /* 0x00 null */ 920 0x0000, /* 0x01 start of heading */ 921 0x0000, /* 0x02 start of text */ 922 0x0000, /* 0x03 end of text */ 923 0x0000, /* 0x04 end of transmission */ 924 0x0000, /* 0x05 enquiry */ 925 0x0000, /* 0x06 acknowledge */ 926 0x0000, /* 0x07 bell */ 927 0x0000, /* 0x08 backspace */ 928 0x0000, /* 0x09 character tabulation */ 929 0x0000, /* 0x0A line feed (lf) */ 930 0x0000, /* 0x0B line tabulation */ 931 0x0000, /* 0x0C form feed (ff) */ 932 0x0000, /* 0x0D carriage return (cr) */ 933 0x0000, /* 0x0E shift out */ 934 0x0000, /* 0x0F shift in */ 935 0x0000, /* 0x10 data link escape */ 936 0x0000, /* 0x11 device control one */ 937 0x0000, /* 0x12 device control two */ 938 0x0000, /* 0x13 device control three */ 939 0x0000, /* 0x14 device control four */ 940 0x0000, /* 0x15 negative acknowledge */ 941 0x0000, /* 0x16 synchronous idle */ 942 0x0000, /* 0x17 end of transmission block */ 943 0x0000, /* 0x18 cancel */ 944 0x0000, /* 0x19 end of medium */ 945 0x0000, /* 0x1A substitute */ 946 0x0000, /* 0x1B escape */ 947 0x0000, /* 0x1C information separator four */ 948 0x0000, /* 0x1D information separator three */ 949 0x0000, /* 0x1E information separator two */ 950 0x0000, /* 0x1F information separator one */ 951 0x0000, /* 0x20 space */ 952 0x0021, /* 0x21 exclam: exclamation mark */ 953 0x0022, /* 0x22 quotedbl: quotation mark */ 954 0x0023, /* 0x23 numbersign: number sign */ 955 0x0024, /* 0x24 dollar: dollar sign */ 956 0x0025, /* 0x25 percent: percent sign */ 957 0x0026, /* 0x26 ampersand: ampersand */ 958 0x0027, /* 0x27 apostrophe: apostrophe */ 959 0x0028, /* 0x28 parenleft: left parenthesis */ 960 0x0029, /* 0x29 parenright: right parenthesis */ 961 0x002a, /* 0x2A asterisk: asterisk */ 962 0x002b, /* 0x2B plus: plus sign */ 963 0x002c, /* 0x2C comma: comma */ 964 0x002d, /* 0x2D minus: minus sign */ 965 0x002e, /* 0x2E period: period */ 966 0x002f, /* 0x2F slash: slash */ 967 0x0030, /* 0x30 0: 0 */ 968 0x0031, /* 0x31 1: 1 */ 969 0x0032, /* 0x32 2: 2 */ 970 0x0033, /* 0x33 3: 3 */ 971 0x0034, /* 0x34 4: 4 */ 972 0x0035, /* 0x35 5: 5 */ 973 0x0036, /* 0x36 6: 6 */ 974 0x0037, /* 0x37 7: 7 */ 975 0x0038, /* 0x38 8: 8 */ 976 0x0039, /* 0x39 9: 9 */ 977 0x003a, /* 0x3A colon: colon */ 978 0x003b, /* 0x3B semicolon: semicolon */ 979 0x003c, /* 0x3C less: less-than sign */ 980 0x003d, /* 0x3D equal: equals sign */ 981 0x003e, /* 0x3E greater: greater-than sign */ 982 0x003f, /* 0x3F question: question mark */ 983 0x0040, /* 0x40 at: commercial at */ 984 0x1161, /* 0x41 A: jungseong a */ 985 0x1107, /* 0x42 B: choseong pieup */ 986 0x110e, /* 0x43 C: choseong chieuch */ 987 0x1103, /* 0x44 D: choseong tikeut */ 988 0x1166, /* 0x45 E: jungseong e */ 989 0x1111, /* 0x46 F: choseong phieuph */ 990 0x1100, /* 0x47 G: choseong kiyeok */ 991 0x1112, /* 0x48 H: choseong heiuh */ 992 0x1175, /* 0x49 I: jungseong i */ 993 0x110c, /* 0x4A J: choseong cieuc */ 994 0x110f, /* 0x4B K: choseong khieukh */ 995 0x1105, /* 0x4C L: choseong rieul */ 996 0x1106, /* 0x4D M: choseong mieum */ 997 0x1102, /* 0x4E N: choseong nieun */ 998 0x1169, /* 0x4F O: jungseong o */ 999 0x1111, /* 0x50 P: choseong phieuph */ 1000 0x110f, /* 0x51 Q: choseong khieukh */ 1001 0x1105, /* 0x52 R: choseong rieul */ 1002 0x1109, /* 0x53 S: choseong sios */ 1003 0x1110, /* 0x54 T: choseong thieuth */ 1004 0x116e, /* 0x55 U: jungseong u */ 1005 0x1107, /* 0x56 V: choseong pieup */ 1006 0x116e, /* 0x57 W: jungseong u */ 1007 0x110c, /* 0x58 X: choseong cieuc */ 1008 0x1175, /* 0x59 Y: jungseong i */ 1009 0x110c, /* 0x5A Z: choseong cieuc */ 1010 0x005b, /* 0x5B bracketleft: left bracket */ 1011 0x005c, /* 0x5C backslash: backslash */ 1012 0x005d, /* 0x5D bracketright: right bracket */ 1013 0x005e, /* 0x5E asciicircum: circumflex accent */ 1014 0x005f, /* 0x5F underscore: underscore */ 1015 0x0060, /* 0x60 quoteleft: grave accent */ 1016 0x1161, /* 0x61 a: jungseong a */ 1017 0x1107, /* 0x62 b: choseong pieup */ 1018 0x110e, /* 0x63 c: choseong chieuch */ 1019 0x1103, /* 0x64 d: choseong tikeut */ 1020 0x1166, /* 0x65 e: jungseong e */ 1021 0x1111, /* 0x66 f: choseong phieuph */ 1022 0x1100, /* 0x67 g: choseong kiyeok */ 1023 0x1112, /* 0x68 h: choseong hieuh */ 1024 0x1175, /* 0x69 i: jungseong i */ 1025 0x110c, /* 0x6A j: choseong cieuc */ 1026 0x110f, /* 0x6B k: choseong khieukh */ 1027 0x1105, /* 0x6C l: choseong rieul */ 1028 0x1106, /* 0x6D m: choseong mieum */ 1029 0x1102, /* 0x6E n: choseong nieun */ 1030 0x1169, /* 0x6F o: jungseong o */ 1031 0x1111, /* 0x70 p: choseong pieup */ 1032 0x110f, /* 0x71 q: choseong khieukh */ 1033 0x1105, /* 0x72 r: choseong rieul */ 1034 0x1109, /* 0x73 s: choseong sios */ 1035 0x1110, /* 0x74 t: choseong thieuth */ 1036 0x116e, /* 0x75 u: jungseong u */ 1037 0x1107, /* 0x76 v: choseong phieuph */ 1038 0x116e, /* 0x77 w: jungseong u */ 1039 0x11aa, /* 0x78 x: jongseong kiyeoksios */ 1040 0x1175, /* 0x79 y: jungseong i */ 1041 0x110c, /* 0x7A z: choseong cieuc */ 1042 0x007b, /* 0x7B braceleft: left brace */ 1043 0x007c, /* 0x7C bar: vertical bar */ 1044 0x007d, /* 0x7D braceright: right brace */ 1045 0x007e, /* 0x7E asciitilde: tilde */ 1046 0x0000 /* 0x7F delete */ 1047 }; 1048 1049 static const ucschar hangul_keyboard_table_ahn[] = { 1050 0x0000, /* 0x00 null */ 1051 0x0000, /* 0x01 start of heading */ 1052 0x0000, /* 0x02 start of text */ 1053 0x0000, /* 0x03 end of text */ 1054 0x0000, /* 0x04 end of transmission */ 1055 0x0000, /* 0x05 enquiry */ 1056 0x0000, /* 0x06 acknowledge */ 1057 0x0000, /* 0x07 bell */ 1058 0x0000, /* 0x08 backspace */ 1059 0x0000, /* 0x09 character tabulation */ 1060 0x0000, /* 0x0A line feed (lf) */ 1061 0x0000, /* 0x0B line tabulation */ 1062 0x0000, /* 0x0C form feed (ff) */ 1063 0x0000, /* 0x0D carriage return (cr) */ 1064 0x0000, /* 0x0E shift out */ 1065 0x0000, /* 0x0F shift in */ 1066 0x0000, /* 0x10 data link escape */ 1067 0x0000, /* 0x11 device control one */ 1068 0x0000, /* 0x12 device control two */ 1069 0x0000, /* 0x13 device control three */ 1070 0x0000, /* 0x14 device control four */ 1071 0x0000, /* 0x15 negative acknowledge */ 1072 0x0000, /* 0x16 synchronous idle */ 1073 0x0000, /* 0x17 end of transmission block */ 1074 0x0000, /* 0x18 cancel */ 1075 0x0000, /* 0x19 end of medium */ 1076 0x0000, /* 0x1A substitute */ 1077 0x0000, /* 0x1B escape */ 1078 0x0000, /* 0x1C information separator four */ 1079 0x0000, /* 0x1D information separator three */ 1080 0x0000, /* 0x1E information separator two */ 1081 0x0000, /* 0x1F information separator one */ 1082 0x0000, /* 0x20 space */ 1083 0x0021, /* 0x21 exclam: exclamation mark */ 1084 0x0022, /* 0x22 quotedbl: quotation mark */ 1085 0x0023, /* 0x23 numbersign: number sign */ 1086 0x0024, /* 0x24 dollar: dollar sign */ 1087 0x0025, /* 0x25 percent: percent sign */ 1088 0x0026, /* 0x26 ampersand: ampersand */ 1089 0x002e, /* 0x27 apostrophe: period */ 1090 0x0028, /* 0x28 parenleft: left parenthesis */ 1091 0x0029, /* 0x29 parenright: right parenthesis */ 1092 0x002a, /* 0x2A asterisk: asterisk */ 1093 0x002b, /* 0x2B plus: plus sign */ 1094 0x11b7, /* 0x2C comma: jongseong mieum */ 1095 0x002d, /* 0x2D minus: minus sign */ 1096 0x11af, /* 0x2E period: jongseong rieul */ 1097 0x11c2, /* 0x2F slash: jongseong hieuh */ 1098 0x0030, /* 0x30 0: 0 */ 1099 0x0031, /* 0x31 1: 1 */ 1100 0x0032, /* 0x32 2: 2 */ 1101 0x0033, /* 0x33 3: 3 */ 1102 0x0034, /* 0x34 4: 4 */ 1103 0x0035, /* 0x35 5: 5 */ 1104 0x0036, /* 0x36 6: 6 */ 1105 0x0037, /* 0x37 7: 7 */ 1106 0x0038, /* 0x38 8: 8 */ 1107 0x0039, /* 0x39 9: 9 */ 1108 0x003a, /* 0x3A colon: colon */ 1109 0x116e, /* 0x3B semicolon: jungseong u */ 1110 0x003c, /* 0x3C less: less-than sign */ 1111 0x003d, /* 0x3D equal: equals sign */ 1112 0x003e, /* 0x3E greater: greater-than sign */ 1113 0x11f9, /* 0x3F question: jongseong yeorinhieuh */ 1114 0x0040, /* 0x40 at: commercial at */ 1115 0x1107, /* 0x41 A: choseong pieup */ 1116 0x11f0, /* 0x42 B: jongseong yesieung */ 1117 0x11b8, /* 0x43 C: jongseong pieup */ 1118 0x1103, /* 0x44 D: choseong tikeut */ 1119 0x1102, /* 0x45 E: choseong nieun */ 1120 0x1100, /* 0x46 F: choseong kiyeok */ 1121 0x114c, /* 0x47 G: choseong yesieung */ 1122 0x1165, /* 0x48 H: jungseong eo */ 1123 0x002f, /* 0x49 I: slash */ 1124 0x119e, /* 0x4A J: jungseong araea */ 1125 0x1175, /* 0x4B K: jungseong i */ 1126 0x1169, /* 0x4C L: jungseong o */ 1127 0x11ab, /* 0x4D M: jongseong nienu */ 1128 0x11eb, /* 0x4E N: jongseung pansios */ 1129 0x005b, /* 0x4F O: left bracket */ 1130 0x005d, /* 0x50 P: right bracket */ 1131 0x1106, /* 0x51 Q: choseong mieum */ 1132 0x1105, /* 0x52 R: choseong rieul */ 1133 0x110c, /* 0x53 S: choseong cieuc */ 1134 0x1159, /* 0x54 T: choseong yeorinhieuh */ 1135 0x0027, /* 0x55 U: apostrophe */ 1136 0x11a8, /* 0x56 V: jongseong kiyeok */ 1137 0x1140, /* 0x57 W: choseong pansios */ 1138 0x11ae, /* 0x58 X: jongseong tikeut */ 1139 0x003b, /* 0x59 Y: semicolon */ 1140 0x11bd, /* 0x5A Z: jongseong cieuc */ 1141 0x002c, /* 0x5B bracketleft: comma */ 1142 0x005c, /* 0x5C backslash: backslash */ 1143 0x003f, /* 0x5D bracketright: qustion mark */ 1144 0x005e, /* 0x5E asciicircum: circumflex accent */ 1145 0x005f, /* 0x5F underscore: underscore */ 1146 0x0060, /* 0x60 quoteleft: grave accent */ 1147 0x1107, /* 0x61 a: choseong pieup */ 1148 0x11bc, /* 0x62 b: jongseong ieung */ 1149 0x11b8, /* 0x63 c: jongseong pieup */ 1150 0x1103, /* 0x64 d: choseong tikeut */ 1151 0x1102, /* 0x65 e: choseong nieun */ 1152 0x1100, /* 0x66 f: choseong kiyeok */ 1153 0x110b, /* 0x67 g: choseong ieung */ 1154 0x1165, /* 0x68 h: jungseong eo */ 1155 0x1173, /* 0x69 i: jungseong eu */ 1156 0x1161, /* 0x6A j: jungseong a */ 1157 0x1175, /* 0x6B k: jungseong i */ 1158 0x1169, /* 0x6C l: jungseong o */ 1159 0x11ab, /* 0x6D m: jongseong nieun */ 1160 0x11ba, /* 0x6E n: jongseong sios */ 1161 0x116d, /* 0x6F o: jungseong yo */ 1162 0x1172, /* 0x70 p: jungseong yu */ 1163 0x1106, /* 0x71 q: choseong mieum */ 1164 0x1105, /* 0x72 r: choseong rieul */ 1165 0x110c, /* 0x73 s: choseong cieuc */ 1166 0x1112, /* 0x74 t: choseong hieuh */ 1167 0x1163, /* 0x75 u: jungseong ya */ 1168 0x11a8, /* 0x76 v: jongseong kiyok */ 1169 0x1109, /* 0x77 w: choseong sios */ 1170 0x11ae, /* 0x78 x: jongseong tikeut */ 1171 0x1167, /* 0x79 y: jungseong yeo */ 1172 0x11bd, /* 0x7A z: jongseong cieuc */ 1173 0x007b, /* 0x7B braceleft: left brace */ 1174 0x007c, /* 0x7C bar: vertical bar */ 1175 0x007d, /* 0x7D braceright: right brace */ 1176 0x007e, /* 0x7E asciitilde: tilde */ 1177 0x0000 /* 0x7F delete */ 1178 }; 1179 1180 static const HangulCombinationItem hangul_combination_table_default[] = { 1181 { 0x11001100, 0x1101 }, /* choseong kiyeok + kiyeok = ssangkiyeok */ 1182 { 0x11031103, 0x1104 }, /* choseong tikeut + tikeut = ssangtikeut */ 1183 { 0x11071107, 0x1108 }, /* choseong pieup + pieup = ssangpieup */ 1184 { 0x11091109, 0x110a }, /* choseong sios + sios = ssangsios */ 1185 { 0x110c110c, 0x110d }, /* choseong cieuc + cieuc = ssangcieuc */ 1186 { 0x11691161, 0x116a }, /* jungseong o + a = wa */ 1187 { 0x11691162, 0x116b }, /* jungseong o + ae = wae */ 1188 { 0x11691175, 0x116c }, /* jungseong o + i = oe */ 1189 { 0x116e1165, 0x116f }, /* jungseong u + eo = weo */ 1190 { 0x116e1166, 0x1170 }, /* jungseong u + e = we */ 1191 { 0x116e1175, 0x1171 }, /* jungseong u + i = wi */ 1192 { 0x11731175, 0x1174 }, /* jungseong eu + i = yi */ 1193 { 0x11a811a8, 0x11a9 }, /* jongseong kiyeok + kiyeok = ssangekiyeok */ 1194 { 0x11a811ba, 0x11aa }, /* jongseong kiyeok + sios = kiyeok-sois */ 1195 { 0x11ab11bd, 0x11ac }, /* jongseong nieun + cieuc = nieun-cieuc */ 1196 { 0x11ab11c2, 0x11ad }, /* jongseong nieun + hieuh = nieun-hieuh */ 1197 { 0x11af11a8, 0x11b0 }, /* jongseong rieul + kiyeok = rieul-kiyeok */ 1198 { 0x11af11b7, 0x11b1 }, /* jongseong rieul + mieum = rieul-mieum */ 1199 { 0x11af11b8, 0x11b2 }, /* jongseong rieul + pieup = rieul-pieup */ 1200 { 0x11af11ba, 0x11b3 }, /* jongseong rieul + sios = rieul-sios */ 1201 { 0x11af11c0, 0x11b4 }, /* jongseong rieul + thieuth = rieul-thieuth */ 1202 { 0x11af11c1, 0x11b5 }, /* jongseong rieul + phieuph = rieul-phieuph */ 1203 { 0x11af11c2, 0x11b6 }, /* jongseong rieul + hieuh = rieul-hieuh */ 1204 { 0x11b811ba, 0x11b9 }, /* jongseong pieup + sios = pieup-sios */ 1205 { 0x11ba11ba, 0x11bb }, /* jongseong sios + sios = ssangsios */ 1206 }; 1207 1208 static const HangulCombinationItem hangul_combination_table_romaja[] = { 1209 { 0x11001100, 0x1101 }, /* choseong kiyeok + kiyeok = ssangkiyeok */ 1210 { 0x11031103, 0x1104 }, /* choseong tikeut + tikeut = ssangtikeut */ 1211 { 0x11071107, 0x1108 }, /* choseong pieup + pieup = ssangpieup */ 1212 { 0x11091109, 0x110a }, /* choseong sios + sios = ssangsios */ 1213 { 0x110c110c, 0x110d }, /* choseong cieuc + cieuc = ssangcieuc */ 1214 { 0x110e1112, 0x110e }, /* choseong chieuch+ hieuh = chieuch */ 1215 { 0x11611166, 0x1162 }, /* jungseong a + e = ae */ 1216 { 0x11611175, 0x1162 }, /* jungseong a + i = ae */ 1217 { 0x11631166, 0x1164 }, /* jungseong ya + e = yae */ 1218 { 0x11631175, 0x1164 }, /* jungseong ya + i = yae */ 1219 { 0x11661169, 0x1165 }, /* jungseong e + o = eo */ 1220 { 0x1166116e, 0x1173 }, /* jungseong e + u = eu */ 1221 { 0x11681169, 0x1167 }, /* jungseong ye + o = yeo */ 1222 { 0x11691161, 0x116a }, /* jungseong o + a = wa */ 1223 { 0x11691162, 0x116b }, /* jungseong o + ae = wae */ 1224 { 0x11691175, 0x116c }, /* jungseong o + i = oe */ 1225 { 0x116a1166, 0x116b }, /* jungseong wa + e = wae */ 1226 { 0x116a1175, 0x116b }, /* jungseong wa + i = wae */ 1227 { 0x116e1161, 0x116a }, /* jungseong u + a = wa */ 1228 { 0x116e1165, 0x116f }, /* jungseong u + eo = weo */ 1229 { 0x116e1166, 0x1170 }, /* jungseong u + e = we */ 1230 { 0x116e1169, 0x116f }, /* jungseong u + o = weo */ 1231 { 0x116e1175, 0x1171 }, /* jungseong u + i = wi */ 1232 { 0x11701169, 0x116f }, /* jungseong we + o = weo */ 1233 { 0x11731175, 0x1174 }, /* jungseong eu + i = yi */ 1234 { 0x11751161, 0x1163 }, /* jungseong i + a = ya */ 1235 { 0x11751162, 0x1164 }, /* jungseong i + ae = yae */ 1236 { 0x11751165, 0x1167 }, /* jungseong i + eo = yeo */ 1237 { 0x11751166, 0x1168 }, /* jungseong i + e = ye */ 1238 { 0x11751169, 0x116d }, /* jungseong i + o = yo */ 1239 { 0x1175116e, 0x1172 }, /* jungseong i + u = yu */ 1240 { 0x11a811a8, 0x11a9 }, /* jongseong kiyeok + kiyeok = ssangekiyeok */ 1241 { 0x11a811ba, 0x11aa }, /* jongseong kiyeok + sios = kiyeok-sois */ 1242 { 0x11ab11a8, 0x11bc }, /* jongseong nieun + kiyeok = ieung */ 1243 { 0x11ab11bd, 0x11ac }, /* jongseong nieun + cieuc = nieun-cieuc */ 1244 { 0x11ab11c2, 0x11ad }, /* jongseong nieun + hieuh = nieun-hieuh */ 1245 { 0x11af11a8, 0x11b0 }, /* jongseong rieul + kiyeok = rieul-kiyeok */ 1246 { 0x11af11b7, 0x11b1 }, /* jongseong rieul + mieum = rieul-mieum */ 1247 { 0x11af11b8, 0x11b2 }, /* jongseong rieul + pieup = rieul-pieup */ 1248 { 0x11af11ba, 0x11b3 }, /* jongseong rieul + sios = rieul-sios */ 1249 { 0x11af11c0, 0x11b4 }, /* jongseong rieul + thieuth = rieul-thieuth */ 1250 { 0x11af11c1, 0x11b5 }, /* jongseong rieul + phieuph = rieul-phieuph */ 1251 { 0x11af11c2, 0x11b6 }, /* jongseong rieul + hieuh = rieul-hieuh */ 1252 { 0x11b811ba, 0x11b9 }, /* jongseong pieup + sios = pieup-sios */ 1253 { 0x11ba11ba, 0x11bb }, /* jongseong sios + sios = ssangsios */ 1254 }; 1255 1256 static const HangulCombinationItem hangul_combination_table_full[] = { 1257 { 0x11001100, 0x1101 }, /* choseong kiyeok + kiyeok = ssangkiyeok */ 1258 { 0x11001103, 0x115a }, /* choseong kiyeok + tikeut = kiyeok-tikeut */ 1259 { 0x11021100, 0x1113 }, /* choseong nieun + kiyeok = nieun-kiyeok */ 1260 { 0x11021102, 0x1114 }, /* choseong nieun + nieun = ssangnieun */ 1261 { 0x11021103, 0x1115 }, /* choseong nieun + tikeut = nieun-tikeut */ 1262 { 0x11021107, 0x1116 }, /* choseong nieun + pieup = nieun-pieup */ 1263 { 0x11021109, 0x115b }, /* choseong nieun + sios = nieun-sios */ 1264 { 0x1102110c, 0x115c }, /* choseong nieun + cieuc = nieun-cieuc */ 1265 { 0x11021112, 0x115d }, /* choseong nieun + hieuh = nieun-hieuh */ 1266 { 0x11031100, 0x1117 }, /* choseong tikeut + kiyeok = tikeut-kiyeok */ 1267 { 0x11031103, 0x1104 }, /* choseong tikeut + tikeut = ssangtikeut */ 1268 { 0x11031105, 0x115e }, /* choseong tikeut + rieul = tikeut-rieul */ 1269 { 0x11031106, 0xa960 }, /* choseong tikeut + mieum = tikeut-mieum */ 1270 { 0x11031107, 0xa961 }, /* choseong tikeut + pieup = tikeut-pieup */ 1271 { 0x11031109, 0xa962 }, /* choseong tikeut + sios = tikeut-sios */ 1272 { 0x1103110c, 0xa963 }, /* choseong tikeut + cieuc = tikeut-cieuc */ 1273 { 0x11051100, 0xa964 }, /* choseong rieul + kiyeok = rieul-kiyeok */ 1274 { 0x11051101, 0xa965 }, /* choseong rieul + ssangkiyeok = rieul-ssangkiyeok */ 1275 { 0x11051102, 0x1118 }, /* choseong rieul + nieun = rieul-nieun */ 1276 { 0x11051103, 0xa966 }, /* choseong rieul + tikeut = rieul-tikeut */ 1277 { 0x11051104, 0xa967 }, /* choseong rieul + ssangtikeut = rieul-ssangtikeut */ 1278 { 0x11051105, 0x1119 }, /* choseong rieul + rieul = ssangrieul */ 1279 { 0x11051106, 0xa968 }, /* choseong rieul + mieum = rieul-mieum */ 1280 { 0x11051107, 0xa969 }, /* choseong rieul + pieup = rieul-pieup */ 1281 { 0x11051108, 0xa96a }, /* choseong rieul + ssangpieup = rieul-ssangpieup */ 1282 { 0x11051109, 0xa96c }, /* choseong rieul + sios = rieul-sios */ 1283 { 0x1105110b, 0x111b }, /* choseong rieul + ieung = kapyeounrieul */ 1284 { 0x1105110c, 0xa96d }, /* choseong rieul + cieuc = rieul-cieuc */ 1285 { 0x1105110f, 0xa96e }, /* choseong rieul + khieukh = rieul-khieukh */ 1286 { 0x11051112, 0x111a }, /* choseong rieul + hieuh = rieul-hieuh */ 1287 { 0x1105112b, 0xa96b }, /* choseong rieul + kapyeounpieup = rieul-kapyeounpieup */ 1288 { 0x11061100, 0xa96f }, /* choseong mieum + kiyeok = mieum-kiyeok */ 1289 { 0x11061103, 0xa970 }, /* choseong mieum + tikeut = mieum-tikeut */ 1290 { 0x11061107, 0x111c }, /* choseong mieum + pieup = mieum-pieup */ 1291 { 0x11061109, 0xa971 }, /* choseong mieum + sios = mieum-sios */ 1292 { 0x1106110b, 0x111d }, /* choseong mieum + ieung = kapyeounmieum */ 1293 { 0x11071100, 0x111e }, /* choseong pieup + kiyeok = pieup-kiyeok */ 1294 { 0x11071102, 0x111f }, /* choseong pieup + nieun = pieup-nieun */ 1295 { 0x11071103, 0x1120 }, /* choseong pieup + tikeut = pieup-tikeut */ 1296 { 0x11071107, 0x1108 }, /* choseong pieup + pieup = ssangpieup */ 1297 { 0x11071109, 0x1121 }, /* choseong pieup + sios = pieup-sios */ 1298 { 0x1107110a, 0x1125 }, /* choseong pieup + ssangsios = pieup-ssangsios */ 1299 { 0x1107110b, 0x112b }, /* choseong pieup + ieung = kapyeounpieup */ 1300 { 0x1107110c, 0x1127 }, /* choseong pieup + cieuc = pieup-cieuc */ 1301 { 0x1107110e, 0x1128 }, /* choseong pieup + chieuch = pieup-chieuch */ 1302 { 0x1107110f, 0xa973 }, /* choseong pieup + khieukh = pieup-khieukh */ 1303 { 0x11071110, 0x1129 }, /* choseong pieup + thieuth = pieup-thieuth */ 1304 { 0x11071111, 0x112a }, /* choseong pieup + phieuph = pieup-phieuph */ 1305 { 0x11071112, 0xa974 }, /* choseong pieup + hieuh = pieup-hieuh */ 1306 { 0x1107112b, 0x112c }, /* choseong pieup + kapyeounpieup = kapyeounssangpieup */ 1307 { 0x1107112d, 0x1122 }, /* choseong pieup + sios-kiyeok = pieup-sios-kiyeok */ 1308 { 0x1107112f, 0x1123 }, /* choseong pieup + sios-tikeut = pieup-sios-tikeut */ 1309 { 0x11071132, 0x1124 }, /* choseong pieup + sios-pieup = pieup-sios-pieup */ 1310 { 0x11071136, 0x1126 }, /* choseong pieup + sios-cieuc = pieup-sios-cieuc */ 1311 { 0x11071139, 0xa972 }, /* choseong pieup + sios-thieuth = pieup-sios-thieuth */ 1312 { 0x1108110b, 0x112c }, /* choseong ssangpieup + ieung = kapyeounssangpieup */ 1313 { 0x11091100, 0x112d }, /* choseong sios + kiyeok = sios-kiyeok */ 1314 { 0x11091102, 0x112e }, /* choseong sios + nieun = sios-nieun */ 1315 { 0x11091103, 0x112f }, /* choseong sios + tikeut = sios-tikeut */ 1316 { 0x11091105, 0x1130 }, /* choseong sios + rieul = sios-rieul */ 1317 { 0x11091106, 0x1131 }, /* choseong sios + mieum = sios-mieum */ 1318 { 0x11091107, 0x1132 }, /* choseong sios + pieup = sios-pieup */ 1319 { 0x11091109, 0x110a }, /* choseong sios + sios = ssangsios */ 1320 { 0x1109110a, 0x1134 }, /* choseong sios + ssangsios = sios-ssangsios */ 1321 { 0x1109110b, 0x1135 }, /* choseong sios + ieung = sios-ieung */ 1322 { 0x1109110c, 0x1136 }, /* choseong sios + cieuc = sios-cieuc */ 1323 { 0x1109110e, 0x1137 }, /* choseong sios + chieuch = sios-chieuch */ 1324 { 0x1109110f, 0x1138 }, /* choseong sios + khieukh = sios-khieukh */ 1325 { 0x11091110, 0x1139 }, /* choseong sios + thieuth = sios-thieuth */ 1326 { 0x11091111, 0x113a }, /* choseong sios + phieuph = sios-phieuph */ 1327 { 0x11091112, 0x113b }, /* choseong sios + hieuh = sios-hieuh */ 1328 { 0x1109111e, 0x1133 }, /* choseong sios + pieup-kiyeok = sios-pieup-kiyeok */ 1329 { 0x11091132, 0xa975 }, /* choseong sios + sios-pieup = ssangsios-pieup */ 1330 { 0x110a1107, 0xa975 }, /* choseong ssangsios + pieup = ssangsios-pieup */ 1331 { 0x110a1109, 0x1134 }, /* choseong ssangsios + sios = sios-ssangsios */ 1332 { 0x110b1100, 0x1141 }, /* choseong ieung + kiyeok = ieung-kiyeok */ 1333 { 0x110b1103, 0x1142 }, /* choseong ieung + tikeut = ieung-tikeut */ 1334 { 0x110b1105, 0xa976 }, /* choseong ieung + rieul = ieung-rieul */ 1335 { 0x110b1106, 0x1143 }, /* choseong ieung + mieum = ieung-mieum */ 1336 { 0x110b1107, 0x1144 }, /* choseong ieung + pieup = ieung-pieup */ 1337 { 0x110b1109, 0x1145 }, /* choseong ieung + sios = ieung-sios */ 1338 { 0x110b110b, 0x1147 }, /* choseong ieung + ieung = ssangieung */ 1339 { 0x110b110c, 0x1148 }, /* choseong ieung + cieuc = ieung-cieuc */ 1340 { 0x110b110e, 0x1149 }, /* choseong ieung + chieuch = ieung-chieuch */ 1341 { 0x110b1110, 0x114a }, /* choseong ieung + thieuth = ieung-thieuth */ 1342 { 0x110b1111, 0x114b }, /* choseong ieung + phieuph = ieung-phieuph */ 1343 { 0x110b1112, 0xa977 }, /* choseong ieung + hieuh = ieung-hieuh */ 1344 { 0x110b1140, 0x1146 }, /* choseong ieung + pansios = ieung-pansios */ 1345 { 0x110c110b, 0x114d }, /* choseong cieuc + ieung = cieuc-ieung */ 1346 { 0x110c110c, 0x110d }, /* choseong cieuc + cieuc = ssangcieuc */ 1347 { 0x110d1112, 0xa978 }, /* choseong ssangcieuc + hieuh = ssangcieuc-hieuh */ 1348 { 0x110e110f, 0x1152 }, /* choseong chieuch + khieukh = chieuch-khieukh */ 1349 { 0x110e1112, 0x1153 }, /* choseong chieuch + hieuh = chieuch-hieuh */ 1350 { 0x11101110, 0xa979 }, /* choseong thieuth + thieuth = ssangthieuth */ 1351 { 0x11111107, 0x1156 }, /* choseong phieuph + pieup = phieuph-pieup */ 1352 { 0x1111110b, 0x1157 }, /* choseong phieuph + ieung = kapyeounphieuph */ 1353 { 0x11111112, 0xa97a }, /* choseong phieuph + hieuh = phieuph-hieuh */ 1354 { 0x11121109, 0xa97b }, /* choseong hieuh + sios = hieuh-sios */ 1355 { 0x11121112, 0x1158 }, /* choseong hieuh + hieuh = ssanghieuh */ 1356 { 0x11211100, 0x1122 }, /* choseong pieup-sios + kiyeok = pieup-sios-kiyeok */ 1357 { 0x11211103, 0x1123 }, /* choseong pieup-sios + tikeut = pieup-sios-tikeut */ 1358 { 0x11211107, 0x1124 }, /* choseong pieup-sios + pieup = pieup-sios-pieup */ 1359 { 0x11211109, 0x1125 }, /* choseong pieup-sios + sios = pieup-ssangsios */ 1360 { 0x1121110c, 0x1126 }, /* choseong pieup-sios + cieuc = pieup-sios-cieuc */ 1361 { 0x11211110, 0xa972 }, /* choseong pieup-sios + thieuth = pieup-sios-thieuth */ 1362 { 0x11321100, 0x1133 }, /* choseong sios-pieup + kiyeok = sios-pieup-kiyeok */ 1363 { 0x113c113c, 0x113d }, /* choseong chitueumsios + chitueumsios = chitueumssangsios */ 1364 { 0x113e113e, 0x113f }, /* choseong ceongchieumsios + ceongchieumsios = ceongchieumssangsios */ 1365 { 0x114e114e, 0x114f }, /* choseong chitueumcieuc + chitueumcieuc = chitueumssangcieuc */ 1366 { 0x11501150, 0x1151 }, /* choseong ceongchieumcieuc + ceongchieumcieuc = ceongchieumssangcieuc */ 1367 { 0x11591159, 0xa97c }, /* choseong yeorinhieuh + yeorinhieuh = ssangyeorinhieuh */ 1368 { 0x11611161, 0x119e }, /* jungseong a + a = arae-a */ 1369 { 0x11611169, 0x1176 }, /* jungseong a + o = a-o */ 1370 { 0x1161116e, 0x1177 }, /* jungseong a + u = a-u */ 1371 { 0x11611173, 0x11a3 }, /* jungseong a + eu = a-eu */ 1372 { 0x11611175, 0x1162 }, /* jungseong a + i = ae */ 1373 { 0x11631169, 0x1178 }, /* jungseong ya + o = ya-o */ 1374 { 0x1163116d, 0x1179 }, /* jungseong ya + yo = ya-yo */ 1375 { 0x1163116e, 0x11a4 }, /* jungseong ya + u = ya-u */ 1376 { 0x11631175, 0x1164 }, /* jungseong ya + i = yae */ 1377 { 0x11651169, 0x117a }, /* jungseong eo + o = eo-o */ 1378 { 0x1165116e, 0x117b }, /* jungseong eo + u = eo-u */ 1379 { 0x11651173, 0x117c }, /* jungseong eo + eu = eo-eu */ 1380 { 0x11651175, 0x1166 }, /* jungseong eo + i = e */ 1381 { 0x11671163, 0x11a5 }, /* jungseong yeo + ya = yeo-ya */ 1382 { 0x11671169, 0x117d }, /* jungseong yeo + o = yeo-o */ 1383 { 0x1167116e, 0x117e }, /* jungseong yeo + u = yeo-u */ 1384 { 0x11671175, 0x1168 }, /* jungseong yeo + i = ye */ 1385 { 0x11691161, 0x116a }, /* jungseong o + a = wa */ 1386 { 0x11691162, 0x116b }, /* jungseong o + ae = wae */ 1387 { 0x11691163, 0x11a6 }, /* jungseong o + ya = o-ya */ 1388 { 0x11691164, 0x11a7 }, /* jungseong o + yae = o-yae */ 1389 { 0x11691165, 0x117f }, /* jungseong o + eo = o-eo */ 1390 { 0x11691166, 0x1180 }, /* jungseong o + e = o-e */ 1391 { 0x11691167, 0xd7b0 }, /* jungseong o + yeo = o-yeo */ 1392 { 0x11691168, 0x1181 }, /* jungseong o + ye = o-ye */ 1393 { 0x11691169, 0x1182 }, /* jungseong o + o = o-o */ 1394 { 0x1169116e, 0x1183 }, /* jungseong o + u = o-u */ 1395 { 0x11691175, 0x116c }, /* jungseong o + i = oe */ 1396 { 0x116a1175, 0x116b }, /* jungseong wa + i = wae */ 1397 { 0x116d1161, 0xd7b2 }, /* jungseong yo + a = yo-a */ 1398 { 0x116d1162, 0xd7b3 }, /* jungseong yo + ae = yo-ae */ 1399 { 0x116d1163, 0x1184 }, /* jungseong yo + ya = yo-ya */ 1400 { 0x116d1164, 0x1185 }, /* jungseong yo + yae = yo-yae */ 1401 { 0x116d1165, 0xd7b4 }, /* jungseong yo + eo = yo-eo */ 1402 { 0x116d1167, 0x1186 }, /* jungseong yo + yeo = yo-yeo */ 1403 { 0x116d1169, 0x1187 }, /* jungseong yo + o = yo-o */ 1404 { 0x116d1175, 0x1188 }, /* jungseong yo + i = yo-i */ 1405 { 0x116e1161, 0x1189 }, /* jungseong u + a = u-a */ 1406 { 0x116e1162, 0x118a }, /* jungseong u + ae = u-ae */ 1407 { 0x116e1165, 0x116f }, /* jungseong u + eo = weo */ 1408 { 0x116e1166, 0x1170 }, /* jungseong u + e = we */ 1409 { 0x116e1167, 0xd7b5 }, /* jungseong u + yeo = u-yeo */ 1410 { 0x116e1168, 0x118c }, /* jungseong u + ye = u-ye */ 1411 { 0x116e116e, 0x118d }, /* jungseong u + u = u-u */ 1412 { 0x116e1175, 0x1171 }, /* jungseong u + i = wi */ 1413 { 0x116e117c, 0x118b }, /* jungseong u + eo-eu = u-eo-eu */ 1414 { 0x116ed7c4, 0xd7b6 }, /* jungseong u + i-i = u-i-i */ 1415 { 0x116f1173, 0x118b }, /* jungseong weo + eu = u-eo-eu */ 1416 { 0x116f1175, 0x1170 }, /* jungseong weo + i = we */ 1417 { 0x11711175, 0xd7b6 }, /* jungseong wi + i = u-i-i */ 1418 { 0x11721161, 0x118e }, /* jungseong yu + a = yu-a */ 1419 { 0x11721162, 0xd7b7 }, /* jungseong yu + ae = yu-ae */ 1420 { 0x11721165, 0x118f }, /* jungseong yu + eo = yu-eo */ 1421 { 0x11721166, 0x1190 }, /* jungseong yu + e = yu-e */ 1422 { 0x11721167, 0x1191 }, /* jungseong yu + yeo = yu-yeo */ 1423 { 0x11721168, 0x1192 }, /* jungseong yu + ye = yu-ye */ 1424 { 0x11721169, 0xd7b8 }, /* jungseong yu + o = yu-o */ 1425 { 0x1172116e, 0x1193 }, /* jungseong yu + u = yu-u */ 1426 { 0x11721175, 0x1194 }, /* jungseong yu + i = yu-i */ 1427 { 0x11731161, 0xd7b9 }, /* jungseong eu + a = eu-a */ 1428 { 0x11731165, 0xd7ba }, /* jungseong eu + eo = eu-eo */ 1429 { 0x11731166, 0xd7bb }, /* jungseong eu + e = eu-e */ 1430 { 0x11731169, 0xd7bc }, /* jungseong eu + o = eu-o */ 1431 { 0x1173116e, 0x1195 }, /* jungseong eu + u = eu-u */ 1432 { 0x11731173, 0x1196 }, /* jungseong eu + eu = eu-eu */ 1433 { 0x11731175, 0x1174 }, /* jungseong eu + i = yi */ 1434 { 0x1174116e, 0x1197 }, /* jungseong yi + u = yi-u */ 1435 { 0x11751161, 0x1198 }, /* jungseong i + a = i-a */ 1436 { 0x11751163, 0x1199 }, /* jungseong i + ya = i-ya */ 1437 { 0x11751164, 0xd7be }, /* jungseong i + yae = i-yae */ 1438 { 0x11751167, 0xd7bf }, /* jungseong i + yeo = i-yeo */ 1439 { 0x11751168, 0xd7c0 }, /* jungseong i + ye = i-ye */ 1440 { 0x11751169, 0x119a }, /* jungseong i + o = i-o */ 1441 { 0x1175116d, 0xd7c2 }, /* jungseong i + yo = i-yo */ 1442 { 0x1175116e, 0x119b }, /* jungseong i + u = i-u */ 1443 { 0x11751172, 0xd7c3 }, /* jungseong i + yu = i-yu */ 1444 { 0x11751173, 0x119c }, /* jungseong i + eu = i-eu */ 1445 { 0x11751175, 0xd7c4 }, /* jungseong i + i = i-i */ 1446 { 0x11751178, 0xd7bd }, /* jungseong i + ya-o = i-ya-o */ 1447 { 0x1175119e, 0x119d }, /* jungseong i + araea = i-araea */ 1448 { 0x11821175, 0xd7b1 }, /* jungseong o-o + i = o-o-i */ 1449 { 0x11991169, 0xd7bd }, /* jungseong i-ya + o = i-ya-o */ 1450 { 0x119a1175, 0xd7c1 }, /* jungseong i-o + i = i-o-i */ 1451 { 0x119e1161, 0xd7c5 }, /* jungseong araea + a = araea-a */ 1452 { 0x119e1165, 0x119f }, /* jungseong araea + eo = araea-eo */ 1453 { 0x119e1166, 0xd7c6 }, /* jungseong araea + e = araea-e */ 1454 { 0x119e116e, 0x11a0 }, /* jungseong araea + u = araea-u */ 1455 { 0x119e1175, 0x11a1 }, /* jungseong araea + i = araea-i */ 1456 { 0x119e119e, 0x11a2 }, /* jungseong araea + araea = ssangaraea */ 1457 { 0x11a811a8, 0x11a9 }, /* jongseong kiyeok + kiyeok = ssangkiyeok */ 1458 { 0x11a811ab, 0x11fa }, /* jongseong kiyeok + nieun = kiyeok-nieun */ 1459 { 0x11a811af, 0x11c3 }, /* jongseong kiyeok + rieul = kiyeok-rieul */ 1460 { 0x11a811b8, 0x11fb }, /* jongseong kiyeok + pieup = kiyeok-pieup */ 1461 { 0x11a811ba, 0x11aa }, /* jongseong kiyeok + sios = kiyeok-sios */ 1462 { 0x11a811be, 0x11fc }, /* jongseong kiyeok + chieuch = kiyeok-chieuch */ 1463 { 0x11a811bf, 0x11fd }, /* jongseong kiyeok + khieukh = kiyeok-khieukh */ 1464 { 0x11a811c2, 0x11fe }, /* jongseong kiyeok + hieuh = kiyeok-hieuh */ 1465 { 0x11a811e7, 0x11c4 }, /* jongseong kiyeok + sios-kiyeok = kiyeok-sios-kiyeok */ 1466 { 0x11aa11a8, 0x11c4 }, /* jongseong kiyeok-sios + kiyeok = kiyeok-sios-kiyeok */ 1467 { 0x11ab11a8, 0x11c5 }, /* jongseong nieun + kiyeok = nieun-kiyeok */ 1468 { 0x11ab11ab, 0x11ff }, /* jongseong nieun + nieun = ssangnieun */ 1469 { 0x11ab11ae, 0x11c6 }, /* jongseong nieun + tikeut = nieun-tikeut */ 1470 { 0x11ab11af, 0xd7cb }, /* jongseong nieun + rieul = nieun-rieul */ 1471 { 0x11ab11ba, 0x11c7 }, /* jongseong nieun + sios = nieun-sios */ 1472 { 0x11ab11bd, 0x11ac }, /* jongseong nieun + cieuc = nieun-cieuc */ 1473 { 0x11ab11be, 0xd7cc }, /* jongseong nieun + chieuch = nieun-chieuch */ 1474 { 0x11ab11c0, 0x11c9 }, /* jongseong nieun + thieuth = nieun-thieuth */ 1475 { 0x11ab11c2, 0x11ad }, /* jongseong nieun + hieuh = nieun-hieuh */ 1476 { 0x11ab11eb, 0x11c8 }, /* jongseong nieun + pansios = nieun-pansios */ 1477 { 0x11ae11a8, 0x11ca }, /* jongseong tikeut + kiyeok = tikeut-kiyeok */ 1478 { 0x11ae11ae, 0xd7cd }, /* jongseong tikeut + tikeut = ssangtikeut */ 1479 { 0x11ae11af, 0x11cb }, /* jongseong tikeut + rieul = tikeut-rieul */ 1480 { 0x11ae11b8, 0xd7cf }, /* jongseong tikeut + pieup = tikeut-pieup */ 1481 { 0x11ae11ba, 0xd7d0 }, /* jongseong tikeut + sios = tikeut-sios */ 1482 { 0x11ae11bd, 0xd7d2 }, /* jongseong tikeut + cieuc = tikeut-cieuc */ 1483 { 0x11ae11be, 0xd7d3 }, /* jongseong tikeut + chieuch = tikeut-chieuch */ 1484 { 0x11ae11c0, 0xd7d4 }, /* jongseong tikeut + thieuth = tikeut-thieuth */ 1485 { 0x11ae11e7, 0xd7d1 }, /* jongseong tikeut + sios-kiyeok = tikeut-sios-kiyeok */ 1486 { 0x11aed7cf, 0xd7ce }, /* jongseong tikeut + tikeut-pieup = ssangtikeut-pieup */ 1487 { 0x11af11a8, 0x11b0 }, /* jongseong rieul + kiyeok = rieul-kiyeok */ 1488 { 0x11af11a9, 0xd7d5 }, /* jongseong rieul + ssangkiyeok = rieul-ssangkiyeok */ 1489 { 0x11af11aa, 0x11cc }, /* jongseong rieul + kiyeok-sios = rieul-kiyeok-sios */ 1490 { 0x11af11ab, 0x11cd }, /* jongseong rieul + nieun = rieul-nieun */ 1491 { 0x11af11ae, 0x11ce }, /* jongseong rieul + tikeut = rieul-tikeut */ 1492 { 0x11af11af, 0x11d0 }, /* jongseong rieul + rieul = ssangrieul */ 1493 { 0x11af11b7, 0x11b1 }, /* jongseong rieul + mieum = rieul-mieum */ 1494 { 0x11af11b8, 0x11b2 }, /* jongseong rieul + pieup = rieul-pieup */ 1495 { 0x11af11b9, 0x11d3 }, /* jongseong rieul + pieup-sios = rieul-pieup-sios */ 1496 { 0x11af11ba, 0x11b3 }, /* jongseong rieul + sios = rieul-sios */ 1497 { 0x11af11bb, 0x11d6 }, /* jongseong rieul + ssangsios = rieul-ssangsios */ 1498 { 0x11af11bc, 0xd7dd }, /* jongseong rieul + ieung = kapyeounrieul */ 1499 { 0x11af11bf, 0x11d8 }, /* jongseong rieul + khieukh = rieul-khieukh */ 1500 { 0x11af11c0, 0x11b4 }, /* jongseong rieul + thieuth = rieul-thieuth */ 1501 { 0x11af11c1, 0x11b5 }, /* jongseong rieul + phieuph = rieul-phieuph */ 1502 { 0x11af11c2, 0x11b6 }, /* jongseong rieul + hieuh = rieul-hieuh */ 1503 { 0x11af11d8, 0xd7d7 }, /* jongseong rieul + rieul-khieukh = ssangrieul-khieukh */ 1504 { 0x11af11da, 0x11d1 }, /* jongseong rieul + mieum-kiyeok = rieul-mieum-kiyeok */ 1505 { 0x11af11dd, 0x11d2 }, /* jongseong rieul + mieum-sios = rieul-mieum-sios */ 1506 { 0x11af11e1, 0xd7d8 }, /* jongseong rieul + mieum-hieuh = rieul-mieum-hieuh */ 1507 { 0x11af11e4, 0xd7da }, /* jongseong rieul + pieup-phieuph = rieul-pieup-phieuph */ 1508 { 0x11af11e5, 0x11d4 }, /* jongseong rieul + pieup-hieuh = rieul-pieup-hieuh */ 1509 { 0x11af11e6, 0x11d5 }, /* jongseong rieul + kapyeounpieup = rieul-kapyeounpieup */ 1510 { 0x11af11eb, 0x11d7 }, /* jongseong rieul + pansios = rieul-pansios */ 1511 { 0x11af11f0, 0xd7db }, /* jongseong rieul + yesieung = rieul-yesieung */ 1512 { 0x11af11f9, 0x11d9 }, /* jongseong rieul + yeorinhieuh = rieul-yeorinhieuh */ 1513 { 0x11af11fe, 0xd7d6 }, /* jongseong rieul + kiyeok-hieuh = rieul-kiyeok-hieuh */ 1514 { 0x11afd7e3, 0xd7d9 }, /* jongseong rieul + pieup-tikeut = rieul-pieup-tikeut */ 1515 { 0x11b011a8, 0xd7d5 }, /* jongseong rieul-kiyeok + kiyeok = rieul-ssangkiyeok */ 1516 { 0x11b011ba, 0x11cc }, /* jongseong rieul-kiyeok + sios = rieul-kiyeok-sios */ 1517 { 0x11b011c2, 0xd7d6 }, /* jongseong rieul-kiyeok + hieuh = rieul-kiyeok-hieuh */ 1518 { 0x11b111a8, 0x11d1 }, /* jongseong rieul-mieum + kiyeok = rieul-mieum-kiyeok */ 1519 { 0x11b111ba, 0x11d2 }, /* jongseong rieul-mieum + sios = rieul-mieum-sios */ 1520 { 0x11b111c2, 0xd7d8 }, /* jongseong rieul-mieum + hieuh = rieul-mieum-hieuh */ 1521 { 0x11b211ae, 0xd7d9 }, /* jongseong rieul-pieup + tikeut = rieul-pieup-tikeut */ 1522 { 0x11b211ba, 0x11d3 }, /* jongseong rieul-pieup + sios = rieul-pieup-sios */ 1523 { 0x11b211bc, 0x11d5 }, /* jongseong rieul-pieup + ieung = rieul-kapyeounpieup */ 1524 { 0x11b211c1, 0xd7da }, /* jongseong rieul-pieup + phieuph = rieul-pieup-phieuph */ 1525 { 0x11b211c2, 0x11d4 }, /* jongseong rieul-pieup + hieuh = rieul-pieup-hieuh */ 1526 { 0x11b311ba, 0x11d6 }, /* jongseong rieul-sios + sios = rieul-ssangsios */ 1527 { 0x11b711a8, 0x11da }, /* jongseong mieum + kiyeok = mieum-kiyeok */ 1528 { 0x11b711ab, 0xd7de }, /* jongseong mieum + nieun = mieum-nieun */ 1529 { 0x11b711af, 0x11db }, /* jongseong mieum + rieul = mieum-rieul */ 1530 { 0x11b711b7, 0xd7e0 }, /* jongseong mieum + mieum = ssangmieum */ 1531 { 0x11b711b8, 0x11dc }, /* jongseong mieum + pieup = mieum-pieup */ 1532 { 0x11b711b9, 0xd7e1 }, /* jongseong mieum + pieup-sios = mieum-pieup-sios */ 1533 { 0x11b711ba, 0x11dd }, /* jongseong mieum + sios = mieum-sios */ 1534 { 0x11b711bb, 0x11de }, /* jongseong mieum + ssangsios = mieum-ssangsios */ 1535 { 0x11b711bc, 0x11e2 }, /* jongseong mieum + ieung = kapyeounmieum */ 1536 { 0x11b711bd, 0xd7e2 }, /* jongseong mieum + cieuc = mieum-cieuc */ 1537 { 0x11b711be, 0x11e0 }, /* jongseong mieum + chieuch = mieum-chieuch */ 1538 { 0x11b711c2, 0x11e1 }, /* jongseong mieum + hieuh = mieum-hieuh */ 1539 { 0x11b711eb, 0x11df }, /* jongseong mieum + pansios = mieum-pansios */ 1540 { 0x11b711ff, 0xd7df }, /* jongseong mieum + ssangnieun = mieum-ssangnieun */ 1541 { 0x11b811ae, 0xd7e3 }, /* jongseong pieup + tikeut = pieup-tikeut */ 1542 { 0x11b811af, 0x11e3 }, /* jongseong pieup + rieul = pieup-rieul */ 1543 { 0x11b811b5, 0xd7e4 }, /* jongseong pieup + rieul-phieuph = pieup-rieul-phieuph */ 1544 { 0x11b811b7, 0xd7e5 }, /* jongseong pieup + mieum = pieup-mieum */ 1545 { 0x11b811b8, 0xd7e6 }, /* jongseong pieup + pieup = ssangpieup */ 1546 { 0x11b811ba, 0x11b9 }, /* jongseong pieup + sios = pieup-sios */ 1547 { 0x11b811bc, 0x11e6 }, /* jongseong pieup + ieung = kapyeounpieup */ 1548 { 0x11b811bd, 0xd7e8 }, /* jongseong pieup + cieuc = pieup-cieuc */ 1549 { 0x11b811be, 0xd7e9 }, /* jongseong pieup + chieuch = pieup-chieuch */ 1550 { 0x11b811c1, 0x11e4 }, /* jongseong pieup + phieuph = pieup-phieuph */ 1551 { 0x11b811c2, 0x11e5 }, /* jongseong pieup + hieuh = pieup-hieuh */ 1552 { 0x11b811e8, 0xd7e7 }, /* jongseong pieup + sios-tikeut = pieup-sios-tikeut */ 1553 { 0x11b911ae, 0xd7e7 }, /* jongseong pieup-sios + tikeut = pieup-sios-tikeut */ 1554 { 0x11ba11a8, 0x11e7 }, /* jongseong sios + kiyeok = sios-kiyeok */ 1555 { 0x11ba11ae, 0x11e8 }, /* jongseong sios + tikeut = sios-tikeut */ 1556 { 0x11ba11af, 0x11e9 }, /* jongseong sios + rieul = sios-rieul */ 1557 { 0x11ba11b7, 0xd7ea }, /* jongseong sios + mieum = sios-mieum */ 1558 { 0x11ba11b8, 0x11ea }, /* jongseong sios + pieup = sios-pieup */ 1559 { 0x11ba11ba, 0x11bb }, /* jongseong sios + sios = ssangsios */ 1560 { 0x11ba11bd, 0xd7ef }, /* jongseong sios + cieuc = sios-cieuc */ 1561 { 0x11ba11be, 0xd7f0 }, /* jongseong sios + chieuch = sios-chieuch */ 1562 { 0x11ba11c0, 0xd7f1 }, /* jongseong sios + thieuth = sios-thieuth */ 1563 { 0x11ba11c2, 0xd7f2 }, /* jongseong sios + hieuh = sios-hieuh */ 1564 { 0x11ba11e6, 0xd7eb }, /* jongseong sios + kapyeounpieup = sios-kapyeounpieup */ 1565 { 0x11ba11e7, 0xd7ec }, /* jongseong sios + sios-kiyeok = ssangsios-kiyeok */ 1566 { 0x11ba11e8, 0xd7ed }, /* jongseong sios + sios-tikeut = ssangsios-tikeut */ 1567 { 0x11ba11eb, 0xd7ee }, /* jongseong sios + pansios = sios-pansios */ 1568 { 0x11bb11a8, 0xd7ec }, /* jongseong ssangsios + kiyeok = ssangsios-kiyeok */ 1569 { 0x11bb11ae, 0xd7ed }, /* jongseong ssangsios + tikeut = ssangsios-tikeut */ 1570 { 0x11bd11b8, 0xd7f7 }, /* jongseong cieuc + pieup = cieuc-pieup */ 1571 { 0x11bd11bd, 0xd7f9 }, /* jongseong cieuc + cieuc = ssangcieuc */ 1572 { 0x11bdd7e6, 0xd7f8 }, /* jongseong cieuc + ssangpieup = cieuc-ssangpieup */ 1573 { 0x11c111b8, 0x11f3 }, /* jongseong phieuph + pieup = phieuph-pieup */ 1574 { 0x11c111ba, 0xd7fa }, /* jongseong phieuph + sios = phieuph-sios */ 1575 { 0x11c111bc, 0x11f4 }, /* jongseong phieuph + ieung = kapyeounphieuph */ 1576 { 0x11c111c0, 0xd7fb }, /* jongseong phieuph + thieuth = phieuph-thieuth */ 1577 { 0x11c211ab, 0x11f5 }, /* jongseong hieuh + nieun = hieuh-nieun */ 1578 { 0x11c211af, 0x11f6 }, /* jongseong hieuh + rieul = hieuh-rieul */ 1579 { 0x11c211b7, 0x11f7 }, /* jongseong hieuh + mieum = hieuh-mieum */ 1580 { 0x11c211b8, 0x11f8 }, /* jongseong hieuh + pieup = hieuh-pieup */ 1581 { 0x11ce11c2, 0x11cf }, /* jongseong rieul-tikeut + hieuh = rieul-tikeut-hieuh */ 1582 { 0x11d011bf, 0xd7d7 }, /* jongseong ssangrieul + khieukh = ssangrieul-khieukh */ 1583 { 0x11d911c2, 0xd7dc }, /* jongseong rieul-yeorinhieuh + hieuh = rieul-yeorinhieuh-hieuh */ 1584 { 0x11dc11ba, 0xd7e1 }, /* jongseong mieum-pieup + sios = mieum-pieup-sios */ 1585 { 0x11dd11ba, 0x11de }, /* jongseong mieum-sios + sios = mieum-ssangsios */ 1586 { 0x11e311c1, 0xd7e4 }, /* jongseong pieup-rieul + phieuph = pieup-rieul-phieuph */ 1587 { 0x11ea11bc, 0xd7eb }, /* jongseong sios-pieup + ieung = sios-kapyeounpieup */ 1588 { 0x11eb11b8, 0xd7f3 }, /* jongseong pansios + pieup = pansios-pieup */ 1589 { 0x11eb11e6, 0xd7f4 }, /* jongseong pansios + kapyeounpieup = pansios-kapyeounpieup */ 1590 { 0x11ec11a8, 0x11ed }, /* jongseong ieung-kiyeok + kiyeok = ieung-ssangkiyeok */ 1591 { 0x11f011a8, 0x11ec }, /* jongseong yesieung + kiyeok = yesieung-kiyeok */ 1592 { 0x11f011a9, 0x11ed }, /* jongseong yesieung + ssangkiyeok = yesieung-ssangkiyeok */ 1593 { 0x11f011b7, 0xd7f5 }, /* jongseong yesieung + mieum = yesieung-mieum */ 1594 { 0x11f011ba, 0x11f1 }, /* jongseong yesieung + sios = yesieung-sios */ 1595 { 0x11f011bf, 0x11ef }, /* jongseong yesieung + khieukh = yesieung-khieukh */ 1596 { 0x11f011c2, 0xd7f6 }, /* jongseong yesieung + hieuh = yesieung-hieuh */ 1597 { 0x11f011eb, 0x11f2 }, /* jongseong yesieung + pansios = yesieung-pansios */ 1598 { 0x11f011f0, 0x11ee }, /* jongseong yesieung + yesieung = ssangyesieung */ 1599 { 0xa9641100, 0xa965 }, /* choseong rieul-kiyeok + kiyeok = rieul-ssangkiyeok */ 1600 { 0xa9661103, 0xa967 }, /* choseong rieul-tikeut + tikeut = rieul-ssangtikeut */ 1601 { 0xa9691107, 0xa96a }, /* choseong rieul-pieup + pieup = rieul-ssangpieup */ 1602 { 0xa969110b, 0xa96b }, /* choseong rieul-pieup + ieung = rieul-kapyeounpieup */ 1603 { 0xd7c51161, 0x11a2 }, /* jungseong araea-a + a = ssangaraea */ 1604 { 0xd7cd11b8, 0xd7ce }, /* jongseong ssangtikeut + pieup = ssangtikeut-pieup */ 1605 { 0xd7d011a8, 0xd7d1 }, /* jongseong tikeut-sios + kiyeok = tikeut-sios-kiyeok */ 1606 { 0xd7de11ab, 0xd7df }, /* jongseong mieum-nieun + nieun = mieum-ssangnieun */ 1607 { 0xd7f311bc, 0xd7f4 }, /* jongseong pansios-pieup + ieung = pansios-kapyeounpieup */ 1608 { 0xd7f711b8, 0xd7f8 }, /* jongseong cieuc-pieup + pieup = cieuc-ssangpieup */ 1609 }; 1610 1611 static const HangulCombinationItem hangul_combination_table_ahn[] = { 1612 { 0x11001103, 0x1104 }, /* choseong kiyeok + tikeut = ssangtikeut */ 1613 { 0x1100110b, 0x1101 }, /* choseong kiyeok + ieung = ssangkiyeok */ 1614 { 0x11001112, 0x110f }, /* choseong kiyeok + hieuh = khieukh */ 1615 { 0x11021109, 0x110a }, /* choseong nieun + sios = ssangsios */ 1616 { 0x11031100, 0x1104 }, /* choseong tikeut + kiyeok = ssangtikeut */ 1617 { 0x1103110c, 0x110d }, /* choseong tikeut + cieuc = ssangcieuc */ 1618 { 0x11031112, 0x1110 }, /* choseong tikeut + hieuh = thieuth */ 1619 { 0x1107110c, 0x1108 }, /* choseong pieup + cieuc = ssangpieup */ 1620 { 0x11071112, 0x1111 }, /* choseong pieup + hieuh = phieuph */ 1621 { 0x11091102, 0x110a }, /* choseong sios + nieun = ssangsios */ 1622 { 0x110b1100, 0x1101 }, /* choseong ieung + kiyeok = ssangkiyeok */ 1623 { 0x110c1103, 0x110d }, /* choseong cieuc + tikeut = ssangcieuc */ 1624 { 0x110c1107, 0x1108 }, /* choseong cieuc + pieup = ssangpieup */ 1625 { 0x110c1112, 0x110e }, /* choseong cieuc + hieuh = chieuch */ 1626 { 0x11121100, 0x110f }, /* choseong hieuh + kiyeok = khieukh */ 1627 { 0x11121103, 0x1110 }, /* choseong hieuh + tikeut = thieuth */ 1628 { 0x11121107, 0x1111 }, /* choseong hieuh + pieup = phieuph */ 1629 { 0x1112110c, 0x110e }, /* choseong hieuh + cieuc = chieuch */ 1630 { 0x11611169, 0x116a }, /* jungseong a + o = wa */ 1631 { 0x11611175, 0x1162 }, /* jungseong a + i = ae */ 1632 { 0x11621169, 0x116b }, /* jungseong ae + o = wae */ 1633 { 0x11631175, 0x1164 }, /* jungseong ya + i = yae */ 1634 { 0x1165116e, 0x116f }, /* jungseong eo + u = weo */ 1635 { 0x11651175, 0x1166 }, /* jungseong eo + i = e */ 1636 { 0x1166116e, 0x1170 }, /* jungseong e + u = we */ 1637 { 0x11671175, 0x1168 }, /* jungseong yeo + i = ye */ 1638 { 0x11691161, 0x116a }, /* jungseong o + a = wa */ 1639 { 0x11691175, 0x116c }, /* jungseong o + i = oe */ 1640 { 0x116a1175, 0x116b }, /* jungseong wa + i = wae */ 1641 { 0x116c1161, 0x116b }, /* jungseong oe + a = wae */ 1642 { 0x116e1165, 0x116f }, /* jungseong u + eo = weo */ 1643 { 0x116e1175, 0x1171 }, /* jungseong u + i = wi */ 1644 { 0x116f1175, 0x1170 }, /* jungseong weo + i = we */ 1645 { 0x11711165, 0x1170 }, /* jungseong wi + eo = we */ 1646 { 0x11731175, 0x1174 }, /* jungseong eu + i = yi */ 1647 { 0x11751161, 0x1162 }, /* jungseong i + a = ae */ 1648 { 0x11751163, 0x1164 }, /* jungseong i + ya = yae */ 1649 { 0x11751165, 0x1166 }, /* jungseong i + eo = e */ 1650 { 0x11751167, 0x1168 }, /* jungseong i + yeo = ye */ 1651 { 0x11751169, 0x116c }, /* jungseong i + o = oe */ 1652 { 0x1175116e, 0x1171 }, /* jungseong i + u = wi */ 1653 { 0x11751173, 0x1174 }, /* jungseong i + eu = yi */ 1654 { 0x11a811af, 0x11b0 }, /* jongseong kiyeok + rieul = rieul-kiyeok */ 1655 { 0x11a811ba, 0x11aa }, /* jongseong kiyeok + sios = kiyeok-sios */ 1656 { 0x11a811bc, 0x11a9 }, /* jongseong kiyeok + ieung = ssangkiyeok */ 1657 { 0x11a811c2, 0x11bf }, /* jongseong kiyeok + hieuh = khieukh */ 1658 { 0x11ab11ba, 0x11bb }, /* jongseong nieun + sios = ssangsios */ 1659 { 0x11ab11bd, 0x11ac }, /* jongseong nieun + cieuc = nieun-cieuc */ 1660 { 0x11ab11c2, 0x11ad }, /* jongseong nieun + hieuh = nieun-hieuh */ 1661 { 0x11ae11af, 0x11ce }, /* jongseong tikeut + rieul = rieul-tikeut */ 1662 { 0x11ae11c2, 0x11c0 }, /* jongseong tikeut + hieuh = thieuth */ 1663 { 0x11af11a8, 0x11b0 }, /* jongseong rieul + kiyeok = rieul-kiyeok */ 1664 { 0x11af11ae, 0x11ce }, /* jongseong rieul + tikeut = rieul-tikeut */ 1665 { 0x11af11b7, 0x11b1 }, /* jongseong rieul + mieum = rieul-mieum */ 1666 { 0x11af11b8, 0x11b2 }, /* jongseong rieul + pieup = rieul-pieup */ 1667 { 0x11af11ba, 0x11b3 }, /* jongseong rieul + sios = rieul-sios */ 1668 { 0x11af11c2, 0x11b6 }, /* jongseong rieul + hieuh = rieul-hieuh */ 1669 { 0x11b211c2, 0x11b5 }, /* jongseong rieul-pieup + hieuh = rieul-phieuph */ 1670 { 0x11b611ae, 0x11b4 }, /* jongseong rieul-hieuh + tikeut = rieul-thieuth */ 1671 { 0x11b611b8, 0x11b5 }, /* jongseong rieul-hieuh + pieup = rieul-phieuph */ 1672 { 0x11b711af, 0x11b1 }, /* jongseong mieum + rieul = rieul-mieum */ 1673 { 0x11b811af, 0x11b2 }, /* jongseong pieup + rieul = rieul-pieup */ 1674 { 0x11b811ba, 0x11b9 }, /* jongseong pieup + sios = pieup-sios */ 1675 { 0x11b811c2, 0x11c1 }, /* jongseong pieup + hieuh = phieuph */ 1676 { 0x11ba11a8, 0x11aa }, /* jongseong sios + kiyeok = kiyeok-sios */ 1677 { 0x11ba11ab, 0x11bb }, /* jongseong sios + nieun = ssangsios */ 1678 { 0x11ba11af, 0x11b3 }, /* jongseong sios + rieul = rieul-sios */ 1679 { 0x11ba11b8, 0x11b9 }, /* jongseong sios + pieup = pieup-sios */ 1680 { 0x11bc11a8, 0x11a9 }, /* jongseong ieung + kiyeok = ssangkiyeok */ 1681 { 0x11bd11ab, 0x11ac }, /* jongseong cieuc + nieun = nieun-cieuc */ 1682 { 0x11bd11c2, 0x11be }, /* jongseong cieuc + hieuh = chieuch */ 1683 { 0x11c011af, 0x11b4 }, /* jongseong thieuth + rieul = rieul-thieuth */ 1684 { 0x11c111af, 0x11b5 }, /* jongseong phieuph + rieul = rieul-phieuph */ 1685 { 0x11c211a8, 0x11bf }, /* jongseong hieuh + kiyeok = khieukh */ 1686 { 0x11c211ab, 0x11ad }, /* jongseong hieuh + nieun = nieun-hieuh */ 1687 { 0x11c211ae, 0x11c0 }, /* jongseong hieuh + tikeut = thieuth */ 1688 { 0x11c211af, 0x11b6 }, /* jongseong hieuh + rieul = rieul-hieuh */ 1689 { 0x11c211b8, 0x11c1 }, /* jongseong hieuh + pieup = phieuph */ 1690 { 0x11c211bd, 0x11be }, /* jongseong hieuh + cieuc = chieuch */ 1691 { 0x11ce11c2, 0x11b4 }, /* jongseong rieul-tikeut + hieuh = rieul-thieuth */ 1692 }; 1693