diff options
author | Matthias Clasen <mclasen@redhat.com> | 2017-11-10 20:02:43 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2018-02-15 16:05:20 -0500 |
commit | c481a773af9b66b6c6efddc89234f2c8bcfdcf52 (patch) | |
tree | 58810fa724bd3efe018442fbea83eaf1790c4bb4 /modules | |
parent | cc951ac6c88915585a5451da8260c27920e8cd06 (diff) | |
download | gtk+-c481a773af9b66b6c6efddc89234f2c8bcfdcf52.tar.gz |
Drop non-backend immodules
These are not well integrated, and have not seen any
maintenance in many years.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/input/README.multipress | 43 | ||||
-rw-r--r-- | modules/input/gtkimcontextmultipress.c | 442 | ||||
-rw-r--r-- | modules/input/gtkimcontextmultipress.h | 80 | ||||
-rw-r--r-- | modules/input/gtkimcontextthai.c | 347 | ||||
-rw-r--r-- | modules/input/gtkimcontextthai.h | 75 | ||||
-rw-r--r-- | modules/input/im-multipress.conf | 22 | ||||
-rw-r--r-- | modules/input/imam-et.c | 490 | ||||
-rw-r--r-- | modules/input/imcedilla.c | 128 | ||||
-rw-r--r-- | modules/input/imcyrillic-translit.c | 253 | ||||
-rw-r--r-- | modules/input/iminuktitut.c | 163 | ||||
-rw-r--r-- | modules/input/imipa.c | 181 | ||||
-rw-r--r-- | modules/input/immultipress.c | 71 | ||||
-rw-r--r-- | modules/input/imthai.c | 71 | ||||
-rw-r--r-- | modules/input/imti-er.c | 489 | ||||
-rw-r--r-- | modules/input/imti-et.c | 489 | ||||
-rw-r--r-- | modules/input/imviqr.c | 280 | ||||
-rw-r--r-- | modules/input/meson.build | 44 | ||||
-rw-r--r-- | modules/input/thai-charprop.c | 138 | ||||
-rw-r--r-- | modules/input/thai-charprop.h | 96 |
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[] = { - ¸la_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__ */ |