Blame modules/input/imti-er.c

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