Blame modules/input/imti-er.c

Packit 98cdb6
/* GTK - The GIMP Toolkit
Packit 98cdb6
 * Copyright (C) 2000 Red Hat Software
Packit 98cdb6
 * Copyright (C) 2000 SuSE Linux Ltd
Packit 98cdb6
 *
Packit 98cdb6
 * This library is free software; you can redistribute it and/or
Packit 98cdb6
 * modify it under the terms of the GNU Library General Public
Packit 98cdb6
 * License as published by the Free Software Foundation; either
Packit 98cdb6
 * version 2 of the License, or (at your option) any later version.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is distributed in the hope that it will be useful,
Packit 98cdb6
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 98cdb6
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 98cdb6
 * Library General Public License for more details.
Packit 98cdb6
 *
Packit 98cdb6
 * You should have received a copy of the GNU Library General Public
Packit 98cdb6
 * License along with this library; if not, write to the
Packit 98cdb6
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit 98cdb6
 * Boston, MA 02111-1307, USA.
Packit 98cdb6
 *
Packit 98cdb6
 * Original author: Owen Taylor <otaylor@redhat.com>
Packit 98cdb6
 * 
Packit 98cdb6
 * Modified for Inuktitut - Robert Brady <robert@suse.co.uk>
Packit 98cdb6
 * 
Packit 98cdb6
 * Modified for Tigrigna - Daniel Yacob <locales@geez.org>
Packit 98cdb6
 *
Packit 98cdb6
 */
