textinput/ptihangulcore/inc/hangulkeyboard.h
branchRCL_3
changeset 3 f5a1e66df979
equal deleted inserted replaced
0:eb1f2e154e89 3:f5a1e66df979
       
     1 /*
       
     2 * Copyright (c) 2005,2006 Choe Hwanjin
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 static const ucschar hangul_keyboard_table_2[] = {
       
    18     0x0000,     /* 0x00 null                                         */
       
    19     0x0000,     /* 0x01 start of heading                             */
       
    20     0x0000,     /* 0x02 start of text                                */
       
    21     0x0000,     /* 0x03 end of text                                  */
       
    22     0x0000,     /* 0x04 end of transmission                          */
       
    23     0x0000,     /* 0x05 enquiry                                      */
       
    24     0x0000,     /* 0x06 acknowledge                                  */
       
    25     0x0000,     /* 0x07 bell                                         */
       
    26     0x0000,     /* 0x08 backspace                                    */
       
    27     0x0000,     /* 0x09 character tabulation                         */
       
    28     0x0000,     /* 0x0A line feed (lf)                               */
       
    29     0x0000,     /* 0x0B line tabulation                              */
       
    30     0x0000,     /* 0x0C form feed (ff)                               */
       
    31     0x0000,     /* 0x0D carriage return (cr)                         */
       
    32     0x0000,     /* 0x0E shift out                                    */
       
    33     0x0000,     /* 0x0F shift in                                     */
       
    34     0x0000,     /* 0x10 data link escape                             */
       
    35     0x0000,     /* 0x11 device control one                           */
       
    36     0x0000,     /* 0x12 device control two                           */
       
    37     0x0000,     /* 0x13 device control three                         */
       
    38     0x0000,     /* 0x14 device control four                          */
       
    39     0x0000,     /* 0x15 negative acknowledge                         */
       
    40     0x0000,     /* 0x16 synchronous idle                             */
       
    41     0x0000,     /* 0x17 end of transmission block                    */
       
    42     0x0000,     /* 0x18 cancel                                       */
       
    43     0x0000,     /* 0x19 end of medium                                */
       
    44     0x0000,     /* 0x1A substitute                                   */
       
    45     0x0000,     /* 0x1B escape                                       */
       
    46     0x0000,     /* 0x1C information separator four                   */
       
    47     0x0000,     /* 0x1D information separator three                  */
       
    48     0x0000,     /* 0x1E information separator two                    */
       
    49     0x0000,     /* 0x1F information separator one                    */
       
    50     0x0000,     /* 0x20 space                                        */
       
    51     0x0021,     /* 0x21 exclam:       exclamation mark               */
       
    52     0x0022,     /* 0x22 quotedbl:     quotation mark                 */
       
    53     0x0023,     /* 0x23 numbersign:   number sign                    */
       
    54     0x0024,     /* 0x24 dollar:       dollar sign                    */
       
    55     0x0025,     /* 0x25 percent:      percent sign                   */
       
    56     0x0026,     /* 0x26 ampersand:    ampersand                      */
       
    57     0x0027,     /* 0x27 apostrophe:   apostrophe                     */
       
    58     0x0028,     /* 0x28 parenleft:    left parenthesis               */
       
    59     0x0029,     /* 0x29 parenright:   right parenthesis              */
       
    60     0x002a,     /* 0x2A asterisk:     asterisk                       */
       
    61     0x002b,     /* 0x2B plus:         plus sign                      */
       
    62     0x002c,     /* 0x2C comma:        comma                          */
       
    63     0x002d,     /* 0x2D minus:        minus sign                     */
       
    64     0x002e,     /* 0x2E period:       period                         */
       
    65     0x002f,     /* 0x2F slash:        slash                          */
       
    66     0x0030,     /* 0x30 0:            0                              */
       
    67     0x0031,     /* 0x31 1:            1                              */
       
    68     0x0032,     /* 0x32 2:            2                              */
       
    69     0x0033,     /* 0x33 3:            3                              */
       
    70     0x0034,     /* 0x34 4:            4                              */
       
    71     0x0035,     /* 0x35 5:            5                              */
       
    72     0x0036,     /* 0x36 6:            6                              */
       
    73     0x0037,     /* 0x37 7:            7                              */
       
    74     0x0038,     /* 0x38 8:            8                              */
       
    75     0x0039,     /* 0x39 9:            9                              */
       
    76     0x003a,     /* 0x3A colon:        colon                          */
       
    77     0x003b,     /* 0x3B semicolon:    semicolon                      */
       
    78     0x003c,     /* 0x3C less:         less-than sign                 */
       
    79     0x003d,     /* 0x3D equal:        equals sign                    */
       
    80     0x003e,     /* 0x3E greater:      greater-than sign              */
       
    81     0x003f,     /* 0x3F question:     question mark                  */
       
    82     0x0040,     /* 0x40 at:           commercial at                  */
       
    83     0x1106,     /* 0x41 A:            choseong mieum                 */
       
    84     0x1172,     /* 0x42 B:            jungseong yu                   */
       
    85     0x110e,     /* 0x43 C:            choseong chieuch               */
       
    86     0x110b,     /* 0x44 D:            choseong ieung                 */
       
    87     0x1104,     /* 0x45 E:            choseong ssangtikeut           */
       
    88     0x1105,     /* 0x46 F:            choseong rieul                 */
       
    89     0x1112,     /* 0x47 G:            choseong hieuh                 */
       
    90     0x1169,     /* 0x48 H:            jungseong o                    */
       
    91     0x1163,     /* 0x49 I:            jungseong ya                   */
       
    92     0x1165,     /* 0x4A J:            jungseong eo                   */
       
    93     0x1161,     /* 0x4B K:            jungseong a                    */
       
    94     0x1175,     /* 0x4C L:            jungseong i                    */
       
    95     0x1173,     /* 0x4D M:            jungseong eu                   */
       
    96     0x116e,     /* 0x4E N:            jungseong u                    */
       
    97     0x1164,     /* 0x4F O:            jungseong yae                  */
       
    98     0x1168,     /* 0x50 P:            jungseong ye                   */
       
    99     0x1108,     /* 0x51 Q:            choseong ssangpieup            */
       
   100     0x1101,     /* 0x52 R:            choseong ssangkiyeok           */
       
   101     0x1102,     /* 0x53 S:            choseong nieun                 */
       
   102     0x110a,     /* 0x54 T:            choseong ssangsios             */
       
   103     0x1167,     /* 0x55 U:            jungseong yeo                  */
       
   104     0x1111,     /* 0x56 V:            choseong phieuph               */
       
   105     0x110d,     /* 0x57 W:            choseong ssangcieuc            */
       
   106     0x1110,     /* 0x58 X:            choseong thieuth               */
       
   107     0x116d,     /* 0x59 Y:            jungseong yo                   */
       
   108     0x110f,     /* 0x5A Z:            choseong khieukh               */
       
   109     0x005b,     /* 0x5B bracketleft:  left bracket                   */
       
   110     0x005c,     /* 0x5C backslash:    backslash                      */
       
   111     0x005d,     /* 0x5D bracketright: right bracket                  */
       
   112     0x005e,     /* 0x5E asciicircum:  circumflex accent              */
       
   113     0x005f,     /* 0x5F underscore:   underscore                     */
       
   114     0x0060,     /* 0x60 quoteleft:    grave accent                   */
       
   115     0x1106,     /* 0x61 a:            choseong  mieum                */
       
   116     0x1172,     /* 0x62 b:            jungseong yu                   */
       
   117     0x110e,     /* 0x63 c:            choseong  chieuch              */
       
   118     0x110b,     /* 0x64 d:            choseong  ieung                */
       
   119     0x1103,     /* 0x65 e:            choseong  tikeut               */
       
   120     0x1105,     /* 0x66 f:            choseong  rieul                */
       
   121     0x1112,     /* 0x67 g:            choseong  hieuh                */
       
   122     0x1169,     /* 0x68 h:            jungseong o                    */
       
   123     0x1163,     /* 0x69 i:            jungseong ya                   */
       
   124     0x1165,     /* 0x6A j:            jungseong eo                   */
       
   125     0x1161,     /* 0x6B k:            jungseong a                    */
       
   126     0x1175,     /* 0x6C l:            jungseong i                    */
       
   127     0x1173,     /* 0x6D m:            jungseong eu                   */
       
   128     0x116e,     /* 0x6E n:            jungseong u                    */
       
   129     0x1162,     /* 0x6F o:            jungseong ae                   */
       
   130     0x1166,     /* 0x70 p:            jungseong e                    */
       
   131     0x1107,     /* 0x71 q:            choseong  pieup                */
       
   132     0x1100,     /* 0x72 r:            choseong  kiyeok               */
       
   133     0x1102,     /* 0x73 s:            choseong  nieun                */
       
   134     0x1109,     /* 0x74 t:            choseong  sios                 */
       
   135     0x1167,     /* 0x75 u:            jungseong yeo                  */
       
   136     0x1111,     /* 0x76 v:            choseong  phieuph              */
       
   137     0x110c,     /* 0x77 w:            choseong  cieuc                */
       
   138     0x1110,     /* 0x78 x:            choseong  thieuth              */
       
   139     0x116d,     /* 0x79 y:            jungseong yo                   */
       
   140     0x110f,     /* 0x7A z:            choseong  khieukh              */
       
   141     0x007b,     /* 0x7B braceleft:    left brace                     */
       
   142     0x007c,     /* 0x7C bar:          vertical bar                   */
       
   143     0x007d,     /* 0x7D braceright:   right brace                    */
       
   144     0x007e,     /* 0x7E asciitilde:   tilde                          */
       
   145     0x0000      /* 0x7F delete                                       */
       
   146 };
       
   147 
       
   148 static const ucschar hangul_keyboard_table_32[] = {
       
   149     0x0000,     /* 0x00 null                                         */
       
   150     0x0000,     /* 0x01 start of heading                             */
       
   151     0x0000,     /* 0x02 start of text                                */
       
   152     0x0000,     /* 0x03 end of text                                  */
       
   153     0x0000,     /* 0x04 end of transmission                          */
       
   154     0x0000,     /* 0x05 enquiry                                      */
       
   155     0x0000,     /* 0x06 acknowledge                                  */
       
   156     0x0000,     /* 0x07 bell                                         */
       
   157     0x0000,     /* 0x08 backspace                                    */
       
   158     0x0000,     /* 0x09 character tabulation                         */
       
   159     0x0000,     /* 0x0A line feed (lf)                               */
       
   160     0x0000,     /* 0x0B line tabulation                              */
       
   161     0x0000,     /* 0x0C form feed (ff)                               */
       
   162     0x0000,     /* 0x0D carriage return (cr)                         */
       
   163     0x0000,     /* 0x0E shift out                                    */
       
   164     0x0000,     /* 0x0F shift in                                     */
       
   165     0x0000,     /* 0x10 data link escape                             */
       
   166     0x0000,     /* 0x11 device control one                           */
       
   167     0x0000,     /* 0x12 device control two                           */
       
   168     0x0000,     /* 0x13 device control three                         */
       
   169     0x0000,     /* 0x14 device control four                          */
       
   170     0x0000,     /* 0x15 negative acknowledge                         */
       
   171     0x0000,     /* 0x16 synchronous idle                             */
       
   172     0x0000,     /* 0x17 end of transmission block                    */
       
   173     0x0000,     /* 0x18 cancel                                       */
       
   174     0x0000,     /* 0x19 end of medium                                */
       
   175     0x0000,     /* 0x1A substitute                                   */
       
   176     0x0000,     /* 0x1B escape                                       */
       
   177     0x0000,     /* 0x1C information separator four                   */
       
   178     0x0000,     /* 0x1D information separator three                  */
       
   179     0x0000,     /* 0x1E information separator two                    */
       
   180     0x0000,     /* 0x1F information separator one                    */
       
   181     0x0000,     /* 0x20 space                                        */
       
   182     0x0021,     /* 0x21 exclam:         exclamation mark             */
       
   183     0x0022,     /* 0x22 quotedbl:       quotation mark               */
       
   184     0x0023,     /* 0x23 numbersign:     number sign                  */
       
   185     0x0024,     /* 0x24 dollar:         dollar sign                  */
       
   186     0x0025,     /* 0x25 percent:        percent sign                 */
       
   187     0x0026,     /* 0x26 ampersand:      ampersand                    */
       
   188     0x0027,     /* 0x27 apostrophe:     apostrophe                   */
       
   189     0x0028,     /* 0x28 parenleft:      left parenthesis             */
       
   190     0x0029,     /* 0x29 parenright:     right parenthesis            */
       
   191     0x002a,     /* 0x2A asterisk:       asterisk                     */
       
   192     0x002b,     /* 0x2B plus:           plus sign                    */
       
   193     0x002c,     /* 0x2C comma:          comma                        */
       
   194     0x002d,     /* 0x2D minus:          minus sign                   */
       
   195     0x002e,     /* 0x2E period:         period                       */
       
   196     0x002f,     /* 0x2F slash:          slash                        */
       
   197     0x0030,     /* 0x30 0:              0                            */
       
   198     0x0031,     /* 0x31 1:              1                            */
       
   199     0x0032,     /* 0x32 2:              2                            */
       
   200     0x0033,     /* 0x33 3:              3                            */
       
   201     0x0034,     /* 0x34 4:              4                            */
       
   202     0x0035,     /* 0x35 5:              5                            */
       
   203     0x0036,     /* 0x36 6:              6                            */
       
   204     0x0037,     /* 0x37 7:              7                            */
       
   205     0x0038,     /* 0x38 8:              8                            */
       
   206     0x0039,     /* 0x39 9:              9                            */
       
   207     0x003a,     /* 0x3A colon:          colon                        */
       
   208     0x003b,     /* 0x3B semicolon:      semicolon                    */
       
   209     0x003c,     /* 0x3C less:           less-than sign               */
       
   210     0x003d,     /* 0x3D equal:          equals sign                  */
       
   211     0x003e,     /* 0x3E greater:        greater-than sign            */
       
   212     0x003f,     /* 0x3F question:       question mark                */
       
   213     0x0040,     /* 0x40 at:             commercial at                */
       
   214     0x11b7,     /* 0x41 A:              jongseong mieum              */
       
   215     0x1172,     /* 0x42 B:              jungseong yu                 */
       
   216     0x11be,     /* 0x43 C:              jongseong chieuch            */
       
   217     0x11bc,     /* 0x44 D:              jongseong ieung              */
       
   218     0x11ae,     /* 0x45 E:              jongseong tikeut             */
       
   219     0x11af,     /* 0x46 F:              jongseong rieul              */
       
   220     0x11c2,     /* 0x47 G:              jongseong hieuh              */
       
   221     0x1169,     /* 0x48 H:              jungseong o                  */
       
   222     0x1163,     /* 0x49 I:              jungseong ya                 */
       
   223     0x1165,     /* 0x4A J:              jungseong eo                 */
       
   224     0x1161,     /* 0x4B K:              jungseong a                  */
       
   225     0x1175,     /* 0x4C L:              jungseong i                  */
       
   226     0x1173,     /* 0x4D M:              jungseong eu                 */
       
   227     0x116e,     /* 0x4E N:              jungseong u                  */
       
   228     0x1164,     /* 0x4F O:              jungseong yae                */
       
   229     0x1168,     /* 0x50 P:              jungseong ye                 */
       
   230     0x11b8,     /* 0x51 Q:              jongseong pieup              */
       
   231     0x11a8,     /* 0x52 R:              jongseong kiyeok             */
       
   232     0x11ab,     /* 0x53 S:              jongseong nieun              */
       
   233     0x11ba,     /* 0x54 T:              jongseong sios               */
       
   234     0x1167,     /* 0x55 U:              jungseong yeo                */
       
   235     0x11c1,     /* 0x56 V:              jongseong phieuph            */
       
   236     0x11bd,     /* 0x57 W:              jongseong cieuc              */
       
   237     0x11c0,     /* 0x58 X:              jongseong thieuth            */
       
   238     0x116d,     /* 0x59 Y:              jungseong yo                 */
       
   239     0x11bf,     /* 0x5A Z:              jongseong khieukh            */
       
   240     0x005b,     /* 0x5B bracketleft:    left bracket                 */
       
   241     0x005c,     /* 0x5C backslash:      backslash                    */
       
   242     0x005d,     /* 0x5D bracketright:   right bracket                */
       
   243     0x005e,     /* 0x5E asciicircum:    circumflex accent            */
       
   244     0x005f,     /* 0x5F underscore:     underscore                   */
       
   245     0x0060,     /* 0x60 quoteleft:      grave accent                 */
       
   246     0x1106,     /* 0x61 a:              choseong  mieum              */
       
   247     0x1172,     /* 0x62 b:              jungseong yu                 */
       
   248     0x110e,     /* 0x63 c:              choseong  chieuch            */
       
   249     0x110b,     /* 0x64 d:              choseong  ieung              */
       
   250     0x1103,     /* 0x65 e:              choseong  tikeut             */
       
   251     0x1105,     /* 0x66 f:              choseong  rieul              */
       
   252     0x1112,     /* 0x67 g:              choseong  hieuh              */
       
   253     0x1169,     /* 0x68 h:              jungseong o                  */
       
   254     0x1163,     /* 0x69 i:              jungseong ya                 */
       
   255     0x1165,     /* 0x6A j:              jungseong eo                 */
       
   256     0x1161,     /* 0x6B k:              jungseong a                  */
       
   257     0x1175,     /* 0x6C l:              jungseong i                  */
       
   258     0x1173,     /* 0x6D m:              jungseong eu                 */
       
   259     0x116e,     /* 0x6E n:              jungseong u                  */
       
   260     0x1162,     /* 0x6F o:              jungseong ae                 */
       
   261     0x1166,     /* 0x70 p:              jungseong e                  */
       
   262     0x1107,     /* 0x71 q:              choseong  pieup              */
       
   263     0x1100,     /* 0x72 r:              choseong  kiyeok             */
       
   264     0x1102,     /* 0x73 s:              choseong  nieun              */
       
   265     0x1109,     /* 0x74 t:              choseong  sios               */
       
   266     0x1167,     /* 0x75 u:              jungseong yeo                */
       
   267     0x1111,     /* 0x76 v:              choseong  phieuph            */
       
   268     0x110c,     /* 0x77 w:              choseong  cieuc              */
       
   269     0x1110,     /* 0x78 x:              choseong  thieuth            */
       
   270     0x116d,     /* 0x79 y:              jungseong yo                 */
       
   271     0x110f,     /* 0x7A z:              choseong  khieukh            */
       
   272     0x007b,     /* 0x7B braceleft:      left brace                   */
       
   273     0x007c,     /* 0x7C bar:            vertical bar                 */
       
   274     0x007d,     /* 0x7D braceright:     right brace                  */
       
   275     0x203b,     /* 0x7E asciitilde:     tilde                        */
       
   276     0x0000      /* 0x7F delete                                       */
       
   277 };
       
   278 
       
   279 static const ucschar hangul_keyboard_table_390[] = {
       
   280     0x0000,     /* 0x00 null                                         */
       
   281     0x0000,     /* 0x01 start of heading                             */
       
   282     0x0000,     /* 0x02 start of text                                */
       
   283     0x0000,     /* 0x03 end of text                                  */
       
   284     0x0000,     /* 0x04 end of transmission                          */
       
   285     0x0000,     /* 0x05 enquiry                                      */
       
   286     0x0000,     /* 0x06 acknowledge                                  */
       
   287     0x0000,     /* 0x07 bell                                         */
       
   288     0x0000,     /* 0x08 backspace                                    */
       
   289     0x0000,     /* 0x09 character tabulation                         */
       
   290     0x0000,     /* 0x0A line feed (lf)                               */
       
   291     0x0000,     /* 0x0B line tabulation                              */
       
   292     0x0000,     /* 0x0C form feed (ff)                               */
       
   293     0x0000,     /* 0x0D carriage return (cr)                         */
       
   294     0x0000,     /* 0x0E shift out                                    */
       
   295     0x0000,     /* 0x0F shift in                                     */
       
   296     0x0000,     /* 0x10 data link escape                             */
       
   297     0x0000,     /* 0x11 device control one                           */
       
   298     0x0000,     /* 0x12 device control two                           */
       
   299     0x0000,     /* 0x13 device control three                         */
       
   300     0x0000,     /* 0x14 device control four                          */
       
   301     0x0000,     /* 0x15 negative acknowledge                         */
       
   302     0x0000,     /* 0x16 synchronous idle                             */
       
   303     0x0000,     /* 0x17 end of transmission block                    */
       
   304     0x0000,     /* 0x18 cancel                                       */
       
   305     0x0000,     /* 0x19 end of medium                                */
       
   306     0x0000,     /* 0x1A substitute                                   */
       
   307     0x0000,     /* 0x1B escape                                       */
       
   308     0x0000,     /* 0x1C information separator four                   */
       
   309     0x0000,     /* 0x1D information separator three                  */
       
   310     0x0000,     /* 0x1E information separator two                    */
       
   311     0x0000,     /* 0x1F information separator one                    */
       
   312     0x0000,     /* 0x20 space                                        */
       
   313     0x11bd,     /* 0x21 exclam:         jongseong cieuc              */
       
   314     0x0022,     /* 0x22 quotedbl:       quotatioin mark              */
       
   315     0x0023,     /* 0x23 numbersign:     number sign                  */
       
   316     0x0024,     /* 0x24 dollar:         dollar sign                  */
       
   317     0x0025,     /* 0x25 percent:        percent sign                 */
       
   318     0x0026,     /* 0x26 ampersand:      ampersand                    */
       
   319     0x1110,     /* 0x27 apostrophe:     choseong thieuth             */
       
   320     0x0028,     /* 0x28 parenleft:      left parenthesis             */
       
   321     0x0029,     /* 0x29 parenright:     right parenthesis            */
       
   322     0x002a,     /* 0x2A asterisk:       asterisk                     */
       
   323     0x002b,     /* 0x2B plus:           plus sign                    */
       
   324     0x002c,     /* 0x2C comma:          comma                        */
       
   325     0x002d,     /* 0x2D minus:          minus sign                   */
       
   326     0x002e,     /* 0x2E period:         period                       */
       
   327     0x1169,     /* 0x2F slash:          jungseong o                  */
       
   328     0x110f,     /* 0x30 0:              choseong  khieukh            */
       
   329     0x11c2,     /* 0x31 1:              jongseong hieuh              */
       
   330     0x11bb,     /* 0x32 2:              jongseong ssangsios          */
       
   331     0x11b8,     /* 0x33 3:              jongseong pieup              */
       
   332     0x116d,     /* 0x34 4:              jungseong yo                 */
       
   333     0x1172,     /* 0x35 5:              jungseong yu                 */
       
   334     0x1163,     /* 0x36 6:              jungseong ya                 */
       
   335     0x1168,     /* 0x37 7:              jungseong ye                 */
       
   336     0x1174,     /* 0x38 8:              jungseong yi                 */
       
   337     0x116e,     /* 0x39 9:              jungseong u                  */
       
   338     0x003a,     /* 0x3A colon:          colon                        */
       
   339     0x1107,     /* 0x3B semicolon:      choseong  pieup              */
       
   340     0x0032,     /* 0x3C less:           2                            */
       
   341     0x003d,     /* 0x3D equal:          euals sign                   */
       
   342     0x0033,     /* 0x3E greater:        3                            */
       
   343     0x003f,     /* 0x3F question:       question mark                */
       
   344     0x0040,     /* 0x40 at:             commertial at                */
       
   345     0x11ae,     /* 0x41 A:              jongseong tikeut             */
       
   346     0x0021,     /* 0x42 B:              exclamation mark             */
       
   347     0x11b1,     /* 0x43 C:              jongseong rieul-mieum        */
       
   348     0x11b0,     /* 0x44 D:              jongseong rieul-kiyeok       */
       
   349     0x11bf,     /* 0x45 E:              jongseong khieukh            */
       
   350     0x11a9,     /* 0x46 F:              jongseong ssangkiyeok        */
       
   351     0x002f,     /* 0x47 G:              slash                        */
       
   352     0x0027,     /* 0x48 H:              apostrophe                   */
       
   353     0x0038,     /* 0x49 I:              8                            */
       
   354     0x0034,     /* 0x4A J:              4                            */
       
   355     0x0035,     /* 0x4B K:              5                            */
       
   356     0x0036,     /* 0x4C L:              6                            */
       
   357     0x0031,     /* 0x4D M:              1                            */
       
   358     0x0030,     /* 0x4E N:              0                            */
       
   359     0x0039,     /* 0x4F O:              9                            */
       
   360     0x003e,     /* 0x50 P:              greater-than sign            */
       
   361     0x11c1,     /* 0x51 Q:              jongseong phieuph            */
       
   362     0x1164,     /* 0x52 R:              jungseong yae                */
       
   363     0x11ad,     /* 0x53 S:              jongseong nieun-hieuh        */
       
   364     0x003b,     /* 0x54 T:              semicolon                    */
       
   365     0x0037,     /* 0x55 U:              7                            */
       
   366     0x11b6,     /* 0x56 V:              jongseong rieul-hieuh        */
       
   367     0x11c0,     /* 0x57 W:              jongseong thikeuth           */
       
   368     0x11b9,     /* 0x58 X:              jongseong pieup-sios         */
       
   369     0x003c,     /* 0x59 Y:              less-than sign               */
       
   370     0x11be,     /* 0x5A Z:              jongseong chieuch            */
       
   371     0x005b,     /* 0x5B bracketleft:    left bracket                 */
       
   372     0x005c,     /* 0x5C backslash:      backslash                    */
       
   373     0x005d,     /* 0x5D bracketright:   right bracket                */
       
   374     0x005e,     /* 0x5E asciicircum:    circumflex accent            */
       
   375     0x005f,     /* 0x5F underscore:     underscore                   */
       
   376     0x0060,     /* 0x60 quoteleft:      grave accent                 */
       
   377     0x11bc,     /* 0x61 a:              jongseong ieung              */
       
   378     0x116e,     /* 0x62 b:              jungseong u                  */
       
   379     0x1166,     /* 0x63 c:              jungseong e                  */
       
   380     0x1175,     /* 0x64 d:              jungseong i                  */
       
   381     0x1167,     /* 0x65 e:              jungseong yeo                */
       
   382     0x1161,     /* 0x66 f:              jungseong a                  */
       
   383     0x1173,     /* 0x67 g:              jungseong eu                 */
       
   384     0x1102,     /* 0x68 h:              choseong  nieun              */
       
   385     0x1106,     /* 0x69 i:              choseong  mieum              */
       
   386     0x110b,     /* 0x6A j:              choseong  ieung              */
       
   387     0x1100,     /* 0x6B k:              choseong  kiyeok             */
       
   388     0x110c,     /* 0x6C l:              choseong  cieuc              */
       
   389     0x1112,     /* 0x6D m:              choseong  hieuh              */
       
   390     0x1109,     /* 0x6E n:              choseong  sios               */
       
   391     0x110e,     /* 0x6F o:              choseong  chieuch            */
       
   392     0x1111,     /* 0x70 p:              choseong  phieuph            */
       
   393     0x11ba,     /* 0x71 q:              jongseong sios               */
       
   394     0x1162,     /* 0x72 r:              jungseong ae                 */
       
   395     0x11ab,     /* 0x73 s:              jongseong nieun              */
       
   396     0x1165,     /* 0x74 t:              jungseong eo                 */
       
   397     0x1103,     /* 0x75 u:              choseong  tikeut             */
       
   398     0x1169,     /* 0x76 v:              jungseong o                  */
       
   399     0x11af,     /* 0x77 w:              jongseong rieul              */
       
   400     0x11a8,     /* 0x78 x:              jongseong kiyeok             */
       
   401     0x1105,     /* 0x79 y:              choseong  rieul              */
       
   402     0x11b7,     /* 0x7A z:              jongseong mieum              */
       
   403     0x007b,     /* 0x7B braceleft:      left brace                   */
       
   404     0x007c,     /* 0x7C bar:            vertical line(bar)           */
       
   405     0x007d,     /* 0x7D braceright:     right brace                  */
       
   406     0x007e,     /* 0x7E asciitilde:     tilde                        */
       
   407     0x0000      /* 0x7F delete                                       */
       
   408 };
       
   409 
       
   410 static const ucschar hangul_keyboard_table_3final[] = {
       
   411     0x0000,     /* 0x00 null                                         */
       
   412     0x0000,     /* 0x01 start of heading                             */
       
   413     0x0000,     /* 0x02 start of text                                */
       
   414     0x0000,     /* 0x03 end of text                                  */
       
   415     0x0000,     /* 0x04 end of transmission                          */
       
   416     0x0000,     /* 0x05 enquiry                                      */
       
   417     0x0000,     /* 0x06 acknowledge                                  */
       
   418     0x0000,     /* 0x07 bell                                         */
       
   419     0x0000,     /* 0x08 backspace                                    */
       
   420     0x0000,     /* 0x09 character tabulation                         */
       
   421     0x0000,     /* 0x0A line feed (lf)                               */
       
   422     0x0000,     /* 0x0B line tabulation                              */
       
   423     0x0000,     /* 0x0C form feed (ff)                               */
       
   424     0x0000,     /* 0x0D carriage return (cr)                         */
       
   425     0x0000,     /* 0x0E shift out                                    */
       
   426     0x0000,     /* 0x0F shift in                                     */
       
   427     0x0000,     /* 0x10 data link escape                             */
       
   428     0x0000,     /* 0x11 device control one                           */
       
   429     0x0000,     /* 0x12 device control two                           */
       
   430     0x0000,     /* 0x13 device control three                         */
       
   431     0x0000,     /* 0x14 device control four                          */
       
   432     0x0000,     /* 0x15 negative acknowledge                         */
       
   433     0x0000,     /* 0x16 synchronous idle                             */
       
   434     0x0000,     /* 0x17 end of transmission block                    */
       
   435     0x0000,     /* 0x18 cancel                                       */
       
   436     0x0000,     /* 0x19 end of medium                                */
       
   437     0x0000,     /* 0x1A substitute                                   */
       
   438     0x0000,     /* 0x1B escape                                       */
       
   439     0x0000,     /* 0x1C information separator four                   */
       
   440     0x0000,     /* 0x1D information separator three                  */
       
   441     0x0000,     /* 0x1E information separator two                    */
       
   442     0x0000,     /* 0x1F information separator one                    */
       
   443     0x0000,     /* 0x20 space                                        */
       
   444     0x11a9,     /* 0x21 exclam:         jongseong ssangkiyeok        */
       
   445     0x00b7,     /* 0x22 quotedbl:       middle dot                   */
       
   446     0x11bd,     /* 0x23 numbersign:     jognseong cieuc              */
       
   447     0x11b5,     /* 0x24 dollar:         jongseong rieul-phieuph      */
       
   448     0x11b4,     /* 0x25 percent:        jongseong rieul-thieuth      */
       
   449     0x201c,     /* 0x26 ampersand:      left double quotation mark   */
       
   450     0x1110,     /* 0x27 apostrophe:     choseong  thieuth            */
       
   451     0x0027,     /* 0x28 parenleft:      apostrophe                   */
       
   452     0x007e,     /* 0x29 parenright:     Tilde                        */
       
   453     0x201d,     /* 0x2A asterisk:       right double quotation mark  */
       
   454     0x002b,     /* 0x2B plus:           plus sign                    */
       
   455     0x002c,     /* 0x2C comma:          comma                        */
       
   456     0x0029,     /* 0x2D minus:          right parenthesis            */
       
   457     0x002e,     /* 0x2E period:         period                       */
       
   458     0x1169,     /* 0x2F slash:          jungseong o                  */
       
   459     0x110f,     /* 0x30 0:              choseong  khieukh            */
       
   460     0x11c2,     /* 0x31 1:              jongseong hieuh              */
       
   461     0x11bb,     /* 0x32 2:              jongseong ssangsios          */
       
   462     0x11b8,     /* 0x33 3:              jongseong pieup              */
       
   463     0x116d,     /* 0x34 4:              jungseong yo                 */
       
   464     0x1172,     /* 0x35 5:              jungseong yu                 */
       
   465     0x1163,     /* 0x36 6:              jungseong ya                 */
       
   466     0x1168,     /* 0x37 7:              jungseong ye                 */
       
   467     0x1174,     /* 0x38 8:              jungseong yi                 */
       
   468     0x116e,     /* 0x39 9:              jungseong u                  */
       
   469     0x0034,     /* 0x3A colon:          4                            */
       
   470     0x1107,     /* 0x3B semicolon:      choseong  pieup              */
       
   471     0x002c,     /* 0x3C less:           comma                        */
       
   472     0x003e,     /* 0x3D equal:          greater-than sign            */
       
   473     0x002e,     /* 0x3E greater:        period                       */
       
   474     0x0021,     /* 0x3F question:       exclamation mark             */
       
   475     0x11b0,     /* 0x40 at:             jongseong rieul-kiyeok       */
       
   476     0x11ae,     /* 0x41 A:              jongseong tikeut             */
       
   477     0x003f,     /* 0x42 B:              question mark                */
       
   478     0x11bf,     /* 0x43 C:              jongseong khieukh            */
       
   479     0x11b2,     /* 0x44 D:              jongseong rieul-pieup        */
       
   480     0x11ac,     /* 0x45 E:              jongseong nieun-cieuc        */
       
   481     0x11b1,     /* 0x46 F:              jongseong rieul-mieum        */
       
   482     0x1164,     /* 0x47 G:              jungseong yae                */
       
   483     0x0030,     /* 0x48 H:              0                            */
       
   484     0x0037,     /* 0x49 I:              7                            */
       
   485     0x0031,     /* 0x4A J:              1                            */
       
   486     0x0032,     /* 0x4B K:              2                            */
       
   487     0x0033,     /* 0x4C L:              3                            */
       
   488     0x0022,     /* 0x4D M:              double quotation mark        */
       
   489     0x002d,     /* 0x4E N:              minus sign                   */
       
   490     0x0038,     /* 0x4F O:              8                            */
       
   491     0x0039,     /* 0x50 P:              9                            */
       
   492     0x11c1,     /* 0x51 Q:              jongseong phieuph            */
       
   493     0x11b6,     /* 0x52 R:              jongseong rieul-hieuh        */
       
   494     0x11ad,     /* 0x53 S:              jongseong nieun-hieuh        */
       
   495     0x11b3,     /* 0x54 T:              jongseong rieul-sios         */
       
   496     0x0036,     /* 0x55 U:              6                            */
       
   497     0x11aa,     /* 0x56 V:              jongseong kiyeok-sios        */
       
   498     0x11c0,     /* 0x57 W:              jongseong thikeuth           */
       
   499     0x11b9,     /* 0x58 X:              jongseong pieup-sios         */
       
   500     0x0035,     /* 0x59 Y:              5                            */
       
   501     0x11be,     /* 0x5A Z:              jongseong chieuch            */
       
   502     0x0028,     /* 0x5B bracketleft:    left parenthesis             */
       
   503     0x003a,     /* 0x5C backslash:      colon                        */
       
   504     0x003c,     /* 0x5D bracketright:   less-than sign               */
       
   505     0x003d,     /* 0x5E asciicircum:    equals sign                  */
       
   506     0x003b,     /* 0x5F underscore:     semicolon                    */
       
   507     0x002a,     /* 0x60 quoteleft:      asterisk                     */
       
   508     0x11bc,     /* 0x61 a:              jongseong ieung              */
       
   509     0x116e,     /* 0x62 b:              jungseong u                  */
       
   510     0x1166,     /* 0x63 c:              jungseong e                  */
       
   511     0x1175,     /* 0x64 d:              jungseong i                  */
       
   512     0x1167,     /* 0x65 e:              jungseong yeo                */
       
   513     0x1161,     /* 0x66 f:              jungseong a                  */
       
   514     0x1173,     /* 0x67 g:              jungseong eu                 */
       
   515     0x1102,     /* 0x68 h:              choseong  nieun              */
       
   516     0x1106,     /* 0x69 i:              choseong  mieum              */
       
   517     0x110b,     /* 0x6A j:              choseong  ieung              */
       
   518     0x1100,     /* 0x6B k:              choseong  kiyeok             */
       
   519     0x110c,     /* 0x6C l:              choseong  cieuc              */
       
   520     0x1112,     /* 0x6D m:              choseong  hieuh              */
       
   521     0x1109,     /* 0x6E n:              choseong  sios               */
       
   522     0x110e,     /* 0x6F o:              choseong  chieuch            */
       
   523     0x1111,     /* 0x70 p:              choseong  phieuph            */
       
   524     0x11ba,     /* 0x71 q:              jongseong sios               */
       
   525     0x1162,     /* 0x72 r:              jungseong ae                 */
       
   526     0x11ab,     /* 0x73 s:              jongseong nieun              */
       
   527     0x1165,     /* 0x74 t:              jungseong eo                 */
       
   528     0x1103,     /* 0x75 u:              choseong  tikeut             */
       
   529     0x1169,     /* 0x76 v:              jungseong o                  */
       
   530     0x11af,     /* 0x77 w:              jongseong rieul              */
       
   531     0x11a8,     /* 0x78 x:              jongseong kiyeok             */
       
   532     0x1105,     /* 0x79 y:              choseong  rieul              */
       
   533     0x11b7,     /* 0x7A z:              jongseong mieum              */
       
   534     0x0025,     /* 0x7B braceleft:      percent sign                 */
       
   535     0x005c,     /* 0x7C bar:            backslash                    */
       
   536     0x002f,     /* 0x7D braceright:     slash                        */
       
   537     0x203b,     /* 0x7E asciitilde:     reference mark               */
       
   538     0x0000      /* 0x7F delete                                       */
       
   539 };
       
   540 
       
   541 static const ucschar hangul_keyboard_table_3sun[] = {
       
   542     0x0000,     /* 0x00 null                                         */
       
   543     0x0000,     /* 0x01 start of heading                             */
       
   544     0x0000,     /* 0x02 start of text                                */
       
   545     0x0000,     /* 0x03 end of text                                  */
       
   546     0x0000,     /* 0x04 end of transmission                          */
       
   547     0x0000,     /* 0x05 enquiry                                      */
       
   548     0x0000,     /* 0x06 acknowledge                                  */
       
   549     0x0000,     /* 0x07 bell                                         */
       
   550     0x0000,     /* 0x08 backspace                                    */
       
   551     0x0000,     /* 0x09 character tabulation                         */
       
   552     0x0000,     /* 0x0A line feed (lf)                               */
       
   553     0x0000,     /* 0x0B line tabulation                              */
       
   554     0x0000,     /* 0x0C form feed (ff)                               */
       
   555     0x0000,     /* 0x0D carriage return (cr)                         */
       
   556     0x0000,     /* 0x0E shift out                                    */
       
   557     0x0000,     /* 0x0F shift in                                     */
       
   558     0x0000,     /* 0x10 data link escape                             */
       
   559     0x0000,     /* 0x11 device control one                           */
       
   560     0x0000,     /* 0x12 device control two                           */
       
   561     0x0000,     /* 0x13 device control three                         */
       
   562     0x0000,     /* 0x14 device control four                          */
       
   563     0x0000,     /* 0x15 negative acknowledge                         */
       
   564     0x0000,     /* 0x16 synchronous idle                             */
       
   565     0x0000,     /* 0x17 end of transmission block                    */
       
   566     0x0000,     /* 0x18 cancel                                       */
       
   567     0x0000,     /* 0x19 end of medium                                */
       
   568     0x0000,     /* 0x1A substitute                                   */
       
   569     0x0000,     /* 0x1B escape                                       */
       
   570     0x0000,     /* 0x1C information separator four                   */
       
   571     0x0000,     /* 0x1D information separator three                  */
       
   572     0x0000,     /* 0x1E information separator two                    */
       
   573     0x0000,     /* 0x1F information separator one                    */
       
   574     0x0000,     /* 0x20 space                                        */
       
   575     0x0021,     /* 0x21 exclam:         exclamation mark             */
       
   576     0x0022,     /* 0x22 quotedbl:       quotatioin mark              */
       
   577     0x0023,     /* 0x23 numbersign:     number sign                  */
       
   578     0x0024,     /* 0x24 dollar:         dollar sign                  */
       
   579     0x0025,     /* 0x25 percent:        percent sign                 */
       
   580     0x0026,     /* 0x26 ampersand:      ampersand                    */
       
   581     0x1110,     /* 0x27 apostrophe:     choseong thieuth             */
       
   582     0x0028,     /* 0x28 parenleft:      left parenthesis             */
       
   583     0x0029,     /* 0x29 parenright:     right parenthesis            */
       
   584     0x002a,     /* 0x2A asterisk:       asterisk                     */
       
   585     0x002b,     /* 0x2B plus:           plus sign                    */
       
   586     0x002c,     /* 0x2C comma:          comma                        */
       
   587     0x11bd,     /* 0x2D minus:          jongseong cieuc              */
       
   588     0x002e,     /* 0x2E period:         period                       */
       
   589     0x11ae,     /* 0x2F slash:          jongseong tikeut             */
       
   590     0x1164,     /* 0x30 0:              choseong  yae                */
       
   591     0x11c2,     /* 0x31 1:              jongseong hieuh              */
       
   592     0x11bb,     /* 0x32 2:              jongseong ssangsios          */
       
   593     0x11b8,     /* 0x33 3:              jongseong pieup              */
       
   594     0x116d,     /* 0x34 4:              jungseong yo                 */
       
   595     0x1172,     /* 0x35 5:              jungseong yu                 */
       
   596     0x1163,     /* 0x36 6:              jungseong ya                 */
       
   597     0x1168,     /* 0x37 7:              jungseong ye                 */
       
   598     0x1174,     /* 0x38 8:              jungseong yi                 */
       
   599     0x110f,     /* 0x39 9:              choseong khieukh             */
       
   600     0x003a,     /* 0x3A colon:          colon                        */
       
   601     0x1107,     /* 0x3B semicolon:      choseong  pieup              */
       
   602     0x0032,     /* 0x3C less:           2                            */
       
   603     0x11be,     /* 0x3D equal:          jongseong chieuch            */
       
   604     0x0033,     /* 0x3E greater:        3                            */
       
   605     0x003f,     /* 0x3F question:       question mark                */
       
   606     0x0040,     /* 0x40 at:             commertial at                */
       
   607     0x11bc,     /* 0x41 A:              jongseong ieung              */
       
   608     0x0021,     /* 0x42 B:              exclamation mark             */
       
   609     0x005c,     /* 0x43 C:              backslash                    */
       
   610     0x005d,     /* 0x44 D:              right bracket                */
       
   611     0x1167,     /* 0x45 E:              jungseong yeo                */
       
   612     0x1161,     /* 0x46 F:              jungseong a                  */
       
   613     0x002f,     /* 0x47 G:              slash                        */
       
   614     0x0027,     /* 0x48 H:              apostrophe                   */
       
   615     0x0038,     /* 0x49 I:              8                            */
       
   616     0x0034,     /* 0x4A J:              4                            */
       
   617     0x0035,     /* 0x4B K:              5                            */
       
   618     0x0036,     /* 0x4C L:              6                            */
       
   619     0x0031,     /* 0x4D M:              1                            */
       
   620     0x0030,     /* 0x4E N:              0                            */
       
   621     0x0039,     /* 0x4F O:              9                            */
       
   622     0x003e,     /* 0x50 P:              greater-than sign            */
       
   623     0x11ba,     /* 0x51 Q:              jongseong sios               */
       
   624     0x1162,     /* 0x52 R:              jungseong ae                 */
       
   625     0x005b,     /* 0x53 S:              left bracket                 */
       
   626     0x003b,     /* 0x54 T:              semicolon                    */
       
   627     0x0037,     /* 0x55 U:              7                            */
       
   628     0x1169,     /* 0x56 V:              jungseong o                  */
       
   629     0x11af,     /* 0x57 W:              jongseong rieul              */
       
   630     0x003d,     /* 0x58 X:              equals sign                  */
       
   631     0x003c,     /* 0x59 Y:              less-than sign               */
       
   632     0x002d,     /* 0x5A Z:              minus sign                   */
       
   633     0x11c0,     /* 0x5B bracketleft:    jongseong thieuth            */
       
   634     0x11bf,     /* 0x5C backslash:      jongseong khieukh            */
       
   635     0x11c1,     /* 0x5D bracketright:   jongseong phieuph            */
       
   636     0x005e,     /* 0x5E asciicircum:    circumflex accent            */
       
   637     0x005f,     /* 0x5F underscore:     underscore                   */
       
   638     0x0060,     /* 0x60 quoteleft:      grave accent                 */
       
   639     0x11bc,     /* 0x61 a:              jongseong ieung              */
       
   640     0x116e,     /* 0x62 b:              jungseong u                  */
       
   641     0x1166,     /* 0x63 c:              jungseong e                  */
       
   642     0x1175,     /* 0x64 d:              jungseong i                  */
       
   643     0x1167,     /* 0x65 e:              jungseong yeo                */
       
   644     0x1161,     /* 0x66 f:              jungseong a                  */
       
   645     0x1173,     /* 0x67 g:              jungseong eu                 */
       
   646     0x1102,     /* 0x68 h:              choseong  nieun              */
       
   647     0x1106,     /* 0x69 i:              choseong  mieum              */
       
   648     0x110b,     /* 0x6A j:              choseong  ieung              */
       
   649     0x1100,     /* 0x6B k:              choseong  kiyeok             */
       
   650     0x110c,     /* 0x6C l:              choseong  cieuc              */
       
   651     0x1112,     /* 0x6D m:              choseong  hieuh              */
       
   652     0x1109,     /* 0x6E n:              choseong  sios               */
       
   653     0x110e,     /* 0x6F o:              choseong  chieuch            */
       
   654     0x1111,     /* 0x70 p:              choseong  phieuph            */
       
   655     0x11ba,     /* 0x71 q:              jongseong sios               */
       
   656     0x1162,     /* 0x72 r:              jungseong ae                 */
       
   657     0x11ab,     /* 0x73 s:              jongseong nieun              */
       
   658     0x1165,     /* 0x74 t:              jungseong eo                 */
       
   659     0x1103,     /* 0x75 u:              choseong  tikeut             */
       
   660     0x1169,     /* 0x76 v:              jungseong o                  */
       
   661     0x11af,     /* 0x77 w:              jongseong rieul              */
       
   662     0x11a8,     /* 0x78 x:              jongseong kiyeok             */
       
   663     0x1105,     /* 0x79 y:              choseong  rieul              */
       
   664     0x11b7,     /* 0x7A z:              jongseong mieum              */
       
   665     0x007b,     /* 0x7B braceleft:      left brace                   */
       
   666     0x007c,     /* 0x7C bar:            vertical line(bar)           */
       
   667     0x007d,     /* 0x7D braceright:     right brace                  */
       
   668     0x007e,     /* 0x7E asciitilde:     tilde                        */
       
   669     0x0000      /* 0x7F delete                                       */
       
   670 };
       
   671 
       
   672 static const ucschar hangul_keyboard_table_3yet[] = {
       
   673     0x0000,     /* 0x00 null                                         */
       
   674     0x0000,     /* 0x01 start of heading                             */
       
   675     0x0000,     /* 0x02 start of text                                */
       
   676     0x0000,     /* 0x03 end of text                                  */
       
   677     0x0000,     /* 0x04 end of transmission                          */
       
   678     0x0000,     /* 0x05 enquiry                                      */
       
   679     0x0000,     /* 0x06 acknowledge                                  */
       
   680     0x0000,     /* 0x07 bell                                         */
       
   681     0x0000,     /* 0x08 backspace                                    */
       
   682     0x0000,     /* 0x09 character tabulation                         */
       
   683     0x0000,     /* 0x0A line feed (lf)                               */
       
   684     0x0000,     /* 0x0B line tabulation                              */
       
   685     0x0000,     /* 0x0C form feed (ff)                               */
       
   686     0x0000,     /* 0x0D carriage return (cr)                         */
       
   687     0x0000,     /* 0x0E shift out                                    */
       
   688     0x0000,     /* 0x0F shift in                                     */
       
   689     0x0000,     /* 0x10 data link escape                             */
       
   690     0x0000,     /* 0x11 device control one                           */
       
   691     0x0000,     /* 0x12 device control two                           */
       
   692     0x0000,     /* 0x13 device control three                         */
       
   693     0x0000,     /* 0x14 device control four                          */
       
   694     0x0000,     /* 0x15 negative acknowledge                         */
       
   695     0x0000,     /* 0x16 synchronous idle                             */
       
   696     0x0000,     /* 0x17 end of transmission block                    */
       
   697     0x0000,     /* 0x18 cancel                                       */
       
   698     0x0000,     /* 0x19 end of medium                                */
       
   699     0x0000,     /* 0x1A substitute                                   */
       
   700     0x0000,     /* 0x1B escape                                       */
       
   701     0x0000,     /* 0x1C information separator four                   */
       
   702     0x0000,     /* 0x1D information separator three                  */
       
   703     0x0000,     /* 0x1E information separator two                    */
       
   704     0x0000,     /* 0x1F information separator one                    */
       
   705     0x0000,     /* 0x20 space                                        */
       
   706     0x11bd,     /* 0x21 exclam:         jongseong cieuc              */
       
   707     0x0022,     /* 0x22 quotedbl:       quotatioin mark              */
       
   708     0x0023,     /* 0x23 numbersign:     number sign                  */
       
   709     0x0024,     /* 0x24 dollar:         dollar sign                  */
       
   710     0x0025,     /* 0x25 percent:        percent sign                 */
       
   711     0x0026,     /* 0x26 ampersand:      ampersand                    */
       
   712     0x1110,     /* 0x27 apostrophe:     choseong thieuth             */
       
   713     0x0028,     /* 0x28 parenleft:      left parenthesis             */
       
   714     0x0029,     /* 0x29 parenright:     right parenthesis            */
       
   715     0x002a,     /* 0x2A asterisk:       asterisk                     */
       
   716     0x002b,     /* 0x2B plus:           plus sign                    */
       
   717     0x002c,     /* 0x2C comma:          comma                        */
       
   718     0x002d,     /* 0x2D minus:          minus sign                   */
       
   719     0x002e,     /* 0x2E period:         period                       */
       
   720     0x1169,     /* 0x2F slash:          jungseong o                  */
       
   721     0x110f,     /* 0x30 0:              choseong  khieukh            */
       
   722     0x11c2,     /* 0x31 1:              jongseong hieuh              */
       
   723     0x11bb,     /* 0x32 2:              jongseong ssangsios          */
       
   724     0x11b8,     /* 0x33 3:              jongseong pieup              */
       
   725     0x116d,     /* 0x34 4:              jungseong yo                 */
       
   726     0x1172,     /* 0x35 5:              jungseong yu                 */
       
   727     0x1163,     /* 0x36 6:              jungseong ya                 */
       
   728     0x1168,     /* 0x37 7:              jungseong ye                 */
       
   729     0x1174,     /* 0x38 8:              jungseong yi                 */
       
   730     0x116e,     /* 0x39 9:              jungseong u                  */
       
   731     0x003a,     /* 0x3A colon:          colon                        */
       
   732     0x1107,     /* 0x3B semicolon:      choseong  pieup              */
       
   733     0x113c,     /* 0x3C less:           choseong chitueumsios        */
       
   734     0x003d,     /* 0x3D equal:          euals sign                   */
       
   735     0x113e,     /* 0x3E greater:        choseong ceongchieumsios     */
       
   736     0x003f,     /* 0x3F question:       question mark                */
       
   737     0x11eb,     /* 0x40 at:             jongseong pansios            */
       
   738     0x11ae,     /* 0x41 A:              jongseong tikeut             */
       
   739     0x116e,     /* 0x42 B:              jungseong u                  */
       
   740     0x11b1,     /* 0x43 C:              jongseong rieul-mieum        */
       
   741     0x11b0,     /* 0x44 D:              jongseong rieul-kiyeok       */
       
   742     0x11bf,     /* 0x45 E:              jongseong khieukh            */
       
   743     0x11a9,     /* 0x46 F:              jongseong ssangkiyeok        */
       
   744     0x119e,     /* 0x47 G:              jungseong araea              */
       
   745     0x1102,     /* 0x48 H:              choseong nieun               */
       
   746     0x1154,     /* 0x49 I:              choseong chitueumchieuch     */
       
   747     0x114c,     /* 0x4A J:              choseong yesieung            */
       
   748     0x114e,     /* 0x4B K:              choseong chitueumcieuc       */
       
   749     0x1150,     /* 0x4C L:              choseong ceongchieumcieuc    */
       
   750     0x1159,     /* 0x4D M:              choseong yeorinhieuh         */
       
   751     0x1140,     /* 0x4E N:              choseong pansios             */
       
   752     0x1155,     /* 0x4F O:              choseong ceongchieumchieuch  */
       
   753     0x1111,     /* 0x50 P:              choseong phieuph             */
       
   754     0x11c1,     /* 0x51 Q:              jongseong phieuph            */
       
   755     0x1164,     /* 0x52 R:              jungseong yae                */
       
   756     0x11ad,     /* 0x53 S:              jongseong nieun-hieuh        */
       
   757     0x1165,     /* 0x54 T:              jungseong eo                 */
       
   758     0x302e,     /* 0x55 U:              single dot tone mark         */
       
   759     0x11b6,     /* 0x56 V:              jongseong rieul-hieuh        */
       
   760     0x11c0,     /* 0x57 W:              jongseong thikeuth           */
       
   761     0x11b9,     /* 0x58 X:              jongseong pieup-sios         */
       
   762     0x302f,     /* 0x59 Y:              double dot tone mark         */
       
   763     0x11be,     /* 0x5A Z:              jongseong chieuch            */
       
   764     0x005b,     /* 0x5B bracketleft:    left bracket                 */
       
   765     0x005c,     /* 0x5C backslash:      backslash                    */
       
   766     0x005d,     /* 0x5D bracketright:   right bracket                */
       
   767     0x005e,     /* 0x5E asciicircum:    circumflex accent            */
       
   768     0x005f,     /* 0x5F underscore:     underscore                   */
       
   769     0x11f9,     /* 0x60 quoteleft:      jongseong yeorinhieuh        */
       
   770     0x11bc,     /* 0x61 a:              jongseong ieung              */
       
   771     0x116e,     /* 0x62 b:              jungseong u                  */
       
   772     0x1166,     /* 0x63 c:              jungseong e                  */
       
   773     0x1175,     /* 0x64 d:              jungseong i                  */
       
   774     0x1167,     /* 0x65 e:              jungseong yeo                */
       
   775     0x1161,     /* 0x66 f:              jungseong a                  */
       
   776     0x1173,     /* 0x67 g:              jungseong eu                 */
       
   777     0x1102,     /* 0x68 h:              choseong  nieun              */
       
   778     0x1106,     /* 0x69 i:              choseong  mieum              */
       
   779     0x110b,     /* 0x6A j:              choseong  ieung              */
       
   780     0x1100,     /* 0x6B k:              choseong  kiyeok             */
       
   781     0x110c,     /* 0x6C l:              choseong  cieuc              */
       
   782     0x1112,     /* 0x6D m:              choseong  hieuh              */
       
   783     0x1109,     /* 0x6E n:              choseong  sios               */
       
   784     0x110e,     /* 0x6F o:              choseong  chieuch            */
       
   785     0x1111,     /* 0x70 p:              choseong  phieuph            */
       
   786     0x11ba,     /* 0x71 q:              jongseong sios               */
       
   787     0x1162,     /* 0x72 r:              jungseong ae                 */
       
   788     0x11ab,     /* 0x73 s:              jongseong nieun              */
       
   789     0x1165,     /* 0x74 t:              jungseong eo                 */
       
   790     0x1103,     /* 0x75 u:              choseong  tikeut             */
       
   791     0x1169,     /* 0x76 v:              jungseong o                  */
       
   792     0x11af,     /* 0x77 w:              jongseong rieul              */
       
   793     0x11a8,     /* 0x78 x:              jongseong kiyeok             */
       
   794     0x1105,     /* 0x79 y:              choseong  rieul              */
       
   795     0x11b7,     /* 0x7A z:              jongseong mieum              */
       
   796     0x007b,     /* 0x7B braceleft:      left brace                   */
       
   797     0x007c,     /* 0x7C bar:            vertical line(bar)           */
       
   798     0x007d,     /* 0x7D braceright:     right brace                  */
       
   799     0x11f0,     /* 0x7E asciitilde:     jongseong yesieung           */
       
   800     0x0000      /* 0x7F delete                                       */
       
   801 };
       
   802 
       
   803 static const HangulCombinationItem hangul_combination_table_default[] = {
       
   804 #if 1
       
   805   //{ 0x11001100, 0x1101 }, /* choseong  kiyeok + kiyeok  = ssangkiyeok   */
       
   806   //{ 0x11031103, 0x1104 }, /* choseong  tikeut + tikeut  = ssangtikeut   */
       
   807   //{ 0x11071107, 0x1108 }, /* choseong  pieup  + pieup   = ssangpieup    */
       
   808   //{ 0x11091109, 0x110a }, /* choseong  sios   + sios    = ssangsios     */
       
   809   //{ 0x110c110c, 0x110d }, /* choseong  cieuc  + cieuc   = ssangcieuc    */
       
   810   //{ 0x11631175, 0x1164 }, /* jungseong ya-o                 = ya + o */
       
   811   //{ 0x11671175, 0x1168 }, /* jungseong yu-i                 = yu + i */
       
   812 #else
       
   813   { 0x11001100, 0x1101 }, /* choseong  kiyeok + kiyeok  = ssangkiyeok   */
       
   814   { 0x11031103, 0x1104 }, /* choseong  tikeut + tikeut  = ssangtikeut   */
       
   815   { 0x11071107, 0x1108 }, /* choseong  pieup  + pieup   = ssangpieup    */
       
   816   { 0x11091109, 0x110a }, /* choseong  sios   + sios    = ssangsios     */
       
   817   { 0x110c110c, 0x110d }, /* choseong  cieuc  + cieuc   = ssangcieuc    */
       
   818 #endif
       
   819   { 0x11691161, 0x116a }, /* jungseong o      + a       = wa            */
       
   820   { 0x11691162, 0x116b }, /* jungseong o      + ae      = wae           */
       
   821   { 0x11691175, 0x116c }, /* jungseong o      + i       = oe            */
       
   822   { 0x116e1165, 0x116f }, /* jungseong u      + eo      = weo           */
       
   823   { 0x116e1166, 0x1170 }, /* jungseong u      + e       = we            */
       
   824   { 0x116e1175, 0x1171 }, /* jungseong u      + i       = wi            */
       
   825   { 0x11731175, 0x1174 }, /* jungseong eu     + i       = yi            */
       
   826 #if 1
       
   827 #else
       
   828   { 0x11a811a8, 0x11a9 }, /* jongseong kiyeok + kiyeok  = ssangekiyeok  */
       
   829 #endif
       
   830   { 0x11a811ba, 0x11aa }, /* jongseong kiyeok + sios    = kiyeok-sois   */
       
   831   { 0x11ab11bd, 0x11ac }, /* jongseong nieun  + cieuc   = nieun-cieuc   */
       
   832   { 0x11ab11c2, 0x11ad }, /* jongseong nieun  + hieuh   = nieun-hieuh   */
       
   833   { 0x11af11a8, 0x11b0 }, /* jongseong rieul  + kiyeok  = rieul-kiyeok  */
       
   834   { 0x11af11b7, 0x11b1 }, /* jongseong rieul  + mieum   = rieul-mieum   */
       
   835   { 0x11af11b8, 0x11b2 }, /* jongseong rieul  + pieup   = rieul-pieup   */
       
   836   { 0x11af11ba, 0x11b3 }, /* jongseong rieul  + sios    = rieul-sios    */
       
   837   { 0x11af11c0, 0x11b4 }, /* jongseong rieul  + thieuth = rieul-thieuth */
       
   838   { 0x11af11c1, 0x11b5 }, /* jongseong rieul  + phieuph = rieul-phieuph */
       
   839   { 0x11af11c2, 0x11b6 }, /* jongseong rieul  + hieuh   = rieul-hieuh   */
       
   840   { 0x11b811ba, 0x11b9 }, /* jongseong pieup  + sios    = pieup-sios    */
       
   841 #if 1
       
   842 #else
       
   843   { 0x11ba11ba, 0x11bb }, /* jongseong sios   + sios    = ssangsios     */
       
   844 #endif
       
   845 };
       
   846 
       
   847 static const HangulCombinationItem hangul_combination_table_full[] = {
       
   848   { 0x11001100, 0x1101 }, /* choseong ssangkiyeok           = kiyeok + kiyeok */
       
   849   { 0x11021100, 0x1113 }, /* choseong nieun-kiyeok          = nieun + kiyeok */
       
   850   { 0x11021102, 0x1114 }, /* choseong ssangnieun            = nieun + nieun */
       
   851   { 0x11021103, 0x1115 }, /* choseong nieun-tikeut          = nieun + tikeut */
       
   852   { 0x11021107, 0x1116 }, /* choseong nieun-pieup           = nieun + pieup */
       
   853   { 0x11031100, 0x1117 }, /* choseong tikeut-kiyeok         = tikeut + kiyeok */
       
   854   { 0x11031103, 0x1104 }, /* choseong ssangtikeut           = tikeut + tikeut */
       
   855   { 0x11051102, 0x1118 }, /* choseong rieul-nieun           = rieul + nieun */
       
   856   { 0x11051105, 0x1119 }, /* choseong ssangrieul            = rieul + rieul */
       
   857   { 0x1105110b, 0x111b }, /* choseong kapyeounrieul         = rieul + ieung */
       
   858   { 0x11051112, 0x111a }, /* choseong rieul-hieuh           = rieul + hieuh */
       
   859   { 0x11061107, 0x111c }, /* choseong mieum-pieup           = mieum + pieup */
       
   860   { 0x1106110b, 0x111d }, /* choseong kapyeounmieum         = mieum + ieung */
       
   861   { 0x11071100, 0x111e }, /* choseong pieup-kiyeok          = pieup + kiyeok */
       
   862   { 0x11071102, 0x111f }, /* choseong pieup-nieun           = pieup + nieun */
       
   863   { 0x11071103, 0x1120 }, /* choseong pieup-tikeut          = pieup + tikeut */
       
   864   { 0x11071107, 0x1108 }, /* choseong ssangpieup            = pieup + pieup */
       
   865   { 0x11071109, 0x1121 }, /* choseong pieup-sios            = pieup + sios */
       
   866   { 0x1107110b, 0x112b }, /* choseong kapyeounpieup         = pieup + ieung */
       
   867   { 0x1107110c, 0x1127 }, /* choseong pieup-cieuc           = pieup + cieuc */
       
   868   { 0x1107110e, 0x1128 }, /* choseong pieup-chieuch         = pieup + chieuch */
       
   869   { 0x11071110, 0x1129 }, /* choseong pieup-thieuth         = pieup + thieuth */
       
   870   { 0x11071111, 0x112a }, /* choseong pieup-phieuph         = pieup + phieuph */
       
   871   { 0x1108110b, 0x112c }, /* choseong kapyeounssangpieup    = ssangpieup + ieung */
       
   872   { 0x11091100, 0x112d }, /* choseong sios-kiyeok           = sios + kiyeok */
       
   873   { 0x11091102, 0x112e }, /* choseong sios-nieun            = sios + nieun */
       
   874   { 0x11091103, 0x112f }, /* choseong sios-tikeut           = sios + tikeut */
       
   875   { 0x11091105, 0x1130 }, /* choseong sios-rieul            = sios + rieul */
       
   876   { 0x11091106, 0x1131 }, /* choseong sios-mieum            = sios + mieum */
       
   877   { 0x11091107, 0x1132 }, /* choseong sios-pieup            = sios + pieup */
       
   878   { 0x11091109, 0x110a }, /* choseong ssangsios             = sios + sios */
       
   879   { 0x1109110b, 0x1135 }, /* choseong sios-ieung            = sios + ieung */
       
   880   { 0x1109110c, 0x1136 }, /* choseong sios-cieuc            = sios + cieuc */
       
   881   { 0x1109110e, 0x1137 }, /* choseong sios-chieuch          = sios + chieuch */
       
   882   { 0x1109110f, 0x1138 }, /* choseong sios-khieukh          = sios + khieukh */
       
   883   { 0x11091110, 0x1139 }, /* choseong sios-thieuth          = sios + thieuth */
       
   884   { 0x11091111, 0x113a }, /* choseong sios-phieuph          = sios + phieuph */
       
   885   { 0x11091112, 0x113b }, /* choseong sios-hieuh            = sios + hieuh */
       
   886   { 0x110a1109, 0x1134 }, /* choseong sios-ssangsios        = ssangsios + sios */
       
   887   { 0x110b1100, 0x1141 }, /* choseong ieung-kiyeok          = ieung + kiyeok */
       
   888   { 0x110b1103, 0x1142 }, /* choseong ieung-tikeut          = ieung + tikeut */
       
   889   { 0x110b1106, 0x1143 }, /* choseong ieung-mieum           = ieung + mieum */
       
   890   { 0x110b1107, 0x1144 }, /* choseong ieung-pieup           = ieung + pieup */
       
   891   { 0x110b1109, 0x1145 }, /* choseong ieung-sios            = ieung + sios */
       
   892   { 0x110b110b, 0x1147 }, /* choseong ssangieung            = ieung + ieung */
       
   893   { 0x110b110c, 0x1148 }, /* choseong ieung-cieuc           = ieung + cieuc */
       
   894   { 0x110b110e, 0x1149 }, /* choseong ieung-chieuch         = ieung + chieuch */
       
   895   { 0x110b1110, 0x114a }, /* choseong ieung-thieuth         = ieung + thieuth */
       
   896   { 0x110b1111, 0x114b }, /* choseong ieung-phieuph         = ieung + phieuph */
       
   897   { 0x110b1140, 0x1146 }, /* choseong ieung-pansios         = ieung + pansios */
       
   898   { 0x110c110b, 0x114d }, /* choseong cieuc-ieung           = cieuc + ieung */
       
   899   { 0x110c110c, 0x110d }, /* choseong ssangcieuc            = cieuc + cieuc */
       
   900   { 0x110e110f, 0x1152 }, /* choseong chieuch-khieukh       = chieuch + khieukh */
       
   901   { 0x110e1112, 0x1153 }, /* choseong chieuch-hieuh         = chieuch + hieuh */
       
   902   { 0x11111107, 0x1156 }, /* choseong phieuph-pieup         = phieuph + pieup */
       
   903   { 0x1111110b, 0x1157 }, /* choseong kapyeounphieuph       = phieuph + ieung */
       
   904   { 0x11121112, 0x1158 }, /* choseong ssanghieuh            = hieuh + hieuh */
       
   905   { 0x11211100, 0x1122 }, /* choseong pieup-sios-kiyeok     = pieup-sios + kiyeok */
       
   906   { 0x11211103, 0x1123 }, /* choseong pieup-sios-tikeut     = pieup-sios + tikeut */
       
   907   { 0x11211107, 0x1124 }, /* choseong pieup-sios-pieup      = pieup-sios + pieup */
       
   908   { 0x11211109, 0x1125 }, /* choseong pieup-ssangsios       = pieup-sios + sios */
       
   909   { 0x1121110c, 0x1126 }, /* choseong pieup-sios-cieuc      = pieup-sios + cieuc */
       
   910   { 0x11321100, 0x1133 }, /* choseong sios-pieup-kiyeok     = sios-pieup + kiyeok */
       
   911   { 0x113c113c, 0x113d }, /* choseong chitueumssangsios     = chitueumsios + chitueumsios */
       
   912   { 0x113e113e, 0x113f }, /* choseong ceongchieumssangsios  = ceongchieumsios + ceongchieumsios */
       
   913   { 0x114e114e, 0x114f }, /* choseong chitueumssangcieuc    = chitueumcieuc + chitueumcieuc */
       
   914   { 0x11501150, 0x1151 }, /* choseong ceongchieumssangcieuc = ceongchieumcieuc + ceongchieumcieuc */
       
   915   { 0x11611169, 0x1176 }, /* jungseong a-o                  = a + o */
       
   916   { 0x1161116e, 0x1177 }, /* jungseong a-u                  = a + u */
       
   917   { 0x11611175, 0x1162 }, /* jungseong ae                   = a */
       
   918   { 0x11631169, 0x1178 }, /* jungseong ya-o                 = ya + o */
       
   919   { 0x1163116d, 0x1179 }, /* jungseong ya-yo                = ya + yo */
       
   920   { 0x11631175, 0x1164 }, /* jungseong yae                  = ya */
       
   921   { 0x11651169, 0x117a }, /* jungseong eo-o                 = eo + o */
       
   922   { 0x1165116e, 0x117b }, /* jungseong eo-u                 = eo + u */
       
   923   { 0x11651173, 0x117c }, /* jungseong eo-eu                = eo + eu */
       
   924   { 0x11651175, 0x1166 }, /* jungseong e                    = eo */
       
   925   { 0x11671169, 0x117d }, /* jungseong yeo-o                = yeo + o */
       
   926   { 0x1167116e, 0x117e }, /* jungseong yeo-u                = yeo + u */
       
   927   { 0x11671175, 0x1168 }, /* jungseong ye                   = yeo */
       
   928   { 0x11691161, 0x116a }, /* jungseong wa                   = o + a */
       
   929   { 0x11691165, 0x117f }, /* jungseong o-eo                 = o + eo */
       
   930   { 0x11691166, 0x1180 }, /* jungseong o-e                  = o + e */
       
   931   { 0x11691168, 0x1181 }, /* jungseong o-ye                 = o + ye */
       
   932   { 0x11691169, 0x1182 }, /* jungseong o-o                  = o + o */
       
   933   { 0x1169116e, 0x1183 }, /* jungseong o-u                  = o + u */
       
   934   { 0x11691175, 0x116c }, /* jungseong oe                   = o */
       
   935   { 0x116a1175, 0x116b }, /* jungseong wae                  = wa */
       
   936   { 0x116d1163, 0x1184 }, /* jungseong yo-ya                = yo + ya */
       
   937   { 0x116d1164, 0x1185 }, /* jungseong yo-yae               = yo + yae */
       
   938   { 0x116d1167, 0x1186 }, /* jungseong yo-yeo               = yo + yeo */
       
   939   { 0x116d1169, 0x1187 }, /* jungseong yo-o                 = yo + o */
       
   940   { 0x116d1175, 0x1188 }, /* jungseong yo-i                 = yo + i */
       
   941   { 0x116e1161, 0x1189 }, /* jungseong u-a                  = u + a */
       
   942   { 0x116e1162, 0x118a }, /* jungseong u-ae                 = u + ae */
       
   943   { 0x116e1165, 0x116f }, /* jungseong weo                  = u + eo */
       
   944   { 0x116e1168, 0x118c }, /* jungseong u-ye                 = u + ye */
       
   945   { 0x116e116e, 0x118d }, /* jungseong u-u                  = u + u */
       
   946   { 0x116e1175, 0x1171 }, /* jungseong wi                   = u */
       
   947   { 0x116f1173, 0x118b }, /* jungseong u-eo-eu              = weo + eu */
       
   948   { 0x116f1175, 0x1170 }, /* jungseong we                   = weo */
       
   949   { 0x11721161, 0x118e }, /* jungseong yu-a                 = yu + a */
       
   950   { 0x11721165, 0x118f }, /* jungseong yu-eo                = yu + eo */
       
   951   { 0x11721166, 0x1190 }, /* jungseong yu-e                 = yu + e */
       
   952   { 0x11721167, 0x1191 }, /* jungseong yu-yeo               = yu + yeo */
       
   953   { 0x11721168, 0x1192 }, /* jungseong yu-ye                = yu + ye */
       
   954   { 0x1172116e, 0x1193 }, /* jungseong yu-u                 = yu + u */
       
   955   { 0x11721175, 0x1194 }, /* jungseong yu-i                 = yu + i */
       
   956   { 0x1173116e, 0x1195 }, /* jungseong eu-u                 = eu + u */
       
   957   { 0x11731173, 0x1196 }, /* jungseong eu-eu                = eu + eu */
       
   958   { 0x11731175, 0x1174 }, /* jungseong yi                   = eu */
       
   959   { 0x1174116e, 0x1197 }, /* jungseong yi-u                 = yi + u */
       
   960   { 0x11751161, 0x1198 }, /* jungseong i-a                  = i + a */
       
   961   { 0x11751163, 0x1199 }, /* jungseong i-ya                 = i + ya */
       
   962   { 0x11751169, 0x119a }, /* jungseong i-o                  = i + o */
       
   963   { 0x1175116e, 0x119b }, /* jungseong i-u                  = i + u */
       
   964   { 0x11751173, 0x119c }, /* jungseong i-eu                 = i + eu */
       
   965   { 0x1175119e, 0x119d }, /* jungseong i-araea              = i */
       
   966   { 0x119e1165, 0x119f }, /* jungseong araea-eo             = araea + eo */
       
   967   { 0x119e116e, 0x11a0 }, /* jungseong araea-u              = araea + u */
       
   968   { 0x119e1175, 0x11a1 }, /* jungseong araea-i              = araea + i */
       
   969   { 0x119e119e, 0x11a2 }, /* jungseong ssangaraea           = araea + araea */
       
   970   { 0x11a811a8, 0x11a9 }, /* jongseong ssangkiyeok          = kiyeok + kiyeok */
       
   971   { 0x11a811af, 0x11c3 }, /* jongseong kiyeok-rieul         = kiyeok + rieul */
       
   972   { 0x11a811ba, 0x11aa }, /* jongseong kiyeok-sios          = kiyeok */
       
   973   { 0x11aa11a8, 0x11c4 }, /* jongseong kiyeok-sios-kiyeok   = kiyeok-sios + kiyeok */
       
   974   { 0x11ab11a8, 0x11c5 }, /* jongseong nieun-kiyeok         = nieun + kiyeok */
       
   975   { 0x11ab11ae, 0x11c6 }, /* jongseong nieun-tikeut         = nieun + tikeut */
       
   976   { 0x11ab11ba, 0x11c7 }, /* jongseong nieun-sios           = nieun + sios */
       
   977   { 0x11ab11bd, 0x11ac }, /* jongseong nieun-cieuc          = nieun */
       
   978   { 0x11ab11c0, 0x11c9 }, /* jongseong nieun-thieuth        = nieun + thieuth */
       
   979   { 0x11ab11c2, 0x11ad }, /* jongseong nieun-hieuh          = nieun */
       
   980   { 0x11ab11eb, 0x11c8 }, /* jongseong nieun-pansios        = nieun */
       
   981   { 0x11ae11a8, 0x11ca }, /* jongseong tikeut-kiyeok        = tikeut + kiyeok */
       
   982   { 0x11ae11af, 0x11cb }, /* jongseong tikeut-rieul         = tikeut + rieul */
       
   983   { 0x11af11a8, 0x11b0 }, /* jongseong rieul-kiyeok         = rieul + kiyeok */
       
   984   { 0x11af11ab, 0x11cd }, /* jongseong rieul-nieun          = rieul + nieun */
       
   985   { 0x11af11ae, 0x11ce }, /* jongseong rieul-tikeut         = rieul + tikeut */
       
   986   { 0x11af11af, 0x11d0 }, /* jongseong ssangrieul           = rieul + rieul */
       
   987   { 0x11af11b7, 0x11b1 }, /* jongseong rieul-mieum          = rieul */
       
   988   { 0x11af11b8, 0x11b2 }, /* jongseong rieul-pieup          = rieul */
       
   989   { 0x11af11ba, 0x11b3 }, /* jongseong rieul-sios           = rieul */
       
   990   { 0x11af11bf, 0x11d8 }, /* jongseong rieul-khieukh        = rieul + khieukh */
       
   991   { 0x11af11c0, 0x11b4 }, /* jongseong rieul-thieuth        = rieul */
       
   992   { 0x11af11c1, 0x11b5 }, /* jongseong rieul-phieuph        = rieul */
       
   993   { 0x11af11c2, 0x11b6 }, /* jongseong rieul-hieuh          = rieul */
       
   994   { 0x11af11eb, 0x11d7 }, /* jongseong rieul-pansios        = rieul */
       
   995   { 0x11af11f9, 0x11d9 }, /* jongseong rieul-yeorinhieuh    = rieul */
       
   996   { 0x11b011ba, 0x11cc }, /* jongseong rieul-kiyeok-sios    = rieul-kiyeok + sios */
       
   997   { 0x11b111a8, 0x11d1 }, /* jongseong rieul-mieum-kiyeok   = rieul-mieum + kiyeok */
       
   998   { 0x11b111ba, 0x11d2 }, /* jongseong rieul-mieum-sios     = rieul-mieum + sios */
       
   999   { 0x11b211ba, 0x11d3 }, /* jongseong rieul-pieup-sios     = rieul-pieup + sios */
       
  1000   { 0x11b211bc, 0x11d5 }, /* jongseong rieul-kapyeounpieup  = rieul-pieup + ieung */
       
  1001   { 0x11b211c2, 0x11d4 }, /* jongseong rieul-pieup-hieuh    = rieul-pieup + hieuh */
       
  1002   { 0x11b311ba, 0x11d6 }, /* jongseong rieul-ssangsios      = rieul-sios + sios */
       
  1003   { 0x11b711a8, 0x11da }, /* jongseong mieum-kiyeok         = mieum + kiyeok */
       
  1004   { 0x11b711af, 0x11db }, /* jongseong mieum-rieul          = mieum + rieul */
       
  1005   { 0x11b711b8, 0x11dc }, /* jongseong mieum-pieup          = mieum + pieup */
       
  1006   { 0x11b711ba, 0x11dd }, /* jongseong mieum-sios           = mieum + sios */
       
  1007   { 0x11b711bc, 0x11e2 }, /* jongseong kapyeounmieum        = mieum + ieung */
       
  1008   { 0x11b711be, 0x11e0 }, /* jongseong mieum-chieuch        = mieum + chieuch */
       
  1009   { 0x11b711c2, 0x11e1 }, /* jongseong mieum-hieuh          = mieum + hieuh */
       
  1010   { 0x11b711eb, 0x11df }, /* jongseong mieum-pansios        = mieum */
       
  1011   { 0x11b811af, 0x11e3 }, /* jongseong pieup-rieul          = pieup + rieul */
       
  1012   { 0x11b811ba, 0x11b9 }, /* jongseong pieup-sios           = pieup */
       
  1013   { 0x11b811bc, 0x11e6 }, /* jongseong kapyeounpieup        = pieup + ieung */
       
  1014   { 0x11b811c1, 0x11e4 }, /* jongseong pieup-phieuph        = pieup + phieuph */
       
  1015   { 0x11b811c2, 0x11e5 }, /* jongseong pieup-hieuh          = pieup + hieuh */
       
  1016   { 0x11ba11a8, 0x11e7 }, /* jongseong sios-kiyeok          = sios + kiyeok */
       
  1017   { 0x11ba11ae, 0x11e8 }, /* jongseong sios-tikeut          = sios + tikeut */
       
  1018   { 0x11ba11af, 0x11e9 }, /* jongseong sios-rieul           = sios + rieul */
       
  1019   { 0x11ba11b8, 0x11ea }, /* jongseong sios-pieup           = sios + pieup */
       
  1020   { 0x11ba11ba, 0x11bb }, /* jongseong ssangsios            = sios + sios */
       
  1021   { 0x11bc11a8, 0x11ec }, /* jongseong ieung-kiyeok         = ieung + kiyeok */
       
  1022   { 0x11bc11bc, 0x11ee }, /* jongseong ssangieung           = ieung + ieung */
       
  1023   { 0x11bc11bf, 0x11ef }, /* jongseong ieung-khieukh        = ieung + khieukh */
       
  1024   { 0x11c111b8, 0x11f3 }, /* jongseong phieuph-pieup        = phieuph + pieup */
       
  1025   { 0x11c111bc, 0x11f4 }, /* jongseong kapyeounphieuph      = phieuph + ieung */
       
  1026   { 0x11c211ab, 0x11f5 }, /* jongseong hieuh-nieun          = hieuh + nieun */
       
  1027   { 0x11c211af, 0x11f6 }, /* jongseong hieuh-rieul          = hieuh + rieul */
       
  1028   { 0x11c211b7, 0x11f7 }, /* jongseong hieuh-mieum          = hieuh + mieum */
       
  1029   { 0x11c211b8, 0x11f8 }, /* jongseong hieuh-pieup          = hieuh + pieup */
       
  1030   { 0x11ce11c2, 0x11cf }, /* jongseong rieul-tikeut-hieuh   = rieul-tikeut + hieuh */
       
  1031   { 0x11dd11ba, 0x11de }, /* jongseong mieum-ssangsios      = mieum-sios + sios */
       
  1032   { 0x11ec11a8, 0x11ed }, /* jongseong ieung-ssangkiyeok    = ieung-kiyeok + kiyeok */
       
  1033   { 0x11f011ba, 0x11f1 }, /* jongseong yesieung-sios        = yesieung + sios */
       
  1034   { 0x11f011eb, 0x11f2 }, /* jongseong yesieung-pansios     = yesieung + pansios */
       
  1035 };