## GtkIMContextSimple GtkIMContextSimple — An input method context supporting table-based input methods |

## Functions

GtkIMContext * | gtk_im_context_simple_new ()
void | gtk_im_context_simple_add_table ()

## Types and Values

struct | GtkIMContextSimple
#define | GTK_MAX_COMPOSE_LEN

## Object Hierarchy

        GObject
        ╰── GtkIMContext
            ╰── GtkIMContextSimple

## Includes

    #include <gtk/gtk.h>

## Description

GtkIMContextSimple is a simple input method context supporting table-based input methods. It has a built-in table of compose sequences that is derived from the X11 Compose files.

GtkIMContextSimple reads additional compose sequences from the first of the following files that is found: ~/.config/gtk-3.0/Compose, ~/.XCompose, /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial Compose file). The syntax of these files is described in the Compose(5) manual page.

#### Unicode characters

GtkIMContextSimple also supports numeric entry of Unicode characters by typing Ctrl-Shift-u, followed by a hexadecimal Unicode codepoint. For example, Ctrl-Shift-u 1 2 3 Enter yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ.

#### Emoji

GtkIMContextSimple also supports entry of Emoji by their name. This works by first typing Ctrl-Shift-e, followed by an Emoji name.

The following names are supported:

- :-) 🙂

- 8-) 😍

- <3 ❤

- kiss 💋

- grin 😁

- joy 😂

- :-* 😚

- xD 😆

- like 👍

- dislike 👎

- up 👆

- v ✌

- ok 👌

- B-) 😎

- ;-) 😉

- ;-P 😜

- :-p 😋

- 3( 😔

- :-( 😞

- :] 😏

- :'( 😢

- :_( 😭

- :(( 😩

- :o 😨

- :| 😐

- 3-) 😌

- >( 😠

- >(( 😡

- O:) 😇

- ;o 😰

- 8| 😳

- 8o 😲

- :X 😷

- }:) 😈

## Functions

### gtk_im_context_simple_new ()

    GtkIMContext *
    gtk_im_context_simple_new (void);

Creates a new GtkIMContextSimple.

#### Returns

a new GtkIMContextSimple.

### gtk_im_context_simple_add_table ()

    void
    gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple,
                                     guint16 *data,
                                     gint max_seq_len,
                                     gint n_seqs);

Adds an additional table to search to the input context. Each row of the table consists of `max_seq_len` key symbols followed by two guint16 interpreted as the high and low words of a gunicode value. Tables are searched starting from the last added.

The table must be sorted in dictionary order on the numeric value of the key symbol fields. (Values beyond the length of the sequence should be zero.)

[skip]

#### Parameters

context_simple | A GtkIMContextSimple |
data | the table. | [array]
max_seq_len | Maximum length of a sequence in the table (cannot be greater than GTK_MAX_COMPOSE_LEN) |
n_seqs | number of sequences in the table |

## Types and Values

### struct GtkIMContextSimple

    struct GtkIMContextSimple;

### GTK_MAX_COMPOSE_LEN

    #define GTK_MAX_COMPOSE_LEN 7

The maximum length of sequences in compose tables.