Packit 98cdb6
Packit 98cdb6
#include "config.h"
Packit 98cdb6
#include <stdio.h>
Packit 98cdb6
#include <string.h>
Packit 98cdb6
Packit 98cdb6
#include "gtk/gtk.h"
Packit 98cdb6
#include "gdk/gdkkeysyms.h"
Packit 98cdb6
Packit 98cdb6
#include "gtk/gtkimmodule.h"
Packit 98cdb6
#include "gtk/gtkintl.h"
Packit 98cdb6
Packit 98cdb6
GType type_ti_er_translit = 0;
Packit 98cdb6
Packit 98cdb6
static void ti_er_class_init (GtkIMContextSimpleClass *class);
Packit 98cdb6
static void ti_er_init (GtkIMContextSimple *im_context);
Packit 98cdb6
Packit 98cdb6
static void
Packit 98cdb6
ti_er_register_type (GTypeModule *module)
Packit 98cdb6
{
Packit 98cdb6
  const GTypeInfo object_info =
Packit 98cdb6
  {
Packit 98cdb6
    sizeof (GtkIMContextSimpleClass),
Packit 98cdb6
    (GBaseInitFunc) NULL,
Packit 98cdb6
    (GBaseFinalizeFunc) NULL,
Packit 98cdb6
    (GClassInitFunc) ti_er_class_init,
Packit 98cdb6
    NULL,           /* class_finalize */
Packit 98cdb6
    NULL,           /* class_data */
Packit 98cdb6
    sizeof (GtkIMContextSimple),
Packit 98cdb6
    0,
Packit 98cdb6
    (GInstanceInitFunc) ti_er_init,
Packit 98cdb6
  };
Packit 98cdb6
Packit 98cdb6
  type_ti_er_translit = 
Packit 98cdb6
    g_type_module_register_type (module,
Packit 98cdb6
				 GTK_TYPE_IM_CONTEXT_SIMPLE,
Packit 98cdb6
				 "GtkIMContextTigrignaEritrea",
Packit 98cdb6
				 &object_info, 0);
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
#define SYL(a,b) \
Packit 98cdb6
  a,  0,  0, 0, 0, 0, b+5, \
Packit 98cdb6
  a, 'A', 0, 0, 0, 0, b+3, \
Packit 98cdb6
  a, 'E', 0, 0, 0, 0, b+4, \
Packit 98cdb6
  a, 'I', 0, 0, 0, 0, b+2, \
Packit 98cdb6
  a, 'O', 0, 0, 0, 0, b+6, \
Packit 98cdb6
  a, 'U', 0, 0, 0, 0, b+1, \
Packit 98cdb6
  a, 'a', 0, 0, 0, 0, b+3, \
Packit 98cdb6
  a, 'e', 0, 0, 0, 0, b, \
Packit 98cdb6
  a, 'e', 'e', 0, 0, 0, b+4, \
Packit 98cdb6
  a, 'i', 0, 0, 0, 0, b+2, \
Packit 98cdb6
  a, 'o', 0, 0, 0, 0, b+6, \
Packit 98cdb6
  a, 'u', 0, 0, 0, 0, b+1,
Packit 98cdb6
Packit 98cdb6
#define SYLW1(a,b) \
Packit 98cdb6
  a,  0,  0, 0, 0, 0, b+5, \
Packit 98cdb6
  a, 'A', 0, 0, 0, 0, b+3, \
Packit 98cdb6
  a, 'E', 0, 0, 0, 0, b+4, \
Packit 98cdb6
  a, 'I', 0, 0, 0, 0, b+2, \
Packit 98cdb6
  a, 'O', 0, 0, 0, 0, b+6, \
Packit 98cdb6
  a, 'U', 0, 0, 0, 0, b+1, \
Packit 98cdb6
  a, 'W', 0, 0, 0, 0, b+7, \
Packit 98cdb6
  a, 'W', 'A', 0, 0, 0, b+7, \
Packit 98cdb6
  a, 'W', 'a', 0, 0, 0, b+7,
Packit 98cdb6
#define SYLW2(a,b) \
Packit 98cdb6
  a, 'a', 0, 0, 0, 0, b+3, \
Packit 98cdb6
  a, 'e', 0, 0, 0, 0, b, \
Packit 98cdb6
  a, 'e', 'e', 0, 0, 0, b+4, \
Packit 98cdb6
  a, 'i', 0, 0, 0, 0, b+2, \
Packit 98cdb6
  a, 'o', 0, 0, 0, 0, b+6, \
Packit 98cdb6
  a, 'u', 0, 0, 0, 0, b+1, \
Packit 98cdb6
  a, 'w', 'w',   0, 0, 0, b+7, \
Packit 98cdb6
  a, 'w', 'w', 'a', 0, 0, b+7,
Packit 98cdb6
Packit 98cdb6
#define SYLW(a,b) \
Packit 98cdb6
  SYLW1(a,b)\
Packit 98cdb6
  SYLW2(a,b)
Packit 98cdb6
Packit 98cdb6
#define SYLWW(a,b) \
Packit 98cdb6
  a,  0,  0, 0, 0, 0, b+5, \
Packit 98cdb6
  a, 'A', 0, 0, 0, 0, b+3, \
Packit 98cdb6
  a, 'E', 0, 0, 0, 0, b+4, \
Packit 98cdb6
  a, 'I', 0, 0, 0, 0, b+2, \
Packit 98cdb6
  a, 'O', 0, 0, 0, 0, b+6, \
Packit 98cdb6
  a, 'O', 'O', 0, 0, 0, b+8, \
Packit 98cdb6
  a, 'O', 'o', 0, 0, 0, b+8, \
Packit 98cdb6
  a, 'U', 0, 0, 0, 0, b+1, \
Packit 98cdb6
  a, 'W', 0, 0, 0, 0, b+11, \
Packit 98cdb6
  a, 'W', '\'', 0, 0, 0, b+13, \
Packit 98cdb6
  a, 'W', 'A', 0, 0, 0, b+11, \
Packit 98cdb6
  a, 'W', 'E', 0, 0, 0, b+12, \
Packit 98cdb6
  a, 'W', 'I', 0, 0, 0, b+10, \
Packit 98cdb6
  a, 'W', 'U', 0, 0, 0, b+13, \
Packit 98cdb6
  a, 'W', 'a', 0, 0, 0, b+11, \
Packit 98cdb6
  a, 'W', 'e', 0, 0, 0, b+8, \
Packit 98cdb6
  a, 'W', 'e', 'e', 0, 0, b+12, \
Packit 98cdb6
  a, 'W', 'i', 0, 0, 0, b+10, \
Packit 98cdb6
  a, 'W', 'u', 0, 0, 0, b+13, \
Packit 98cdb6
  a, 'a', 0, 0, 0, 0, b+3, \
Packit 98cdb6
  a, 'e', 0, 0, 0, 0, b, \
Packit 98cdb6
  a, 'e', 'e', 0, 0, 0, b+4, \
Packit 98cdb6
  a, 'i', 0, 0, 0, 0, b+2, \
Packit 98cdb6
  a, 'o', 0, 0, 0, 0, b+6, \
Packit 98cdb6
  a, 'o', 'o', 0, 0, 0, b+8, \
Packit 98cdb6
  a, 'u', 0, 0, 0, 0, b+1, \
Packit 98cdb6
  a, 'w', 'w', 0, 0, 0, b+11, \
Packit 98cdb6
  a, 'w', 'w', '\'', 0, 0, b+13, \
Packit 98cdb6
  a, 'w', 'w', 'E', 0, 0, b+12, \
Packit 98cdb6
  a, 'w', 'w', 'a', 0, 0, b+11, \
Packit 98cdb6
  a, 'w', 'w', 'e', 0, 0, b+8, \
Packit 98cdb6
  a, 'w', 'w', 'e', 'e', 0, b+12, \
Packit 98cdb6
  a, 'w', 'w', 'i', 0, 0, b+10, \
Packit 98cdb6
  a, 'w', 'w', 'u', 0, 0, b+13,
Packit 98cdb6
Packit 98cdb6
static guint16 ti_er_compose_seqs[] = {
Packit 98cdb6
  /* do punctuation and numerals here */
Packit 98cdb6
Packit 98cdb6
  '\'',   0, 0, 0, 0, 0, GDK_dead_grave,  /* hopefully this has no side effects */
Packit 98cdb6
  '\'', '\'', 0, 0, 0, 0, GDK_apostrophe,
Packit 98cdb6
  '\'', '1', 0, 0, 0, 0, 0x1369,
Packit 98cdb6
  '\'', '1', '0', 0, 0, 0, 0x1372,
Packit 98cdb6
  '\'', '1', '0', '0', 0, 0, 0x137b,
Packit 98cdb6
  '\'', '1', '0', 'k', 0, 0, 0x137c,
Packit 98cdb6
  /* '\'', '1', '0', '0', '0',  0, 0x137b,
Packit 98cdb6
  '\'', '1', '0', '0', '0', '0', 0, 0x137c, */
Packit 98cdb6
  '\'', '2', 0, 0, 0, 0, 0x136a,
Packit 98cdb6
  '\'', '2', '0', 0, 0, 0, 0x1373,
Packit 98cdb6
  '\'', '3', 0, 0, 0, 0, 0x136b,
Packit 98cdb6
  '\'', '3', '0', 0, 0, 0, 0x1374,
Packit 98cdb6
  '\'', '4', 0, 0, 0, 0, 0x136c,
Packit 98cdb6
  '\'', '4', '0', 0, 0, 0, 0x1375,
Packit 98cdb6
  '\'', '5', 0, 0, 0, 0, 0x136d,
Packit 98cdb6
  '\'', '5', '0', 0, 0, 0, 0x1376,
Packit 98cdb6
  '\'', '6', 0, 0, 0, 0, 0x136e,
Packit 98cdb6
  '\'', '6', '0', 0, 0, 0, 0x1377,
Packit 98cdb6
  '\'', '7', 0, 0, 0, 0, 0x136f,
Packit 98cdb6
  '\'', '7', '0', 0, 0, 0, 0x1378,
Packit 98cdb6
  '\'', '8', 0, 0, 0, 0, 0x1370,
Packit 98cdb6
  '\'', '8', '0', 0, 0, 0, 0x1379,
Packit 98cdb6
  '\'', '9', 0, 0, 0, 0, 0x1371,
Packit 98cdb6
  '\'', '9', '0', 0, 0, 0, 0x137a,
Packit 98cdb6
  ',',  0,  0, 0, 0, 0, 0x1363,
Packit 98cdb6
  ',',  ',',  0, 0, 0, 0, ',',
Packit 98cdb6
  '-',  0,  0, 0, 0, 0, '-',
Packit 98cdb6
  '-',  ':',  0, 0, 0, 0, 0x1365,
Packit 98cdb6
  ':',  0,  0, 0, 0, 0, 0x1361,
Packit 98cdb6
  ':',  '-',  0, 0, 0, 0, 0x1366,
Packit 98cdb6
  ':',  ':',  0, 0, 0, 0, 0x1362,
Packit 98cdb6
  ':',  ':',  ':', 0, 0, 0, ':',
Packit 98cdb6
  ':',  '|',  ':', 0, 0, 0, 0x1368,
Packit 98cdb6
  ';',  0,  0, 0, 0, 0, 0x1364,
Packit 98cdb6
  ';',  ';',  0, 0, 0, 0, ';',
Packit 98cdb6
  '<',  0,  0, 0, 0, 0, '<',
Packit 98cdb6
  '<',  '<',  0, 0, 0, 0, 0x00AB,
Packit 98cdb6
  '>',  0,  0, 0, 0, 0, '>',
Packit 98cdb6
  '>',  '>',  0, 0, 0, 0, 0x00BB,
Packit 98cdb6
  '?',  0,  0, 0, 0, 0, 0x1367,
Packit 98cdb6
  '?',  '?',  0, 0, 0, 0, '?',
Packit 98cdb6
  'A',  0,  0,  0,  0, 0, 0x12A0,
Packit 98cdb6
  'A','A',  0,  0,  0, 0, 0x12D0,
Packit 98cdb6
  SYLW('B', 0x1260)
Packit 98cdb6
  SYLW('C', 0x1328)
Packit 98cdb6
  SYLW('D', 0x12f8)
Packit 98cdb6
  'E',  0,  0,  0,  0, 0, 0x12A4,
Packit 98cdb6
  'E','E',  0,  0,  0, 0, 0x12D4,
Packit 98cdb6
  SYLW1('F', 0x1348)
Packit 98cdb6
  'F', 'Y',   0,  0,  0, 0, 0x135A,
Packit 98cdb6
  'F', 'Y', 'A',  0,  0, 0, 0x135A,
Packit 98cdb6
  'F', 'Y', 'a',  0,  0, 0, 0x135A,
Packit 98cdb6
  SYLW2('F', 0x1348)
Packit 98cdb6
  SYL('G', 0x1318)
Packit 98cdb6
  SYLW('H', 0x1210)
Packit 98cdb6
  'I',  0,  0,  0,  0, 0, 0x12A5,
Packit 98cdb6
  'I','A',  0,  0,  0, 0, 0x12A3,
Packit 98cdb6
  'I','E',  0,  0,  0, 0, 0x12A4,
Packit 98cdb6
  'I','I',  0,  0,  0, 0, 0x12D5,
Packit 98cdb6
  'I','I','E',  0,  0, 0, 0x12D4,
Packit 98cdb6
  'I','I','a',  0,  0, 0, 0x12D3,
Packit 98cdb6
  'I','I','e',  0,  0, 0, 0x12D0,
Packit 98cdb6
  'I','I','i',  0,  0, 0, 0x12D2,
Packit 98cdb6
  'I','I','o',  0,  0, 0, 0x12D6,
Packit 98cdb6
  'I','I','u',  0,  0, 0, 0x12D1,
Packit 98cdb6
  'I','O',  0,  0,  0, 0, 0x12A6,
Packit 98cdb6
  'I','U',  0,  0,  0, 0, 0x12A1,
Packit 98cdb6
  'I','W',  0,  0,  0, 0, 0x12A7,
Packit 98cdb6
  'I','a',  0,  0,  0, 0, 0x12A3,
Packit 98cdb6
  'I','e',  0,  0,  0, 0, 0x12A0,
Packit 98cdb6
  'I','i',  0,  0,  0, 0, 0x12A2,
Packit 98cdb6
  'I','o',  0,  0,  0, 0, 0x12A6,
Packit 98cdb6
  'I','u',  0,  0,  0, 0, 0x12A1,
Packit 98cdb6
  SYLWW('K', 0x12b8)
Packit 98cdb6
  SYLW('L', 0x1208)
Packit 98cdb6
  SYLW1('M', 0x1218)
Packit 98cdb6
  'M', 'Y',   0,  0,  0, 0, 0x1359,
Packit 98cdb6
  'M', 'Y', 'A',  0,  0, 0, 0x1359,
Packit 98cdb6
  'M', 'Y', 'a',  0,  0, 0, 0x1359,
Packit 98cdb6
  SYLW2('M', 0x1218)
Packit 98cdb6
  SYLW('N', 0x1298)
Packit 98cdb6
  'O',  0,  0,  0,  0, 0, 0x12A6,
Packit 98cdb6
  'O','O',  0,  0,  0, 0, 0x12D6,
Packit 98cdb6
  SYLW('P', 0x1330)
Packit 98cdb6
  SYLWW('Q', 0x1250) 
Packit 98cdb6
  SYLW1('R', 0x1228)
Packit 98cdb6
  'R', 'Y',   0,  0,  0, 0, 0x1358,
Packit 98cdb6
  'R', 'Y', 'A',  0,  0, 0, 0x1358,
Packit 98cdb6
  'R', 'Y', 'a',  0,  0, 0, 0x1358,
Packit 98cdb6
  SYLW2('R', 0x1228)
Packit 98cdb6
  'S',  0,  0, 0, 0, 0, 0x1338+5,
Packit 98cdb6
  'S', 'A', 0, 0, 0, 0, 0x1338+3,
Packit 98cdb6
  'S', 'E', 0, 0, 0, 0, 0x1338+4,
Packit 98cdb6
  'S', 'I', 0, 0, 0, 0, 0x1338+2,
Packit 98cdb6
  'S', 'O', 0, 0, 0, 0, 0x1338+6,
Packit 98cdb6
  'S', 'S', 0, 0, 0, 0, 0x1340+5,
Packit 98cdb6
  'S', 'S', 'A', 0, 0, 0, 0x1340+3,
Packit 98cdb6
  'S', 'S', 'E', 0, 0, 0, 0x1340+4,
Packit 98cdb6
  'S', 'S', 'I', 0, 0, 0, 0x1340+2,
Packit 98cdb6
  'S', 'S', 'O', 0, 0, 0, 0x1340+6,
Packit 98cdb6
  'S', 'S', 'U', 0, 0, 0, 0x1340+1,
Packit 98cdb6
  'S', 'S', 'a', 0, 0, 0, 0x1340+3,
Packit 98cdb6
  'S', 'S', 'e', 0, 0, 0, 0x1340,
Packit 98cdb6
  'S', 'S', 'e', 'e', 0, 0, 0x1340+4,
Packit 98cdb6
  'S', 'S', 'i', 0, 0, 0, 0x1340+2,
Packit 98cdb6
  'S', 'S', 'o', 0, 0, 0, 0x1340+6,
Packit 98cdb6
  'S', 'S', 'u', 0, 0, 0, 0x1340+1,
Packit 98cdb6
  'S', 'U', 0, 0, 0, 0, 0x1338+1,
Packit 98cdb6
  'S', 'W', 0, 0, 0, 0, 0x1338+7,
Packit 98cdb6
  'S', 'W', 'A', 0, 0, 0, 0x1338+7,
Packit 98cdb6
  'S', 'W', 'a', 0, 0, 0, 0x1338+7,
Packit 98cdb6
  'S', 'a', 0, 0, 0, 0, 0x1338+3,
Packit 98cdb6
  'S', 'e', 0, 0, 0, 0, 0x1338,
Packit 98cdb6
  'S', 'e', 'e', 0, 0, 0, 0x1338+4,
Packit 98cdb6
  'S', 'i', 0, 0, 0, 0, 0x1338+2,
Packit 98cdb6
  'S', 'o', 0, 0, 0, 0, 0x1338+6,
Packit 98cdb6
  'S', 'u', 0, 0, 0, 0, 0x1338+1,
Packit 98cdb6
  'S', 'w', 'w',   0, 0, 0, 0x1338+7,
Packit 98cdb6
  'S', 'w', 'w', 'a', 0, 0, 0x1338+7,
Packit 98cdb6
  SYLW('T', 0x1320)
Packit 98cdb6
  'U',  0,  0,  0,  0, 0, 0x12A1,
Packit 98cdb6
  'U','U',  0,  0,  0, 0, 0x12D1,
Packit 98cdb6
  SYLW('V', 0x1268)
Packit 98cdb6
  SYL('W', 0x12c8)
Packit 98cdb6
  SYLW('X', 0x1238)
Packit 98cdb6
  SYL('Y', 0x12e8)
Packit 98cdb6
  SYLW('Z', 0x12e0)
Packit 98cdb6
Packit 98cdb6
  /* much, much work to be done for lone vowels */
Packit 98cdb6
  'a',  0,  0,  0,  0, 0, 0x12A3,
Packit 98cdb6
  'a','a',  0,  0,  0, 0, 0x12D3,
Packit 98cdb6
  'a','a','a',  0,  0, 0, 0x12D0,
Packit 98cdb6
  'a','a','a','a',  0, 0, 0x12A0,
Packit 98cdb6
  SYLW('b', 0x1260)
Packit 98cdb6
  SYLW('c', 0x1278)
Packit 98cdb6
  SYLW('d', 0x12f0)
Packit 98cdb6
  'e',  0,  0,  0,  0, 0, 0x12A5,
Packit 98cdb6
  'e','A',  0,  0,  0, 0, 0x12A3,
Packit 98cdb6
  'e','E',  0,  0,  0, 0, 0x12A4,
Packit 98cdb6
  'e','I',  0,  0,  0, 0, 0x12A2,
Packit 98cdb6
  'e','O',  0,  0,  0, 0, 0x12A6,
Packit 98cdb6
  'e','U',  0,  0,  0, 0, 0x12A1,
Packit 98cdb6
  'e','W',  0,  0,  0, 0, 0x12A7,
Packit 98cdb6
  'e','a',  0,  0,  0, 0, 0x12D0,
Packit 98cdb6
  'e','e',  0,  0,  0, 0, 0x12D5,
Packit 98cdb6
  'e','e','E',  0,  0, 0, 0x12D4,
Packit 98cdb6
  'e','e','a',  0,  0, 0, 0x12D3,
Packit 98cdb6
  'e','e','e',  0,  0, 0, 0x12D0,
Packit 98cdb6
  'e','e','i',  0,  0, 0, 0x12D2,
Packit 98cdb6
  'e','e','o',  0,  0, 0, 0x12D6,
Packit 98cdb6
  'e','e','u',  0,  0, 0, 0x12D1,
Packit 98cdb6
  'e','i',  0,  0,  0, 0, 0x12A2,
Packit 98cdb6
  'e','o',  0,  0,  0, 0, 0x12A6,
Packit 98cdb6
  'e','u',  0,  0,  0, 0, 0x12A1,
Packit 98cdb6
  SYLW1('f', 0x1348)
Packit 98cdb6
  'f', 'Y',   0,  0,  0, 0, 0x135A,
Packit 98cdb6
  'f', 'Y', 'A',  0,  0, 0, 0x135A,
Packit 98cdb6
  'f', 'Y', 'a',  0,  0, 0, 0x135A,
Packit 98cdb6
  SYLW2('f', 0x1348)
Packit 98cdb6
  SYLWW('g', 0x1308)
Packit 98cdb6
  'h',  0,  0, 0, 0, 0, 0x1200+5,
Packit 98cdb6
  'h', 'A', 0, 0, 0, 0, 0x1200+3,
Packit 98cdb6
  'h', 'E', 0, 0, 0, 0, 0x1200+4,
Packit 98cdb6
  'h', 'I', 0, 0, 0, 0, 0x1200+2,
Packit 98cdb6
  'h', 'O', 0, 0, 0, 0, 0x1200+6,
Packit 98cdb6
  'h', 'U', 0, 0, 0, 0, 0x1200+1,
Packit 98cdb6
  'h', 'W', 0, 0, 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'W', '\'', 0, 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'W', 'A', 0, 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'W', 'E', 0, 0, 0, 0x1280+12,
Packit 98cdb6
  'h', 'W', 'I', 0, 0, 0, 0x1280+10,
Packit 98cdb6
  'h', 'W', 'U', 0, 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'W', 'a', 0, 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'W', 'e', 0, 0, 0, 0x1280+8,
Packit 98cdb6
  'h', 'W', 'e', 'e', 0, 0, 0x1280+12,
Packit 98cdb6
  'h', 'W', 'i', 0, 0, 0, 0x1280+10,
Packit 98cdb6
  'h', 'W', 'u', 0, 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'a', 0, 0, 0, 0, 0x1200+3,
Packit 98cdb6
  'h', 'e', 0, 0, 0, 0, 0x1200,
Packit 98cdb6
  'h', 'e', 'e', 0, 0, 0, 0x1200+4,
Packit 98cdb6
  'h', 'h', 0, 0, 0, 0, 0x1280+5,
Packit 98cdb6
  'h', 'h', 'A', 0, 0, 0, 0x1280+3,
Packit 98cdb6
  'h', 'h', 'E', 0, 0, 0, 0x1280+4,
Packit 98cdb6
  'h', 'h', 'I', 0, 0, 0, 0x1280+2,
Packit 98cdb6
  'h', 'h', 'O', 0, 0, 0, 0x1280+6,
Packit 98cdb6
  'h', 'h', 'O', 'O', 0, 0, 0x1280+8,
Packit 98cdb6
  'h', 'h', 'U', 0, 0, 0, 0x1280+1,
Packit 98cdb6
  'h', 'h', 'W', 0, 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'W', '\'', 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'h', 'W', 'A', 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'W', 'E', 0, 0, 0x1280+12,
Packit 98cdb6
  'h', 'h', 'W', 'I', 0, 0, 0x1280+10,
Packit 98cdb6
  'h', 'h', 'W', 'U', 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'h', 'W', 'a', 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'W', 'e', 0, 0, 0x1280+8,
Packit 98cdb6
  'h', 'h', 'W', 'e', 'e', 0, 0x1280+12,
Packit 98cdb6
  'h', 'h', 'W', 'i', 0, 0, 0x1280+10,
Packit 98cdb6
  'h', 'h', 'W', 'u', 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'h', 'a', 0, 0, 0, 0x1280+3,
Packit 98cdb6
  'h', 'h', 'e', 0, 0, 0, 0x1280,
Packit 98cdb6
  'h', 'h', 'e', 'e', 0, 0, 0x1280+4,
Packit 98cdb6
  'h', 'h', 'i', 0, 0, 0, 0x1280+2,
Packit 98cdb6
  'h', 'h', 'o', 0, 0, 0, 0x1280+6,
Packit 98cdb6
  'h', 'h', 'o', 'o', 0, 0, 0x1280+8,
Packit 98cdb6
  'h', 'h', 'u', 0, 0, 0, 0x1280+1,
Packit 98cdb6
  'h', 'h', 'w', 'w',   0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'w', 'w', '\'', 0, 0x1280+13,
Packit 98cdb6
  'h', 'h', 'w', 'w', 'E', 0, 0x1280+12,
Packit 98cdb6
  'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
Packit 98cdb6
  'h', 'h', 'w', 'w', 'e', 0, 0x1280+8,
Packit 98cdb6
  /* 'h', 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12,  too long for now */
Packit 98cdb6
  'h', 'h', 'w', 'w', 'i', 0, 0x1280+10,
Packit 98cdb6
  'h', 'h', 'w', 'w', 'u', 0, 0x1280+13,
Packit 98cdb6
  'h', 'i', 0, 0, 0, 0, 0x1200+2,
Packit 98cdb6
  'h', 'o', 0, 0, 0, 0, 0x1200+6,
Packit 98cdb6
  'h', 'u', 0, 0, 0, 0, 0x1200+1,
Packit 98cdb6
  'h', 'w', 'w',   0, 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'w', 'w', 0, 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'w', 'w', '\'', 0, 0, 0x1280+13,
Packit 98cdb6
  'h', 'w', 'w', 'E', 0, 0, 0x1280+12,
Packit 98cdb6
  'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
Packit 98cdb6
  'h', 'w', 'w', 'e', 0, 0, 0x1280+8,
Packit 98cdb6
  'h', 'w', 'w', 'e', 'e', 0, 0x1280+12,
Packit 98cdb6
  'h', 'w', 'w', 'i', 0, 0, 0x1280+10,
Packit 98cdb6
  'h', 'w', 'w', 'u', 0, 0, 0x1280+13,
Packit 98cdb6
  'i',  0,  0,  0,  0, 0, 0x12A2,
Packit 98cdb6
  'i', 'i', 0,  0,  0, 0, 0x12D2,
Packit 98cdb6
  SYLW('j', 0x1300)
Packit 98cdb6
  SYLWW('k', 0x12a8)
Packit 98cdb6
  SYLW('l', 0x1208)
Packit 98cdb6
  SYLW1('m', 0x1218)
Packit 98cdb6
  'm', 'Y',   0,  0,  0, 0, 0x1359,
Packit 98cdb6
  'm', 'Y', 'A',  0,  0, 0, 0x1359,
Packit 98cdb6
  'm', 'Y', 'a',  0,  0, 0, 0x1359,
Packit 98cdb6
  SYLW2('m', 0x1218)
Packit 98cdb6
  SYLW('n', 0x1290)
Packit 98cdb6
  'o',  0,  0,  0,  0, 0, 0x12A6,
Packit 98cdb6
  'o','o',  0,  0,  0, 0, 0x12D6,
Packit 98cdb6
  SYLW('p', 0x1350)
Packit 98cdb6
  SYLWW('q', 0x1240)
Packit 98cdb6
  SYLW1('r', 0x1228)
Packit 98cdb6
  'r', 'Y',   0,  0,  0, 0, 0x1358,
Packit 98cdb6
  'r', 'Y', 'A',  0,  0, 0, 0x1358,
Packit 98cdb6
  'r', 'Y', 'a',  0,  0, 0, 0x1358,
Packit 98cdb6
  SYLW2('r', 0x1228)
Packit 98cdb6
  's',  0,  0, 0, 0, 0, 0x1230+5,
Packit 98cdb6
  's', 'A', 0, 0, 0, 0, 0x1230+3,
Packit 98cdb6
  's', 'E', 0, 0, 0, 0, 0x1230+4,
Packit 98cdb6
  's', 'I', 0, 0, 0, 0, 0x1230+2,
Packit 98cdb6
  's', 'O', 0, 0, 0, 0, 0x1230+6,
Packit 98cdb6
  's', 'U', 0, 0, 0, 0, 0x1230+1,
Packit 98cdb6
  's', 'W', 0, 0, 0, 0, 0x1230+7,
Packit 98cdb6
  's', 'W', 'A', 0, 0, 0, 0x1230+7,
Packit 98cdb6
  's', 'W', 'a', 0, 0, 0, 0x1230+7,
Packit 98cdb6
  's', 'a', 0, 0, 0, 0, 0x1230+3,
Packit 98cdb6
  's', 'e', 0, 0, 0, 0, 0x1230,
Packit 98cdb6
  's', 'e', 'e', 0, 0, 0, 0x1230+4,
Packit 98cdb6
  's', 'i', 0, 0, 0, 0, 0x1230+2,
Packit 98cdb6
  's', 'o', 0, 0, 0, 0, 0x1230+6,
Packit 98cdb6
  's', 's', 0, 0, 0, 0, 0x1220+5,
Packit 98cdb6
  's', 's', 'A', 0, 0, 0, 0x1220+3,
Packit 98cdb6
  's', 's', 'E', 0, 0, 0, 0x1220+4,
Packit 98cdb6
  's', 's', 'I', 0, 0, 0, 0x1220+2,
Packit 98cdb6
  's', 's', 'O', 0, 0, 0, 0x1220+6,
Packit 98cdb6
  's', 's', 'U', 0, 0, 0, 0x1220+1,
Packit 98cdb6
  's', 's', 'W', 0, 0, 0, 0x1220+7,
Packit 98cdb6
  's', 's', 'W', 'A', 0, 0, 0x1220+7,
Packit 98cdb6
  's', 's', 'W', 'a', 0, 0, 0x1220+7,
Packit 98cdb6
  's', 's', 'a', 0, 0, 0, 0x1220+3,
Packit 98cdb6
  's', 's', 'e', 0, 0, 0, 0x1220,
Packit 98cdb6
  's', 's', 'e', 'e', 0, 0, 0x1220+4,
Packit 98cdb6
  's', 's', 'i', 0, 0, 0, 0x1220+2,
Packit 98cdb6
  's', 's', 'o', 0, 0, 0, 0x1220+6,
Packit 98cdb6
  's', 's', 'u', 0, 0, 0, 0x1220+1,
Packit 98cdb6
  's', 's', 'w', 'w', 0, 0, 0x1220+7,
Packit 98cdb6
  's', 's', 'w', 'w', 'a', 0, 0x1220+7,
Packit 98cdb6
  's', 'u', 0, 0, 0, 0, 0x1230+1,
Packit 98cdb6
  's', 'w', 'w',   0, 0, 0, 0x1230+7,
Packit 98cdb6
  's', 'w', 'w', 'a', 0, 0, 0x1230+7,
Packit 98cdb6
  SYLW('t', 0x1270)
Packit 98cdb6
  'u',  0,  0,  0,  0, 0, 0x12A1,
Packit 98cdb6
  'u','u',  0,  0,  0, 0, 0x12D1,
Packit 98cdb6
  SYLW('v', 0x1268)
Packit 98cdb6
  SYL('w', 0x12c8)
Packit 98cdb6
  SYLW('x', 0x1238)
Packit 98cdb6
  SYL('y', 0x12e8)
Packit 98cdb6
  SYLW('z', 0x12d8)
Packit 98cdb6
  GDK_Shift_L, GDK_space, 0, 0, 0, 0, 0x1361,
Packit 98cdb6
  GDK_Shift_R, GDK_space, 0, 0, 0, 0, 0x1361,
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
static void
Packit 98cdb6
ti_er_class_init (GtkIMContextSimpleClass *class)
Packit 98cdb6
{
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
static void
Packit 98cdb6
ti_er_init (GtkIMContextSimple *im_context)
Packit 98cdb6
{
Packit 98cdb6
  gtk_im_context_simple_add_table (im_context,
Packit 98cdb6
				   ti_er_compose_seqs,
Packit 98cdb6
				   5,
Packit 98cdb6
				   G_N_ELEMENTS (ti_er_compose_seqs) / (5 + 2));
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
static const GtkIMContextInfo ti_er_info = { 
Packit 98cdb6
  "ti_er",		   /* ID */
Packit 98cdb6
  N_("Tigrigna-Eritrean (EZ+)"),         /* Human readable name */
Packit 98cdb6
  GETTEXT_PACKAGE,	   /* Translation domain */
Packit 98cdb6
   GTK_LOCALEDIR,	   /* Dir for bindtextdomain (not strictly needed for "gtk+") */
Packit 98cdb6
  "ti"			   /* Languages for which this module is the default */
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
static const GtkIMContextInfo *info_list[] = {
Packit 98cdb6
  &ti_er_info
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
#ifndef INCLUDE_IM_ti_er
Packit 98cdb6
#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
Packit 98cdb6
#else
Packit 98cdb6
#define MODULE_ENTRY(type, function) type _gtk_immodule_ti_er_ ## function
Packit 98cdb6
#endif
Packit 98cdb6
Packit 98cdb6
MODULE_ENTRY (void, init) (GTypeModule *module)
Packit 98cdb6
{
Packit 98cdb6
  ti_er_register_type (module);
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
MODULE_ENTRY (void, exit) (void)
Packit 98cdb6
{
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
Packit 98cdb6
			   int                      *n_contexts)
Packit 98cdb6
{
Packit 98cdb6
  *contexts = info_list;
Packit 98cdb6
  *n_contexts = G_N_ELEMENTS (info_list);
Packit 98cdb6
}
Packit 98cdb6
Packit 98cdb6
MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
Packit 98cdb6
{
Packit 98cdb6
  if (strcmp (context_id, "ti_er") == 0)
Packit 98cdb6
    return g_object_new (type_ti_er_translit, NULL);
Packit 98cdb6
  else
Packit 98cdb6
    return NULL;
Packit 98cdb6
}