Blame modules/input/thai-charprop.c

Packit 98cdb6
#include "thai-charprop.h"
Packit 98cdb6
Packit 98cdb6
const gshort thai_char_type[256] = {
Packit 98cdb6
  /*       0,   1,   2,   3,   4,   5,   6,   7,
Packit 98cdb6
           8,   9,   A,   B,   C,   D,   E,   F  */
Packit 98cdb6
Packit 98cdb6
         /* CL1 */
Packit 98cdb6
  /*00*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
         _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
  /*10*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
         _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
Packit 98cdb6
         /* Lao zone: [U+0E80..U+0EDF] */
Packit 98cdb6
  /*20*/ _ND, _NC, _NC, _ND, _NC, _ND, _ND, _NC,
Packit 98cdb6
         _NC, _ND, _NC, _ND, _ND, _NC, _ND, _ND,
Packit 98cdb6
  /*30*/ _ND, _ND, _ND, _ND, _NC, _NC, _NC, _NC,
Packit 98cdb6
         _ND, _NC, _NC, _UC, _NC, _UC, _NC, _UC,
Packit 98cdb6
  /*40*/ _ND, _NC, _UC, _NC, _ND, _NC, _ND, _NC,
Packit 98cdb6
         _ND, _ND, _NC, _NC, _ND, _NC, _NC, _ND,
Packit 98cdb6
  /*50*/ _ND, _AV, _ND, _AM, _AV, _AV, _AV, _AV,
Packit 98cdb6
         _BV, _BV, _ND, _AV, _BD, _NC, _ND, _ND,
Packit 98cdb6
  /*60*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _AD,
Packit 98cdb6
         _TN, _TN, _TN, _TN, _AD, _AD, _ND, _ND,
Packit 98cdb6
  /*70*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
         _ND, _ND, _ND, _ND, _NC, _NC, _ND, _ND,
Packit 98cdb6
Packit 98cdb6
         /* CL2 */
Packit 98cdb6
  /*80*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
         _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
  /*90*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
         _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
Packit 98cdb6
         /* Thai zone: [U+0E00..U+0E5F] */
Packit 98cdb6
  /*A0*/ _ND, _NC, _NC, _NC, _NC, _NC, _NC, _NC,
Packit 98cdb6
         _NC, _NC, _NC, _NC, _NC, _SC, _BC, _BC,
Packit 98cdb6
  /*B0*/ _SC, _NC, _NC, _NC, _NC, _NC, _NC, _NC,
Packit 98cdb6
         _NC, _NC, _NC, _UC, _NC, _UC, _NC, _UC,
Packit 98cdb6
  /*C0*/ _NC, _NC, _NC, _NC, _ND, _NC, _ND, _NC,
Packit 98cdb6
         _NC, _NC, _NC, _NC, _UC, _NC, _NC, _ND,
Packit 98cdb6
  /*D0*/ _ND, _AV, _ND, _AM, _AV, _AV, _AV, _AV,
Packit 98cdb6
         _BV, _BV, _BD, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
  /*E0*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _AD,
Packit 98cdb6
         _TN, _TN, _TN, _TN, _AD, _AD, _AD, _ND,
Packit 98cdb6
  /*F0*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
         _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
const gshort thai_TAC_char_class[256] = {
Packit 98cdb6
  /*	   0,   1,   2,   3,   4,   5,   6,   7,
Packit 98cdb6
           8,   9,   A,   B,   C,   D,   E,   F  */
Packit 98cdb6
Packit 98cdb6
         /* CL1 */
Packit 98cdb6
  /*00*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
         CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
  /*10*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
         CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
Packit 98cdb6
         /* Lao zone: [U+0E80..U+0EDF] */
Packit 98cdb6
  /*20*/  NON,CONS,CONS, NON,CONS, NON, NON,CONS,
Packit 98cdb6
         CONS, NON,CONS, NON, NON,CONS, NON, NON,
Packit 98cdb6
  /*30*/  NON, NON, NON, NON,CONS,CONS,CONS,CONS,
Packit 98cdb6
          NON,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
Packit 98cdb6
  /*40*/  NON,CONS,CONS,CONS, NON,CONS, NON,CONS,
Packit 98cdb6
          NON, NON,CONS,CONS, NON,CONS,CONS, NON,
Packit 98cdb6
  /*50*/  FV1, AV2, FV1,  AM, AV1, AV3, AV2, AV3,
Packit 98cdb6
          BV1, BV2, NON, AV2,BCON, FV3, NON, NON,
Packit 98cdb6
  /*60*/   LV,  LV,  LV,  LV,  LV, NON, NON, NON,
Packit 98cdb6
         TONE,TONE,TONE,TONE, AD1, AD4, NON, NON,
Packit 98cdb6
  /*70*/  NON, NON, NON, NON, NON, NON, NON, NON,
Packit 98cdb6
          NON, NON, NON, NON,CONS,CONS, NON,CTRL,
Packit 98cdb6
Packit 98cdb6
         /* CL2 */
Packit 98cdb6
  /*80*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
         CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
  /*90*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
         CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
Packit 98cdb6
Packit 98cdb6
         /* Thai zone: [U+0E00..U+0E5F] */
Packit 98cdb6
  /*A0*/  NON,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
Packit 98cdb6
         CONS,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
Packit 98cdb6
  /*B0*/ CONS,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
Packit 98cdb6
         CONS,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
Packit 98cdb6
  /*C0*/ CONS,CONS,CONS,CONS, FV3,CONS, FV3,CONS,
Packit 98cdb6
         CONS,CONS,CONS,CONS,CONS,CONS,CONS, NON,
Packit 98cdb6
  /*D0*/  FV1, AV2, FV1,  AM, AV1, AV3, AV2, AV3,
Packit 98cdb6
          BV1, BV2,  BD, NON, NON, NON, NON, NON,
Packit 98cdb6
  /*E0*/   LV,  LV,  LV,  LV,  LV, FV2, NON, AD2,
Packit 98cdb6
         TONE,TONE,TONE,TONE, AD1, AD4, AD3, NON,
Packit 98cdb6
  /*F0*/  NON, NON, NON, NON, NON, NON, NON, NON,
Packit 98cdb6
          NON, NON, NON, NON, NON, NON, NON,CTRL,
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
const gchar thai_TAC_compose_input[20][20] = {
Packit 98cdb6
      /* row: Cn-1,  column: Cn */
Packit 98cdb6
      /*CTRL NON CONS LV FV1 FV2 FV3  AM BV1 BV2
Packit 98cdb6
       * BD TONE AD1 AD2 AD3 AD4 AV1 AV2 AV3 BCON*/
Packit 98cdb6
/*CTRL*/{'X','A','A','A','A','A','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*NON */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*CONS*/{'X','A','A','A','A','S','A','C','C','C',
Packit 98cdb6
         'C','C','C','C','C','C','C','C','C','C'},
Packit 98cdb6
/*LV  */{'X','S','A','S','S','S','S','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*FV1 */{'X','A','A','A','A','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*FV2 */{'X','A','A','A','A','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*FV3 */{'X','A','A','A','S','A','S','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AM  */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*BV1 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','C','C','R','R','C','R','R','R','R'},
Packit 98cdb6
/*BV2 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','C','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*BD  */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*TONE*/{'X','A','A','A','A','A','A','C','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AD1 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AD2 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AD3 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','R','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AD4 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','C','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AV1 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','C','C','R','R','C','R','R','R','R'},
Packit 98cdb6
/*AV2 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','C','R','R','R','R','R','R','R','R'},
Packit 98cdb6
/*AV3 */{'X','A','A','A','S','S','A','R','R','R',
Packit 98cdb6
         'R','C','R','C','R','R','R','R','R','R'},
Packit 98cdb6
/*BCON*/{'X','A','A','A','A','S','A','C','C','C',
Packit 98cdb6
         'R','C','R','R','R','C','C','C','C','R'},
Packit 98cdb6
};
Packit 98cdb6