summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2017-11-10 20:02:43 -0500
committerMatthias Clasen <mclasen@redhat.com>2018-02-15 16:05:20 -0500
commitc481a773af9b66b6c6efddc89234f2c8bcfdcf52 (patch)
tree58810fa724bd3efe018442fbea83eaf1790c4bb4
parentcc951ac6c88915585a5451da8260c27920e8cd06 (diff)
downloadgtk+-c481a773af9b66b6c6efddc89234f2c8bcfdcf52.tar.gz
Drop non-backend immodules
These are not well integrated, and have not seen any maintenance in many years.
-rw-r--r--modules/input/README.multipress43
-rw-r--r--modules/input/gtkimcontextmultipress.c442
-rw-r--r--modules/input/gtkimcontextmultipress.h80
-rw-r--r--modules/input/gtkimcontextthai.c347
-rw-r--r--modules/input/gtkimcontextthai.h75
-rw-r--r--modules/input/im-multipress.conf22
-rw-r--r--modules/input/imam-et.c490
-rw-r--r--modules/input/imcedilla.c128
-rw-r--r--modules/input/imcyrillic-translit.c253
-rw-r--r--modules/input/iminuktitut.c163
-rw-r--r--modules/input/imipa.c181
-rw-r--r--modules/input/immultipress.c71
-rw-r--r--modules/input/imthai.c71
-rw-r--r--modules/input/imti-er.c489
-rw-r--r--modules/input/imti-et.c489
-rw-r--r--modules/input/imviqr.c280
-rw-r--r--modules/input/meson.build44
-rw-r--r--modules/input/thai-charprop.c138
-rw-r--r--modules/input/thai-charprop.h96
19 files changed, 1 insertions, 3901 deletions
diff --git a/modules/input/README.multipress b/modules/input/README.multipress
deleted file mode 100644
index 6700150540..0000000000
--- a/modules/input/README.multipress
+++ /dev/null
@@ -1,43 +0,0 @@
-*** Introduction
-
-This is a GTK+ input method which allows text entry via the multi-press method,
-as on a mobile phone. When this has been installed, you can choose the "Multipress"
-menu item from the "Input Methods" submenu when right-clicking in a GTK+ text entry
-area.
-
-For instance:
-- press a to get a, then wait 1 second for the character to be accepted.
-or
-- press dd to get e, then wait 1 second for the character to be accepted.
-or
-- press ad to get ad, then wait 1 second for the d character to be accepted.
-
-
-*** Configuration
-
-Edit the im-multipress.conf to define the keypresses needed to input particular characters.
-This file is in GKeyFile-format, and contains explanatory comments.
-
-
-*** Per-widget deactivation
-
-When the input method is active (either by choosing it from the context menu, or
-by defining the default language as "*" in immultipress.c), the multipress
-behaviour can be turned off for individual widgets, like so:
-
- g_object_set_data(G_OBJECT(yourwidget), "multipress-passthrough-flag", GINT_TO_POINTER(1));
-
-
-For a C++ gtkmm project, you could make a convenience function to do this. For instance:
-
- void multipress_deactivate(Gtk::Widget& widget)
- {
- static const Glib::Quark quark ("multipress-passthrough-flag");
- widget.set_data(quark, GINT_TO_POINTER(1));
- }
-
-*** Contact
-
-Please contact Openismus for assistance with this input method. You can email murrayc@openismus.com
-
-Copyright 2006-2007, Openismus GmbH
diff --git a/modules/input/gtkimcontextmultipress.c b/modules/input/gtkimcontextmultipress.c
deleted file mode 100644
index d3c52b08c3..0000000000
--- a/modules/input/gtkimcontextmultipress.c
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * Copyright (c) 2006-2009 Openismus GmbH
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-
-#include "gtkimcontextmultipress.h"
-#include <string.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkimmodule.h>
-
-#define AUTOMATIC_COMPOSE_TIMEOUT 1 /* seconds */
-#define CONFIGURATION_FILENAME MULTIPRESS_CONFDIR G_DIR_SEPARATOR_S "im-multipress.conf"
-
-/* This contains rows of characters that can be entered by pressing
- * a particular key repeatedly. Each row has one key (such as GDK_a),
- * and an array of character strings, such as "a".
- */
-typedef struct
-{
- gchar **characters; /* array of strings */
- gsize n_characters; /* number of strings in the array */
-}
-KeySequence;
-
-static GObjectClass *im_context_multipress_parent_class = NULL;
-static GType im_context_multipress_type = 0;
-
-static void im_context_multipress_class_init (GtkImContextMultipressClass *klass);
-static void im_context_multipress_init (GtkImContextMultipress *self);
-static void im_context_multipress_finalize (GObject *obj);
-
-static void load_config (GtkImContextMultipress *self);
-
-static gboolean vfunc_filter_keypress (GtkIMContext *context,
- GdkEventKey *event);
-static void vfunc_reset (GtkIMContext *context);
-static void vfunc_get_preedit_string (GtkIMContext *context,
- gchar **str,
- PangoAttrList **attrs,
- gint *cursor_pos);
-
-/* Notice that we have a *_register_type(GTypeModule*) function instead of a
- * *_get_type() function, because we must use g_type_module_register_type(),
- * providing the GTypeModule* that was provided to im_context_init(). That
- * is also why we are not using G_DEFINE_TYPE().
- */
-void
-gtk_im_context_multipress_register_type (GTypeModule* type_module)
-{
- const GTypeInfo im_context_multipress_info =
- {
- sizeof (GtkImContextMultipressClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) &im_context_multipress_class_init,
- NULL,
- NULL,
- sizeof (GtkImContextMultipress),
- 0,
- (GInstanceInitFunc) &im_context_multipress_init,
- 0,
- };
-
- im_context_multipress_type =
- g_type_module_register_type (type_module,
- GTK_TYPE_IM_CONTEXT,
- "GtkImContextMultipress",
- &im_context_multipress_info, 0);
-}
-
-GType
-gtk_im_context_multipress_get_type (void)
-{
- g_assert (im_context_multipress_type != 0);
-
- return im_context_multipress_type;
-}
-
-static void
-key_sequence_free (gpointer value)
-{
- KeySequence *seq = value;
-
- if (seq != NULL)
- {
- g_strfreev (seq->characters);
- g_slice_free (KeySequence, seq);
- }
-}
-
-static void
-im_context_multipress_class_init (GtkImContextMultipressClass *klass)
-{
- GtkIMContextClass *im_context_class;
-
- /* Set this so we can use it later: */
- im_context_multipress_parent_class = g_type_class_peek_parent (klass);
-
- /* Specify our vfunc implementations: */
- im_context_class = GTK_IM_CONTEXT_CLASS (klass);
- im_context_class->filter_keypress = &vfunc_filter_keypress;
- im_context_class->reset = &vfunc_reset;
- im_context_class->get_preedit_string = &vfunc_get_preedit_string;
-
- G_OBJECT_CLASS (klass)->finalize = &im_context_multipress_finalize;
-}
-
-static void
-im_context_multipress_init (GtkImContextMultipress *self)
-{
- self->key_sequences = g_hash_table_new_full (&g_direct_hash, &g_direct_equal,
- NULL, &key_sequence_free);
- load_config (self);
-}
-
-static void
-im_context_multipress_finalize (GObject *obj)
-{
- GtkImContextMultipress *self;
-
- self = GTK_IM_CONTEXT_MULTIPRESS (obj);
-
- /* Release the configuration data: */
- if (self->key_sequences != NULL)
- {
- g_hash_table_destroy (self->key_sequences);
- self->key_sequences = NULL;
- }
-
- (*im_context_multipress_parent_class->finalize) (obj);
-}
-
-
-GtkIMContext *
-gtk_im_context_multipress_new (void)
-{
- return (GtkIMContext *)g_object_new (GTK_TYPE_IM_CONTEXT_MULTIPRESS, NULL);
-}
-
-static void
-cancel_automatic_timeout_commit (GtkImContextMultipress *multipress_context)
-{
- if (multipress_context->timeout_id)
- g_source_remove (multipress_context->timeout_id);
-
- multipress_context->timeout_id = 0;
-}
-
-
-/* Clear the compose buffer, so we are ready to compose the next character.
- */
-static void
-clear_compose_buffer (GtkImContextMultipress *multipress_context)
-{
- multipress_context->key_last_entered = 0;
- multipress_context->compose_count = 0;
-
- cancel_automatic_timeout_commit (multipress_context);
-
- if (multipress_context->tentative_match)
- {
- multipress_context->tentative_match = NULL;
- g_signal_emit_by_name (multipress_context, "preedit-changed");
- g_signal_emit_by_name (multipress_context, "preedit-end");
- }
-}
-
-/* Finish composing, provide the character, and clear our compose buffer.
- */
-static void
-accept_character (GtkImContextMultipress *multipress_context, const gchar *characters)
-{
- /* Clear the compose buffer, so we are ready to compose the next character.
- * Note that if we emit "preedit-changed" after "commit", there's a segfault/
- * invalid-write with GtkTextView in gtk_text_layout_free_line_display(), when
- * destroying a PangoLayout (this can also be avoided by not using any Pango
- * attributes in get_preedit_string(). */
- clear_compose_buffer (multipress_context);
-
- /* Provide the character to GTK+ */
- g_signal_emit_by_name (multipress_context, "commit", characters);
-}
-
-static gboolean
-on_timeout (gpointer data)
-{
- GtkImContextMultipress *multipress_context;
-
- multipress_context = GTK_IM_CONTEXT_MULTIPRESS (data);
-
- /* A certain amount of time has passed, so we will assume that the user
- * really wants the currently chosen character */
- accept_character (multipress_context, multipress_context->tentative_match);
-
- multipress_context->timeout_id = 0;
-
- return G_SOURCE_REMOVE; /* don't call me again */
-}
-
-static gboolean
-vfunc_filter_keypress (GtkIMContext *context, GdkEventKey *event)
-{
- GtkIMContextClass *parent;
- GtkImContextMultipress *multipress_context;
-
- multipress_context = GTK_IM_CONTEXT_MULTIPRESS (context);
-
- if (gdk_event_get_event_type ((GdkEvent *) event) == GDK_KEY_PRESS)
- {
- KeySequence *possible;
- guint keyval;
-
- gdk_event_get_keyval ((GdkEvent *) event, &keyval);
-
- /* Check whether the current key is the same as previously entered, because
- * if it is not then we should accept the previous one, and start a new
- * character. */
- if (multipress_context->compose_count > 0
- && multipress_context->key_last_entered != keyval
- && multipress_context->tentative_match != NULL)
- {
- /* Accept the previously chosen character. This wipes
- * the compose_count and key_last_entered. */
- accept_character (multipress_context,
- multipress_context->tentative_match);
- }
-
- /* Decide what character this key press would choose: */
- possible = g_hash_table_lookup (multipress_context->key_sequences,
- GUINT_TO_POINTER (keyval));
- if (possible != NULL)
- {
- if (multipress_context->compose_count == 0)
- g_signal_emit_by_name (multipress_context, "preedit-start");
-
- /* Check whether we are at the end of a compose sequence, with no more
- * possible characters. Cycle back to the start if necessary. */
- if (multipress_context->compose_count >= possible->n_characters)
- multipress_context->compose_count = 0;
-
- /* Store the last key pressed in the compose sequence. */
- multipress_context->key_last_entered = keyval;
-
- /* Get the possible match for this number of presses of the key.
- * compose_count starts at 1, so that 0 can mean not composing. */
- multipress_context->tentative_match =
- possible->characters[multipress_context->compose_count++];
-
- /* Indicate the current possible character. This will cause our
- * vfunc_get_preedit_string() vfunc to be called, which will provide
- * the current possible character for the user to see. */
- g_signal_emit_by_name (multipress_context, "preedit-changed");
-
- /* Cancel any outstanding timeout, so we can start the timer again: */
- cancel_automatic_timeout_commit (multipress_context);
-
- /* Create a timeout that will cause the currently chosen character to
- * be committed, if nothing happens for a certain amount of time: */
- multipress_context->timeout_id =
- g_timeout_add_seconds (AUTOMATIC_COMPOSE_TIMEOUT,
- &on_timeout, multipress_context);
- g_source_set_name_by_id (multipress_context->timeout_id, "[gtk+] on_timeout");
-
- return TRUE; /* key handled */
- }
- else
- {
- guint32 keyval_uchar;
-
- /* Just accept all other keypresses directly, but commit the
- * current preedit content first. */
- if (multipress_context->compose_count > 0
- && multipress_context->tentative_match != NULL)
- {
- accept_character (multipress_context,
- multipress_context->tentative_match);
- }
- keyval_uchar = gdk_keyval_to_unicode (keyval);
-
- /* Convert to a string for accept_character(). */
- if (keyval_uchar != 0)
- {
- /* max length of UTF-8 sequence = 6 + 1 for NUL termination */
- gchar keyval_utf8[7];
- gint length;
-
- length = g_unichar_to_utf8 (keyval_uchar, keyval_utf8);
- keyval_utf8[length] = '\0';
-
- accept_character (multipress_context, keyval_utf8);
-
- return TRUE; /* key handled */
- }
- }
- }
-
- parent = (GtkIMContextClass *)im_context_multipress_parent_class;
-
- /* The default implementation just returns FALSE, but it is generally
- * a good idea to call the base class implementation: */
- if (parent->filter_keypress)
- return (*parent->filter_keypress) (context, event);
-
- return FALSE;
-}
-
-static void
-vfunc_reset (GtkIMContext *context)
-{
- clear_compose_buffer (GTK_IM_CONTEXT_MULTIPRESS (context));
-}
-
-static void
-vfunc_get_preedit_string (GtkIMContext *context,
- gchar **str,
- PangoAttrList **attrs,
- gint *cursor_pos)
-{
- gsize len_bytes = 0;
- gsize len_utf8_chars = 0;
-
- /* Show the user what character he will get if he accepts: */
- if (str != NULL)
- {
- const gchar *match;
-
- match = GTK_IM_CONTEXT_MULTIPRESS (context)->tentative_match;
-
- if (match == NULL)
- match = ""; /* *str must not be NUL */
-
- len_bytes = strlen (match); /* byte count */
- len_utf8_chars = g_utf8_strlen (match, len_bytes); /* character count */
-
- *str = g_strndup (match, len_bytes);
- }
-
- /* Underline it, to show the user that he is in compose mode: */
- if (attrs != NULL)
- {
- *attrs = pango_attr_list_new ();
-
- if (len_bytes > 0)
- {
- PangoAttribute *attr;
-
- attr = pango_attr_underline_new (PANGO_UNDERLINE_SINGLE);
- attr->start_index = 0;
- attr->end_index = len_bytes;
- pango_attr_list_insert (*attrs, attr);
- }
- }
-
- if (cursor_pos)
- *cursor_pos = len_utf8_chars;
-}
-
-/* Open the configuration file and fill in the key_sequences hash table
- * with key/character-list pairs taken from the [keys] group of the file.
- */
-static void
-load_config (GtkImContextMultipress *self)
-{
- GKeyFile *key_file;
- GError *error = NULL;
- gchar **keys;
- gsize n_keys = 0;
- gsize i;
-
- key_file = g_key_file_new ();
-
- if (!g_key_file_load_from_file (key_file, CONFIGURATION_FILENAME,
- G_KEY_FILE_NONE, &error))
- {
- g_warning ("Error while trying to open the %s configuration file: %s",
- CONFIGURATION_FILENAME, error->message);
- g_error_free (error);
- g_key_file_free (key_file);
- return;
- }
-
- keys = g_key_file_get_keys (key_file, "keys", &n_keys, &error);
-
- if (error != NULL)
- {
- g_warning ("Error while trying to read the %s configuration file: %s",
- CONFIGURATION_FILENAME, error->message);
- g_error_free (error);
- g_key_file_free (key_file);
- return;
- }
-
- for (i = 0; i < n_keys; ++i)
- {
- KeySequence *seq;
- guint keyval;
-
- keyval = gdk_keyval_from_name (keys[i]);
-
- if (keyval == GDK_KEY_VoidSymbol)
- {
- g_warning ("Error while trying to read the %s configuration file: "
- "invalid key name \"%s\"",
- CONFIGURATION_FILENAME, keys[i]);
- continue;
- }
-
- seq = g_slice_new (KeySequence);
- seq->characters = g_key_file_get_string_list (key_file, "keys", keys[i],
- &seq->n_characters, &error);
- if (error != NULL)
- {
- g_warning ("Error while trying to read the %s configuration file: %s",
- CONFIGURATION_FILENAME, error->message);
- g_error_free (error);
- error = NULL;
- g_slice_free (KeySequence, seq);
- continue;
- }
-
- /* Ownership of the KeySequence is taken over by the hash table */
- g_hash_table_insert (self->key_sequences, GUINT_TO_POINTER (keyval), seq);
- }
-
- g_strfreev (keys);
- g_key_file_free (key_file);
-}
diff --git a/modules/input/gtkimcontextmultipress.h b/modules/input/gtkimcontextmultipress.h
deleted file mode 100644
index 9a45e85f00..0000000000
--- a/modules/input/gtkimcontextmultipress.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (C) 2006 Openismus GmbH
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GTK_IM_CONTEXT_MULTIPRESS_H__
-#define __GTK_IM_CONTEXT_MULTIPRESS_H__
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_IM_CONTEXT_MULTIPRESS (gtk_im_context_multipress_get_type ())
-#define GTK_IM_CONTEXT_MULTIPRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_CONTEXT_MULTIPRESS, GtkImContextMultipress))
-#define GTK_IM_CONTEXT_MULTIPRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT_MULTIPRESS, GtkImContextMultipressClass))
-#define GTK_IS_IM_CONTEXT_MULTIPRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_CONTEXT_MULTIPRESS))
-#define GTK_IS_IM_CONTEXT_MULTIPRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT_MULTIPRESS))
-#define GTK_IM_CONTEXT_MULTIPRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT_MULTIPRESS, GtkImContextMultipressClass))
-
-typedef struct _GtkImContextMultipress GtkImContextMultipress;
-
-/* This input method allows multi-press character input, like that found on
- * mobile phones.
- *
- * This is based on GtkImContextSimple, which allows "compose" based on
- * sequences of characters. But instead the character sequences are defined
- * by lists of characters for a key, so that repeated pressing of the same key
- * can cycle through the possible output characters, with automatic choosing
- * of the character after a time delay.
- */
-struct _GtkImContextMultipress
-{
- /*< private >*/
- GtkIMContext parent;
-
- /* Sequence information, loaded from the configuration file: */
- GHashTable* key_sequences;
- gsize dummy; /* ABI-preserving placeholder */
-
- /* The last character entered so far during a compose.
- * If this is NULL then we are not composing yet.
- */
- guint key_last_entered;
-
- /* The position of the compose in the possible sequence.
- * For instance, this is 2 if aa has been pressed to show b (from abc0).
- */
- guint compose_count;
- guint timeout_id;
-
- /* The character(s) that will be used if it the current character(s) is accepted: */
- const gchar *tentative_match;
-};
-
-
-typedef struct _GtkImContextMultipressClass GtkImContextMultipressClass;
-
-struct _GtkImContextMultipressClass
-{
- GtkIMContextClass parent_class;
-};
-
-void gtk_im_context_multipress_register_type (GTypeModule* type_module);
-GType gtk_im_context_multipress_get_type (void);
-GtkIMContext *gtk_im_context_multipress_new (void);
-
-G_END_DECLS
-
-#endif /* __GTK_IM_CONTEXT_MULTIPRESS_H__ */
diff --git a/modules/input/gtkimcontextthai.c b/modules/input/gtkimcontextthai.c
deleted file mode 100644
index 3c8aa752df..0000000000
--- a/modules/input/gtkimcontextthai.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/* GTK - The GIMP Toolkit
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Theppitak Karoonboonyanan <thep@linux.thai.net>
- *
- */
-
-#include <string.h>
-
-#include <gdk/gdkkeysyms.h>
-#include "gtkimcontextthai.h"
-#include "thai-charprop.h"
-
-static void gtk_im_context_thai_class_init (GtkIMContextThaiClass *class);
-static void gtk_im_context_thai_init (GtkIMContextThai *im_context_thai);
-static gboolean gtk_im_context_thai_filter_keypress (GtkIMContext *context,
- GdkEventKey *key);
-
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
-static void forget_previous_chars (GtkIMContextThai *context_thai);
-static void remember_previous_char (GtkIMContextThai *context_thai,
- gunichar new_char);
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
-
-static GObjectClass *parent_class;
-
-GType gtk_type_im_context_thai = 0;
-
-void
-gtk_im_context_thai_register_type (GTypeModule *type_module)
-{
- const GTypeInfo im_context_thai_info =
- {
- sizeof (GtkIMContextThaiClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gtk_im_context_thai_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextThai),
- 0,
- (GInstanceInitFunc) gtk_im_context_thai_init,
- };
-
- gtk_type_im_context_thai =
- g_type_module_register_type (type_module,
- GTK_TYPE_IM_CONTEXT,
- "GtkIMContextThai",
- &im_context_thai_info, 0);
-}
-
-static void
-gtk_im_context_thai_class_init (GtkIMContextThaiClass *class)
-{
- GtkIMContextClass *im_context_class = GTK_IM_CONTEXT_CLASS (class);
-
- parent_class = g_type_class_peek_parent (class);
-
- im_context_class->filter_keypress = gtk_im_context_thai_filter_keypress;
-}
-
-static void
-gtk_im_context_thai_init (GtkIMContextThai *context_thai)
-{
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- forget_previous_chars (context_thai);
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
- context_thai->isc_mode = ISC_BASICCHECK;
-}
-
-GtkIMContext *
-gtk_im_context_thai_new (void)
-{
- GtkIMContextThai *result;
-
- result = GTK_IM_CONTEXT_THAI (g_object_new (GTK_TYPE_IM_CONTEXT_THAI, NULL));
-
- return GTK_IM_CONTEXT (result);
-}
-
-GtkIMContextThaiISCMode
-gtk_im_context_thai_get_isc_mode (GtkIMContextThai *context_thai)
-{
- return context_thai->isc_mode;
-}
-
-GtkIMContextThaiISCMode
-gtk_im_context_thai_set_isc_mode (GtkIMContextThai *context_thai,
- GtkIMContextThaiISCMode mode)
-{
- GtkIMContextThaiISCMode prev_mode = context_thai->isc_mode;
- context_thai->isc_mode = mode;
- return prev_mode;
-}
-
-static gboolean
-is_context_lost_key(guint keyval)
-{
- return ((keyval & 0xFF00) == 0xFF00) &&
- (keyval == GDK_KEY_BackSpace ||
- keyval == GDK_KEY_Tab ||
- keyval == GDK_KEY_Linefeed ||
- keyval == GDK_KEY_Clear ||
- keyval == GDK_KEY_Return ||
- keyval == GDK_KEY_Pause ||
- keyval == GDK_KEY_Scroll_Lock ||
- keyval == GDK_KEY_Sys_Req ||
- keyval == GDK_KEY_Escape ||
- keyval == GDK_KEY_Delete ||
- (GDK_KEY_Home <= keyval && keyval <= GDK_KEY_Begin) || /* IsCursorkey */
- (GDK_KEY_KP_Space <= keyval && keyval <= GDK_KEY_KP_Delete) || /* IsKeypadKey, non-chars only */
- (GDK_KEY_Select <= keyval && keyval <= GDK_KEY_Break) || /* IsMiscFunctionKey */
- (GDK_KEY_F1 <= keyval && keyval <= GDK_KEY_F35)); /* IsFunctionKey */
-}
-
-static gboolean
-is_context_intact_key(guint keyval)
-{
- return (((keyval & 0xFF00) == 0xFF00) &&
- ((GDK_KEY_Shift_L <= keyval && keyval <= GDK_KEY_Hyper_R) || /* IsModifierKey */
- (keyval == GDK_KEY_Mode_switch) ||
- (keyval == GDK_KEY_Num_Lock))) ||
- (((keyval & 0xFE00) == 0xFE00) &&
- (GDK_KEY_ISO_Lock <= keyval && keyval <= GDK_KEY_ISO_Last_Group_Lock));
-}
-
-static gboolean
-thai_is_accept (gunichar new_char, gunichar prev_char, gint isc_mode)
-{
- switch (isc_mode)
- {
- case ISC_PASSTHROUGH:
- return TRUE;
-
- case ISC_BASICCHECK:
- return TAC_compose_input (prev_char, new_char) != 'R';
-
- case ISC_STRICT:
- {
- int op = TAC_compose_input (prev_char, new_char);
- return op != 'R' && op != 'S';
- }
-
- default:
- return FALSE;
- }
-}
-
-#define thai_is_composible(n,p) (TAC_compose_input ((p), (n)) == 'C')
-
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
-static void
-forget_previous_chars (GtkIMContextThai *context_thai)
-{
- memset (context_thai->char_buff, 0, sizeof (context_thai->char_buff));
-}
-
-static void
-remember_previous_char (GtkIMContextThai *context_thai, gunichar new_char)
-{
- memmove (context_thai->char_buff + 1, context_thai->char_buff,
- (GTK_IM_CONTEXT_THAI_BUFF_SIZE - 1) * sizeof (context_thai->char_buff[0]));
- context_thai->char_buff[0] = new_char;
-}
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
-
-static gunichar
-get_previous_char (GtkIMContextThai *context_thai, gint offset)
-{
- gchar *surrounding;
- gint cursor_index;
-
- if (gtk_im_context_get_surrounding ((GtkIMContext *)context_thai,
- &surrounding, &cursor_index))
- {
- gunichar prev_char;
- gchar *p, *q;
-
- prev_char = 0;
- p = surrounding + cursor_index;
- for (q = p; offset < 0 && q > surrounding; ++offset)
- q = g_utf8_prev_char (q);
- if (offset == 0)
- {
- prev_char = g_utf8_get_char_validated (q, p - q);
- if (prev_char == (gunichar)-1 || prev_char == (gunichar)-2)
- prev_char = 0;
- }
- g_free (surrounding);
- return prev_char;
- }
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- else
- {
- offset = -offset - 1;
- if (0 <= offset && offset < GTK_IM_CONTEXT_THAI_BUFF_SIZE)
- return context_thai->char_buff[offset];
- }
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
-
- return 0;
-}
-
-static gboolean
-gtk_im_context_thai_commit_chars (GtkIMContextThai *context_thai,
- gunichar *s, gsize len)
-{
- gchar *utf8;
-
- utf8 = g_ucs4_to_utf8 (s, len, NULL, NULL, NULL);
- if (!utf8)
- return FALSE;
-
- g_signal_emit_by_name (context_thai, "commit", utf8);
-
- g_free (utf8);
- return TRUE;
-}
-
-static gboolean
-accept_input (GtkIMContextThai *context_thai, gunichar new_char)
-{
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- remember_previous_char (context_thai, new_char);
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
-
- return gtk_im_context_thai_commit_chars (context_thai, &new_char, 1);
-}
-
-static gboolean
-reorder_input (GtkIMContextThai *context_thai,
- gunichar prev_char, gunichar new_char)
-{
- gunichar buf[2];
-
- if (!gtk_im_context_delete_surrounding (GTK_IM_CONTEXT (context_thai), -1, 1))
- return FALSE;
-
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- forget_previous_chars (context_thai);
- remember_previous_char (context_thai, new_char);
- remember_previous_char (context_thai, prev_char);
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
-
- buf[0] = new_char;
- buf[1] = prev_char;
- return gtk_im_context_thai_commit_chars (context_thai, buf, 2);
-}
-
-static gboolean
-replace_input (GtkIMContextThai *context_thai, gunichar new_char)
-{
- if (!gtk_im_context_delete_surrounding (GTK_IM_CONTEXT (context_thai), -1, 1))
- return FALSE;
-
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- forget_previous_chars (context_thai);
- remember_previous_char (context_thai, new_char);
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
-
- return gtk_im_context_thai_commit_chars (context_thai, &new_char, 1);
-}
-
-static gboolean
-gtk_im_context_thai_filter_keypress (GtkIMContext *context,
- GdkEventKey *event)
-{
- GtkIMContextThai *context_thai = GTK_IM_CONTEXT_THAI (context);
- gunichar prev_char, new_char;
- gboolean is_reject;
- GtkIMContextThaiISCMode isc_mode;
- GdkModifierType state;
- guint keyval;
-
- if (gdk_event_get_event_type ((GdkEvent *) event) != GDK_KEY_PRESS ||
- !gdk_event_get_state ((GdkEvent *) event, &state) ||
- !gdk_event_get_keyval ((GdkEvent *) event, &keyval))
- return FALSE;
-
- if (state & (GDK_MODIFIER_MASK
- & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD2_MASK)) ||
- is_context_lost_key (keyval))
- {
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- forget_previous_chars (context_thai);
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
- return FALSE;
- }
- if (keyval == 0 || is_context_intact_key (keyval))
- {
- return FALSE;
- }
-
- prev_char = get_previous_char (context_thai, -1);
- if (!prev_char)
- prev_char = ' ';
- new_char = gdk_keyval_to_unicode (keyval);
- is_reject = TRUE;
- isc_mode = gtk_im_context_thai_get_isc_mode (context_thai);
- if (thai_is_accept (new_char, prev_char, isc_mode))
- {
- accept_input (context_thai, new_char);
- is_reject = FALSE;
- }
- else
- {
- gunichar context_char;
-
- /* rejected, trying to correct */
- context_char = get_previous_char (context_thai, -2);
- if (context_char)
- {
- if (thai_is_composible (new_char, context_char))
- {
- if (thai_is_composible (prev_char, new_char))
- is_reject = !reorder_input (context_thai, prev_char, new_char);
- else if (thai_is_composible (prev_char, context_char))
- is_reject = !replace_input (context_thai, new_char);
- else if ((TAC_char_class (prev_char) == FV1
- || TAC_char_class (prev_char) == AM)
- && TAC_char_class (new_char) == TONE)
- is_reject = !reorder_input (context_thai, prev_char, new_char);
- }
- else if (thai_is_accept (new_char, context_char, isc_mode))
- is_reject = !replace_input (context_thai, new_char);
- }
- }
- if (is_reject)
- {
- /* reject character */
- gdk_display_beep (gdk_event_get_display ((GdkEvent*)event));
- }
- return TRUE;
-}
-
diff --git a/modules/input/gtkimcontextthai.h b/modules/input/gtkimcontextthai.h
deleted file mode 100644
index fae8d570a2..0000000000
--- a/modules/input/gtkimcontextthai.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* GTK - The GIMP Toolkit
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Theppitak Karoonboonyanan <thep@linux.thai.net>
- *
- */
-
-#ifndef __GTK_IM_CONTEXT_THAI_H__
-#define __GTK_IM_CONTEXT_THAI_H__
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-extern GType gtk_type_im_context_thai;
-
-#define GTK_TYPE_IM_CONTEXT_THAI (gtk_type_im_context_thai)
-#define GTK_IM_CONTEXT_THAI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_IM_CONTEXT_THAI, GtkIMContextThai))
-#define GTK_IM_CONTEXT_THAI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_IM_CONTEXT_THAI, GtkIMContextThaiClass))
-#define GTK_IS_IM_CONTEXT_THAI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_IM_CONTEXT_THAI))
-#define GTK_IS_IM_CONTEXT_THAI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IM_CONTEXT_THAI))
-#define GTK_IM_CONTEXT_THAI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_IM_CONTEXT_THAI, GtkIMContextThaiClass))
-
-
-typedef struct _GtkIMContextThai GtkIMContextThai;
-typedef struct _GtkIMContextThaiClass GtkIMContextThaiClass;
-
-typedef enum
-{
- ISC_PASSTHROUGH,
- ISC_BASICCHECK,
- ISC_STRICT
-} GtkIMContextThaiISCMode;
-#define GTK_IM_CONTEXT_THAI_BUFF_SIZE 2
-
-struct _GtkIMContextThai
-{
- GtkIMContext object;
-
-#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
- gunichar char_buff[GTK_IM_CONTEXT_THAI_BUFF_SIZE];
-#endif /* !GTK_IM_CONTEXT_THAI_NO_FALLBACK */
- GtkIMContextThaiISCMode isc_mode;
-};
-
-struct _GtkIMContextThaiClass
-{
- GtkIMContextClass parent_class;
-};
-
-void gtk_im_context_thai_register_type (GTypeModule *type_module);
-GtkIMContext *gtk_im_context_thai_new (void);
-
-GtkIMContextThaiISCMode
- gtk_im_context_thai_get_isc_mode (GtkIMContextThai *context_thai);
-
-GtkIMContextThaiISCMode
- gtk_im_context_thai_set_isc_mode (GtkIMContextThai *context_thai,
- GtkIMContextThaiISCMode mode);
-
-G_END_DECLS
-
-#endif /* __GTK_IM_CONTEXT_THAI_H__ */
diff --git a/modules/input/im-multipress.conf b/modules/input/im-multipress.conf
deleted file mode 100644
index d6c8129d90..0000000000
--- a/modules/input/im-multipress.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-# Example configuration file for the GTK+ Multipress Input Method
-# Authored by Openismus GmbH, 2009.
-#
-# This file follows the GKeyFile format. On the left of the equal sign goes
-# the key that you press repeatedly to iterate through the text items listed
-# on the right-hand side. The list items are separated by semicolons ";" and
-# consist of one or more characters each. The backslash "\" is used to escape
-# characters; for instance "\;" for a literal semicolon.
-#
-# The example configuration below imitates the behavior of a standard mobile
-# phone by a major manufacturer, with German language setting.
-[keys]
-KP_1 = .;,;?;!;';";1;-;(;);@;/;:;_
-KP_2 = a;b;c;2;ä;à;á;ã;â;å;æ;ç
-KP_3 = d;e;f;3;è;é;ë;ê;ð
-KP_4 = g;h;i;4;ì;í;î;ï
-KP_5 = j;k;l;5;£
-KP_6 = m;n;o;6;ö;ò;ó;ô;õ;ø;ñ
-KP_7 = p;q;r;s;7;ß;$
-KP_8 = t;u;v;8;ü;ù;ú;û
-KP_9 = w;x;y;z;9;ý;þ
-KP_0 = \s;0
diff --git a/modules/input/imam-et.c b/modules/input/imam-et.c
deleted file mode 100644
index f3d7628875..0000000000
--- a/modules/input/imam-et.c
+++ /dev/null
@@ -1,490 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- * Copyright (C) 2000 SuSE Linux Ltd
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Original author: Owen Taylor <otaylor@redhat.com>
- *
- * Modified for Inuktitut - Robert Brady <robert@suse.co.uk>
- *
- * Modified for Amharic - Daniel Yacob <locales@geez.org>
- *
- */
-
-#include "config.h"
-#include <stdio.h>
-#include <string.h>
-
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_am_et_translit = 0;
-
-static void am_et_class_init (GtkIMContextSimpleClass *class);
-static void am_et_init (GtkIMContextSimple *im_context);
-
-static void
-am_et_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) am_et_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) am_et_init,
- };
-
- type_am_et_translit =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextAmharicEthiopia",
- &object_info, 0);
-}
-
-#define SYL(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'u', 0, 0, 0, 0, b+1,
-
-#define SYLW1(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'W', 0, 0, 0, 0, b+7, \
- a, 'W', 'A', 0, 0, 0, b+7, \
- a, 'W', 'a', 0, 0, 0, b+7,
-#define SYLW2(a,b) \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'u', 0, 0, 0, 0, b+1, \
- a, 'w', 'w', 0, 0, 0, b+7, \
- a, 'w', 'w', 'a', 0, 0, b+7,
-
-#define SYLW(a,b) \
- SYLW1(a,b)\
- SYLW2(a,b)
-
-#define SYLWW(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'O', 'O', 0, 0, 0, b+8, \
- a, 'O', 'o', 0, 0, 0, b+8, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'W', 0, 0, 0, 0, b+11, \
- a, 'W', '\'', 0, 0, 0, b+13, \
- a, 'W', 'A', 0, 0, 0, b+11, \
- a, 'W', 'E', 0, 0, 0, b+12, \
- a, 'W', 'I', 0, 0, 0, b+10, \
- a, 'W', 'U', 0, 0, 0, b+13, \
- a, 'W', 'a', 0, 0, 0, b+11, \
- a, 'W', 'e', 0, 0, 0, b+8, \
- a, 'W', 'e', 'e', 0, 0, b+12, \
- a, 'W', 'i', 0, 0, 0, b+10, \
- a, 'W', 'u', 0, 0, 0, b+13, \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'o', 'o', 0, 0, 0, b+8, \
- a, 'u', 0, 0, 0, 0, b+1, \
- a, 'w', 'w', 0, 0, 0, b+11, \
- a, 'w', 'w', '\'', 0, 0, b+13, \
- a, 'w', 'w', 'E', 0, 0, b+12, \
- a, 'w', 'w', 'a', 0, 0, b+11, \
- a, 'w', 'w', 'e', 0, 0, b+8, \
- a, 'w', 'w', 'e', 'e', 0, b+12, \
- a, 'w', 'w', 'i', 0, 0, b+10, \
- a, 'w', 'w', 'u', 0, 0, b+13,
-
-static guint16 am_et_compose_seqs[] = {
- /* do punctuation and numerals here */
-
- '\'', 0, 0, 0, 0, 0, GDK_KEY_dead_grave, /* hopefully this has no side effects */
- '\'', '\'', 0, 0, 0, 0, GDK_KEY_apostrophe,
- '\'', '1', 0, 0, 0, 0, 0x1369,
- '\'', '1', '0', 0, 0, 0, 0x1372,
- '\'', '1', '0', '0', 0, 0, 0x137b,
- '\'', '1', '0', 'k', 0, 0, 0x137c,
- /* '\'', '1', '0', '0', '0', 0, 0x137b,
- '\'', '1', '0', '0', '0', '0', 0, 0x137c, */
- '\'', '2', 0, 0, 0, 0, 0x136a,
- '\'', '2', '0', 0, 0, 0, 0x1373,
- '\'', '3', 0, 0, 0, 0, 0x136b,
- '\'', '3', '0', 0, 0, 0, 0x1374,
- '\'', '4', 0, 0, 0, 0, 0x136c,
- '\'', '4', '0', 0, 0, 0, 0x1375,
- '\'', '5', 0, 0, 0, 0, 0x136d,
- '\'', '5', '0', 0, 0, 0, 0x1376,
- '\'', '6', 0, 0, 0, 0, 0x136e,
- '\'', '6', '0', 0, 0, 0, 0x1377,
- '\'', '7', 0, 0, 0, 0, 0x136f,
- '\'', '7', '0', 0, 0, 0, 0x1378,
- '\'', '8', 0, 0, 0, 0, 0x1370,
- '\'', '8', '0', 0, 0, 0, 0x1379,
- '\'', '9', 0, 0, 0, 0, 0x1371,
- '\'', '9', '0', 0, 0, 0, 0x137a,
- ',', 0, 0, 0, 0, 0, 0x1363,
- ',', ',', 0, 0, 0, 0, ',',
- '-', 0, 0, 0, 0, 0, '-',
- '-', ':', 0, 0, 0, 0, 0x1365,
- ':', 0, 0, 0, 0, 0, 0x1361,
- ':', '-', 0, 0, 0, 0, 0x1366,
- ':', ':', 0, 0, 0, 0, 0x1362,
- ':', ':', ':', 0, 0, 0, ':',
- ':', '|', ':', 0, 0, 0, 0x1368,
- ';', 0, 0, 0, 0, 0, 0x1364,
- ';', ';', 0, 0, 0, 0, ';',
- '<', 0, 0, 0, 0, 0, '<',
- '<', '<', 0, 0, 0, 0, 0x00AB,
- '>', 0, 0, 0, 0, 0, '>',
- '>', '>', 0, 0, 0, 0, 0x00BB,
- '?', 0, 0, 0, 0, 0, '?',
- '?', '?', 0, 0, 0, 0, 0x1367,
- 'A', 0, 0, 0, 0, 0, 0x12A3,
- 'A','A', 0, 0, 0, 0, 0x12D3,
- SYLW('B', 0x1260)
- SYLW('C', 0x1328)
- SYLW('D', 0x12f8)
- 'E', 0, 0, 0, 0, 0, 0x12A4,
- 'E','E', 0, 0, 0, 0, 0x12D4,
- SYLW1('F', 0x1348)
- 'F', 'Y', 0, 0, 0, 0, 0x135A,
- 'F', 'Y', 'A', 0, 0, 0, 0x135A,
- 'F', 'Y', 'a', 0, 0, 0, 0x135A,
- SYLW2('F', 0x1348)
- SYL('G', 0x1318)
- SYLW('H', 0x1210)
- 'I', 0, 0, 0, 0, 0, 0x12A5,
- 'I','A', 0, 0, 0, 0, 0x12A3,
- 'I','E', 0, 0, 0, 0, 0x12A4,
- 'I','I', 0, 0, 0, 0, 0x12D5,
- 'I','I','E', 0, 0, 0, 0x12D4,
- 'I','I','a', 0, 0, 0, 0x12D3,
- 'I','I','e', 0, 0, 0, 0x12D0,
- 'I','I','i', 0, 0, 0, 0x12D2,
- 'I','I','o', 0, 0, 0, 0x12D6,
- 'I','I','u', 0, 0, 0, 0x12D1,
- 'I','O', 0, 0, 0, 0, 0x12A6,
- 'I','U', 0, 0, 0, 0, 0x12A1,
- 'I','W', 0, 0, 0, 0, 0x12A7,
- 'I','a', 0, 0, 0, 0, 0x12A3,
- 'I','e', 0, 0, 0, 0, 0x12A0,
- 'I','i', 0, 0, 0, 0, 0x12A2,
- 'I','o', 0, 0, 0, 0, 0x12A6,
- 'I','u', 0, 0, 0, 0, 0x12A1,
- SYLWW('K', 0x12b8)
- SYLW('L', 0x1208)
- SYLW1('M', 0x1218)
- 'M', 'Y', 0, 0, 0, 0, 0x1359,
- 'M', 'Y', 'A', 0, 0, 0, 0x1359,
- 'M', 'Y', 'a', 0, 0, 0, 0x1359,
- SYLW2('M', 0x1218)
- SYLW('N', 0x1298)
- 'O', 0, 0, 0, 0, 0, 0x12A6,
- 'O','O', 0, 0, 0, 0, 0x12D6,
- SYLW('P', 0x1330)
- SYLWW('Q', 0x1250)
- SYLW1('R', 0x1228)
- 'R', 'Y', 0, 0, 0, 0, 0x1358,
- 'R', 'Y', 'A', 0, 0, 0, 0x1358,
- 'R', 'Y', 'a', 0, 0, 0, 0x1358,
- SYLW2('R', 0x1228)
- 'S', 0, 0, 0, 0, 0, 0x1338+5,
- 'S', 'A', 0, 0, 0, 0, 0x1338+3,
- 'S', 'E', 0, 0, 0, 0, 0x1338+4,
- 'S', 'I', 0, 0, 0, 0, 0x1338+2,
- 'S', 'O', 0, 0, 0, 0, 0x1338+6,
- 'S', 'S', 0, 0, 0, 0, 0x1340+5,
- 'S', 'S', 'A', 0, 0, 0, 0x1340+3,
- 'S', 'S', 'E', 0, 0, 0, 0x1340+4,
- 'S', 'S', 'I', 0, 0, 0, 0x1340+2,
- 'S', 'S', 'O', 0, 0, 0, 0x1340+6,
- 'S', 'S', 'U', 0, 0, 0, 0x1340+1,
- 'S', 'S', 'a', 0, 0, 0, 0x1340+3,
- 'S', 'S', 'e', 0, 0, 0, 0x1340,
- 'S', 'S', 'e', 'e', 0, 0, 0x1340+4,
- 'S', 'S', 'i', 0, 0, 0, 0x1340+2,
- 'S', 'S', 'o', 0, 0, 0, 0x1340+6,
- 'S', 'S', 'u', 0, 0, 0, 0x1340+1,
- 'S', 'U', 0, 0, 0, 0, 0x1338+1,
- 'S', 'W', 0, 0, 0, 0, 0x1338+7,
- 'S', 'W', 'A', 0, 0, 0, 0x1338+7,
- 'S', 'W', 'a', 0, 0, 0, 0x1338+7,
- 'S', 'a', 0, 0, 0, 0, 0x1338+3,
- 'S', 'e', 0, 0, 0, 0, 0x1338,
- 'S', 'e', 'e', 0, 0, 0, 0x1338+4,
- 'S', 'i', 0, 0, 0, 0, 0x1338+2,
- 'S', 'o', 0, 0, 0, 0, 0x1338+6,
- 'S', 'u', 0, 0, 0, 0, 0x1338+1,
- 'S', 'w', 'w', 0, 0, 0, 0x1338+7,
- 'S', 'w', 'w', 'a', 0, 0, 0x1338+7,
- SYLW('T', 0x1320)
- 'U', 0, 0, 0, 0, 0, 0x12A1,
- 'U','U', 0, 0, 0, 0, 0x12D1,
- SYLW('V', 0x1268)
- SYL('W', 0x12c8)
- SYLW('X', 0x1238)
- SYL('Y', 0x12e8)
- SYLW('Z', 0x12e0)
-
- /* much, much work to be done for lone vowels */
- 'a', 0, 0, 0, 0, 0, 0x12A0,
- 'a','a', 0, 0, 0, 0, 0x12D3,
- 'a','a','a', 0, 0, 0, 0x12D0,
- 'a','a','a','a', 0, 0, 0x12A3,
- 'a','a','a','a','a', 0, 0x12A0,
- SYLW('b', 0x1260)
- SYLW('c', 0x1278)
- SYLW('d', 0x12f0)
- 'e', 0, 0, 0, 0, 0, 0x12A5,
- 'e','A', 0, 0, 0, 0, 0x12A3,
- 'e','E', 0, 0, 0, 0, 0x12A4,
- 'e','I', 0, 0, 0, 0, 0x12A2,
- 'e','O', 0, 0, 0, 0, 0x12A6,
- 'e','U', 0, 0, 0, 0, 0x12A1,
- 'e','W', 0, 0, 0, 0, 0x12A7,
- 'e','a', 0, 0, 0, 0, 0x12D0,
- 'e','e', 0, 0, 0, 0, 0x12D5,
- 'e','e','E', 0, 0, 0, 0x12D4,
- 'e','e','a', 0, 0, 0, 0x12D3,
- 'e','e','e', 0, 0, 0, 0x12D0,
- 'e','e','i', 0, 0, 0, 0x12D2,
- 'e','e','o', 0, 0, 0, 0x12D6,
- 'e','e','u', 0, 0, 0, 0x12D1,
- 'e','i', 0, 0, 0, 0, 0x12A2,
- 'e','o', 0, 0, 0, 0, 0x12A6,
- 'e','u', 0, 0, 0, 0, 0x12A1,
- SYLW1('f', 0x1348)
- 'f', 'Y', 0, 0, 0, 0, 0x135A,
- 'f', 'Y', 'A', 0, 0, 0, 0x135A,
- 'f', 'Y', 'a', 0, 0, 0, 0x135A,
- SYLW2('f', 0x1348)
- SYLWW('g', 0x1308)
- 'h', 0, 0, 0, 0, 0, 0x1200+5,
- 'h', 'A', 0, 0, 0, 0, 0x1200+3,
- 'h', 'E', 0, 0, 0, 0, 0x1200+4,
- 'h', 'I', 0, 0, 0, 0, 0x1200+2,
- 'h', 'O', 0, 0, 0, 0, 0x1200+6,
- 'h', 'U', 0, 0, 0, 0, 0x1200+1,
- 'h', 'W', 0, 0, 0, 0, 0x1280+11,
- 'h', 'W', '\'', 0, 0, 0, 0x1280+13,
- 'h', 'W', 'A', 0, 0, 0, 0x1280+11,
- 'h', 'W', 'E', 0, 0, 0, 0x1280+12,
- 'h', 'W', 'I', 0, 0, 0, 0x1280+10,
- 'h', 'W', 'U', 0, 0, 0, 0x1280+13,
- 'h', 'W', 'a', 0, 0, 0, 0x1280+11,
- 'h', 'W', 'e', 0, 0, 0, 0x1280+8,
- 'h', 'W', 'e', 'e', 0, 0, 0x1280+12,
- 'h', 'W', 'i', 0, 0, 0, 0x1280+10,
- 'h', 'W', 'u', 0, 0, 0, 0x1280+13,
- 'h', 'a', 0, 0, 0, 0, 0x1200+3,
- 'h', 'e', 0, 0, 0, 0, 0x1200,
- 'h', 'e', 'e', 0, 0, 0, 0x1200+4,
- 'h', 'h', 0, 0, 0, 0, 0x1280+5,
- 'h', 'h', 'A', 0, 0, 0, 0x1280+3,
- 'h', 'h', 'E', 0, 0, 0, 0x1280+4,
- 'h', 'h', 'I', 0, 0, 0, 0x1280+2,
- 'h', 'h', 'O', 0, 0, 0, 0x1280+6,
- 'h', 'h', 'O', 'O', 0, 0, 0x1280+8,
- 'h', 'h', 'U', 0, 0, 0, 0x1280+1,
- 'h', 'h', 'W', 0, 0, 0, 0x1280+11,
- 'h', 'h', 'W', '\'', 0, 0, 0x1280+13,
- 'h', 'h', 'W', 'A', 0, 0, 0x1280+11,
- 'h', 'h', 'W', 'E', 0, 0, 0x1280+12,
- 'h', 'h', 'W', 'I', 0, 0, 0x1280+10,
- 'h', 'h', 'W', 'U', 0, 0, 0x1280+13,
- 'h', 'h', 'W', 'a', 0, 0, 0x1280+11,
- 'h', 'h', 'W', 'e', 0, 0, 0x1280+8,
- 'h', 'h', 'W', 'e', 'e', 0, 0x1280+12,
- 'h', 'h', 'W', 'i', 0, 0, 0x1280+10,
- 'h', 'h', 'W', 'u', 0, 0, 0x1280+13,
- 'h', 'h', 'a', 0, 0, 0, 0x1280+3,
- 'h', 'h', 'e', 0, 0, 0, 0x1280,
- 'h', 'h', 'e', 'e', 0, 0, 0x1280+4,
- 'h', 'h', 'i', 0, 0, 0, 0x1280+2,
- 'h', 'h', 'o', 0, 0, 0, 0x1280+6,
- 'h', 'h', 'o', 'o', 0, 0, 0x1280+8,
- 'h', 'h', 'u', 0, 0, 0, 0x1280+1,
- 'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
- 'h', 'h', 'w', 'w', '\'', 0, 0x1280+13,
- 'h', 'h', 'w', 'w', 'E', 0, 0x1280+12,
- 'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 'e', 0, 0x1280+8,
- /* 'h', 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12, too long for now */
- 'h', 'h', 'w', 'w', 'i', 0, 0x1280+10,
- 'h', 'h', 'w', 'w', 'u', 0, 0x1280+13,
- 'h', 'i', 0, 0, 0, 0, 0x1200+2,
- 'h', 'o', 0, 0, 0, 0, 0x1200+6,
- 'h', 'u', 0, 0, 0, 0, 0x1200+1,
- 'h', 'w', 'w', 0, 0, 0, 0x1280+11,
- 'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
- 'h', 'w', 'w', 0, 0, 0, 0x1280+11,
- 'h', 'w', 'w', '\'', 0, 0, 0x1280+13,
- 'h', 'w', 'w', 'E', 0, 0, 0x1280+12,
- 'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
- 'h', 'w', 'w', 'e', 0, 0, 0x1280+8,
- 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12,
- 'h', 'w', 'w', 'i', 0, 0, 0x1280+10,
- 'h', 'w', 'w', 'u', 0, 0, 0x1280+13,
- 'i', 0, 0, 0, 0, 0, 0x12A2,
- 'i', 'i', 0, 0, 0, 0, 0x12D2,
- SYLW('j', 0x1300)
- SYLWW('k', 0x12a8)
- SYLW('l', 0x1208)
- SYLW1('m', 0x1218)
- 'm', 'Y', 0, 0, 0, 0, 0x1359,
- 'm', 'Y', 'A', 0, 0, 0, 0x1359,
- 'm', 'Y', 'a', 0, 0, 0, 0x1359,
- SYLW2('m', 0x1218)
- SYLW('n', 0x1290)
- 'o', 0, 0, 0, 0, 0, 0x12A6,
- 'o','o', 0, 0, 0, 0, 0x12D6,
- SYLW('p', 0x1350)
- SYLWW('q', 0x1240)
- SYLW1('r', 0x1228)
- 'r', 'Y', 0, 0, 0, 0, 0x1358,
- 'r', 'Y', 'A', 0, 0, 0, 0x1358,
- 'r', 'Y', 'a', 0, 0, 0, 0x1358,
- SYLW2('r', 0x1228)
- 's', 0, 0, 0, 0, 0, 0x1230+5,
- 's', 'A', 0, 0, 0, 0, 0x1230+3,
- 's', 'E', 0, 0, 0, 0, 0x1230+4,
- 's', 'I', 0, 0, 0, 0, 0x1230+2,
- 's', 'O', 0, 0, 0, 0, 0x1230+6,
- 's', 'U', 0, 0, 0, 0, 0x1230+1,
- 's', 'W', 0, 0, 0, 0, 0x1230+7,
- 's', 'W', 'A', 0, 0, 0, 0x1230+7,
- 's', 'W', 'a', 0, 0, 0, 0x1230+7,
- 's', 'a', 0, 0, 0, 0, 0x1230+3,
- 's', 'e', 0, 0, 0, 0, 0x1230,
- 's', 'e', 'e', 0, 0, 0, 0x1230+4,
- 's', 'i', 0, 0, 0, 0, 0x1230+2,
- 's', 'o', 0, 0, 0, 0, 0x1230+6,
- 's', 's', 0, 0, 0, 0, 0x1220+5,
- 's', 's', 'A', 0, 0, 0, 0x1220+3,
- 's', 's', 'E', 0, 0, 0, 0x1220+4,
- 's', 's', 'I', 0, 0, 0, 0x1220+2,
- 's', 's', 'O', 0, 0, 0, 0x1220+6,
- 's', 's', 'U', 0, 0, 0, 0x1220+1,
- 's', 's', 'W', 0, 0, 0, 0x1220+7,
- 's', 's', 'W', 'A', 0, 0, 0x1220+7,
- 's', 's', 'W', 'a', 0, 0, 0x1220+7,
- 's', 's', 'a', 0, 0, 0, 0x1220+3,
- 's', 's', 'e', 0, 0, 0, 0x1220,
- 's', 's', 'e', 'e', 0, 0, 0x1220+4,
- 's', 's', 'i', 0, 0, 0, 0x1220+2,
- 's', 's', 'o', 0, 0, 0, 0x1220+6,
- 's', 's', 'u', 0, 0, 0, 0x1220+1,
- 's', 's', 'w', 'w', 0, 0, 0x1220+7,
- 's', 's', 'w', 'w', 'a', 0, 0x1220+7,
- 's', 'u', 0, 0, 0, 0, 0x1230+1,
- 's', 'w', 'w', 0, 0, 0, 0x1230+7,
- 's', 'w', 'w', 'a', 0, 0, 0x1230+7,
- SYLW('t', 0x1270)
- 'u', 0, 0, 0, 0, 0, 0x12A1,
- 'u','u', 0, 0, 0, 0, 0x12D1,
- SYLW('v', 0x1268)
- SYL('w', 0x12c8)
- SYLW('x', 0x1238)
- SYL('y', 0x12e8)
- SYLW('z', 0x12d8)
- GDK_KEY_Shift_L, GDK_KEY_space, 0, 0, 0, 0, 0x1361,
- GDK_KEY_Shift_R, GDK_KEY_space, 0, 0, 0, 0, 0x1361,
-};
-
-static void
-am_et_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-am_et_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- am_et_compose_seqs,
- 5,
- G_N_ELEMENTS (am_et_compose_seqs) / (5 + 2));
-}
-
-static const GtkIMContextInfo am_et_info = {
- "am_et", /* ID */
- NC_("input method menu", "Amharic (EZ+)"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "am" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &am_et_info
-};
-
-#ifndef INCLUDE_IM_am_et
-#define MODULE_ENTRY(type,function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_am_et_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- am_et_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "am_et") == 0)
- return g_object_new (type_am_et_translit, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/imcedilla.c b/modules/input/imcedilla.c
deleted file mode 100644
index 74790b79ca..0000000000
--- a/modules/input/imcedilla.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-
-GType type_cedilla = 0;
-
-static void cedilla_class_init (GtkIMContextSimpleClass *class);
-static void cedilla_init (GtkIMContextSimple *im_context);
-
-static void
-cedilla_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) cedilla_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) cedilla_init,
- };
-
- type_cedilla =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextCedillaTranslit",
- &object_info, 0);
-}
-
-/* The difference between this and the default input method is the handling
- * of C+acute - this method produces C WITH CEDILLA rather than C WITH ACUTE.
- * For languages that use CCedilla and not acute, this is the preferred mapping,
- * and is particularly important for pt_BR, where the us-intl keyboard is
- * used extensively.
- */
-static guint16 cedilla_compose_seqs[] = {
- GDK_KEY_dead_acute, GDK_KEY_C, 0, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
- GDK_KEY_dead_acute, GDK_KEY_c, 0, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
- GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_C, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
- GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_c, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
- GDK_KEY_Multi_key, GDK_KEY_C, GDK_KEY_apostrophe, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
- GDK_KEY_Multi_key, GDK_KEY_c, GDK_KEY_apostrophe, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
-};
-
-static void
-cedilla_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-cedilla_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- cedilla_compose_seqs,
- 4,
- G_N_ELEMENTS (cedilla_compose_seqs) / (4 + 2));
-}
-
-static const GtkIMContextInfo cedilla_info = {
- "cedilla", /* ID */
- NC_("input method menu", "Cedilla"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain */
- "az:ca:co:fr:gv:oc:pt:sq:tr:wa" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &cedilla_info
-};
-
-#ifndef INCLUDE_IM_cedilla
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_cedilla_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- cedilla_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "cedilla") == 0)
- return g_object_new (type_cedilla, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/imcyrillic-translit.c b/modules/input/imcyrillic-translit.c
deleted file mode 100644
index 68b0392486..0000000000
--- a/modules/input/imcyrillic-translit.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_cyrillic_translit = 0;
-
-static void cyrillic_translit_class_init (GtkIMContextSimpleClass *class);
-static void cyrillic_translit_init (GtkIMContextSimple *im_context);
-
-static void
-cyrillic_translit_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) cyrillic_translit_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) cyrillic_translit_init,
- };
-
- type_cyrillic_translit =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextCyrillicTranslit",
- &object_info, 0);
-}
-
-/* The sequences here match the sequences used in the emacs quail
- * mode cryllic-translit; they allow entering all characters
- * in iso-8859-5
- */
-static guint16 cyrillic_compose_seqs[] = {
- GDK_KEY_apostrophe, 0, 0, 0, 0, 0x44C, /* CYRILLIC SMALL LETTER SOFT SIGN */
- GDK_KEY_apostrophe, GDK_KEY_apostrophe, 0, 0, 0, 0x42C, /* CYRILLIC CAPITAL LETTER SOFT SIGN */
- GDK_KEY_slash, GDK_KEY_C, GDK_KEY_H, 0, 0, 0x040B, /* CYRILLIC CAPITAL LETTER TSHE */
- GDK_KEY_slash, GDK_KEY_C, GDK_KEY_h, 0, 0, 0x040B, /* CYRILLIC CAPITAL LETTER TSHE */
- GDK_KEY_slash, GDK_KEY_D, 0, 0, 0, 0x0402, /* CYRILLIC CAPITAL LETTER DJE */
- GDK_KEY_slash, GDK_KEY_E, 0, 0, 0, 0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */
- GDK_KEY_slash, GDK_KEY_G, 0, 0, 0, 0x0403, /* CYRILLIC CAPITAL LETTER GJE */
- GDK_KEY_slash, GDK_KEY_I, 0, 0, 0, 0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
- GDK_KEY_slash, GDK_KEY_J, 0, 0, 0, 0x0408, /* CYRILLIC CAPITAL LETTER JE */
- GDK_KEY_slash, GDK_KEY_K, 0, 0, 0, 0x040C, /* CYRILLIC CAPITAL LETTER KJE */
- GDK_KEY_slash, GDK_KEY_L, 0, 0, 0, 0x0409, /* CYRILLIC CAPITAL LETTER LJE */
- GDK_KEY_slash, GDK_KEY_N, 0, 0, 0, 0x040A, /* CYRILLIC CAPITAL LETTER NJE */
- GDK_KEY_slash, GDK_KEY_S, 0, 0, 0, 0x0405, /* CYRILLIC CAPITAL LETTER DZE */
- GDK_KEY_slash, GDK_KEY_S, GDK_KEY_H, GDK_KEY_T, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCH */
- GDK_KEY_slash, GDK_KEY_S, GDK_KEY_H, GDK_KEY_t, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCH */
- GDK_KEY_slash, GDK_KEY_S, GDK_KEY_h, GDK_KEY_t, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCH */
- GDK_KEY_slash, GDK_KEY_T, 0, 0, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCH */
- GDK_KEY_slash, GDK_KEY_Z, 0, 0, 0, 0x040F, /* CYRILLIC CAPITAL LETTER DZHE */
- GDK_KEY_slash, GDK_KEY_c, GDK_KEY_h, 0, 0, 0x045B, /* CYRILLIC SMALL LETTER TSHE */
- GDK_KEY_slash, GDK_KEY_d, 0, 0, 0, 0x0452, /* CYRILLIC SMALL LETTER DJE */
- GDK_KEY_slash, GDK_KEY_e, 0, 0, 0, 0x0454, /* CYRILLIC SMALL LETTER UKRAINIAN IE */
- GDK_KEY_slash, GDK_KEY_g, 0, 0, 0, 0x0453, /* CYRILLIC SMALL LETTER GJE */
- GDK_KEY_slash, GDK_KEY_i, 0, 0, 0, 0x0456, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
- GDK_KEY_slash, GDK_KEY_j, 0, 0, 0, 0x0458, /* CYRILLIC SMALL LETTER JE */
- GDK_KEY_slash, GDK_KEY_k, 0, 0, 0, 0x045C, /* CYRILLIC SMALL LETTER KJE */
- GDK_KEY_slash, GDK_KEY_l, 0, 0, 0, 0x0459, /* CYRILLIC SMALL LETTER LJE */
- GDK_KEY_slash, GDK_KEY_n, 0, 0, 0, 0x045A, /* CYRILLIC SMALL LETTER NJE */
- GDK_KEY_slash, GDK_KEY_s, 0, 0, 0, 0x0455, /* CYRILLIC SMALL LETTER DZE */
- GDK_KEY_slash, GDK_KEY_s, GDK_KEY_h, GDK_KEY_t, 0, 0x0449, /* CYRILLIC SMALL LETTER SHCH */
- GDK_KEY_slash, GDK_KEY_t, 0, 0, 0, 0x0449, /* CYRILLIC SMALL LETTER SHCH */
- GDK_KEY_slash, GDK_KEY_z, 0, 0, 0, 0x045F, /* CYRILLIC SMALL LETTER DZHE */
- GDK_KEY_A, 0, 0, 0, 0, 0x0410, /* CYRILLIC CAPITAL LETTER A */
- GDK_KEY_B, 0, 0, 0, 0, 0x0411, /* CYRILLIC CAPITAL LETTER BE */
- GDK_KEY_C, 0, 0, 0, 0, 0x0426, /* CYRILLIC CAPITAL LETTER TSE */
- GDK_KEY_C, GDK_KEY_H, 0, 0, 0, 0x0427, /* CYRILLIC CAPITAL LETTER CHE */
- GDK_KEY_C, GDK_KEY_h, 0, 0, 0, 0x0427, /* CYRILLIC CAPITAL LETTER CHE */
- GDK_KEY_D, 0, 0, 0, 0, 0x0414, /* CYRILLIC CAPITAL LETTER DE */
- GDK_KEY_E, 0, 0, 0, 0, 0x0415, /* CYRILLIC CAPITAL LETTER IE */
- GDK_KEY_E, GDK_KEY_apostrophe, 0, 0, 0, 0x042D, /* CYRILLIC CAPITAL LETTER E */
- GDK_KEY_F, 0, 0, 0, 0, 0x0424, /* CYRILLIC CAPITAL LETTER EF */
- GDK_KEY_G, 0, 0, 0, 0, 0x0413, /* CYRILLIC CAPITAL LETTER GE */
- GDK_KEY_H, 0, 0, 0, 0, 0x0425, /* CYRILLIC CAPITAL LETTER HA */
- GDK_KEY_I, 0, 0, 0, 0, 0x0418, /* CYRILLIC CAPITAL LETTER I */
- GDK_KEY_J, 0, 0, 0, 0, 0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */
- GDK_KEY_J, GDK_KEY_apostrophe, 0, 0, 0, 0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */
- GDK_KEY_J, GDK_KEY_A, 0, 0, 0, 0x042F, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_J, GDK_KEY_I, 0, 0, 0, 0x0407, /* CYRILLIC CAPITAL LETTER YI */
- GDK_KEY_J, GDK_KEY_O, 0, 0, 0, 0x0401, /* CYRILLIC CAPITAL LETTER YO */
- GDK_KEY_J, GDK_KEY_U, 0, 0, 0, 0x042E, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_J, GDK_KEY_a, 0, 0, 0, 0x042F, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_J, GDK_KEY_i, 0, 0, 0, 0x0407, /* CYRILLIC CAPITAL LETTER YI */
- GDK_KEY_J, GDK_KEY_o, 0, 0, 0, 0x0401, /* CYRILLIC CAPITAL LETTER YO */
- GDK_KEY_J, GDK_KEY_u, 0, 0, 0, 0x042E, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_K, 0, 0, 0, 0, 0x041A, /* CYRILLIC CAPITAL LETTER KA */
- GDK_KEY_K, GDK_KEY_H, 0, 0, 0, 0x0425, /* CYRILLIC CAPITAL LETTER HA */
- GDK_KEY_L, 0, 0, 0, 0, 0x041B, /* CYRILLIC CAPITAL LETTER EL */
- GDK_KEY_M, 0, 0, 0, 0, 0x041C, /* CYRILLIC CAPITAL LETTER EM */
- GDK_KEY_N, 0, 0, 0, 0, 0x041D, /* CYRILLIC CAPITAL LETTER EN */
- GDK_KEY_O, 0, 0, 0, 0, 0x041E, /* CYRILLIC CAPITAL LETTER O */
- GDK_KEY_P, 0, 0, 0, 0, 0x041F, /* CYRILLIC CAPITAL LETTER PE */
- GDK_KEY_Q, 0, 0, 0, 0, 0x042F, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_R, 0, 0, 0, 0, 0x0420, /* CYRILLIC CAPITAL LETTER ER */
- GDK_KEY_S, 0, 0, 0, 0, 0x0421, /* CYRILLIC CAPITAL LETTER ES */
- GDK_KEY_S, GDK_KEY_H, 0, 0, 0, 0x0428, /* CYRILLIC CAPITAL LETTER SHA */
- GDK_KEY_S, GDK_KEY_H, GDK_KEY_C, GDK_KEY_H, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCA */
- GDK_KEY_S, GDK_KEY_H, GDK_KEY_C, GDK_KEY_h, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCA */
- GDK_KEY_S, GDK_KEY_H, GDK_KEY_c, GDK_KEY_h, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCA */
- GDK_KEY_S, GDK_KEY_H, GDK_KEY_c, GDK_KEY_h, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCA */
- GDK_KEY_S, GDK_KEY_J, 0, 0, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCA */
- GDK_KEY_S, GDK_KEY_h, 0, 0, 0, 0x0428, /* CYRILLIC CAPITAL LETTER SHA */
- GDK_KEY_S, GDK_KEY_j, 0, 0, 0, 0x0429, /* CYRILLIC CAPITAL LETTER SHCA */
- GDK_KEY_T, 0, 0, 0, 0, 0x0422, /* CYRILLIC CAPITAL LETTER TE */
- GDK_KEY_U, 0, 0, 0, 0, 0x0423, /* CYRILLIC CAPITAL LETTER U */
- GDK_KEY_U, GDK_KEY_apostrophe, 0, 0, 0, 0x040E, /* CYRILLIC CAPITAL LETTER SHORT */
- GDK_KEY_V, 0, 0, 0, 0, 0x0412, /* CYRILLIC CAPITAL LETTER VE */
- GDK_KEY_W, 0, 0, 0, 0, 0x0412, /* CYRILLIC CAPITAL LETTER VE */
- GDK_KEY_X, 0, 0, 0, 0, 0x0425, /* CYRILLIC CAPITAL LETTER HA */
- GDK_KEY_Y, 0, 0, 0, 0, 0x042B, /* CYRILLIC CAPITAL LETTER YERU */
- GDK_KEY_Y, GDK_KEY_A, 0, 0, 0, 0x042F, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_Y, GDK_KEY_I, 0, 0, 0, 0x0407, /* CYRILLIC CAPITAL LETTER YI */
- GDK_KEY_Y, GDK_KEY_O, 0, 0, 0, 0x0401, /* CYRILLIC CAPITAL LETTER YO */
- GDK_KEY_Y, GDK_KEY_U, 0, 0, 0, 0x042E, /* CYRILLIC CAPITAL LETTER YU */
- GDK_KEY_Y, GDK_KEY_a, 0, 0, 0, 0x042F, /* CYRILLIC CAPITAL LETTER YA */
- GDK_KEY_Y, GDK_KEY_i, 0, 0, 0, 0x0407, /* CYRILLIC CAPITAL LETTER YI */
- GDK_KEY_Y, GDK_KEY_o, 0, 0, 0, 0x0401, /* CYRILLIC CAPITAL LETTER YO */
- GDK_KEY_Y, GDK_KEY_u, 0, 0, 0, 0x042E, /* CYRILLIC CAPITAL LETTER YU */
- GDK_KEY_Z, 0, 0, 0, 0, 0x0417, /* CYRILLIC CAPITAL LETTER ZE */
- GDK_KEY_Z, GDK_KEY_H, 0, 0, 0, 0x0416, /* CYRILLIC CAPITAL LETTER ZHE */
- GDK_KEY_Z, GDK_KEY_h, 0, 0, 0, 0x0416, /* CYRILLIC CAPITAL LETTER ZHE */
- GDK_KEY_a, 0, 0, 0, 0, 0x0430, /* CYRILLIC SMALL LETTER A */
- GDK_KEY_b, 0, 0, 0, 0, 0x0431, /* CYRILLIC SMALL LETTER BE */
- GDK_KEY_c, 0, 0, 0, 0, 0x0446, /* CYRILLIC SMALL LETTER TSE */
- GDK_KEY_c, GDK_KEY_h, 0, 0, 0, 0x0447, /* CYRILLIC SMALL LETTER CHE */
- GDK_KEY_d, 0, 0, 0, 0, 0x0434, /* CYRILLIC SMALL LETTER DE */
- GDK_KEY_e, 0, 0, 0, 0, 0x0435, /* CYRILLIC SMALL LETTER IE */
- GDK_KEY_e, GDK_KEY_apostrophe, 0, 0, 0, 0x044D, /* CYRILLIC SMALL LETTER E */
- GDK_KEY_f, 0, 0, 0, 0, 0x0444, /* CYRILLIC SMALL LETTER EF */
- GDK_KEY_g, 0, 0, 0, 0, 0x0433, /* CYRILLIC SMALL LETTER GE */
- GDK_KEY_h, 0, 0, 0, 0, 0x0445, /* CYRILLIC SMALL LETTER HA */
- GDK_KEY_i, 0, 0, 0, 0, 0x0438, /* CYRILLIC SMALL LETTER I */
- GDK_KEY_j, 0, 0, 0, 0, 0x0439, /* CYRILLIC SMALL LETTER SHORT I */
- GDK_KEY_j, GDK_KEY_apostrophe, 0, 0, 0, 0x0439, /* CYRILLIC SMALL LETTER SHORT I */
- GDK_KEY_j, GDK_KEY_a, 0, 0, 0, 0x044F, /* CYRILLIC SMALL LETTER YU */
- GDK_KEY_j, GDK_KEY_i, 0, 0, 0, 0x0457, /* CYRILLIC SMALL LETTER YI */
- GDK_KEY_j, GDK_KEY_o, 0, 0, 0, 0x0451, /* CYRILLIC SMALL LETTER YO */
- GDK_KEY_j, GDK_KEY_u, 0, 0, 0, 0x044E, /* CYRILLIC SMALL LETTER YA */
- GDK_KEY_k, 0, 0, 0, 0, 0x043A, /* CYRILLIC SMALL LETTER KA */
- GDK_KEY_k, GDK_KEY_h, 0, 0, 0, 0x0445, /* CYRILLIC SMALL LETTER HA */
- GDK_KEY_l, 0, 0, 0, 0, 0x043B, /* CYRILLIC SMALL LETTER EL */
- GDK_KEY_m, 0, 0, 0, 0, 0x043C, /* CYRILLIC SMALL LETTER EM */
- GDK_KEY_n, 0, 0, 0, 0, 0x043D, /* CYRILLIC SMALL LETTER EN */
- GDK_KEY_o, 0, 0, 0, 0, 0x043E, /* CYRILLIC SMALL LETTER O */
- GDK_KEY_p, 0, 0, 0, 0, 0x043F, /* CYRILLIC SMALL LETTER PE */
- GDK_KEY_q, 0, 0, 0, 0, 0x044F, /* CYRILLIC SMALL LETTER YA */
- GDK_KEY_r, 0, 0, 0, 0, 0x0440, /* CYRILLIC SMALL LETTER ER */
- GDK_KEY_s, 0, 0, 0, 0, 0x0441, /* CYRILLIC SMALL LETTER ES */
- GDK_KEY_s, GDK_KEY_h, 0, 0, 0, 0x0448, /* CYRILLIC SMALL LETTER SHA */
- GDK_KEY_s, GDK_KEY_h, GDK_KEY_c, GDK_KEY_h, 0, 0x0449, /* CYRILLIC SMALL LETTER SHCA */
- GDK_KEY_s, GDK_KEY_j, 0, 0, 0, 0x0449, /* CYRILLIC SMALL LETTER SHCA */
- GDK_KEY_t, 0, 0, 0, 0, 0x0442, /* CYRILLIC SMALL LETTER TE */
- GDK_KEY_u, 0, 0, 0, 0, 0x0443, /* CYRILLIC SMALL LETTER U */
- GDK_KEY_u, GDK_KEY_apostrophe, 0, 0, 0, 0x045E, /* CYRILLIC SMALL LETTER SHORT */
- GDK_KEY_v, 0, 0, 0, 0, 0x0432, /* CYRILLIC SMALL LETTER VE */
- GDK_KEY_w, 0, 0, 0, 0, 0x0432, /* CYRILLIC SMALL LETTER VE */
- GDK_KEY_x, 0, 0, 0, 0, 0x0445, /* CYRILLIC SMALL LETTER HA */
- GDK_KEY_y, 0, 0, 0, 0, 0x044B, /* CYRILLIC SMALL LETTER YERU */
- GDK_KEY_y, GDK_KEY_a, 0, 0, 0, 0x044F, /* CYRILLIC SMALL LETTER YU */
- GDK_KEY_y, GDK_KEY_i, 0, 0, 0, 0x0457, /* CYRILLIC SMALL LETTER YI */
- GDK_KEY_y, GDK_KEY_o, 0, 0, 0, 0x0451, /* CYRILLIC SMALL LETTER YO */
- GDK_KEY_y, GDK_KEY_u, 0, 0, 0, 0x044E, /* CYRILLIC SMALL LETTER YA */
- GDK_KEY_z, 0, 0, 0, 0, 0x0437, /* CYRILLIC SMALL LETTER ZE */
- GDK_KEY_z, GDK_KEY_h, 0, 0, 0, 0x0436, /* CYRILLIC SMALL LETTER ZHE */
- GDK_KEY_asciitilde, 0, 0, 0, 0, 0x44A, /* CYRILLIC SMALL LETTER HARD SIGN */
- GDK_KEY_asciitilde, GDK_KEY_asciitilde, 0, 0, 0, 0x42A, /* CYRILLIC CAPITAL LETTER HARD SIGN */
-};
-
-static void
-cyrillic_translit_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-cyrillic_translit_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- cyrillic_compose_seqs,
- 4,
- G_N_ELEMENTS (cyrillic_compose_seqs) / (4 + 2));
-}
-
-static const GtkIMContextInfo cyrillic_translit_info = {
- "cyrillic_translit", /* ID */
- NC_("input menthod menu", "Cyrillic (Transliterated)"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &cyrillic_translit_info
-};
-
-#ifndef INCLUDE_IM_cyrillic_translit
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_cyrillic_translit_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- cyrillic_translit_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "cyrillic_translit") == 0)
- return g_object_new (type_cyrillic_translit, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/iminuktitut.c b/modules/input/iminuktitut.c
deleted file mode 100644
index 651e4beba2..0000000000
--- a/modules/input/iminuktitut.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- * Copyright (C) 2000 SuSE Linux Ltd
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Original author: Owen Taylor <otaylor@redhat.com>
- *
- * Modified for Inuktitut - Robert Brady <robert@suse.co.uk>
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_inuktitut_translit = 0;
-
-static void inuktitut_class_init (GtkIMContextSimpleClass *class);
-static void inuktitut_init (GtkIMContextSimple *im_context);
-
-static void
-inuktitut_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) inuktitut_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) inuktitut_init,
- };
-
- type_inuktitut_translit =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextInuktitut",
- &object_info, 0);
-}
-
-#define SYL(a,b,c,d) \
- a, 0, 0, 0, 0, c, \
- a, 'a', 0, 0, 0, b+7-d, \
- a, 'a','a',0, 0, b+8-d, \
- a, 'i', 0, 0, 0, b, \
- a, 'i','i',0, 0, b+1, \
- a, 'o', 0, 0, 0, b+2, \
- a, 'o','o',0, 0, b+3, \
- a, 'u', 0, 0, 0, b+2, \
- a, 'u','u',0, 0, b+3,
-
-static guint16 inuktitut_compose_seqs[] = {
- 'a', 0, 0, 0 , 0, 0x140a,
- 'a', 'a', 0, 0, 0, 0x140b,
-
- SYL('c', 0x148b, 0x14a1, 2) /* As g */
- SYL('f', 0x1555, 0x155d, 2)
- SYL('g', 0x148b, 0x14a1, 2)
- SYL('h', 0x14ef, 0x1505, 2)
-
- 'i', 0, 0, 0 , 0, 0x1403,
- 'i', 'i', 0, 0, 0, 0x1404,
-
- SYL('j', 0x1528, 0x153e, 2)
- SYL('k', 0x146d, 0x1483, 2)
- SYL('l', 0x14d5, 0x14ea, 2)
- SYL('m', 0x14a5, 0x14bb, 2)
- SYL('n', 0x14c2, 0x14d0, 2)
-
- 'o', 0, 0, 0 , 0, 0x1405, /* as u */
- 'o', 'o', 0, 0, 0, 0x1406,
-
- SYL('p', 0x1431, 0x1449, 0)
- SYL('q', 0x157f, 0x1585, 3)
- SYL('r', 0x1546, 0x1550, 2)
- SYL('s', 0x14ef, 0x1505, 2) /* As h */
- SYL('t', 0x144e, 0x1466, 0)
-
- 'u', 0, 0, 0 , 0, 0x1405,
- 'u', 'u', 0, 0, 0, 0x1406,
-
- SYL('v', 0x1555, 0x155d, 2) /* as f */
- SYL('y', 0x1528, 0x153e, 2) /* As j */
-
- SYL(GDK_KEY_lstroke, 0x15a0, 0x15a6, 3) /* l- */
- SYL(GDK_KEY_eng, 0x158f, 0x1595, 3) /* ng */
-};
-
-static void
-inuktitut_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-inuktitut_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- inuktitut_compose_seqs,
- 4,
- G_N_ELEMENTS (inuktitut_compose_seqs) / (4 + 2));
-}
-
-static const GtkIMContextInfo inuktitut_info = {
- "inuktitut", /* ID */
- NC_("input method menu", "Inuktitut (Transliterated)"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "iu" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &inuktitut_info
-};
-
-#ifndef INCLUDE_IM_inuktitut
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_inuktitut_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- inuktitut_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "inuktitut") == 0)
- return g_object_new (type_inuktitut_translit, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/imipa.c b/modules/input/imipa.c
deleted file mode 100644
index efbc3bd2cb..0000000000
--- a/modules/input/imipa.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Owen Taylor <otaylor@redhat.com>
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_ipa = 0;
-
-static void ipa_class_init (GtkIMContextSimpleClass *class);
-static void ipa_init (GtkIMContextSimple *im_context);
-
-static void
-ipa_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ipa_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) ipa_init,
- };
-
- type_ipa =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextIpa",
- &object_info, 0);
-}
-
-/* The sequences here match the sequences used in the emacs quail
- * mode cryllic-translit; they allow entering all characters
- * in iso-8859-5
- */
-static guint16 ipa_compose_seqs[] = {
- GDK_KEY_ampersand, 0, 0, 0, 0, 0x263, /* LATIN SMALL LETTER GAMMA */
- GDK_KEY_apostrophe, 0, 0, 0, 0, 0x2C8, /* MODIFIER LETTER VERTICAL LINE */
- GDK_KEY_slash, GDK_KEY_apostrophe, 0, 0, 0, 0x2CA, /* MODIFIER LETTER ACUTE ACCENT */
- GDK_KEY_slash, GDK_KEY_slash, 0, 0, 0, 0x02F, /* SOLIDUS */
- GDK_KEY_slash, GDK_KEY_3, 0, 0, 0, 0x25B, /* LATIN SMALL LETTER OPEN E */
- GDK_KEY_slash, GDK_KEY_A, 0, 0, 0, 0x252, /* LATIN LETTER TURNED ALPHA */
- GDK_KEY_slash, GDK_KEY_R, 0, 0, 0, 0x281, /* LATIN LETTER SMALL CAPITAL INVERTED R */
- GDK_KEY_slash, GDK_KEY_a, 0, 0, 0, 0x250, /* LATIN SMALL LETTER TURNED A */
- GDK_KEY_slash, GDK_KEY_c, 0, 0, 0, 0x254, /* LATIN SMALL LETTER OPEN O */
- GDK_KEY_slash, GDK_KEY_e, 0, 0, 0, 0x259, /* LATIN SMALL LETTER SCHWA */
- GDK_KEY_slash, GDK_KEY_h, 0, 0, 0, 0x265, /* LATIN SMALL LETTER TURNED H */
- GDK_KEY_slash, GDK_KEY_m, 0, 0, 0, 0x26F, /* LATIN SMALL LETTER TURNED M */
- GDK_KEY_slash, GDK_KEY_r, 0, 0, 0, 0x279, /* LATIN SMALL LETTER TURNED R */
- GDK_KEY_slash, GDK_KEY_v, 0, 0, 0, 0x28C, /* LATIN SMALL LETTER TURNED V */
- GDK_KEY_slash, GDK_KEY_w, 0, 0, 0, 0x28D, /* LATIN SMALL LETTER TURNED W */
- GDK_KEY_slash, GDK_KEY_y, 0, 0, 0, 0x28E, /* LATIN SMALL LETTER TRUEND Y*/
- GDK_KEY_3, 0, 0, 0, 0, 0x292, /* LATIN SMALL LETTER EZH */
- GDK_KEY_colon, 0, 0, 0, 0, 0x2D0, /* MODIFIER LETTER TRIANGULAR COLON */
- GDK_KEY_A, 0, 0, 0, 0, 0x251, /* LATIN SMALL LETTER ALPHA */
- GDK_KEY_E, 0, 0, 0, 0, 0x25B, /* LATIN SMALL LETTER OPEN E */
- GDK_KEY_I, 0, 0, 0, 0, 0x26A, /* LATIN LETTER SMALL CAPITAL I */
- GDK_KEY_L, 0, 0, 0, 0, 0x29F, /* LATIN LETTER SMALL CAPITAL L */
- GDK_KEY_M, 0, 0, 0, 0, 0x28D, /* LATIN SMALL LETTER TURNED W */
- GDK_KEY_O, 0, 0, 0, 0, 0x04F, /* LATIN LETTER SMALL CAPITAL OE */
- GDK_KEY_O, GDK_KEY_E, 0, 0, 0, 0x276, /* LATIN LETTER SMALL CAPITAL OE */
- GDK_KEY_R, 0, 0, 0, 0, 0x280, /* LATIN LETTER SMALL CAPITAL R */
- GDK_KEY_U, 0, 0, 0, 0, 0x28A, /* LATIN SMALL LETTER UPSILON */
- GDK_KEY_Y, 0, 0, 0, 0, 0x28F, /* LATIN LETTER SMALL CAPITAL Y */
- GDK_KEY_grave, 0, 0, 0, 0, 0x2CC, /* MODIFIER LETTER LOW VERTICAL LINE */
- GDK_KEY_a, 0, 0, 0, 0, 0x061, /* LATIN SMALL LETTER A */
- GDK_KEY_a, GDK_KEY_e, 0, 0, 0, 0x0E6, /* LATIN SMALL LETTER AE */
- GDK_KEY_c, 0, 0, 0, 0, 0x063, /* LATIN SMALL LETTER C */
- GDK_KEY_c, GDK_KEY_comma, 0, 0, 0, 0x0E7, /* LATIN SMALL LETTER C WITH CEDILLA */
- GDK_KEY_d, 0, 0, 0, 0, 0x064, /* LATIN SMALL LETTER E */
- GDK_KEY_d, GDK_KEY_apostrophe, 0, 0, 0, 0x064, /* LATIN SMALL LETTER D */
- GDK_KEY_d, GDK_KEY_h, 0, 0, 0, 0x0F0, /* LATIN SMALL LETTER ETH */
- GDK_KEY_e, 0, 0, 0, 0, 0x065, /* LATIN SMALL LETTER E */
- GDK_KEY_e, GDK_KEY_minus, 0, 0, 0, 0x25A, /* LATIN SMALL LETTER SCHWA WITH HOOK */
- GDK_KEY_e, GDK_KEY_bar, 0, 0, 0, 0x25A, /* LATIN SMALL LETTER SCHWA WITH HOOK */
- GDK_KEY_g, 0, 0, 0, 0, 0x067, /* LATIN SMALL LETTER G */
- GDK_KEY_g, GDK_KEY_n, 0, 0, 0, 0x272, /* LATIN SMALL LETTER N WITH LEFT HOOK */
- GDK_KEY_i, 0, 0, 0, 0, 0x069, /* LATIN SMALL LETTER I */
- GDK_KEY_i, GDK_KEY_minus, 0, 0, 0, 0x268, /* LATIN SMALL LETTER I WITH STROKE */
- GDK_KEY_n, 0, 0, 0, 0, 0x06e, /* LATIN SMALL LETTER N */
- GDK_KEY_n, GDK_KEY_g, 0, 0, 0, 0x14B, /* LATIN SMALL LETTER ENG */
- GDK_KEY_o, 0, 0, 0, 0, 0x06f, /* LATIN SMALL LETTER O */
- GDK_KEY_o, GDK_KEY_minus, 0, 0, 0, 0x275, /* LATIN LETTER BARRED O */
- GDK_KEY_o, GDK_KEY_slash, 0, 0, 0, 0x0F8, /* LATIN SMALL LETTER O WITH STROKE */
- GDK_KEY_o, GDK_KEY_e, 0, 0, 0, 0x153, /* LATIN SMALL LIGATURE OE */
- GDK_KEY_o, GDK_KEY_bar, 0, 0, 0, 0x251, /* LATIN SMALL LETTER ALPHA */
- GDK_KEY_s, 0, 0, 0, 0, 0x073, /* LATIN SMALL LETTER_ESH */
- GDK_KEY_s, GDK_KEY_h, 0, 0, 0, 0x283, /* LATIN SMALL LETTER_ESH */
- GDK_KEY_t, 0, 0, 0, 0, 0x074, /* LATIN SMALL LETTER T */
- GDK_KEY_t, GDK_KEY_h, 0, 0, 0, 0x3B8, /* GREEK SMALL LETTER THETA */
- GDK_KEY_u, 0, 0, 0, 0, 0x075, /* LATIN SMALL LETTER U */
- GDK_KEY_u, GDK_KEY_minus, 0, 0, 0, 0x289, /* LATIN LETTER U BAR */
- GDK_KEY_z, 0, 0, 0, 0, 0x07A, /* LATIN SMALL LETTER Z */
- GDK_KEY_z, GDK_KEY_h, 0, 0, 0, 0x292, /* LATIN SMALL LETTER EZH */
- GDK_KEY_bar, GDK_KEY_o, 0, 0, 0, 0x252, /* LATIN LETTER TURNED ALPHA */
-
- GDK_KEY_asciitilde, 0, 0, 0, 0, 0x303, /* COMBINING TILDE */
-
-};
-
-static void
-ipa_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-ipa_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- ipa_compose_seqs,
- 4,
- G_N_ELEMENTS (ipa_compose_seqs) / (4 + 2));
-}
-
-static const GtkIMContextInfo ipa_info = {
- "ipa", /* ID */
- NC_("input method menu", "IPA"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &ipa_info
-};
-
-#ifndef INCLUDE_IM_ipa
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_ipa_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- ipa_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "ipa") == 0)
- return g_object_new (type_ipa, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/immultipress.c b/modules/input/immultipress.c
deleted file mode 100644
index 89608cb173..0000000000
--- a/modules/input/immultipress.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright (C) 2006 Openismus GmbH
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-
-#include "gtkimcontextmultipress.h"
-#include <gtk/gtkimmodule.h> /* For GtkIMContextInfo */
-#include <glib/gi18n.h>
-#include <string.h> /* For strcmp() */
-
-#define CONTEXT_ID "multipress"
-
-/** NOTE: Change the default language from "" to "*" to enable this input method by default for all locales.
- */
-static const GtkIMContextInfo info = {
- CONTEXT_ID, /* ID */
- NC_("input method menu", "Multipress"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain. Defined in configure.ac */
- MULTIPRESS_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+"). Defined in the Makefile.am */
- "" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &info
-};
-
-#ifndef INCLUDE_IM_multipress
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_multipress_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- gtk_im_context_multipress_register_type(module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, CONTEXT_ID) == 0)
- {
- GtkIMContext* imcontext = GTK_IM_CONTEXT(g_object_new (GTK_TYPE_IM_CONTEXT_MULTIPRESS, NULL));
- return imcontext;
- }
- else
- return NULL;
-}
diff --git a/modules/input/imthai.c b/modules/input/imthai.c
deleted file mode 100644
index 5a05a9a6ee..0000000000
--- a/modules/input/imthai.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* GTK - The GIMP Toolkit
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Theppitak Karoonboonyanan <thep@linux.thai.net>
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#include <gdk/gdkkeysyms.h>
-
-#include "gtk/gtkintl.h"
-#include "gtk/gtkimmodule.h"
-#include "gtkimcontextthai.h"
-
-GType type_thai = 0;
-
-static const GtkIMContextInfo thai_info = {
- "thai", /* ID */
- NC_("input method menu", "Thai-Lao"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "lo:th" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &thai_info
-};
-
-#ifndef INCLUDE_IM_thai
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_thai_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- gtk_im_context_thai_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "thai") == 0)
- return gtk_im_context_thai_new ();
- else
- return NULL;
-}
diff --git a/modules/input/imti-er.c b/modules/input/imti-er.c
deleted file mode 100644
index a95ed60c74..0000000000
--- a/modules/input/imti-er.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- * Copyright (C) 2000 SuSE Linux Ltd
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Original author: Owen Taylor <otaylor@redhat.com>
- *
- * Modified for Inuktitut - Robert Brady <robert@suse.co.uk>
- *
- * Modified for Tigrigna - Daniel Yacob <locales@geez.org>
- *
- */
-
-#include "config.h"
-#include <stdio.h>
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_ti_er_translit = 0;
-
-static void ti_er_class_init (GtkIMContextSimpleClass *class);
-static void ti_er_init (GtkIMContextSimple *im_context);
-
-static void
-ti_er_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ti_er_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) ti_er_init,
- };
-
- type_ti_er_translit =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextTigrignaEritrea",
- &object_info, 0);
-}
-
-#define SYL(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'u', 0, 0, 0, 0, b+1,
-
-#define SYLW1(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'W', 0, 0, 0, 0, b+7, \
- a, 'W', 'A', 0, 0, 0, b+7, \
- a, 'W', 'a', 0, 0, 0, b+7,
-#define SYLW2(a,b) \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'u', 0, 0, 0, 0, b+1, \
- a, 'w', 'w', 0, 0, 0, b+7, \
- a, 'w', 'w', 'a', 0, 0, b+7,
-
-#define SYLW(a,b) \
- SYLW1(a,b)\
- SYLW2(a,b)
-
-#define SYLWW(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'O', 'O', 0, 0, 0, b+8, \
- a, 'O', 'o', 0, 0, 0, b+8, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'W', 0, 0, 0, 0, b+11, \
- a, 'W', '\'', 0, 0, 0, b+13, \
- a, 'W', 'A', 0, 0, 0, b+11, \
- a, 'W', 'E', 0, 0, 0, b+12, \
- a, 'W', 'I', 0, 0, 0, b+10, \
- a, 'W', 'U', 0, 0, 0, b+13, \
- a, 'W', 'a', 0, 0, 0, b+11, \
- a, 'W', 'e', 0, 0, 0, b+8, \
- a, 'W', 'e', 'e', 0, 0, b+12, \
- a, 'W', 'i', 0, 0, 0, b+10, \
- a, 'W', 'u', 0, 0, 0, b+13, \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'o', 'o', 0, 0, 0, b+8, \
- a, 'u', 0, 0, 0, 0, b+1, \
- a, 'w', 'w', 0, 0, 0, b+11, \
- a, 'w', 'w', '\'', 0, 0, b+13, \
- a, 'w', 'w', 'E', 0, 0, b+12, \
- a, 'w', 'w', 'a', 0, 0, b+11, \
- a, 'w', 'w', 'e', 0, 0, b+8, \
- a, 'w', 'w', 'e', 'e', 0, b+12, \
- a, 'w', 'w', 'i', 0, 0, b+10, \
- a, 'w', 'w', 'u', 0, 0, b+13,
-
-static guint16 ti_er_compose_seqs[] = {
- /* do punctuation and numerals here */
-
- '\'', 0, 0, 0, 0, 0, GDK_KEY_dead_grave, /* hopefully this has no side effects */
- '\'', '\'', 0, 0, 0, 0, GDK_KEY_apostrophe,
- '\'', '1', 0, 0, 0, 0, 0x1369,
- '\'', '1', '0', 0, 0, 0, 0x1372,
- '\'', '1', '0', '0', 0, 0, 0x137b,
- '\'', '1', '0', 'k', 0, 0, 0x137c,
- /* '\'', '1', '0', '0', '0', 0, 0x137b,
- '\'', '1', '0', '0', '0', '0', 0, 0x137c, */
- '\'', '2', 0, 0, 0, 0, 0x136a,
- '\'', '2', '0', 0, 0, 0, 0x1373,
- '\'', '3', 0, 0, 0, 0, 0x136b,
- '\'', '3', '0', 0, 0, 0, 0x1374,
- '\'', '4', 0, 0, 0, 0, 0x136c,
- '\'', '4', '0', 0, 0, 0, 0x1375,
- '\'', '5', 0, 0, 0, 0, 0x136d,
- '\'', '5', '0', 0, 0, 0, 0x1376,
- '\'', '6', 0, 0, 0, 0, 0x136e,
- '\'', '6', '0', 0, 0, 0, 0x1377,
- '\'', '7', 0, 0, 0, 0, 0x136f,
- '\'', '7', '0', 0, 0, 0, 0x1378,
- '\'', '8', 0, 0, 0, 0, 0x1370,
- '\'', '8', '0', 0, 0, 0, 0x1379,
- '\'', '9', 0, 0, 0, 0, 0x1371,
- '\'', '9', '0', 0, 0, 0, 0x137a,
- ',', 0, 0, 0, 0, 0, 0x1363,
- ',', ',', 0, 0, 0, 0, ',',
- '-', 0, 0, 0, 0, 0, '-',
- '-', ':', 0, 0, 0, 0, 0x1365,
- ':', 0, 0, 0, 0, 0, 0x1361,
- ':', '-', 0, 0, 0, 0, 0x1366,
- ':', ':', 0, 0, 0, 0, 0x1362,
- ':', ':', ':', 0, 0, 0, ':',
- ':', '|', ':', 0, 0, 0, 0x1368,
- ';', 0, 0, 0, 0, 0, 0x1364,
- ';', ';', 0, 0, 0, 0, ';',
- '<', 0, 0, 0, 0, 0, '<',
- '<', '<', 0, 0, 0, 0, 0x00AB,
- '>', 0, 0, 0, 0, 0, '>',
- '>', '>', 0, 0, 0, 0, 0x00BB,
- '?', 0, 0, 0, 0, 0, 0x1367,
- '?', '?', 0, 0, 0, 0, '?',
- 'A', 0, 0, 0, 0, 0, 0x12A0,
- 'A','A', 0, 0, 0, 0, 0x12D0,
- SYLW('B', 0x1260)
- SYLW('C', 0x1328)
- SYLW('D', 0x12f8)
- 'E', 0, 0, 0, 0, 0, 0x12A4,
- 'E','E', 0, 0, 0, 0, 0x12D4,
- SYLW1('F', 0x1348)
- 'F', 'Y', 0, 0, 0, 0, 0x135A,
- 'F', 'Y', 'A', 0, 0, 0, 0x135A,
- 'F', 'Y', 'a', 0, 0, 0, 0x135A,
- SYLW2('F', 0x1348)
- SYL('G', 0x1318)
- SYLW('H', 0x1210)
- 'I', 0, 0, 0, 0, 0, 0x12A5,
- 'I','A', 0, 0, 0, 0, 0x12A3,
- 'I','E', 0, 0, 0, 0, 0x12A4,
- 'I','I', 0, 0, 0, 0, 0x12D5,
- 'I','I','E', 0, 0, 0, 0x12D4,
- 'I','I','a', 0, 0, 0, 0x12D3,
- 'I','I','e', 0, 0, 0, 0x12D0,
- 'I','I','i', 0, 0, 0, 0x12D2,
- 'I','I','o', 0, 0, 0, 0x12D6,
- 'I','I','u', 0, 0, 0, 0x12D1,
- 'I','O', 0, 0, 0, 0, 0x12A6,
- 'I','U', 0, 0, 0, 0, 0x12A1,
- 'I','W', 0, 0, 0, 0, 0x12A7,
- 'I','a', 0, 0, 0, 0, 0x12A3,
- 'I','e', 0, 0, 0, 0, 0x12A0,
- 'I','i', 0, 0, 0, 0, 0x12A2,
- 'I','o', 0, 0, 0, 0, 0x12A6,
- 'I','u', 0, 0, 0, 0, 0x12A1,
- SYLWW('K', 0x12b8)
- SYLW('L', 0x1208)
- SYLW1('M', 0x1218)
- 'M', 'Y', 0, 0, 0, 0, 0x1359,
- 'M', 'Y', 'A', 0, 0, 0, 0x1359,
- 'M', 'Y', 'a', 0, 0, 0, 0x1359,
- SYLW2('M', 0x1218)
- SYLW('N', 0x1298)
- 'O', 0, 0, 0, 0, 0, 0x12A6,
- 'O','O', 0, 0, 0, 0, 0x12D6,
- SYLW('P', 0x1330)
- SYLWW('Q', 0x1250)
- SYLW1('R', 0x1228)
- 'R', 'Y', 0, 0, 0, 0, 0x1358,
- 'R', 'Y', 'A', 0, 0, 0, 0x1358,
- 'R', 'Y', 'a', 0, 0, 0, 0x1358,
- SYLW2('R', 0x1228)
- 'S', 0, 0, 0, 0, 0, 0x1338+5,
- 'S', 'A', 0, 0, 0, 0, 0x1338+3,
- 'S', 'E', 0, 0, 0, 0, 0x1338+4,
- 'S', 'I', 0, 0, 0, 0, 0x1338+2,
- 'S', 'O', 0, 0, 0, 0, 0x1338+6,
- 'S', 'S', 0, 0, 0, 0, 0x1340+5,
- 'S', 'S', 'A', 0, 0, 0, 0x1340+3,
- 'S', 'S', 'E', 0, 0, 0, 0x1340+4,
- 'S', 'S', 'I', 0, 0, 0, 0x1340+2,
- 'S', 'S', 'O', 0, 0, 0, 0x1340+6,
- 'S', 'S', 'U', 0, 0, 0, 0x1340+1,
- 'S', 'S', 'a', 0, 0, 0, 0x1340+3,
- 'S', 'S', 'e', 0, 0, 0, 0x1340,
- 'S', 'S', 'e', 'e', 0, 0, 0x1340+4,
- 'S', 'S', 'i', 0, 0, 0, 0x1340+2,
- 'S', 'S', 'o', 0, 0, 0, 0x1340+6,
- 'S', 'S', 'u', 0, 0, 0, 0x1340+1,
- 'S', 'U', 0, 0, 0, 0, 0x1338+1,
- 'S', 'W', 0, 0, 0, 0, 0x1338+7,
- 'S', 'W', 'A', 0, 0, 0, 0x1338+7,
- 'S', 'W', 'a', 0, 0, 0, 0x1338+7,
- 'S', 'a', 0, 0, 0, 0, 0x1338+3,
- 'S', 'e', 0, 0, 0, 0, 0x1338,
- 'S', 'e', 'e', 0, 0, 0, 0x1338+4,
- 'S', 'i', 0, 0, 0, 0, 0x1338+2,
- 'S', 'o', 0, 0, 0, 0, 0x1338+6,
- 'S', 'u', 0, 0, 0, 0, 0x1338+1,
- 'S', 'w', 'w', 0, 0, 0, 0x1338+7,
- 'S', 'w', 'w', 'a', 0, 0, 0x1338+7,
- SYLW('T', 0x1320)
- 'U', 0, 0, 0, 0, 0, 0x12A1,
- 'U','U', 0, 0, 0, 0, 0x12D1,
- SYLW('V', 0x1268)
- SYL('W', 0x12c8)
- SYLW('X', 0x1238)
- SYL('Y', 0x12e8)
- SYLW('Z', 0x12e0)
-
- /* much, much work to be done for lone vowels */
- 'a', 0, 0, 0, 0, 0, 0x12A3,
- 'a','a', 0, 0, 0, 0, 0x12D3,
- 'a','a','a', 0, 0, 0, 0x12D0,
- 'a','a','a','a', 0, 0, 0x12A0,
- SYLW('b', 0x1260)
- SYLW('c', 0x1278)
- SYLW('d', 0x12f0)
- 'e', 0, 0, 0, 0, 0, 0x12A5,
- 'e','A', 0, 0, 0, 0, 0x12A3,
- 'e','E', 0, 0, 0, 0, 0x12A4,
- 'e','I', 0, 0, 0, 0, 0x12A2,
- 'e','O', 0, 0, 0, 0, 0x12A6,
- 'e','U', 0, 0, 0, 0, 0x12A1,
- 'e','W', 0, 0, 0, 0, 0x12A7,
- 'e','a', 0, 0, 0, 0, 0x12D0,
- 'e','e', 0, 0, 0, 0, 0x12D5,
- 'e','e','E', 0, 0, 0, 0x12D4,
- 'e','e','a', 0, 0, 0, 0x12D3,
- 'e','e','e', 0, 0, 0, 0x12D0,
- 'e','e','i', 0, 0, 0, 0x12D2,
- 'e','e','o', 0, 0, 0, 0x12D6,
- 'e','e','u', 0, 0, 0, 0x12D1,
- 'e','i', 0, 0, 0, 0, 0x12A2,
- 'e','o', 0, 0, 0, 0, 0x12A6,
- 'e','u', 0, 0, 0, 0, 0x12A1,
- SYLW1('f', 0x1348)
- 'f', 'Y', 0, 0, 0, 0, 0x135A,
- 'f', 'Y', 'A', 0, 0, 0, 0x135A,
- 'f', 'Y', 'a', 0, 0, 0, 0x135A,
- SYLW2('f', 0x1348)
- SYLWW('g', 0x1308)
- 'h', 0, 0, 0, 0, 0, 0x1200+5,
- 'h', 'A', 0, 0, 0, 0, 0x1200+3,
- 'h', 'E', 0, 0, 0, 0, 0x1200+4,
- 'h', 'I', 0, 0, 0, 0, 0x1200+2,
- 'h', 'O', 0, 0, 0, 0, 0x1200+6,
- 'h', 'U', 0, 0, 0, 0, 0x1200+1,
- 'h', 'W', 0, 0, 0, 0, 0x1280+11,
- 'h', 'W', '\'', 0, 0, 0, 0x1280+13,
- 'h', 'W', 'A', 0, 0, 0, 0x1280+11,
- 'h', 'W', 'E', 0, 0, 0, 0x1280+12,
- 'h', 'W', 'I', 0, 0, 0, 0x1280+10,
- 'h', 'W', 'U', 0, 0, 0, 0x1280+13,
- 'h', 'W', 'a', 0, 0, 0, 0x1280+11,
- 'h', 'W', 'e', 0, 0, 0, 0x1280+8,
- 'h', 'W', 'e', 'e', 0, 0, 0x1280+12,
- 'h', 'W', 'i', 0, 0, 0, 0x1280+10,
- 'h', 'W', 'u', 0, 0, 0, 0x1280+13,
- 'h', 'a', 0, 0, 0, 0, 0x1200+3,
- 'h', 'e', 0, 0, 0, 0, 0x1200,
- 'h', 'e', 'e', 0, 0, 0, 0x1200+4,
- 'h', 'h', 0, 0, 0, 0, 0x1280+5,
- 'h', 'h', 'A', 0, 0, 0, 0x1280+3,
- 'h', 'h', 'E', 0, 0, 0, 0x1280+4,
- 'h', 'h', 'I', 0, 0, 0, 0x1280+2,
- 'h', 'h', 'O', 0, 0, 0, 0x1280+6,
- 'h', 'h', 'O', 'O', 0, 0, 0x1280+8,
- 'h', 'h', 'U', 0, 0, 0, 0x1280+1,
- 'h', 'h', 'W', 0, 0, 0, 0x1280+11,
- 'h', 'h', 'W', '\'', 0, 0, 0x1280+13,
- 'h', 'h', 'W', 'A', 0, 0, 0x1280+11,
- 'h', 'h', 'W', 'E', 0, 0, 0x1280+12,
- 'h', 'h', 'W', 'I', 0, 0, 0x1280+10,
- 'h', 'h', 'W', 'U', 0, 0, 0x1280+13,
- 'h', 'h', 'W', 'a', 0, 0, 0x1280+11,
- 'h', 'h', 'W', 'e', 0, 0, 0x1280+8,
- 'h', 'h', 'W', 'e', 'e', 0, 0x1280+12,
- 'h', 'h', 'W', 'i', 0, 0, 0x1280+10,
- 'h', 'h', 'W', 'u', 0, 0, 0x1280+13,
- 'h', 'h', 'a', 0, 0, 0, 0x1280+3,
- 'h', 'h', 'e', 0, 0, 0, 0x1280,
- 'h', 'h', 'e', 'e', 0, 0, 0x1280+4,
- 'h', 'h', 'i', 0, 0, 0, 0x1280+2,
- 'h', 'h', 'o', 0, 0, 0, 0x1280+6,
- 'h', 'h', 'o', 'o', 0, 0, 0x1280+8,
- 'h', 'h', 'u', 0, 0, 0, 0x1280+1,
- 'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
- 'h', 'h', 'w', 'w', '\'', 0, 0x1280+13,
- 'h', 'h', 'w', 'w', 'E', 0, 0x1280+12,
- 'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 'e', 0, 0x1280+8,
- /* 'h', 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12, too long for now */
- 'h', 'h', 'w', 'w', 'i', 0, 0x1280+10,
- 'h', 'h', 'w', 'w', 'u', 0, 0x1280+13,
- 'h', 'i', 0, 0, 0, 0, 0x1200+2,
- 'h', 'o', 0, 0, 0, 0, 0x1200+6,
- 'h', 'u', 0, 0, 0, 0, 0x1200+1,
- 'h', 'w', 'w', 0, 0, 0, 0x1280+11,
- 'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
- 'h', 'w', 'w', 0, 0, 0, 0x1280+11,
- 'h', 'w', 'w', '\'', 0, 0, 0x1280+13,
- 'h', 'w', 'w', 'E', 0, 0, 0x1280+12,
- 'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
- 'h', 'w', 'w', 'e', 0, 0, 0x1280+8,
- 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12,
- 'h', 'w', 'w', 'i', 0, 0, 0x1280+10,
- 'h', 'w', 'w', 'u', 0, 0, 0x1280+13,
- 'i', 0, 0, 0, 0, 0, 0x12A2,
- 'i', 'i', 0, 0, 0, 0, 0x12D2,
- SYLW('j', 0x1300)
- SYLWW('k', 0x12a8)
- SYLW('l', 0x1208)
- SYLW1('m', 0x1218)
- 'm', 'Y', 0, 0, 0, 0, 0x1359,
- 'm', 'Y', 'A', 0, 0, 0, 0x1359,
- 'm', 'Y', 'a', 0, 0, 0, 0x1359,
- SYLW2('m', 0x1218)
- SYLW('n', 0x1290)
- 'o', 0, 0, 0, 0, 0, 0x12A6,
- 'o','o', 0, 0, 0, 0, 0x12D6,
- SYLW('p', 0x1350)
- SYLWW('q', 0x1240)
- SYLW1('r', 0x1228)
- 'r', 'Y', 0, 0, 0, 0, 0x1358,
- 'r', 'Y', 'A', 0, 0, 0, 0x1358,
- 'r', 'Y', 'a', 0, 0, 0, 0x1358,
- SYLW2('r', 0x1228)
- 's', 0, 0, 0, 0, 0, 0x1230+5,
- 's', 'A', 0, 0, 0, 0, 0x1230+3,
- 's', 'E', 0, 0, 0, 0, 0x1230+4,
- 's', 'I', 0, 0, 0, 0, 0x1230+2,
- 's', 'O', 0, 0, 0, 0, 0x1230+6,
- 's', 'U', 0, 0, 0, 0, 0x1230+1,
- 's', 'W', 0, 0, 0, 0, 0x1230+7,
- 's', 'W', 'A', 0, 0, 0, 0x1230+7,
- 's', 'W', 'a', 0, 0, 0, 0x1230+7,
- 's', 'a', 0, 0, 0, 0, 0x1230+3,
- 's', 'e', 0, 0, 0, 0, 0x1230,
- 's', 'e', 'e', 0, 0, 0, 0x1230+4,
- 's', 'i', 0, 0, 0, 0, 0x1230+2,
- 's', 'o', 0, 0, 0, 0, 0x1230+6,
- 's', 's', 0, 0, 0, 0, 0x1220+5,
- 's', 's', 'A', 0, 0, 0, 0x1220+3,
- 's', 's', 'E', 0, 0, 0, 0x1220+4,
- 's', 's', 'I', 0, 0, 0, 0x1220+2,
- 's', 's', 'O', 0, 0, 0, 0x1220+6,
- 's', 's', 'U', 0, 0, 0, 0x1220+1,
- 's', 's', 'W', 0, 0, 0, 0x1220+7,
- 's', 's', 'W', 'A', 0, 0, 0x1220+7,
- 's', 's', 'W', 'a', 0, 0, 0x1220+7,
- 's', 's', 'a', 0, 0, 0, 0x1220+3,
- 's', 's', 'e', 0, 0, 0, 0x1220,
- 's', 's', 'e', 'e', 0, 0, 0x1220+4,
- 's', 's', 'i', 0, 0, 0, 0x1220+2,
- 's', 's', 'o', 0, 0, 0, 0x1220+6,
- 's', 's', 'u', 0, 0, 0, 0x1220+1,
- 's', 's', 'w', 'w', 0, 0, 0x1220+7,
- 's', 's', 'w', 'w', 'a', 0, 0x1220+7,
- 's', 'u', 0, 0, 0, 0, 0x1230+1,
- 's', 'w', 'w', 0, 0, 0, 0x1230+7,
- 's', 'w', 'w', 'a', 0, 0, 0x1230+7,
- SYLW('t', 0x1270)
- 'u', 0, 0, 0, 0, 0, 0x12A1,
- 'u','u', 0, 0, 0, 0, 0x12D1,
- SYLW('v', 0x1268)
- SYL('w', 0x12c8)
- SYLW('x', 0x1238)
- SYL('y', 0x12e8)
- SYLW('z', 0x12d8)
- GDK_KEY_Shift_L, GDK_KEY_space, 0, 0, 0, 0, 0x1361,
- GDK_KEY_Shift_R, GDK_KEY_space, 0, 0, 0, 0, 0x1361,
-};
-
-static void
-ti_er_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-ti_er_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- ti_er_compose_seqs,
- 5,
- G_N_ELEMENTS (ti_er_compose_seqs) / (5 + 2));
-}
-
-static const GtkIMContextInfo ti_er_info = {
- "ti_er", /* ID */
- NC_("input method menu", "Tigrigna-Eritrean (EZ+)"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "ti" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &ti_er_info
-};
-
-#ifndef INCLUDE_IM_ti_er
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_ti_er_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- ti_er_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "ti_er") == 0)
- return g_object_new (type_ti_er_translit, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/imti-et.c b/modules/input/imti-et.c
deleted file mode 100644
index 0030020639..0000000000
--- a/modules/input/imti-et.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- * Copyright (C) 2000 SuSE Linux Ltd
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Original author: Owen Taylor <otaylor@redhat.com>
- *
- * Modified for Inuktitut - Robert Brady <robert@suse.co.uk>
- *
- * Modified for Tigrigna - Daniel Yacob <locales@geez.org>
- *
- */
-
-#include "config.h"
-#include <stdio.h>
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_ti_et_translit = 0;
-
-static void ti_et_class_init (GtkIMContextSimpleClass *class);
-static void ti_et_init (GtkIMContextSimple *im_context);
-
-static void
-ti_et_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ti_et_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) ti_et_init,
- };
-
- type_ti_et_translit =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextTigrignaEthiopia",
- &object_info, 0);
-}
-
-#define SYL(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'u', 0, 0, 0, 0, b+1,
-
-#define SYLW1(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'W', 0, 0, 0, 0, b+7, \
- a, 'W', 'A', 0, 0, 0, b+7, \
- a, 'W', 'a', 0, 0, 0, b+7,
-#define SYLW2(a,b) \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'u', 0, 0, 0, 0, b+1, \
- a, 'w', 'w', 0, 0, 0, b+7, \
- a, 'w', 'w', 'a', 0, 0, b+7,
-
-#define SYLW(a,b) \
- SYLW1(a,b)\
- SYLW2(a,b)
-
-#define SYLWW(a,b) \
- a, 0, 0, 0, 0, 0, b+5, \
- a, 'A', 0, 0, 0, 0, b+3, \
- a, 'E', 0, 0, 0, 0, b+4, \
- a, 'I', 0, 0, 0, 0, b+2, \
- a, 'O', 0, 0, 0, 0, b+6, \
- a, 'O', 'O', 0, 0, 0, b+8, \
- a, 'O', 'o', 0, 0, 0, b+8, \
- a, 'U', 0, 0, 0, 0, b+1, \
- a, 'W', 0, 0, 0, 0, b+11, \
- a, 'W', '\'', 0, 0, 0, b+13, \
- a, 'W', 'A', 0, 0, 0, b+11, \
- a, 'W', 'E', 0, 0, 0, b+12, \
- a, 'W', 'I', 0, 0, 0, b+10, \
- a, 'W', 'U', 0, 0, 0, b+13, \
- a, 'W', 'a', 0, 0, 0, b+11, \
- a, 'W', 'e', 0, 0, 0, b+8, \
- a, 'W', 'e', 'e', 0, 0, b+12, \
- a, 'W', 'i', 0, 0, 0, b+10, \
- a, 'W', 'u', 0, 0, 0, b+13, \
- a, 'a', 0, 0, 0, 0, b+3, \
- a, 'e', 0, 0, 0, 0, b, \
- a, 'e', 'e', 0, 0, 0, b+4, \
- a, 'i', 0, 0, 0, 0, b+2, \
- a, 'o', 0, 0, 0, 0, b+6, \
- a, 'o', 'o', 0, 0, 0, b+8, \
- a, 'u', 0, 0, 0, 0, b+1, \
- a, 'w', 'w', 0, 0, 0, b+11, \
- a, 'w', 'w', '\'', 0, 0, b+13, \
- a, 'w', 'w', 'E', 0, 0, b+12, \
- a, 'w', 'w', 'a', 0, 0, b+11, \
- a, 'w', 'w', 'e', 0, 0, b+8, \
- a, 'w', 'w', 'e', 'e', 0, b+12, \
- a, 'w', 'w', 'i', 0, 0, b+10, \
- a, 'w', 'w', 'u', 0, 0, b+13,
-
-static guint16 ti_et_compose_seqs[] = {
- /* do punctuation and numerals here */
-
- '\'', 0, 0, 0, 0, 0, GDK_KEY_dead_grave, /* hopefully this has no side effects */
- '\'', '\'', 0, 0, 0, 0, GDK_KEY_apostrophe,
- '\'', '1', 0, 0, 0, 0, 0x1369,
- '\'', '1', '0', 0, 0, 0, 0x1372,
- '\'', '1', '0', '0', 0, 0, 0x137b,
- '\'', '1', '0', 'k', 0, 0, 0x137c,
- /* '\'', '1', '0', '0', '0', 0, 0x137b,
- '\'', '1', '0', '0', '0', '0', 0, 0x137c, */
- '\'', '2', 0, 0, 0, 0, 0x136a,
- '\'', '2', '0', 0, 0, 0, 0x1373,
- '\'', '3', 0, 0, 0, 0, 0x136b,
- '\'', '3', '0', 0, 0, 0, 0x1374,
- '\'', '4', 0, 0, 0, 0, 0x136c,
- '\'', '4', '0', 0, 0, 0, 0x1375,
- '\'', '5', 0, 0, 0, 0, 0x136d,
- '\'', '5', '0', 0, 0, 0, 0x1376,
- '\'', '6', 0, 0, 0, 0, 0x136e,
- '\'', '6', '0', 0, 0, 0, 0x1377,
- '\'', '7', 0, 0, 0, 0, 0x136f,
- '\'', '7', '0', 0, 0, 0, 0x1378,
- '\'', '8', 0, 0, 0, 0, 0x1370,
- '\'', '8', '0', 0, 0, 0, 0x1379,
- '\'', '9', 0, 0, 0, 0, 0x1371,
- '\'', '9', '0', 0, 0, 0, 0x137a,
- ',', 0, 0, 0, 0, 0, 0x1363,
- ',', ',', 0, 0, 0, 0, ',',
- '-', 0, 0, 0, 0, 0, '-',
- '-', ':', 0, 0, 0, 0, 0x1365,
- ':', 0, 0, 0, 0, 0, 0x1361,
- ':', '-', 0, 0, 0, 0, 0x1366,
- ':', ':', 0, 0, 0, 0, 0x1362,
- ':', ':', ':', 0, 0, 0, ':',
- ':', '|', ':', 0, 0, 0, 0x1368,
- ';', 0, 0, 0, 0, 0, 0x1364,
- ';', ';', 0, 0, 0, 0, ';',
- '<', 0, 0, 0, 0, 0, '<',
- '<', '<', 0, 0, 0, 0, 0x00AB,
- '>', 0, 0, 0, 0, 0, '>',
- '>', '>', 0, 0, 0, 0, 0x00BB,
- '?', 0, 0, 0, 0, 0, '?',
- '?', '?', 0, 0, 0, 0, 0x1367,
- 'A', 0, 0, 0, 0, 0, 0x12A0,
- 'A','A', 0, 0, 0, 0, 0x12D0,
- SYLW('B', 0x1260)
- SYLW('C', 0x1328)
- SYLW('D', 0x12f8)
- 'E', 0, 0, 0, 0, 0, 0x12A4,
- 'E','E', 0, 0, 0, 0, 0x12D4,
- SYLW1('F', 0x1348)
- 'F', 'Y', 0, 0, 0, 0, 0x135A,
- 'F', 'Y', 'A', 0, 0, 0, 0x135A,
- 'F', 'Y', 'a', 0, 0, 0, 0x135A,
- SYLW2('F', 0x1348)
- SYL('G', 0x1318)
- SYLW('H', 0x1210)
- 'I', 0, 0, 0, 0, 0, 0x12A5,
- 'I','A', 0, 0, 0, 0, 0x12A3,
- 'I','E', 0, 0, 0, 0, 0x12A4,
- 'I','I', 0, 0, 0, 0, 0x12D5,
- 'I','I','E', 0, 0, 0, 0x12D4,
- 'I','I','a', 0, 0, 0, 0x12D3,
- 'I','I','e', 0, 0, 0, 0x12D0,
- 'I','I','i', 0, 0, 0, 0x12D2,
- 'I','I','o', 0, 0, 0, 0x12D6,
- 'I','I','u', 0, 0, 0, 0x12D1,
- 'I','O', 0, 0, 0, 0, 0x12A6,
- 'I','U', 0, 0, 0, 0, 0x12A1,
- 'I','W', 0, 0, 0, 0, 0x12A7,
- 'I','a', 0, 0, 0, 0, 0x12A3,
- 'I','e', 0, 0, 0, 0, 0x12A0,
- 'I','i', 0, 0, 0, 0, 0x12A2,
- 'I','o', 0, 0, 0, 0, 0x12A6,
- 'I','u', 0, 0, 0, 0, 0x12A1,
- SYLWW('K', 0x12b8)
- SYLW('L', 0x1208)
- SYLW1('M', 0x1218)
- 'M', 'Y', 0, 0, 0, 0, 0x1359,
- 'M', 'Y', 'A', 0, 0, 0, 0x1359,
- 'M', 'Y', 'a', 0, 0, 0, 0x1359,
- SYLW2('M', 0x1218)
- SYLW('N', 0x1298)
- 'O', 0, 0, 0, 0, 0, 0x12A6,
- 'O','O', 0, 0, 0, 0, 0x12D6,
- SYLW('P', 0x1330)
- SYLWW('Q', 0x1250)
- SYLW1('R', 0x1228)
- 'R', 'Y', 0, 0, 0, 0, 0x1358,
- 'R', 'Y', 'A', 0, 0, 0, 0x1358,
- 'R', 'Y', 'a', 0, 0, 0, 0x1358,
- SYLW2('R', 0x1228)
- 'S', 0, 0, 0, 0, 0, 0x1338+5,
- 'S', 'A', 0, 0, 0, 0, 0x1338+3,
- 'S', 'E', 0, 0, 0, 0, 0x1338+4,
- 'S', 'I', 0, 0, 0, 0, 0x1338+2,
- 'S', 'O', 0, 0, 0, 0, 0x1338+6,
- 'S', 'S', 0, 0, 0, 0, 0x1340+5,
- 'S', 'S', 'A', 0, 0, 0, 0x1340+3,
- 'S', 'S', 'E', 0, 0, 0, 0x1340+4,
- 'S', 'S', 'I', 0, 0, 0, 0x1340+2,
- 'S', 'S', 'O', 0, 0, 0, 0x1340+6,
- 'S', 'S', 'U', 0, 0, 0, 0x1340+1,
- 'S', 'S', 'a', 0, 0, 0, 0x1340+3,
- 'S', 'S', 'e', 0, 0, 0, 0x1340,
- 'S', 'S', 'e', 'e', 0, 0, 0x1340+4,
- 'S', 'S', 'i', 0, 0, 0, 0x1340+2,
- 'S', 'S', 'o', 0, 0, 0, 0x1340+6,
- 'S', 'S', 'u', 0, 0, 0, 0x1340+1,
- 'S', 'U', 0, 0, 0, 0, 0x1338+1,
- 'S', 'W', 0, 0, 0, 0, 0x1338+7,
- 'S', 'W', 'A', 0, 0, 0, 0x1338+7,
- 'S', 'W', 'a', 0, 0, 0, 0x1338+7,
- 'S', 'a', 0, 0, 0, 0, 0x1338+3,
- 'S', 'e', 0, 0, 0, 0, 0x1338,
- 'S', 'e', 'e', 0, 0, 0, 0x1338+4,
- 'S', 'i', 0, 0, 0, 0, 0x1338+2,
- 'S', 'o', 0, 0, 0, 0, 0x1338+6,
- 'S', 'u', 0, 0, 0, 0, 0x1338+1,
- 'S', 'w', 'w', 0, 0, 0, 0x1338+7,
- 'S', 'w', 'w', 'a', 0, 0, 0x1338+7,
- SYLW('T', 0x1320)
- 'U', 0, 0, 0, 0, 0, 0x12A1,
- 'U','U', 0, 0, 0, 0, 0x12D1,
- SYLW('V', 0x1268)
- SYL('W', 0x12c8)
- SYLW('X', 0x1238)
- SYL('Y', 0x12e8)
- SYLW('Z', 0x12e0)
-
- /* much, much work to be done for lone vowels */
- 'a', 0, 0, 0, 0, 0, 0x12A3,
- 'a','a', 0, 0, 0, 0, 0x12D3,
- 'a','a','a', 0, 0, 0, 0x12D0,
- 'a','a','a','a', 0, 0, 0x12A0,
- SYLW('b', 0x1260)
- SYLW('c', 0x1278)
- SYLW('d', 0x12f0)
- 'e', 0, 0, 0, 0, 0, 0x12A5,
- 'e','A', 0, 0, 0, 0, 0x12A3,
- 'e','E', 0, 0, 0, 0, 0x12A4,
- 'e','I', 0, 0, 0, 0, 0x12A2,
- 'e','O', 0, 0, 0, 0, 0x12A6,
- 'e','U', 0, 0, 0, 0, 0x12A1,
- 'e','W', 0, 0, 0, 0, 0x12A7,
- 'e','a', 0, 0, 0, 0, 0x12D0,
- 'e','e', 0, 0, 0, 0, 0x12D5,
- 'e','e','E', 0, 0, 0, 0x12D4,
- 'e','e','a', 0, 0, 0, 0x12D3,
- 'e','e','e', 0, 0, 0, 0x12D0,
- 'e','e','i', 0, 0, 0, 0x12D2,
- 'e','e','o', 0, 0, 0, 0x12D6,
- 'e','e','u', 0, 0, 0, 0x12D1,
- 'e','i', 0, 0, 0, 0, 0x12A2,
- 'e','o', 0, 0, 0, 0, 0x12A6,
- 'e','u', 0, 0, 0, 0, 0x12A1,
- SYLW1('f', 0x1348)
- 'f', 'Y', 0, 0, 0, 0, 0x135A,
- 'f', 'Y', 'A', 0, 0, 0, 0x135A,
- 'f', 'Y', 'a', 0, 0, 0, 0x135A,
- SYLW2('f', 0x1348)
- SYLWW('g', 0x1308)
- 'h', 0, 0, 0, 0, 0, 0x1200+5,
- 'h', 'A', 0, 0, 0, 0, 0x1200+3,
- 'h', 'E', 0, 0, 0, 0, 0x1200+4,
- 'h', 'I', 0, 0, 0, 0, 0x1200+2,
- 'h', 'O', 0, 0, 0, 0, 0x1200+6,
- 'h', 'U', 0, 0, 0, 0, 0x1200+1,
- 'h', 'W', 0, 0, 0, 0, 0x1280+11,
- 'h', 'W', '\'', 0, 0, 0, 0x1280+13,
- 'h', 'W', 'A', 0, 0, 0, 0x1280+11,
- 'h', 'W', 'E', 0, 0, 0, 0x1280+12,
- 'h', 'W', 'I', 0, 0, 0, 0x1280+10,
- 'h', 'W', 'U', 0, 0, 0, 0x1280+13,
- 'h', 'W', 'a', 0, 0, 0, 0x1280+11,
- 'h', 'W', 'e', 0, 0, 0, 0x1280+8,
- 'h', 'W', 'e', 'e', 0, 0, 0x1280+12,
- 'h', 'W', 'i', 0, 0, 0, 0x1280+10,
- 'h', 'W', 'u', 0, 0, 0, 0x1280+13,
- 'h', 'a', 0, 0, 0, 0, 0x1200+3,
- 'h', 'e', 0, 0, 0, 0, 0x1200,
- 'h', 'e', 'e', 0, 0, 0, 0x1200+4,
- 'h', 'h', 0, 0, 0, 0, 0x1280+5,
- 'h', 'h', 'A', 0, 0, 0, 0x1280+3,
- 'h', 'h', 'E', 0, 0, 0, 0x1280+4,
- 'h', 'h', 'I', 0, 0, 0, 0x1280+2,
- 'h', 'h', 'O', 0, 0, 0, 0x1280+6,
- 'h', 'h', 'O', 'O', 0, 0, 0x1280+8,
- 'h', 'h', 'U', 0, 0, 0, 0x1280+1,
- 'h', 'h', 'W', 0, 0, 0, 0x1280+11,
- 'h', 'h', 'W', '\'', 0, 0, 0x1280+13,
- 'h', 'h', 'W', 'A', 0, 0, 0x1280+11,
- 'h', 'h', 'W', 'E', 0, 0, 0x1280+12,
- 'h', 'h', 'W', 'I', 0, 0, 0x1280+10,
- 'h', 'h', 'W', 'U', 0, 0, 0x1280+13,
- 'h', 'h', 'W', 'a', 0, 0, 0x1280+11,
- 'h', 'h', 'W', 'e', 0, 0, 0x1280+8,
- 'h', 'h', 'W', 'e', 'e', 0, 0x1280+12,
- 'h', 'h', 'W', 'i', 0, 0, 0x1280+10,
- 'h', 'h', 'W', 'u', 0, 0, 0x1280+13,
- 'h', 'h', 'a', 0, 0, 0, 0x1280+3,
- 'h', 'h', 'e', 0, 0, 0, 0x1280,
- 'h', 'h', 'e', 'e', 0, 0, 0x1280+4,
- 'h', 'h', 'i', 0, 0, 0, 0x1280+2,
- 'h', 'h', 'o', 0, 0, 0, 0x1280+6,
- 'h', 'h', 'o', 'o', 0, 0, 0x1280+8,
- 'h', 'h', 'u', 0, 0, 0, 0x1280+1,
- 'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 0, 0, 0x1280+11,
- 'h', 'h', 'w', 'w', '\'', 0, 0x1280+13,
- 'h', 'h', 'w', 'w', 'E', 0, 0x1280+12,
- 'h', 'h', 'w', 'w', 'a', 0, 0x1280+11,
- 'h', 'h', 'w', 'w', 'e', 0, 0x1280+8,
- /* 'h', 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12, too long for now */
- 'h', 'h', 'w', 'w', 'i', 0, 0x1280+10,
- 'h', 'h', 'w', 'w', 'u', 0, 0x1280+13,
- 'h', 'i', 0, 0, 0, 0, 0x1200+2,
- 'h', 'o', 0, 0, 0, 0, 0x1200+6,
- 'h', 'u', 0, 0, 0, 0, 0x1200+1,
- 'h', 'w', 'w', 0, 0, 0, 0x1280+11,
- 'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
- 'h', 'w', 'w', 0, 0, 0, 0x1280+11,
- 'h', 'w', 'w', '\'', 0, 0, 0x1280+13,
- 'h', 'w', 'w', 'E', 0, 0, 0x1280+12,
- 'h', 'w', 'w', 'a', 0, 0, 0x1280+11,
- 'h', 'w', 'w', 'e', 0, 0, 0x1280+8,
- 'h', 'w', 'w', 'e', 'e', 0, 0x1280+12,
- 'h', 'w', 'w', 'i', 0, 0, 0x1280+10,
- 'h', 'w', 'w', 'u', 0, 0, 0x1280+13,
- 'i', 0, 0, 0, 0, 0, 0x12A2,
- 'i', 'i', 0, 0, 0, 0, 0x12D2,
- SYLW('j', 0x1300)
- SYLWW('k', 0x12a8)
- SYLW('l', 0x1208)
- SYLW1('m', 0x1218)
- 'm', 'Y', 0, 0, 0, 0, 0x1359,
- 'm', 'Y', 'A', 0, 0, 0, 0x1359,
- 'm', 'Y', 'a', 0, 0, 0, 0x1359,
- SYLW2('m', 0x1218)
- SYLW('n', 0x1290)
- 'o', 0, 0, 0, 0, 0, 0x12A6,
- 'o','o', 0, 0, 0, 0, 0x12D6,
- SYLW('p', 0x1350)
- SYLWW('q', 0x1240)
- SYLW1('r', 0x1228)
- 'r', 'Y', 0, 0, 0, 0, 0x1358,
- 'r', 'Y', 'A', 0, 0, 0, 0x1358,
- 'r', 'Y', 'a', 0, 0, 0, 0x1358,
- SYLW2('r', 0x1228)
- 's', 0, 0, 0, 0, 0, 0x1230+5,
- 's', 'A', 0, 0, 0, 0, 0x1230+3,
- 's', 'E', 0, 0, 0, 0, 0x1230+4,
- 's', 'I', 0, 0, 0, 0, 0x1230+2,
- 's', 'O', 0, 0, 0, 0, 0x1230+6,
- 's', 'U', 0, 0, 0, 0, 0x1230+1,
- 's', 'W', 0, 0, 0, 0, 0x1230+7,
- 's', 'W', 'A', 0, 0, 0, 0x1230+7,
- 's', 'W', 'a', 0, 0, 0, 0x1230+7,
- 's', 'a', 0, 0, 0, 0, 0x1230+3,
- 's', 'e', 0, 0, 0, 0, 0x1230,
- 's', 'e', 'e', 0, 0, 0, 0x1230+4,
- 's', 'i', 0, 0, 0, 0, 0x1230+2,
- 's', 'o', 0, 0, 0, 0, 0x1230+6,
- 's', 's', 0, 0, 0, 0, 0x1220+5,
- 's', 's', 'A', 0, 0, 0, 0x1220+3,
- 's', 's', 'E', 0, 0, 0, 0x1220+4,
- 's', 's', 'I', 0, 0, 0, 0x1220+2,
- 's', 's', 'O', 0, 0, 0, 0x1220+6,
- 's', 's', 'U', 0, 0, 0, 0x1220+1,
- 's', 's', 'W', 0, 0, 0, 0x1220+7,
- 's', 's', 'W', 'A', 0, 0, 0x1220+7,
- 's', 's', 'W', 'a', 0, 0, 0x1220+7,
- 's', 's', 'a', 0, 0, 0, 0x1220+3,
- 's', 's', 'e', 0, 0, 0, 0x1220,
- 's', 's', 'e', 'e', 0, 0, 0x1220+4,
- 's', 's', 'i', 0, 0, 0, 0x1220+2,
- 's', 's', 'o', 0, 0, 0, 0x1220+6,
- 's', 's', 'u', 0, 0, 0, 0x1220+1,
- 's', 's', 'w', 'w', 0, 0, 0x1220+7,
- 's', 's', 'w', 'w', 'a', 0, 0x1220+7,
- 's', 'u', 0, 0, 0, 0, 0x1230+1,
- 's', 'w', 'w', 0, 0, 0, 0x1230+7,
- 's', 'w', 'w', 'a', 0, 0, 0x1230+7,
- SYLW('t', 0x1270)
- 'u', 0, 0, 0, 0, 0, 0x12A1,
- 'u','u', 0, 0, 0, 0, 0x12D1,
- SYLW('v', 0x1268)
- SYL('w', 0x12c8)
- SYLW('x', 0x1238)
- SYL('y', 0x12e8)
- SYLW('z', 0x12d8)
- GDK_KEY_Shift_L, GDK_KEY_space, 0, 0, 0, 0, 0x1361,
- GDK_KEY_Shift_R, GDK_KEY_space, 0, 0, 0, 0, 0x1361,
-};
-
-static void
-ti_et_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-ti_et_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- ti_et_compose_seqs,
- 5,
- G_N_ELEMENTS (ti_et_compose_seqs) / (5 + 2));
-}
-
-static const GtkIMContextInfo ti_et_info = {
- "ti_et", /* ID */
- NC_("input method menu", "Tigrigna-Ethiopian (EZ+)"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "ti" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &ti_et_info
-};
-
-#ifndef INCLUDE_IM_ti_et
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_ti_et_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- ti_et_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "ti_et") == 0)
- return g_object_new (type_ti_et_translit, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/imviqr.c b/modules/input/imviqr.c
deleted file mode 100644
index d9572f51ce..0000000000
--- a/modules/input/imviqr.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2000 Red Hat Software
- * Copyright (C) 2000 SuSE Linux Ltd
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Original author: Owen Taylor <otaylor@redhat.com>
- *
- * Modified for VIQR - Robert Brady <robert@suse.co.uk>
- *
- */
-
-#include "config.h"
-#include <string.h>
-
-#include "gtk/gtk.h"
-#include "gdk/gdkkeysyms.h"
-
-#include "gtk/gtkimmodule.h"
-#include "gtk/gtkintl.h"
-
-GType type_viqr_translit = 0;
-
-static void viqr_class_init (GtkIMContextSimpleClass *class);
-static void viqr_init (GtkIMContextSimple *im_context);
-
-static void
-viqr_register_type (GTypeModule *module)
-{
- const GTypeInfo object_info =
- {
- sizeof (GtkIMContextSimpleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) viqr_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContextSimple),
- 0,
- (GInstanceInitFunc) viqr_init,
- };
-
- type_viqr_translit =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT_SIMPLE,
- "GtkIMContextViqr",
- &object_info, 0);
-}
-
-static guint16 viqr_compose_seqs[] = {
- GDK_KEY_A, 0, 0, 0, 0, 'A',
- GDK_KEY_A, GDK_KEY_apostrophe, 0, 0, 0, 0xc1,
- GDK_KEY_A, GDK_KEY_parenleft, 0, 0, 0, 0x102,
- GDK_KEY_A, GDK_KEY_parenleft, GDK_KEY_apostrophe, 0, 0, 0x1eae,
- GDK_KEY_A, GDK_KEY_parenleft, GDK_KEY_period, 0, 0, 0x1eb6,
- GDK_KEY_A, GDK_KEY_parenleft, GDK_KEY_question, 0, 0, 0x1eb2,
- GDK_KEY_A, GDK_KEY_parenleft, GDK_KEY_grave, 0, 0, 0x1eb0,
- GDK_KEY_A, GDK_KEY_parenleft, GDK_KEY_asciitilde, 0, 0, 0x1eb4,
- GDK_KEY_A, GDK_KEY_period, 0, 0, 0, 0x1ea0,
- GDK_KEY_A, GDK_KEY_question, 0, 0, 0, 0x1ea2,
- GDK_KEY_A, GDK_KEY_asciicircum, 0, 0, 0, 0xc2,
- GDK_KEY_A, GDK_KEY_asciicircum, GDK_KEY_apostrophe, 0, 0, 0x1ea4,
- GDK_KEY_A, GDK_KEY_asciicircum, GDK_KEY_period, 0, 0, 0x1eac,
- GDK_KEY_A, GDK_KEY_asciicircum, GDK_KEY_question, 0, 0, 0x1ea8,
- GDK_KEY_A, GDK_KEY_asciicircum, GDK_KEY_grave, 0, 0, 0x1ea6,
- GDK_KEY_A, GDK_KEY_asciicircum, GDK_KEY_asciitilde, 0, 0, 0x1eaa,
- GDK_KEY_A, GDK_KEY_grave, 0, 0, 0, 0xc0,
- GDK_KEY_A, GDK_KEY_asciitilde, 0, 0, 0, 0xc3,
- GDK_KEY_D, 0, 0, 0, 0, 'D',
- GDK_KEY_D, GDK_KEY_D, 0, 0, 0, 0x110,
- GDK_KEY_D, GDK_KEY_d, 0, 0, 0, 0x110,
- GDK_KEY_E, 0, 0, 0, 0, 'E',
- GDK_KEY_E, GDK_KEY_apostrophe, 0, 0, 0, 0xc9,
- GDK_KEY_E, GDK_KEY_period, 0, 0, 0, 0x1eb8,
- GDK_KEY_E, GDK_KEY_question, 0, 0, 0, 0x1eba,
- GDK_KEY_E, GDK_KEY_asciicircum, 0, 0, 0, 0xca,
- GDK_KEY_E, GDK_KEY_asciicircum, GDK_KEY_apostrophe, 0, 0, 0x1ebe,
- GDK_KEY_E, GDK_KEY_asciicircum, GDK_KEY_period, 0, 0, 0x1ec6,
- GDK_KEY_E, GDK_KEY_asciicircum, GDK_KEY_question, 0, 0, 0x1ec2,
- GDK_KEY_E, GDK_KEY_asciicircum, GDK_KEY_grave, 0, 0, 0x1ec0,
- GDK_KEY_E, GDK_KEY_asciicircum, GDK_KEY_asciitilde, 0, 0, 0x1ec4,
- GDK_KEY_E, GDK_KEY_grave, 0, 0, 0, 0xc8,
- GDK_KEY_E, GDK_KEY_asciitilde, 0, 0, 0, 0x1ebc,
- GDK_KEY_I, 0, 0, 0, 0, 'I',
- GDK_KEY_I, GDK_KEY_apostrophe, 0, 0, 0, 0xcd,
- GDK_KEY_I, GDK_KEY_period, 0, 0, 0, 0x1eca,
- GDK_KEY_I, GDK_KEY_question, 0, 0, 0, 0x1ec8,
- GDK_KEY_I, GDK_KEY_grave, 0, 0, 0, 0xcc,
- GDK_KEY_I, GDK_KEY_asciitilde, 0, 0, 0, 0x128,
- GDK_KEY_O, 0, 0, 0, 0, 'O',
- GDK_KEY_O, GDK_KEY_apostrophe, 0, 0, 0, 0xD3,
- GDK_KEY_O, GDK_KEY_plus, 0, 0, 0, 0x1a0,
- GDK_KEY_O, GDK_KEY_plus, GDK_KEY_apostrophe, 0, 0, 0x1eda,
- GDK_KEY_O, GDK_KEY_plus, GDK_KEY_period, 0, 0, 0x1ee2,
- GDK_KEY_O, GDK_KEY_plus, GDK_KEY_question, 0, 0, 0x1ede,
- GDK_KEY_O, GDK_KEY_plus, GDK_KEY_grave, 0, 0, 0x1edc,
- GDK_KEY_O, GDK_KEY_plus, GDK_KEY_asciitilde, 0, 0, 0x1ee0,
- GDK_KEY_O, GDK_KEY_period, 0, 0, 0, 0x1ecc,
- GDK_KEY_O, GDK_KEY_question, 0, 0, 0, 0x1ece,
- GDK_KEY_O, GDK_KEY_asciicircum, 0, 0, 0, 0xd4,
- GDK_KEY_O, GDK_KEY_asciicircum, GDK_KEY_apostrophe, 0, 0, 0x1ed0,
- GDK_KEY_O, GDK_KEY_asciicircum, GDK_KEY_period, 0, 0, 0x1ed8,
- GDK_KEY_O, GDK_KEY_asciicircum, GDK_KEY_question, 0, 0, 0x1ed4,
- GDK_KEY_O, GDK_KEY_asciicircum, GDK_KEY_grave, 0, 0, 0x1ed2,
- GDK_KEY_O, GDK_KEY_asciicircum, GDK_KEY_asciitilde, 0, 0, 0x1ed6,
- GDK_KEY_O, GDK_KEY_grave, 0, 0, 0, 0xD2,
- GDK_KEY_O, GDK_KEY_asciitilde, 0, 0, 0, 0xD5,
- GDK_KEY_U, 0, 0, 0, 0, 'U',
- GDK_KEY_U, GDK_KEY_apostrophe, 0, 0, 0, 0xDA,
- GDK_KEY_U, GDK_KEY_plus, 0, 0, 0, 0x1af,
- GDK_KEY_U, GDK_KEY_plus, GDK_KEY_apostrophe, 0, 0, 0x1ee8,
- GDK_KEY_U, GDK_KEY_plus, GDK_KEY_period, 0, 0, 0x1ef0,
- GDK_KEY_U, GDK_KEY_plus, GDK_KEY_question, 0, 0, 0x1eec,
- GDK_KEY_U, GDK_KEY_plus, GDK_KEY_grave, 0, 0, 0x1eea,
- GDK_KEY_U, GDK_KEY_plus, GDK_KEY_asciitilde, 0, 0, 0x1eee,
- GDK_KEY_U, GDK_KEY_period, 0, 0, 0, 0x1ee4,
- GDK_KEY_U, GDK_KEY_question, 0, 0, 0, 0x1ee6,
- GDK_KEY_U, GDK_KEY_grave, 0, 0, 0, 0xd9,
- GDK_KEY_U, GDK_KEY_asciitilde, 0, 0, 0, 0x168,
- GDK_KEY_Y, 0, 0, 0, 0, 'Y',
- GDK_KEY_Y, GDK_KEY_apostrophe, 0, 0, 0, 0xdd,
- GDK_KEY_Y, GDK_KEY_period, 0, 0, 0, 0x1ef4,
- GDK_KEY_Y, GDK_KEY_question, 0, 0, 0, 0x1ef6,
- GDK_KEY_Y, GDK_KEY_grave, 0, 0, 0, 0x1ef2,
- GDK_KEY_Y, GDK_KEY_asciitilde, 0, 0, 0, 0x1ef8,
- /* Do we need anything else here? */
- GDK_KEY_backslash, 0, 0, 0, 0, 0,
- GDK_KEY_backslash, GDK_KEY_apostrophe, 0, 0, 0, '\'',
- GDK_KEY_backslash, GDK_KEY_parenleft, 0, 0, 0, '(',
- GDK_KEY_backslash, GDK_KEY_plus, 0, 0, 0, '+',
- GDK_KEY_backslash, GDK_KEY_period, 0, 0, 0, '.',
- GDK_KEY_backslash, GDK_KEY_question, 0, 0, 0, '?',
- GDK_KEY_backslash, GDK_KEY_D, 0, 0, 0, 'D',
- GDK_KEY_backslash, GDK_KEY_backslash, 0, 0, 0, '\\',
- GDK_KEY_backslash, GDK_KEY_asciicircum, 0, 0, 0, '^',
- GDK_KEY_backslash, GDK_KEY_grave, 0, 0, 0, '`',
- GDK_KEY_backslash, GDK_KEY_d, 0, 0, 0, 'd',
- GDK_KEY_backslash, GDK_KEY_asciitilde, 0, 0, 0, '~',
- GDK_KEY_a, 0, 0, 0, 0, 'a',
- GDK_KEY_a, GDK_KEY_apostrophe, 0, 0, 0, 0xe1,
- GDK_KEY_a, GDK_KEY_parenleft, 0, 0, 0, 0x103,
- GDK_KEY_a, GDK_KEY_parenleft, GDK_KEY_apostrophe, 0, 0, 0x1eaf,
- GDK_KEY_a, GDK_KEY_parenleft, GDK_KEY_period, 0, 0, 0x1eb7,
- GDK_KEY_a, GDK_KEY_parenleft, GDK_KEY_question, 0, 0, 0x1eb3,
- GDK_KEY_a, GDK_KEY_parenleft, GDK_KEY_grave, 0, 0, 0x1eb1,
- GDK_KEY_a, GDK_KEY_parenleft, GDK_KEY_asciitilde, 0, 0, 0x1eb5,
- GDK_KEY_a, GDK_KEY_period, 0, 0, 0, 0x1ea1,
- GDK_KEY_a, GDK_KEY_question, 0, 0, 0, 0x1ea3,
- GDK_KEY_a, GDK_KEY_asciicircum, 0, 0, 0, 0xe2,
- GDK_KEY_a, GDK_KEY_asciicircum, GDK_KEY_apostrophe, 0, 0, 0x1ea5,
- GDK_KEY_a, GDK_KEY_asciicircum, GDK_KEY_period, 0, 0, 0x1ead,
- GDK_KEY_a, GDK_KEY_asciicircum, GDK_KEY_question, 0, 0, 0x1ea9,
- GDK_KEY_a, GDK_KEY_asciicircum, GDK_KEY_grave, 0, 0, 0x1ea7,
- GDK_KEY_a, GDK_KEY_asciicircum, GDK_KEY_asciitilde, 0, 0, 0x1eab,
- GDK_KEY_a, GDK_KEY_grave, 0, 0, 0, 0xe0,
- GDK_KEY_a, GDK_KEY_asciitilde, 0, 0, 0, 0xe3,
- GDK_KEY_d, 0, 0, 0, 0, 'd',
- GDK_KEY_d, GDK_KEY_d, 0, 0, 0, 0x111,
- GDK_KEY_e, 0, 0, 0, 0, 'e',
- GDK_KEY_e, GDK_KEY_apostrophe, 0, 0, 0, 0xe9,
- GDK_KEY_e, GDK_KEY_period, 0, 0, 0, 0x1eb9,
- GDK_KEY_e, GDK_KEY_question, 0, 0, 0, 0x1ebb,
- GDK_KEY_e, GDK_KEY_asciicircum, 0, 0, 0, 0xea,
- GDK_KEY_e, GDK_KEY_asciicircum, GDK_KEY_apostrophe, 0, 0, 0x1ebf,
- GDK_KEY_e, GDK_KEY_asciicircum, GDK_KEY_period, 0, 0, 0x1ec7,
- GDK_KEY_e, GDK_KEY_asciicircum, GDK_KEY_question, 0, 0, 0x1ec3,
- GDK_KEY_e, GDK_KEY_asciicircum, GDK_KEY_grave, 0, 0, 0x1ec1,
- GDK_KEY_e, GDK_KEY_asciicircum, GDK_KEY_asciitilde, 0, 0, 0x1ec5,
- GDK_KEY_e, GDK_KEY_grave, 0, 0, 0, 0xe8,
- GDK_KEY_e, GDK_KEY_asciitilde, 0, 0, 0, 0x1ebd,
- GDK_KEY_i, 0, 0, 0, 0, 'i',
- GDK_KEY_i, GDK_KEY_apostrophe, 0, 0, 0, 0xed,
- GDK_KEY_i, GDK_KEY_period, 0, 0, 0, 0x1ecb,
- GDK_KEY_i, GDK_KEY_question, 0, 0, 0, 0x1ec9,
- GDK_KEY_i, GDK_KEY_grave, 0, 0, 0, 0xec,
- GDK_KEY_i, GDK_KEY_asciitilde, 0, 0, 0, 0x129,
- GDK_KEY_o, 0, 0, 0, 0, 'o',
- GDK_KEY_o, GDK_KEY_apostrophe, 0, 0, 0, 0xF3,
- GDK_KEY_o, GDK_KEY_plus, 0, 0, 0, 0x1a1,
- GDK_KEY_o, GDK_KEY_plus, GDK_KEY_apostrophe, 0, 0, 0x1edb,
- GDK_KEY_o, GDK_KEY_plus, GDK_KEY_period, 0, 0, 0x1ee3,
- GDK_KEY_o, GDK_KEY_plus, GDK_KEY_question, 0, 0, 0x1edf,
- GDK_KEY_o, GDK_KEY_plus, GDK_KEY_grave, 0, 0, 0x1edd,
- GDK_KEY_o, GDK_KEY_plus, GDK_KEY_asciitilde, 0, 0, 0x1ee1,
- GDK_KEY_o, GDK_KEY_period, 0, 0, 0, 0x1ecd,
- GDK_KEY_o, GDK_KEY_question, 0, 0, 0, 0x1ecf,
- GDK_KEY_o, GDK_KEY_asciicircum, 0, 0, 0, 0xf4,
- GDK_KEY_o, GDK_KEY_asciicircum, GDK_KEY_apostrophe, 0, 0, 0x1ed1,
- GDK_KEY_o, GDK_KEY_asciicircum, GDK_KEY_period, 0, 0, 0x1ed9,
- GDK_KEY_o, GDK_KEY_asciicircum, GDK_KEY_question, 0, 0, 0x1ed5,
- GDK_KEY_o, GDK_KEY_asciicircum, GDK_KEY_grave, 0, 0, 0x1ed3,
- GDK_KEY_o, GDK_KEY_asciicircum, GDK_KEY_asciitilde, 0, 0, 0x1ed7,
- GDK_KEY_o, GDK_KEY_grave, 0, 0, 0, 0xF2,
- GDK_KEY_o, GDK_KEY_asciitilde, 0, 0, 0, 0xF5,
- GDK_KEY_u, 0, 0, 0, 0, 'u',
- GDK_KEY_u, GDK_KEY_apostrophe, 0, 0, 0, 0xFA,
- GDK_KEY_u, GDK_KEY_plus, 0, 0, 0, 0x1b0,
- GDK_KEY_u, GDK_KEY_plus, GDK_KEY_apostrophe, 0, 0, 0x1ee9,
- GDK_KEY_u, GDK_KEY_plus, GDK_KEY_period, 0, 0, 0x1ef1,
- GDK_KEY_u, GDK_KEY_plus, GDK_KEY_question, 0, 0, 0x1eed,
- GDK_KEY_u, GDK_KEY_plus, GDK_KEY_grave, 0, 0, 0x1eeb,
- GDK_KEY_u, GDK_KEY_plus, GDK_KEY_asciitilde, 0, 0, 0x1eef,
- GDK_KEY_u, GDK_KEY_period, 0, 0, 0, 0x1ee5,
- GDK_KEY_u, GDK_KEY_question, 0, 0, 0, 0x1ee7,
- GDK_KEY_u, GDK_KEY_grave, 0, 0, 0, 0xf9,
- GDK_KEY_u, GDK_KEY_asciitilde, 0, 0, 0, 0x169,
- GDK_KEY_y, 0, 0, 0, 0, 'y',
- GDK_KEY_y, GDK_KEY_apostrophe, 0, 0, 0, 0xfd,
- GDK_KEY_y, GDK_KEY_period, 0, 0, 0, 0x1ef5,
- GDK_KEY_y, GDK_KEY_question, 0, 0, 0, 0x1ef7,
- GDK_KEY_y, GDK_KEY_grave, 0, 0, 0, 0x1ef3,
- GDK_KEY_y, GDK_KEY_asciitilde, 0, 0, 0, 0x1ef9,
-};
-
-static void
-viqr_class_init (GtkIMContextSimpleClass *class)
-{
-}
-
-static void
-viqr_init (GtkIMContextSimple *im_context)
-{
- gtk_im_context_simple_add_table (im_context,
- viqr_compose_seqs,
- 4,
- G_N_ELEMENTS (viqr_compose_seqs) / (4 + 2));
-}
-
-static const GtkIMContextInfo viqr_info = {
- "viqr", /* ID */
- NC_("input method menu", "Vietnamese (VIQR)"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */
- "vi" /* Languages for which this module is the default */
-};
-
-static const GtkIMContextInfo *info_list[] = {
- &viqr_info
-};
-
-#ifndef INCLUDE_IM_viqr
-#define MODULE_ENTRY(type, function) G_MODULE_EXPORT type im_module_ ## function
-#else
-#define MODULE_ENTRY(type, function) type _gtk_immodule_viqr_ ## function
-#endif
-
-MODULE_ENTRY (void, init) (GTypeModule *module)
-{
- viqr_register_type (module);
-}
-
-MODULE_ENTRY (void, exit) (void)
-{
-}
-
-MODULE_ENTRY (void, list) (const GtkIMContextInfo ***contexts,
- int *n_contexts)
-{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
-}
-
-MODULE_ENTRY (GtkIMContext *, create) (const gchar *context_id)
-{
- if (strcmp (context_id, "viqr") == 0)
- return g_object_new (type_viqr_translit, NULL);
- else
- return NULL;
-}
diff --git a/modules/input/meson.build b/modules/input/meson.build
index 176830b323..eb026f4705 100644
--- a/modules/input/meson.build
+++ b/modules/input/meson.build
@@ -16,21 +16,7 @@ if dynamic_modules
endif
endif
-all_immodules = [
- 'am-et',
- 'cedilla',
- 'cyrillic-translit',
- 'inuktitut',
- 'ipa',
- 'multipress',
- 'thai',
- 'ti-er',
- 'ti-et',
- 'viqr',
- 'wayland',
-]
-
-all_immodules += backend_immodules
+all_immodules = backend_immodules
# Allow building some or all immodules included
included_immodules = get_option('included-immodules').split(',')
@@ -51,23 +37,6 @@ endforeach
immodules_subdir = 'gtk-4.0/@0@/immodules'.format(gtk_binary_version)
immodules_install_dir = join_paths(gtk_libdir, immodules_subdir)
-mp_confdir = join_paths(gtk_sysconfdir, 'gtk-4.0')
-mp_cargs = [
- '-DMULTIPRESS_LOCALEDIR=""', # FIXME: where is $(mplocaledir) ever set?
- '-DMULTIPRESS_CONFDIR="@0@"'.format(mp_confdir),
- '-DGDK_DISABLE_DEPRECATION_WARNINGS',
-]
-
-install_data('im-multipress.conf', install_dir : mp_confdir)
-
-# Format:
-# - protocol name
-# - protocol stability ('stable' or 'unstable')
-# - protocol version (if stability is 'unstable')
-proto_sources = [
- ['gtk-text-input', 'stable', ],
-]
-
im_wayland_gen_headers = []
im_wayland_sources = files('imwayland.c')
wayland_scanner = find_program('wayland-scanner')
@@ -108,18 +77,7 @@ foreach p: proto_sources
endforeach
method_defs = [
- ['am-et', files('imam-et.c')],
- ['cedilla', files('imcedilla.c')],
- ['cyrillic-translit', files('imcyrillic-translit.c')],
- ['ti-er', files('imti-er.c')],
- ['ti-et', files('imti-et.c')],
- ['thai', files('thai-charprop.c', 'gtkimcontextthai.c', 'imthai.c')],
- ['viqr', files('imviqr.c')],
- ['inuktitut', files('iminuktitut.c')],
- ['ipa', files('imipa.c')],
- # backend modules
['broadway', files('imbroadway.c')],
- ['multipress', files('gtkimcontextmultipress.c', 'immultipress.c'), [], mp_cargs],
['quartz', ('imquartz.c'), [], ('-xobjective-c')],
['xim', files('gtkimcontextxim.c', 'imxim.c')],
['ime', files('gtkimcontextime.c', 'imime.c'), ['imm32']],
diff --git a/modules/input/thai-charprop.c b/modules/input/thai-charprop.c
deleted file mode 100644
index a9f7a05673..0000000000
--- a/modules/input/thai-charprop.c
+++ /dev/null
@@ -1,138 +0,0 @@
-#include "thai-charprop.h"
-
-const gshort thai_char_type[256] = {
- /* 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, A, B, C, D, E, F */
-
- /* CL1 */
- /*00*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- /*10*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
-
- /* Lao zone: [U+0E80..U+0EDF] */
- /*20*/ _ND, _NC, _NC, _ND, _NC, _ND, _ND, _NC,
- _NC, _ND, _NC, _ND, _ND, _NC, _ND, _ND,
- /*30*/ _ND, _ND, _ND, _ND, _NC, _NC, _NC, _NC,
- _ND, _NC, _NC, _UC, _NC, _UC, _NC, _UC,
- /*40*/ _ND, _NC, _UC, _NC, _ND, _NC, _ND, _NC,
- _ND, _ND, _NC, _NC, _ND, _NC, _NC, _ND,
- /*50*/ _ND, _AV, _ND, _AM, _AV, _AV, _AV, _AV,
- _BV, _BV, _ND, _AV, _BD, _NC, _ND, _ND,
- /*60*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _AD,
- _TN, _TN, _TN, _TN, _AD, _AD, _ND, _ND,
- /*70*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- _ND, _ND, _ND, _ND, _NC, _NC, _ND, _ND,
-
- /* CL2 */
- /*80*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- /*90*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
-
- /* Thai zone: [U+0E00..U+0E5F] */
- /*A0*/ _ND, _NC, _NC, _NC, _NC, _NC, _NC, _NC,
- _NC, _NC, _NC, _NC, _NC, _SC, _BC, _BC,
- /*B0*/ _SC, _NC, _NC, _NC, _NC, _NC, _NC, _NC,
- _NC, _NC, _NC, _UC, _NC, _UC, _NC, _UC,
- /*C0*/ _NC, _NC, _NC, _NC, _ND, _NC, _ND, _NC,
- _NC, _NC, _NC, _NC, _UC, _NC, _NC, _ND,
- /*D0*/ _ND, _AV, _ND, _AM, _AV, _AV, _AV, _AV,
- _BV, _BV, _BD, _ND, _ND, _ND, _ND, _ND,
- /*E0*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _AD,
- _TN, _TN, _TN, _TN, _AD, _AD, _AD, _ND,
- /*F0*/ _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
- _ND, _ND, _ND, _ND, _ND, _ND, _ND, _ND,
-};
-
-const gshort thai_TAC_char_class[256] = {
- /* 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, A, B, C, D, E, F */
-
- /* CL1 */
- /*00*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
- CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
- /*10*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
- CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
-
- /* Lao zone: [U+0E80..U+0EDF] */
- /*20*/ NON,CONS,CONS, NON,CONS, NON, NON,CONS,
- CONS, NON,CONS, NON, NON,CONS, NON, NON,
- /*30*/ NON, NON, NON, NON,CONS,CONS,CONS,CONS,
- NON,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
- /*40*/ NON,CONS,CONS,CONS, NON,CONS, NON,CONS,
- NON, NON,CONS,CONS, NON,CONS,CONS, NON,
- /*50*/ FV1, AV2, FV1, AM, AV1, AV3, AV2, AV3,
- BV1, BV2, NON, AV2,BCON, FV3, NON, NON,
- /*60*/ LV, LV, LV, LV, LV, NON, NON, NON,
- TONE,TONE,TONE,TONE, AD1, AD4, NON, NON,
- /*70*/ NON, NON, NON, NON, NON, NON, NON, NON,
- NON, NON, NON, NON,CONS,CONS, NON,CTRL,
-
- /* CL2 */
- /*80*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
- CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
- /*90*/ CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
- CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,CTRL,
-
- /* Thai zone: [U+0E00..U+0E5F] */
- /*A0*/ NON,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
- CONS,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
- /*B0*/ CONS,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
- CONS,CONS,CONS,CONS,CONS,CONS,CONS,CONS,
- /*C0*/ CONS,CONS,CONS,CONS, FV3,CONS, FV3,CONS,
- CONS,CONS,CONS,CONS,CONS,CONS,CONS, NON,
- /*D0*/ FV1, AV2, FV1, AM, AV1, AV3, AV2, AV3,
- BV1, BV2, BD, NON, NON, NON, NON, NON,
- /*E0*/ LV, LV, LV, LV, LV, FV2, NON, AD2,
- TONE,TONE,TONE,TONE, AD1, AD4, AD3, NON,
- /*F0*/ NON, NON, NON, NON, NON, NON, NON, NON,
- NON, NON, NON, NON, NON, NON, NON,CTRL,
-};
-
-const gchar thai_TAC_compose_input[20][20] = {
- /* row: Cn-1, column: Cn */
- /*CTRL NON CONS LV FV1 FV2 FV3 AM BV1 BV2
- * BD TONE AD1 AD2 AD3 AD4 AV1 AV2 AV3 BCON*/
-/*CTRL*/{'X','A','A','A','A','A','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*NON */{'X','A','A','A','S','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*CONS*/{'X','A','A','A','A','S','A','C','C','C',
- 'C','C','C','C','C','C','C','C','C','C'},
-/*LV */{'X','S','A','S','S','S','S','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*FV1 */{'X','A','A','A','A','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*FV2 */{'X','A','A','A','A','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*FV3 */{'X','A','A','A','S','A','S','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*AM */{'X','A','A','A','S','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*BV1 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','C','C','R','R','C','R','R','R','R'},
-/*BV2 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','C','R','R','R','R','R','R','R','R'},
-/*BD */{'X','A','A','A','S','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*TONE*/{'X','A','A','A','A','A','A','C','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*AD1 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*AD2 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*AD3 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','R','R','R','R','R','R','R','R','R'},
-/*AD4 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','C','R','R','R','R','R','R','R','R'},
-/*AV1 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','C','C','R','R','C','R','R','R','R'},
-/*AV2 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','C','R','R','R','R','R','R','R','R'},
-/*AV3 */{'X','A','A','A','S','S','A','R','R','R',
- 'R','C','R','C','R','R','R','R','R','R'},
-/*BCON*/{'X','A','A','A','A','S','A','C','C','C',
- 'R','C','R','R','R','C','C','C','C','R'},
-};
-
diff --git a/modules/input/thai-charprop.h b/modules/input/thai-charprop.h
deleted file mode 100644
index 83bf892fe3..0000000000
--- a/modules/input/thai-charprop.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Pango
- * thai-charprop.h:
- *
- * Copyright (C) 1999 Red Hat Software
- * Author: Owen Taylor <otaylor@redhat.com>
- *
- * Software and Language Engineering Laboratory, NECTEC
- * Author: Theppitak Karoonboonyanan <thep@links.nectec.or.th>
- *
- * Copyright (c) 1996-2000 by Sun Microsystems, Inc.
- * Author: Chookij Vanatham <Chookij.Vanatham@Eng.Sun.COM>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __THAI_CHARPROP_H__
-#define __THAI_CHARPROP_H__
-
-#include <glib.h>
-
-#define isthai(wc) (0x0E00 <= (wc) && (wc) < 0x0E60)
-#define islao(wc) (0x0E80 <= (wc) && (wc) < 0x0EE0)
-/* ucs2tis()
- * Lao: [0x0E80..0x0EDF] -> [0x20..0x7F]
- * Thai: [0x0E00..0x0E5F] -> [0xA0..0xFF]
- */
-#define ucs2tis(wc) (((wc) - 0x0E00 + 0x20)^0x80)
-
-/* Define TACTIS character classes */
-#define CTRL 0
-#define NON 1
-#define CONS 2
-#define LV 3
-#define FV1 4
-#define FV2 5
-#define FV3 6
-#define AM 7
-#define BV1 8
-#define BV2 9
-#define BD 10
-#define TONE 11
-#define AD1 12
-#define AD2 13
-#define AD3 14
-#define AD4 15
-#define AV1 16
-#define AV2 17
-#define AV3 18
-#define BCON 19
-
-#define _ND 0
-#define _NC 1
-#define _UC (1<<1)
-#define _BC (1<<2)
-#define _SC (1<<3)
-#define _AV (1<<4)
-#define _BV (1<<5)
-#define _TN (1<<6)
-#define _AD (1<<7)
-#define _BD (1<<8)
-#define _AM (1<<9)
-
-#define NoTailCons _NC
-#define UpTailCons _UC
-#define BotTailCons _BC
-#define SpltTailCons _SC
-#define Cons (NoTailCons|UpTailCons|BotTailCons|SpltTailCons)
-#define AboveVowel _AV
-#define BelowVowel _BV
-#define Tone _TN
-#define AboveDiac _AD
-#define BelowDiac _BD
-#define SaraAm _AM
-
-#define is_char_type(wc, mask) (thai_char_type[ucs2tis ((wc))] & (mask))
-#define TAC_char_class(wc) \
- (isthai(wc)||islao(wc) ? thai_TAC_char_class[ucs2tis (wc)] : NON)
-#define TAC_compose_input(wc1,wc2) \
- thai_TAC_compose_input[TAC_char_class(wc1)][TAC_char_class(wc2)]
-
-extern const gshort thai_char_type[256];
-extern const gshort thai_TAC_char_class[256];
-extern const gchar thai_TAC_compose_input[20][20];
-
-#endif /* __THAI_CHARPROP_H__ */