diff options
author | Simos Xenitellis <simos@src.gnome.org> | 2008-03-04 11:21:48 +0000 |
---|---|---|
committer | Simos Xenitellis <simos@src.gnome.org> | 2008-03-04 11:21:48 +0000 |
commit | 11abc0d6917e043ad47c9f67dae4b4ebde11a22b (patch) | |
tree | 4395ed7cf43346dc9e321536e2c6e45a0acf071f /gtk | |
parent | b9001703a2e6ea313860dbc3f9a094547bf24a2e (diff) | |
download | gtk+-11abc0d6917e043ad47c9f67dae4b4ebde11a22b.tar.gz |
Fix #321896 - Synch gtkimcontextsimple.c with Xorg
svn path=/trunk/; revision=19706
Diffstat (limited to 'gtk')
-rwxr-xr-x | gtk/compose-parse.py | 856 | ||||
-rw-r--r-- | gtk/gtkimcontextsimple.c | 1126 | ||||
-rw-r--r-- | gtk/gtkimcontextsimpleseqs.h | 3920 |
3 files changed, 5025 insertions, 877 deletions
diff --git a/gtk/compose-parse.py b/gtk/compose-parse.py new file mode 100755 index 0000000000..af86939cd5 --- /dev/null +++ b/gtk/compose-parse.py @@ -0,0 +1,856 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# compose-parse.py, version 1.3 +# +# multifunction script that helps manage the compose sequence table in GTK+ (gtk/gtkimcontextsimple.c) +# the script produces statistics and information about the whole process, run with --help for more. +# +# You may need to switch your python installation to utf-8, if you get 'ascii' codec errors. +# +# Complain to Simos Xenitellis (simos@gnome.org, http://simos.info/blog) for this craft. + +from re import findall, match, split, sub +from string import atoi +from unicodedata import normalize +from urllib import urlretrieve +from os.path import isfile, getsize +from copy import copy + +import sys +import getopt + +# We grab files off the web, left and right. +URL_COMPOSE = 'http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain;f=nls/en_US.UTF-8/Compose.pre' +URL_KEYSYMSTXT = "http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt" +URL_GDKKEYSYMSH = "http://svn.gnome.org/svn/gtk%2B/trunk/gdk/gdkkeysyms.h" +URL_UNICODEDATATXT = 'http://www.unicode.org/Public/5.0.0/ucd/UnicodeData.txt' + +# We currently support keysyms of size 2; once upstream xorg gets sorted, +# we might produce some tables with size 2 and some with size 4. +SIZEOFINT = 2 + +# Current max compose sequence length; in case it gets increased. +WIDTHOFCOMPOSETABLE = 5 + +keysymdatabase = {} +keysymunicodedatabase = {} +unicodedatabase = {} + +headerfile_start = """/* GTK - The GIMP Tool Kit + * Copyright (C) 2007, 2008 GNOME Foundation + * + * 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, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * File auto-generated from script found at http://bugzilla.gnome.org/show_bug.cgi?id=321896 + * using the input files + * Input : http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain;f=nls/en_US.UTF-8/Compose.pre + * Input : http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt + * Input : http://www.unicode.org/Public/UNIDATA/UnicodeData.txt + * + * This table is optimised for space and requires special handling to access the content. + * This table is used solely by http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtkimcontextsimple.c + * + * The resulting file is placed at http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtkimcontextsimpleseqs.h + * This file is described in bug report http://bugzilla.gnome.org/show_bug.cgi?id=321896 + */ + +/* + * Modified by the GTK+ Team and others 2007, 2008. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ +#define __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ + +/* === These are the original comments of the file; we keep for historical purposes === + * + * The following table was generated from the X compose tables include with + * XFree86 4.0 using a set of Perl scripts. Contact Owen Taylor <otaylor@redhat.com> + * to obtain the relevant perl scripts. + * + * The following compose letter letter sequences confliced + * Dstroke/dstroke and ETH/eth; resolved to Dstroke (Croation, Vietnamese, Lappish), over + * ETH (Icelandic, Faroese, old English, IPA) [ D- -D d- -d ] + * Amacron/amacron and ordfeminine; resolved to ordfeminine [ _A A_ a_ _a ] + * Amacron/amacron and Atilde/atilde; resolved to atilde [ -A A- a- -a ] + * Omacron/Omacron and masculine; resolved to masculine [ _O O_ o_ _o ] + * Omacron/omacron and Otilde/atilde; resolved to otilde [ -O O- o- -o ] + * + * [ Amacron and Omacron are in Latin-4 (Baltic). ordfeminine and masculine are used for + * spanish. atilde and otilde are used at least for Portuguese ] + * + * at and Aring; resolved to Aring [ AA ] + * guillemotleft and caron; resolved to guillemotleft [ << ] + * ogonek and cedilla; resolved to cedilla [ ,, ] + * + * This probably should be resolved by first checking an additional set of compose tables + * that depend on the locale or selected input method. + */ + +static const guint16 gtk_compose_seqs_compact[] = {""" + +headerfile_end = """}; + +#endif /* __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ */ +""" + +def stringtohex(str): return atoi(str, 16) + +def factorial(n): + if n <= 1: + return 1 + else: + return n * factorial(n-1) + +def uniq(*args) : + """ Performs a uniq operation on a list or lists """ + theInputList = [] + for theList in args: + theInputList += theList + theFinalList = [] + for elem in theInputList: + if elem not in theFinalList: + theFinalList.append(elem) + return theFinalList + + + +def all_permutations(seq): + """ Borrowed from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/252178 """ + """ Produces all permutations of the items of a list """ + if len(seq) <=1: + yield seq + else: + for perm in all_permutations(seq[1:]): + for i in range(len(perm)+1): + #nb str[0:1] works in both string and list contexts + yield perm[:i] + seq[0:1] + perm[i:] + +def usage(): + print """compose-parse available parameters: + -h, --help this craft + -s, --statistics show overall statistics (both algorithmic, non-algorithmic) + -a, --algorithmic show sequences saved with algorithmic optimisation + -g, --gtk show entries that go to GTK+ + -u, --unicodedatatxt show compose sequences derived from UnicodeData.txt (from unicode.org) + -v, --verbose show verbose output + -p, --plane1 show plane1 compose sequences + -n, --numeric when used with --gtk, create file with numeric values only + -e, --gtk-expanded when used with --gtk, create file that repeats first column; not usable in GTK+ + + Default is to show statistics. + """ + +try: + opts, args = getopt.getopt(sys.argv[1:], "pvgashune", ["help", "algorithmic", "statistics", "unicodedatatxt", + "stats", "gtk", "verbose", "plane1", "numeric", "gtk-expanded"]) +except: + usage() + sys.exit(2) + +opt_statistics = False +opt_algorithmic = False +opt_gtk = False +opt_unicodedatatxt = False +opt_verbose = False +opt_plane1 = False +opt_numeric = False +opt_gtkexpanded = False + +for o, a in opts: + if o in ("-h", "--help"): + usage() + sys.exit() + if o in ("-s", "--statistics"): + opt_statistics = True + if o in ("-a", "--algorithmic"): + opt_algorithmic = True + if o in ("-g", "--gtk"): + opt_gtk = True + if o in ("-u", "--unicodedatatxt"): + opt_unicodedatatxt = True + if o in ("-v", "--verbose"): + opt_verbose = True + if o in ("-p", "--plane1"): + opt_plane1 = True + if o in ("-n", "--numeric"): + opt_numeric = True + if o in ("-e", "--gtk-expanded"): + opt_gtkexpanded = True + +if not opt_algorithmic and not opt_gtk and not opt_unicodedatatxt: + opt_statistics = True + +def download_hook(blocks_transferred, block_size, file_size): + """ A download hook to provide some feedback when downloading """ + if blocks_transferred == 0: + if file_size > 0: + if opt_verbose: + print "Downloading", file_size, "bytes: ", + else: + if opt_verbose: + print "Downloading: ", + sys.stdout.write('#') + sys.stdout.flush() + + +def download_file(url): + """ Downloads a file provided a URL. Returns the filename. """ + """ Borks on failure """ + localfilename = url.split('/')[-1] + if not isfile(localfilename) or getsize(localfilename) <= 0: + if opt_verbose: + print "Downloading ", url, "..." + try: + urlretrieve(url, localfilename, download_hook) + except IOError, (errno, strerror): + print "I/O error(%s): %s" % (errno, strerror) + sys.exit(-1) + except: + print "Unexpected error: ", sys.exc_info()[0] + sys.exit(-1) + print " done." + else: + if opt_verbose: + print "Using cached file for ", url + return localfilename + +def process_gdkkeysymsh(): + """ Opens the gdkkeysyms.h file from GTK+/gdk/gdkkeysyms.h """ + """ Fills up keysymdb with contents """ + filename_gdkkeysymsh = download_file(URL_GDKKEYSYMSH) + try: + gdkkeysymsh = open(filename_gdkkeysymsh, 'r') + except IOError, (errno, strerror): + print "I/O error(%s): %s" % (errno, strerror) + sys.exit(-1) + except: + print "Unexpected error: ", sys.exc_info()[0] + sys.exit(-1) + + """ Parse the gdkkeysyms.h file and place contents in keysymdb """ + linenum_gdkkeysymsh = 0 + keysymdb = {} + for line in gdkkeysymsh.readlines(): + linenum_gdkkeysymsh += 1 + line = line.strip() + if line == "" or not match('^#define GDK_', line): + continue + components = split('\s+', line) + if len(components) < 3: + print "Invalid line %(linenum)d in %(filename)s: %(line)s"\ + % {'linenum': linenum_gdkkeysymsh, 'filename': filename_gdkkeysymsh, 'line': line} + print "Was expecting 3 items in the line" + sys.exit(-1) + if not match('^GDK_', components[1]): + print "Invalid line %(linenum)d in %(filename)s: %(line)s"\ + % {'linenum': linenum_gdkkeysymsh, 'filename': filename_gdkkeysymsh, 'line': line} + print "Was expecting a keysym starting with GDK_" + sys.exit(-1) + if components[2][:2] == '0x' and match('[0-9a-fA-F]+$', components[2][2:]): + unival = atoi(components[2][2:], 16) + if unival == 0: + continue + keysymdb[components[1][4:]] = unival + else: + print "Invalid line %(linenum)d in %(filename)s: %(line)s"\ + % {'linenum': linenum_gdkkeysymsh, 'filename': filename_gdkkeysymsh, 'line': line} + print "Was expecting a hexadecimal number at the end of the line" + sys.exit(-1) + gdkkeysymsh.close() + + """ Patch up the keysymdb with some of our own stuff """ + + """ This is for a missing keysym from the currently upstread file """ + keysymdb['dead_stroke'] = 0x338 + + """ This is^Wwas preferential treatment for Greek """ + # keysymdb['dead_tilde'] = 0x342 + """ This is^was preferential treatment for Greek """ + #keysymdb['combining_tilde'] = 0x342 + + """ Fixing VoidSymbol """ + keysymdb['VoidSymbol'] = 0xFFFF + + return keysymdb + +def process_keysymstxt(): + """ Grabs and opens the keysyms.txt file that Markus Kuhn maintains """ + """ This file keeps a record between keysyms <-> unicode chars """ + filename_keysymstxt = download_file(URL_KEYSYMSTXT) + try: + keysymstxt = open(filename_keysymstxt, 'r') + except IOError, (errno, strerror): + print "I/O error(%s): %s" % (errno, strerror) + sys.exit(-1) + except: + print "Unexpected error: ", sys.exc_info()[0] + sys.exit(-1) + + """ Parse the keysyms.txt file and place content in keysymdb """ + linenum_keysymstxt = 0 + keysymdb = {} + for line in keysymstxt.readlines(): + linenum_keysymstxt += 1 + line = line.strip() + if line == "" or match('^#', line): + continue + components = split('\s+', line) + if len(components) < 5: + print "Invalid line %(linenum)d in %(filename)s: %(line)s'"\ + % {'linenum': linenum_keysymstxt, 'filename': filename_keysymstxt, 'line': line} + print "Was expecting 5 items in the line" + sys.exit(-1) + if components[1][0] == 'U' and match('[0-9a-fA-F]+$', components[1][1:]): + unival = atoi(components[1][1:], 16) + if unival == 0: + continue + keysymdb[components[4]] = unival + keysymstxt.close() + + """ Patch up the keysymdb with some of our own stuff """ + + """ This is preferential treatment for Greek """ + """ => we get more savings if used for Greek """ + # keysymdb['dead_tilde'] = 0x342 + """ This is preferential treatment for Greek """ + # keysymdb['combining_tilde'] = 0x342 + + """ This is for a missing keysym from Marcus Khun's db """ + keysymdb['dead_stroke'] = 0x338 + """ This is for a missing keysym from Marcus Khun's db """ + # keysymdb['Oslash'] = 0x0d8 + + """ This is for a missing (recently added) keysym """ + keysymdb['dead_psili'] = 0x313 + """ This is for a missing (recently added) keysym """ + keysymdb['dead_dasia'] = 0x314 + + """ Allows to import Multi_key sequences """ + keysymdb['Multi_key'] = 0xff20 + + return keysymdb + +def keysymvalue(keysym, file = "n/a", linenum = 0): + """ Extracts a value from the keysym """ + """ Find the value of keysym, using the data from keysyms """ + """ Use file and linenum to when reporting errors """ + if keysym == "": + return 0 + if keysymdatabase.has_key(keysym): + return keysymdatabase[keysym] + elif keysym[0] == 'U' and match('[0-9a-fA-F]+$', keysym[1:]): + return atoi(keysym[1:], 16) + elif keysym[:2] == '0x' and match('[0-9a-fA-F]+$', keysym[2:]): + return atoi(keysym[2:], 16) + else: + print 'UNKNOWN{%(keysym)s}' % { "keysym": keysym } + sys.exit(-1) + +def keysymunicodevalue(keysym, file = "n/a", linenum = 0): + """ Extracts a value from the keysym """ + """ Find the value of keysym, using the data from keysyms """ + """ Use file and linenum to when reporting errors """ + if keysym == "": + return 0 + if keysymunicodedatabase.has_key(keysym): + return keysymunicodedatabase[keysym] + elif keysym[0] == 'U' and match('[0-9a-fA-F]+$', keysym[1:]): + return atoi(keysym[1:], 16) + elif keysym[:2] == '0x' and match('[0-9a-fA-F]+$', keysym[2:]): + return atoi(keysym[2:], 16) + else: + print 'UNKNOWN{%(keysym)s}' % { "keysym": keysym } + sys.exit(-1) + +def rename_combining(seq): + filtered_sequence = [] + for ks in seq: + if findall('^combining_', ks): + filtered_sequence.append(sub('^combining_', 'dead_', ks)) + else: + filtered_sequence.append(ks) + return filtered_sequence + + +keysymunicodedatabase = process_keysymstxt() +keysymdatabase = process_gdkkeysymsh() + +""" Grab and open the compose file from upstream """ +filename_compose = download_file(URL_COMPOSE) +try: + composefile = open(filename_compose, 'r') +except IOError, (errno, strerror): + print "I/O error(%s): %s" % (errno, strerror) + sys.exit(-1) +except: + print "Unexpected error: ", sys.exc_info()[0] + sys.exit(-1) + +""" Parse the compose file in xorg_compose_sequences""" +xorg_compose_sequences = [] +xorg_compose_sequences_algorithmic = [] +linenum_compose = 0 +for line in composefile.readlines(): + linenum_compose += 1 + line = line.strip() + if line is "" or match("^XCOMM", line) or match("^#", line): + continue + + line = line[:-1] + components = split(':', line) + if len(components) != 2: + print "Invalid line %(linenum_compose)d in %(filename)s: No sequence\ + /value pair found" % { "linenum_compose": linenum_compose, "filename": filename_compose } + exit(-1) + (seq, val ) = split(':', line) + seq = seq.strip() + val = val.strip() + raw_sequence = findall('\w+', seq) + values = split('\s+', val) + unichar_temp = split('"', values[0]) + unichar = unichar_temp[1] + codepointstr = values[1] + if raw_sequence[0][0] == 'U' and match('[0-9a-fA-F]+$', raw_sequence[0][1:]): + raw_sequence[0] = '0x' + raw_sequence[0][1:] + if codepointstr[0] == 'U' and match('[0-9a-fA-F]+$', codepointstr[1:]): + codepoint = atoi(codepointstr[1:], 16) + elif keysymdatabase.has_key(codepointstr): + codepoint = keysymdatabase[codepointstr] + else: + print + print "Invalid codepoint at line %(linenum_compose)d in %(filename)s:\ + %(line)s" % { "linenum_compose": linenum_compose, "filename": filename_compose, "line": line } + exit(-1) + sequence = rename_combining(raw_sequence) + reject_this = False + for i in sequence: + if keysymvalue(i) > 0xFFFF: + reject_this = True + if opt_plane1: + print sequence + break + if reject_this: + continue + if "U0313" in sequence or "U0314" in sequence or "0x0313" in sequence or "0x0314" in sequence: + continue + for i in range(len(sequence)): + if sequence[i] == "0x0342": + sequence[i] = "dead_tilde" + if "Multi_key" not in sequence: + """ Ignore for now >0xFFFF keysyms """ + if codepoint < 0xFFFF: + original_sequence = copy(sequence) + stats_sequence = copy(sequence) + base = sequence.pop() + basechar = keysymvalue(base, filename_compose, linenum_compose) + + if basechar < 0xFFFF: + counter = 1 + unisequence = [] + not_normalised = True + skipping_this = False + for i in range(0, len(sequence)): + """ If the sequence has dead_tilde and is for Greek, we don't do algorithmically + because of lack of dead_perispomeni (i.e. conflict) + """ + bc = basechar + if sequence[-1] == "dead_tilde" and (bc >= 0x370 and bc <= 0x3ff) or (bc >= 0x1f00 and bc <= 0x1fff): + skipping_this = True + break + if sequence[-1] == "dead_horn" and (bc >= 0x370 and bc <= 0x3ff) or (bc >= 0x1f00 and bc <= 0x1fff): + skipping_this = True + break + if sequence[-1] == "dead_ogonek" and (bc >= 0x370 and bc <= 0x3ff) or (bc >= 0x1f00 and bc <= 0x1fff): + skipping_this = True + break + if sequence[-1] == "dead_psili": + sequence[i] = "dead_horn" + if sequence[-1] == "dead_dasia": + sequence[-1] = "dead_ogonek" + unisequence.append(unichr(keysymunicodevalue(sequence.pop(), filename_compose, linenum_compose))) + + if skipping_this: + unisequence = [] + for perm in all_permutations(unisequence): + # print counter, original_sequence, unichr(basechar) + "".join(perm) + # print counter, map(unichr, perm) + normalized = normalize('NFC', unichr(basechar) + "".join(perm)) + if len(normalized) == 1: + # print 'Base: %(base)s [%(basechar)s], produces [%(unichar)s] (0x%(codepoint)04X)' \ + # % { "base": base, "basechar": unichr(basechar), "unichar": unichar, "codepoint": codepoint }, + # print "Normalized: [%(normalized)s] SUCCESS %(c)d" % { "normalized": normalized, "c": counter } + stats_sequence_data = map(keysymunicodevalue, stats_sequence) + stats_sequence_data.append(normalized) + xorg_compose_sequences_algorithmic.append(stats_sequence_data) + not_normalised = False + break; + counter += 1 + if not_normalised: + original_sequence.append(codepoint) + xorg_compose_sequences.append(original_sequence) + """ print xorg_compose_sequences[-1] """ + + else: + print "Error in base char !?!" + exit(-2) + else: + print "OVER", sequence + exit(-1) + else: + sequence.append(codepoint) + xorg_compose_sequences.append(sequence) + """ print xorg_compose_sequences[-1] """ + +def sequence_cmp(x, y): + if keysymvalue(x[0]) > keysymvalue(y[0]): + return 1 + elif keysymvalue(x[0]) < keysymvalue(y[0]): + return -1 + elif len(x) > len(y): + return 1 + elif len(x) < len(y): + return -1 + elif keysymvalue(x[1]) > keysymvalue(y[1]): + return 1 + elif keysymvalue(x[1]) < keysymvalue(y[1]): + return -1 + elif len(x) < 4: + return 0 + elif keysymvalue(x[2]) > keysymvalue(y[2]): + return 1 + elif keysymvalue(x[2]) < keysymvalue(y[2]): + return -1 + elif len(x) < 5: + return 0 + elif keysymvalue(x[3]) > keysymvalue(y[3]): + return 1 + elif keysymvalue(x[3]) < keysymvalue(y[3]): + return -1 + elif len(x) < 6: + return 0 + elif keysymvalue(x[4]) > keysymvalue(y[4]): + return 1 + elif keysymvalue(x[4]) < keysymvalue(y[4]): + return -1 + else: + return 0 + +def sequence_unicode_cmp(x, y): + if keysymunicodevalue(x[0]) > keysymunicodevalue(y[0]): + return 1 + elif keysymunicodevalue(x[0]) < keysymunicodevalue(y[0]): + return -1 + elif len(x) > len(y): + return 1 + elif len(x) < len(y): + return -1 + elif keysymunicodevalue(x[1]) > keysymunicodevalue(y[1]): + return 1 + elif keysymunicodevalue(x[1]) < keysymunicodevalue(y[1]): + return -1 + elif len(x) < 4: + return 0 + elif keysymunicodevalue(x[2]) > keysymunicodevalue(y[2]): + return 1 + elif keysymunicodevalue(x[2]) < keysymunicodevalue(y[2]): + return -1 + elif len(x) < 5: + return 0 + elif keysymunicodevalue(x[3]) > keysymunicodevalue(y[3]): + return 1 + elif keysymunicodevalue(x[3]) < keysymunicodevalue(y[3]): + return -1 + elif len(x) < 6: + return 0 + elif keysymunicodevalue(x[4]) > keysymunicodevalue(y[4]): + return 1 + elif keysymunicodevalue(x[4]) < keysymunicodevalue(y[4]): + return -1 + else: + return 0 + +def sequence_algorithmic_cmp(x, y): + if len(x) < len(y): + return -1 + elif len(x) > len(y): + return 1 + else: + for i in range(len(x)): + if x[i] < y[i]: + return -1 + elif x[i] > y[i]: + return 1 + return 0 + + +xorg_compose_sequences.sort(sequence_cmp) + +xorg_compose_sequences_uniqued = [] +first_time = True +item = None +for next_item in xorg_compose_sequences: + if first_time: + first_time = False + item = next_item + if sequence_unicode_cmp(item, next_item) != 0: + xorg_compose_sequences_uniqued.append(item) + item = next_item + +xorg_compose_sequences = copy(xorg_compose_sequences_uniqued) + +counter_multikey = 0 +for item in xorg_compose_sequences: + if findall('Multi_key', "".join(item[:-1])) != []: + counter_multikey += 1 + +xorg_compose_sequences_algorithmic.sort(sequence_algorithmic_cmp) +xorg_compose_sequences_algorithmic_uniqued = uniq(xorg_compose_sequences_algorithmic) + +firstitem = "" +num_first_keysyms = 0 +zeroes = 0 +num_entries = 0 +num_algorithmic_greek = 0 +for sequence in xorg_compose_sequences: + if keysymvalue(firstitem) != keysymvalue(sequence[0]): + firstitem = sequence[0] + num_first_keysyms += 1 + zeroes += 6 - len(sequence) + 1 + num_entries += 1 + +for sequence in xorg_compose_sequences_algorithmic_uniqued: + ch = ord(sequence[-1:][0]) + if ch >= 0x370 and ch <= 0x3ff or ch >= 0x1f00 and ch <= 0x1fff: + num_algorithmic_greek += 1 + + +if opt_algorithmic: + for sequence in xorg_compose_sequences_algorithmic_uniqued: + letter = "".join(sequence[-1:]) + print '0x%(cp)04X, %(uni)c, seq: [ <0x%(base)04X>,' % { 'cp': ord(unicode(letter)), 'uni': letter, 'base': sequence[-2] }, + for elem in sequence[:-2]: + print "<0x%(keysym)04X>," % { 'keysym': elem }, + """ Yeah, verified... We just want to keep the output similar to -u, so we can compare/sort easily """ + print "], recomposed as", letter, "verified" + +def num_of_keysyms(seq): + return len(seq) - 1 + +def convert_UnotationToHex(arg): + if isinstance(arg, str): + if match('^U[0-9A-F][0-9A-F][0-9A-F][0-9A-F]$', arg): + return sub('^U', '0x', arg) + return arg + +def addprefix_GDK(arg): + if match('^0x', arg): + return '%(arg)s, ' % { 'arg': arg } + else: + return 'GDK_%(arg)s, ' % { 'arg': arg } + +if opt_gtk: + first_keysym = "" + sequence = [] + compose_table = [] + ct_second_part = [] + ct_sequence_width = 2 + start_offset = num_first_keysyms * (WIDTHOFCOMPOSETABLE+1) + we_finished = False + counter = 0 + + sequence_iterator = iter(xorg_compose_sequences) + sequence = sequence_iterator.next() + while True: + first_keysym = sequence[0] # Set the first keysym + compose_table.append([first_keysym, 0, 0, 0, 0, 0]) + while sequence[0] == first_keysym: + compose_table[counter][num_of_keysyms(sequence)-1] += 1 + try: + sequence = sequence_iterator.next() + except StopIteration: + we_finished = True + break + if we_finished: + break + counter += 1 + + ct_index = start_offset + for line_num in range(len(compose_table)): + for i in range(WIDTHOFCOMPOSETABLE): + occurences = compose_table[line_num][i+1] + compose_table[line_num][i+1] = ct_index + ct_index += occurences * (i+2) + + for sequence in xorg_compose_sequences: + ct_second_part.append(map(convert_UnotationToHex, sequence)) + + print headerfile_start + for i in compose_table: + if opt_gtkexpanded: + print "0x%(ks)04X," % { "ks": keysymvalue(i[0]) }, + print '%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i[1:])) } + elif not match('^0x', i[0]): + print 'GDK_%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i)) } + else: + print '%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i)) } + for i in ct_second_part: + if opt_numeric: + for ks in i[1:][:-1]: + print '0x%(seq)04X, ' % { 'seq': keysymvalue(ks) }, + print '0x%(cp)04X, ' % { 'cp':i[-1] } + """ + for ks in i[:-1]: + print '0x%(seq)04X, ' % { 'seq': keysymvalue(ks) }, + print '0x%(cp)04X, ' % { 'cp':i[-1] } + """ + elif opt_gtkexpanded: + print '%(seq)s0x%(cp)04X, ' % { 'seq': "".join(map(addprefix_GDK, i[:-1])), 'cp':i[-1] } + else: + print '%(seq)s0x%(cp)04X, ' % { 'seq': "".join(map(addprefix_GDK, i[:-1][1:])), 'cp':i[-1] } + print headerfile_end + +def redecompose(codepoint): + (name, decomposition, combiningclass) = unicodedatabase[codepoint] + if decomposition[0] == '' or decomposition[0] == '0': + return [codepoint] + if match('<\w+>', decomposition[0]): + numdecomposition = map(stringtohex, decomposition[1:]) + return map(redecompose, numdecomposition) + numdecomposition = map(stringtohex, decomposition) + return map(redecompose, numdecomposition) + +def process_unicodedata_file(verbose = False): + """ Grab from wget http://www.unicode.org/Public/UNIDATA/UnicodeData.txt """ + filename_unicodedatatxt = download_file(URL_UNICODEDATATXT) + try: + unicodedatatxt = open(filename_unicodedatatxt, 'r') + except IOError, (errno, strerror): + print "I/O error(%s): %s" % (errno, strerror) + sys.exit(-1) + except: + print "Unexpected error: ", sys.exc_info()[0] + sys.exit(-1) + for line in unicodedatatxt.readlines(): + if line[0] == "" or line[0] == '#': + continue + line = line[:-1] + uniproperties = split(';', line) + codepoint = stringtohex(uniproperties[0]) + """ We don't do Plane 1 or CJK blocks. The latter require reading additional files. """ + if codepoint > 0xFFFF or (codepoint >= 0x4E00 and codepoint <= 0x9FFF) or (codepoint >= 0xF900 and codepoint <= 0xFAFF): + continue + name = uniproperties[1] + category = uniproperties[2] + combiningclass = uniproperties[3] + decomposition = uniproperties[5] + unicodedatabase[codepoint] = [name, split('\s+', decomposition), combiningclass] + + counter_combinations = 0 + counter_combinations_greek = 0 + counter_entries = 0 + counter_entries_greek = 0 + + for item in unicodedatabase.keys(): + (name, decomposition, combiningclass) = unicodedatabase[item] + if decomposition[0] == '': + continue + print name, "is empty" + elif match('<\w+>', decomposition[0]): + continue + print name, "has weird", decomposition[0] + else: + sequence = map(stringtohex, decomposition) + chrsequence = map(unichr, sequence) + normalized = normalize('NFC', "".join(chrsequence)) + + """ print name, sequence, "Combining: ", "".join(chrsequence), normalized, len(normalized), """ + decomposedsequence = [] + for subseq in map(redecompose, sequence): + for seqitem in subseq: + if isinstance(seqitem, list): + for i in seqitem: + if isinstance(i, list): + for j in i: + decomposedsequence.append(j) + else: + decomposedsequence.append(i) + else: + decomposedsequence.append(seqitem) + recomposedchar = normalize('NFC', "".join(map(unichr, decomposedsequence))) + if len(recomposedchar) == 1 and len(decomposedsequence) > 1: + counter_entries += 1 + counter_combinations += factorial(len(decomposedsequence)-1) + ch = item + if ch >= 0x370 and ch <= 0x3ff or ch >= 0x1f00 and ch <= 0x1fff: + counter_entries_greek += 1 + counter_combinations_greek += factorial(len(decomposedsequence)-1) + if verbose: + print "0x%(cp)04X, %(uni)c, seq:" % { 'cp':item, 'uni':unichr(item) }, + print "[", + for elem in decomposedsequence: + print '<0x%(hex)04X>,' % { 'hex': elem }, + print "], recomposed as", recomposedchar, + if unichr(item) == recomposedchar: + print "verified" + + if verbose == False: + print "Unicode statistics from UnicodeData.txt" + print "Number of entries that can be algorithmically produced :", counter_entries + print " of which are for Greek :", counter_entries_greek + print "Number of compose sequence combinations requiring :", counter_combinations + print " of which are for Greek :", counter_combinations_greek + print "Note: We do not include partial compositions, " + print "thus the slight discrepancy in the figures" + print + +if opt_unicodedatatxt: + process_unicodedata_file(True) + +if opt_statistics: + print + print "Total number of compose sequences (from file) :", len(xorg_compose_sequences) + len(xorg_compose_sequences_algorithmic) + print " of which can be expressed algorithmically :", len(xorg_compose_sequences_algorithmic) + print " of which cannot be expressed algorithmically :", len(xorg_compose_sequences) + print " of which have Multi_key :", counter_multikey + print + print "Algorithmic (stats for Xorg Compose file)" + print "Number of sequences off due to algo from file (len(array)) :", len(xorg_compose_sequences_algorithmic) + print "Number of sequences off due to algo (uniq(sort(array))) :", len(xorg_compose_sequences_algorithmic_uniqued) + print " of which are for Greek :", num_algorithmic_greek + print + process_unicodedata_file() + print "Not algorithmic (stats from Xorg Compose file)" + print "Number of sequences :", len(xorg_compose_sequences) + print "Flat array looks like :", len(xorg_compose_sequences), "rows of 6 integers (2 bytes per int, or 12 bytes per row)" + print "Flat array would have taken up (in bytes) :", num_entries * 2 * 6, "bytes from the GTK+ library" + print "Number of items in flat array :", len(xorg_compose_sequences) * 6 + print " of which are zeroes :", zeroes, "or ", (100 * zeroes) / (len(xorg_compose_sequences) * 6), " per cent" + print "Number of different first items :", num_first_keysyms + print "Number of max bytes (if using flat array) :", num_entries * 2 * 6 + print "Number of savings :", zeroes * 2 - num_first_keysyms * 2 * 5 + print + print "Memory needs if both algorithmic+optimised table in latest Xorg compose file" + print " :", num_entries * 2 * 6 - zeroes * 2 + num_first_keysyms * 2 * 5 + print + print "Existing (old) implementation in GTK+" + print "Number of sequences in old gtkimcontextsimple.c :", 691 + print "The existing (old) implementation in GTK+ takes up :", 691 * 2 * 12, "bytes" diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 7218b2e8f9..20624cf8ab 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -19,6 +19,7 @@ #include <config.h> #include <stdlib.h> +#include <string.h> #include <gdk/gdkkeysyms.h> #include "gtkaccelgroup.h" @@ -29,6 +30,7 @@ #include "gtkalias.h" typedef struct _GtkComposeTable GtkComposeTable; +typedef struct _GtkComposeTableCompact GtkComposeTableCompact; struct _GtkComposeTable { @@ -37,883 +39,30 @@ struct _GtkComposeTable gint n_seqs; }; -/* The following table was generated from the X compose tables include with - * XFree86 4.0 using a set of Perl scripts. Contact Owen Taylor <otaylor@redhat.com> - * to obtain the relevant perl scripts. - * - * The following compose letter letter sequences confliced - * Dstroke/dstroke and ETH/eth; resolved to Dstroke (Croation, Vietnamese, Lappish), over - * ETH (Icelandic, Faroese, old English, IPA) [ D- -D d- -d ] - * Amacron/amacron and ordfeminine; resolved to ordfeminine [ _A A_ a_ _a ] - * Amacron/amacron and Atilde/atilde; resolved to atilde [ -A A- a- -a ] - * Omacron/Omacron and masculine; resolved to masculine [ _O O_ o_ _o ] - * Omacron/omacron and Otilde/atilde; resolved to otilde [ -O O- o- -o ] - * - * [ Amacron and Omacron are in Latin-4 (Baltic). ordfeminine and masculine are used for - * spanish. atilde and otilde are used at least for Portuguese ] - * - * at and Aring; resolved to Aring [ AA ] - * guillemotleft and caron; resolved to guillemotleft [ << ] - * ogonek and cedilla; resolved to cedilla [ ,, ] - * - * This probably should be resolved by first checking an additional set of compose tables - * that depend on the locale or selected input method. - */ - -static const guint16 gtk_compose_seqs[] = { - GDK_Greek_accentdieresis, GDK_Greek_iota, 0, 0, 0, 0x0390, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ - GDK_Greek_accentdieresis, GDK_Greek_upsilon, 0, 0, 0, 0x03B0, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ - GDK_dead_grave, GDK_space, 0, 0, 0, 0x0060, /* GRAVE_ACCENT */ - GDK_dead_grave, GDK_A, 0, 0, 0, 0x00C0, /* LATIN_CAPITAL_LETTER_A_WITH_GRAVE */ - GDK_dead_grave, GDK_E, 0, 0, 0, 0x00C8, /* LATIN_CAPITAL_LETTER_E_WITH_GRAVE */ - GDK_dead_grave, GDK_I, 0, 0, 0, 0x00CC, /* LATIN_CAPITAL_LETTER_I_WITH_GRAVE */ - GDK_dead_grave, GDK_O, 0, 0, 0, 0x00D2, /* LATIN_CAPITAL_LETTER_O_WITH_GRAVE */ - GDK_dead_grave, GDK_U, 0, 0, 0, 0x00D9, /* LATIN_CAPITAL_LETTER_U_WITH_GRAVE */ - GDK_dead_grave, GDK_grave, 0, 0, 0, 0x0060, /* GRAVE_ACCENT */ - GDK_dead_grave, GDK_a, 0, 0, 0, 0x00E0, /* LATIN_SMALL_LETTER_A_WITH_GRAVE */ - GDK_dead_grave, GDK_e, 0, 0, 0, 0x00E8, /* LATIN_SMALL_LETTER_E_WITH_GRAVE */ - GDK_dead_grave, GDK_i, 0, 0, 0, 0x00EC, /* LATIN_SMALL_LETTER_I_WITH_GRAVE */ - GDK_dead_grave, GDK_o, 0, 0, 0, 0x00F2, /* LATIN_SMALL_LETTER_O_WITH_GRAVE */ - GDK_dead_grave, GDK_u, 0, 0, 0, 0x00F9, /* LATIN_SMALL_LETTER_U_WITH_GRAVE */ - GDK_dead_grave, GDK_dead_grave, 0, 0, 0, 0x0060, /* GRAVE_ACCENT */ - GDK_dead_acute, GDK_space, 0, 0, 0, 0x0027, /* APOSTROPHE */ - GDK_dead_acute, GDK_apostrophe, 0, 0, 0, 0x00B4, /* ACUTE_ACCENT */ - GDK_dead_acute, GDK_A, 0, 0, 0, 0x00C1, /* LATIN_CAPITAL_LETTER_A_WITH_ACUTE */ - GDK_dead_acute, GDK_C, 0, 0, 0, 0x0106, /* LATIN_CAPITAL_LETTER_C_WITH_ACUTE */ - GDK_dead_acute, GDK_E, 0, 0, 0, 0x00C9, /* LATIN_CAPITAL_LETTER_E_WITH_ACUTE */ - GDK_dead_acute, GDK_I, 0, 0, 0, 0x00CD, /* LATIN_CAPITAL_LETTER_I_WITH_ACUTE */ - GDK_dead_acute, GDK_L, 0, 0, 0, 0x0139, /* LATIN_CAPITAL_LETTER_L_WITH_ACUTE */ - GDK_dead_acute, GDK_N, 0, 0, 0, 0x0143, /* LATIN_CAPITAL_LETTER_N_WITH_ACUTE */ - GDK_dead_acute, GDK_O, 0, 0, 0, 0x00D3, /* LATIN_CAPITAL_LETTER_O_WITH_ACUTE */ - GDK_dead_acute, GDK_R, 0, 0, 0, 0x0154, /* LATIN_CAPITAL_LETTER_R_WITH_ACUTE */ - GDK_dead_acute, GDK_S, 0, 0, 0, 0x015A, /* LATIN_CAPITAL_LETTER_S_WITH_ACUTE */ - GDK_dead_acute, GDK_U, 0, 0, 0, 0x00DA, /* LATIN_CAPITAL_LETTER_U_WITH_ACUTE */ - GDK_dead_acute, GDK_Y, 0, 0, 0, 0x00DD, /* LATIN_CAPITAL_LETTER_Y_WITH_ACUTE */ - GDK_dead_acute, GDK_Z, 0, 0, 0, 0x0179, /* LATIN_CAPITAL_LETTER_Z_WITH_ACUTE */ - GDK_dead_acute, GDK_a, 0, 0, 0, 0x00E1, /* LATIN_SMALL_LETTER_A_WITH_ACUTE */ - GDK_dead_acute, GDK_c, 0, 0, 0, 0x0107, /* LATIN_SMALL_LETTER_C_WITH_ACUTE */ - GDK_dead_acute, GDK_e, 0, 0, 0, 0x00E9, /* LATIN_SMALL_LETTER_E_WITH_ACUTE */ - GDK_dead_acute, GDK_i, 0, 0, 0, 0x00ED, /* LATIN_SMALL_LETTER_I_WITH_ACUTE */ - GDK_dead_acute, GDK_l, 0, 0, 0, 0x013A, /* LATIN_SMALL_LETTER_L_WITH_ACUTE */ - GDK_dead_acute, GDK_n, 0, 0, 0, 0x0144, /* LATIN_SMALL_LETTER_N_WITH_ACUTE */ - GDK_dead_acute, GDK_o, 0, 0, 0, 0x00F3, /* LATIN_SMALL_LETTER_O_WITH_ACUTE */ - GDK_dead_acute, GDK_r, 0, 0, 0, 0x0155, /* LATIN_SMALL_LETTER_R_WITH_ACUTE */ - GDK_dead_acute, GDK_s, 0, 0, 0, 0x015B, /* LATIN_SMALL_LETTER_S_WITH_ACUTE */ - GDK_dead_acute, GDK_u, 0, 0, 0, 0x00FA, /* LATIN_SMALL_LETTER_U_WITH_ACUTE */ - GDK_dead_acute, GDK_y, 0, 0, 0, 0x00FD, /* LATIN_SMALL_LETTER_Y_WITH_ACUTE */ - GDK_dead_acute, GDK_z, 0, 0, 0, 0x017A, /* LATIN_SMALL_LETTER_Z_WITH_ACUTE */ - GDK_dead_acute, GDK_acute, 0, 0, 0, 0x00B4, /* ACUTE_ACCENT */ - GDK_dead_acute, GDK_Greek_ALPHA, 0, 0, 0, 0x0386, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */ - GDK_dead_acute, GDK_Greek_EPSILON, 0, 0, 0, 0x0388, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */ - GDK_dead_acute, GDK_Greek_ETA, 0, 0, 0, 0x0389, /* GREEK CAPITAL LETTER ETA WITH TONOS */ - GDK_dead_acute, GDK_Greek_IOTA, 0, 0, 0, 0x038A, /* GREEK CAPITAL LETTER IOTA WITH TONOS */ - GDK_dead_acute, GDK_Greek_OMICRON, 0, 0, 0, 0x038C, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */ - GDK_dead_acute, GDK_Greek_UPSILON, 0, 0, 0, 0x038E, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */ - GDK_dead_acute, GDK_Greek_OMEGA, 0, 0, 0, 0x038F, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */ - GDK_dead_acute, GDK_Greek_alpha, 0, 0, 0, 0x03AC, /* GREEK SMALL LETTER ALPHA WITH TONOS */ - GDK_dead_acute, GDK_Greek_epsilon, 0, 0, 0, 0x03AD, /* GREEK SMALL LETTER EPSILON WITH TONOS */ - GDK_dead_acute, GDK_Greek_eta, 0, 0, 0, 0x03AE, /* GREEK SMALL LETTER ETA WITH TONOS */ - GDK_dead_acute, GDK_Greek_iota, 0, 0, 0, 0x03AF, /* GREEK SMALL LETTER IOTA WITH TONOS */ - GDK_dead_acute, GDK_Greek_omicron, 0, 0, 0, 0x03CC, /* GREEK SMALL LETTER OMICRON WITH TONOS */ - GDK_dead_acute, GDK_Greek_upsilon, 0, 0, 0, 0x03CD, /* GREEK SMALL LETTER UPSILON WITH TONOS */ - GDK_dead_acute, GDK_Greek_omega, 0, 0, 0, 0x03CE, /* GREEK SMALL LETTER OMEGA WITH TONOS */ - GDK_dead_acute, GDK_dead_acute, 0, 0, 0, 0x00B4, /* ACUTE_ACCENT */ - GDK_dead_acute, GDK_dead_diaeresis, GDK_space, 0, 0, 0x0385, /* GREEK DIALYTIKA TONOS */ - GDK_dead_acute, GDK_dead_diaeresis, GDK_Greek_iota, 0, 0, 0x0390, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ - GDK_dead_acute, GDK_dead_diaeresis, GDK_Greek_upsilon, 0, 0, 0x03B0, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ - GDK_dead_circumflex, GDK_space, 0, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_dead_circumflex, GDK_minus, 0, 0, 0, 0x00AF, /* MACRON */ - GDK_dead_circumflex, GDK_period, 0, 0, 0, 0x00B7, /* MIDDLE_DOT */ - GDK_dead_circumflex, GDK_slash, 0, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_dead_circumflex, GDK_0, 0, 0, 0, 0x00B0, /* DEGREE_SIGN */ - GDK_dead_circumflex, GDK_1, 0, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_dead_circumflex, GDK_2, 0, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_dead_circumflex, GDK_3, 0, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_dead_circumflex, GDK_A, 0, 0, 0, 0x00C2, /* LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_E, 0, 0, 0, 0x00CA, /* LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_I, 0, 0, 0, 0x00CE, /* LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_O, 0, 0, 0, 0x00D4, /* LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_U, 0, 0, 0, 0x00DB, /* LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_asciicircum, 0, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_dead_circumflex, GDK_underscore, 0, 0, 0, 0x00AF, /* MACRON */ - GDK_dead_circumflex, GDK_a, 0, 0, 0, 0x00E2, /* LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_e, 0, 0, 0, 0x00EA, /* LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_i, 0, 0, 0, 0x00EE, /* LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_o, 0, 0, 0, 0x00F4, /* LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_u, 0, 0, 0, 0x00FB, /* LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_dead_circumflex, GDK_dead_circumflex, 0, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_dead_tilde, GDK_space, 0, 0, 0, 0x007E, /* TILDE */ - GDK_dead_tilde, GDK_A, 0, 0, 0, 0x00C3, /* LATIN_CAPITAL_LETTER_A_WITH_TILDE */ - GDK_dead_tilde, GDK_I, 0, 0, 0, 0x0128, /* LATIN_CAPITAL_LETTER_I_WITH_TILDE */ - GDK_dead_tilde, GDK_N, 0, 0, 0, 0x00D1, /* LATIN_CAPITAL_LETTER_N_WITH_TILDE */ - GDK_dead_tilde, GDK_O, 0, 0, 0, 0x00D5, /* LATIN_CAPITAL_LETTER_O_WITH_TILDE */ - GDK_dead_tilde, GDK_U, 0, 0, 0, 0x0168, /* LATIN_CAPITAL_LETTER_U_WITH_TILDE */ - GDK_dead_tilde, GDK_a, 0, 0, 0, 0x00E3, /* LATIN_SMALL_LETTER_A_WITH_TILDE */ - GDK_dead_tilde, GDK_i, 0, 0, 0, 0x0129, /* LATIN_SMALL_LETTER_I_WITH_TILDE */ - GDK_dead_tilde, GDK_n, 0, 0, 0, 0x00F1, /* LATIN_SMALL_LETTER_N_WITH_TILDE */ - GDK_dead_tilde, GDK_o, 0, 0, 0, 0x00F5, /* LATIN_SMALL_LETTER_O_WITH_TILDE */ - GDK_dead_tilde, GDK_u, 0, 0, 0, 0x0169, /* LATIN_SMALL_LETTER_U_WITH_TILDE */ - GDK_dead_tilde, GDK_asciitilde, 0, 0, 0, 0x007E, /* TILDE */ - GDK_dead_tilde, GDK_dead_tilde, 0, 0, 0, 0x007E, /* TILDE */ - GDK_dead_macron, GDK_A, 0, 0, 0, 0x0100, /* LATIN_CAPITAL_LETTER_A_WITH_MACRON */ - GDK_dead_macron, GDK_E, 0, 0, 0, 0x0112, /* LATIN_CAPITAL_LETTER_E_WITH_MACRON */ - GDK_dead_macron, GDK_I, 0, 0, 0, 0x012A, /* LATIN_CAPITAL_LETTER_I_WITH_MACRON */ - GDK_dead_macron, GDK_O, 0, 0, 0, 0x014C, /* LATIN_CAPITAL_LETTER_O_WITH_MACRON */ - GDK_dead_macron, GDK_U, 0, 0, 0, 0x016A, /* LATIN_CAPITAL_LETTER_U_WITH_MACRON */ - GDK_dead_macron, GDK_a, 0, 0, 0, 0x0101, /* LATIN_SMALL_LETTER_A_WITH_MACRON */ - GDK_dead_macron, GDK_e, 0, 0, 0, 0x0113, /* LATIN_SMALL_LETTER_E_WITH_MACRON */ - GDK_dead_macron, GDK_i, 0, 0, 0, 0x012B, /* LATIN_SMALL_LETTER_I_WITH_MACRON */ - GDK_dead_macron, GDK_o, 0, 0, 0, 0x014D, /* LATIN_SMALL_LETTER_O_WITH_MACRON */ - GDK_dead_macron, GDK_u, 0, 0, 0, 0x016B, /* LATIN_SMALL_LETTER_U_WITH_MACRON */ - GDK_dead_macron, GDK_macron, 0, 0, 0, 0x00AF, /* MACRON */ - GDK_dead_macron, GDK_dead_macron, 0, 0, 0, 0x00AF, /* MACRON */ - GDK_dead_breve, GDK_space, 0, 0, 0, 0x02D8, /* BREVE */ - GDK_dead_breve, GDK_A, 0, 0, 0, 0x0102, /* LATIN_CAPITAL_LETTER_A_WITH_BREVE */ - GDK_dead_breve, GDK_G, 0, 0, 0, 0x011E, /* LATIN_CAPITAL_LETTER_G_WITH_BREVE */ - GDK_dead_breve, GDK_a, 0, 0, 0, 0x0103, /* LATIN_SMALL_LETTER_A_WITH_BREVE */ - GDK_dead_breve, GDK_g, 0, 0, 0, 0x011F, /* LATIN_SMALL_LETTER_G_WITH_BREVE */ - GDK_dead_breve, GDK_dead_breve, 0, 0, 0, 0x02D8, /* BREVE */ - GDK_dead_abovedot, GDK_space, 0, 0, 0, 0x02D9, /* DOT_ABOVE */ - GDK_dead_abovedot, GDK_E, 0, 0, 0, 0x0116, /* LATIN_CAPITAL_LETTER_E_WITH_DOT_ABOVE */ - GDK_dead_abovedot, GDK_I, 0, 0, 0, 0x0130, /* LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE */ - GDK_dead_abovedot, GDK_Z, 0, 0, 0, 0x017B, /* LATIN_CAPITAL_LETTER_Z_WITH_DOT_ABOVE */ - GDK_dead_abovedot, GDK_e, 0, 0, 0, 0x0117, /* LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE */ - GDK_dead_abovedot, GDK_i, 0, 0, 0, 0x0131, /* LATIN_SMALL_LETTER_DOTLESS_I */ - GDK_dead_abovedot, GDK_z, 0, 0, 0, 0x017C, /* LATIN_SMALL_LETTER_Z_WITH_DOT_ABOVE */ - GDK_dead_abovedot, GDK_abovedot, 0, 0, 0, 0x02D9, /* DOT_ABOVE */ - GDK_dead_abovedot, GDK_dead_abovedot, 0, 0, 0, 0x02D9, /* DOT_ABOVE */ - GDK_dead_diaeresis, GDK_space, 0, 0, 0, 0x0022, /* QUOTATION_MARK */ - GDK_dead_diaeresis, GDK_quotedbl, 0, 0, 0, 0x00A8, /* DIAERESIS */ - GDK_dead_diaeresis, GDK_A, 0, 0, 0, 0x00C4, /* LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_E, 0, 0, 0, 0x00CB, /* LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_I, 0, 0, 0, 0x00CF, /* LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_O, 0, 0, 0, 0x00D6, /* LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_U, 0, 0, 0, 0x00DC, /* LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_Y, 0, 0, 0, 0x0178, /* LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_a, 0, 0, 0, 0x00E4, /* LATIN_SMALL_LETTER_A_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_e, 0, 0, 0, 0x00EB, /* LATIN_SMALL_LETTER_E_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_i, 0, 0, 0, 0x00EF, /* LATIN_SMALL_LETTER_I_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_o, 0, 0, 0, 0x00F6, /* LATIN_SMALL_LETTER_O_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_u, 0, 0, 0, 0x00FC, /* LATIN_SMALL_LETTER_U_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_y, 0, 0, 0, 0x00FF, /* LATIN_SMALL_LETTER_Y_WITH_DIAERESIS */ - GDK_dead_diaeresis, GDK_diaeresis, 0, 0, 0, 0x00A8, /* DIAERESIS */ - GDK_dead_diaeresis, GDK_Greek_IOTA, 0, 0, 0, 0x03AA, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ - GDK_dead_diaeresis, GDK_Greek_UPSILON, 0, 0, 0, 0x03AB, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ - GDK_dead_diaeresis, GDK_Greek_iota, 0, 0, 0, 0x03CA, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ - GDK_dead_diaeresis, GDK_Greek_upsilon, 0, 0, 0, 0x03CB, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ - GDK_dead_diaeresis, GDK_dead_acute, GDK_space, 0, 0, 0x0385, /* GREEK DIALYTIKA TONOS */ - GDK_dead_diaeresis, GDK_dead_acute, GDK_Greek_iota, 0, 0, 0x0390, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ - GDK_dead_diaeresis, GDK_dead_acute, GDK_Greek_upsilon, 0, 0, 0x03B0, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ - GDK_dead_diaeresis, GDK_dead_diaeresis, 0, 0, 0, 0x00A8, /* DIAERESIS */ - GDK_dead_abovering, GDK_space, 0, 0, 0, 0x02DA, /* RING_ABOVE */ - GDK_dead_abovering, GDK_A, 0, 0, 0, 0x00C5, /* LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE */ - GDK_dead_abovering, GDK_U, 0, 0, 0, 0x016E, /* LATIN_CAPITAL_LETTER_U_WITH_RING_ABOVE */ - GDK_dead_abovering, GDK_a, 0, 0, 0, 0x00E5, /* LATIN_SMALL_LETTER_A_WITH_RING_ABOVE */ - GDK_dead_abovering, GDK_u, 0, 0, 0, 0x016F, /* LATIN_SMALL_LETTER_U_WITH_RING_ABOVE */ - GDK_dead_abovering, GDK_dead_abovering, 0, 0, 0, 0x02DA, /* RING_ABOVE */ - GDK_dead_doubleacute, GDK_space, 0, 0, 0, 0x02DD, /* DOUBLE_ACUTE_ACCENT */ - GDK_dead_doubleacute, GDK_O, 0, 0, 0, 0x0150, /* LATIN_CAPITAL_LETTER_O_WITH_DOUBLE_ACUTE */ - GDK_dead_doubleacute, GDK_U, 0, 0, 0, 0x0170, /* LATIN_CAPITAL_LETTER_U_WITH_DOUBLE_ACUTE */ - GDK_dead_doubleacute, GDK_o, 0, 0, 0, 0x0151, /* LATIN_SMALL_LETTER_O_WITH_DOUBLE_ACUTE */ - GDK_dead_doubleacute, GDK_u, 0, 0, 0, 0x0171, /* LATIN_SMALL_LETTER_U_WITH_DOUBLE_ACUTE */ - GDK_dead_doubleacute, GDK_dead_doubleacute, 0, 0, 0, 0x02DD, /* DOUBLE_ACUTE_ACCENT */ - GDK_dead_caron, GDK_space, 0, 0, 0, 0x02C7, /* CARON */ - GDK_dead_caron, GDK_C, 0, 0, 0, 0x010C, /* LATIN_CAPITAL_LETTER_C_WITH_CARON */ - GDK_dead_caron, GDK_D, 0, 0, 0, 0x010E, /* LATIN_CAPITAL_LETTER_D_WITH_CARON */ - GDK_dead_caron, GDK_E, 0, 0, 0, 0x011A, /* LATIN_CAPITAL_LETTER_E_WITH_CARON */ - GDK_dead_caron, GDK_L, 0, 0, 0, 0x013D, /* LATIN_CAPITAL_LETTER_L_WITH_CARON */ - GDK_dead_caron, GDK_N, 0, 0, 0, 0x0147, /* LATIN_CAPITAL_LETTER_N_WITH_CARON */ - GDK_dead_caron, GDK_R, 0, 0, 0, 0x0158, /* LATIN_CAPITAL_LETTER_R_WITH_CARON */ - GDK_dead_caron, GDK_S, 0, 0, 0, 0x0160, /* LATIN_CAPITAL_LETTER_S_WITH_CARON */ - GDK_dead_caron, GDK_T, 0, 0, 0, 0x0164, /* LATIN_CAPITAL_LETTER_T_WITH_CARON */ - GDK_dead_caron, GDK_Z, 0, 0, 0, 0x017D, /* LATIN_CAPITAL_LETTER_Z_WITH_CARON */ - GDK_dead_caron, GDK_c, 0, 0, 0, 0x010D, /* LATIN_SMALL_LETTER_C_WITH_CARON */ - GDK_dead_caron, GDK_d, 0, 0, 0, 0x010F, /* LATIN_SMALL_LETTER_D_WITH_CARON */ - GDK_dead_caron, GDK_e, 0, 0, 0, 0x011B, /* LATIN_SMALL_LETTER_E_WITH_CARON */ - GDK_dead_caron, GDK_l, 0, 0, 0, 0x013E, /* LATIN_SMALL_LETTER_L_WITH_CARON */ - GDK_dead_caron, GDK_n, 0, 0, 0, 0x0148, /* LATIN_SMALL_LETTER_N_WITH_CARON */ - GDK_dead_caron, GDK_r, 0, 0, 0, 0x0159, /* LATIN_SMALL_LETTER_R_WITH_CARON */ - GDK_dead_caron, GDK_s, 0, 0, 0, 0x0161, /* LATIN_SMALL_LETTER_S_WITH_CARON */ - GDK_dead_caron, GDK_t, 0, 0, 0, 0x0165, /* LATIN_SMALL_LETTER_T_WITH_CARON */ - GDK_dead_caron, GDK_z, 0, 0, 0, 0x017E, /* LATIN_SMALL_LETTER_Z_WITH_CARON */ - GDK_dead_caron, GDK_caron, 0, 0, 0, 0x02C7, /* CARON */ - GDK_dead_caron, GDK_dead_caron, 0, 0, 0, 0x02C7, /* CARON */ - GDK_dead_cedilla, GDK_space, 0, 0, 0, 0x00B8, /* CEDILLA */ - GDK_dead_cedilla, GDK_comma, 0, 0, 0, 0x00B8, /* CEDILLA */ - GDK_dead_cedilla, GDK_minus, 0, 0, 0, 0x00AC, /* NOT_SIGN */ - GDK_dead_cedilla, GDK_C, 0, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_G, 0, 0, 0, 0x0122, /* LATIN_CAPITAL_LETTER_G_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_K, 0, 0, 0, 0x0136, /* LATIN_CAPITAL_LETTER_K_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_L, 0, 0, 0, 0x013B, /* LATIN_CAPITAL_LETTER_L_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_N, 0, 0, 0, 0x0145, /* LATIN_CAPITAL_LETTER_N_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_R, 0, 0, 0, 0x0156, /* LATIN_CAPITAL_LETTER_R_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_S, 0, 0, 0, 0x015E, /* LATIN_CAPITAL_LETTER_S_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_c, 0, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_g, 0, 0, 0, 0x0123, /* LATIN_SMALL_LETTER_G_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_k, 0, 0, 0, 0x0137, /* LATIN_SMALL_LETTER_K_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_l, 0, 0, 0, 0x013C, /* LATIN_SMALL_LETTER_L_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_n, 0, 0, 0, 0x0146, /* LATIN_SMALL_LETTER_N_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_r, 0, 0, 0, 0x0157, /* LATIN_SMALL_LETTER_R_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_s, 0, 0, 0, 0x015F, /* LATIN_SMALL_LETTER_S_WITH_CEDILLA */ - GDK_dead_cedilla, GDK_cedilla, 0, 0, 0, 0x00B8, /* CEDILLA */ - GDK_dead_cedilla, GDK_dead_cedilla, 0, 0, 0, 0x00B8, /* CEDILLA */ - GDK_dead_ogonek, GDK_space, 0, 0, 0, 0x02DB, /* OGONEK */ - GDK_dead_ogonek, GDK_A, 0, 0, 0, 0x0104, /* LATIN_CAPITAL_LETTER_A_WITH_OGONEK */ - GDK_dead_ogonek, GDK_E, 0, 0, 0, 0x0118, /* LATIN_CAPITAL_LETTER_E_WITH_OGONEK */ - GDK_dead_ogonek, GDK_I, 0, 0, 0, 0x012E, /* LATIN_CAPITAL_LETTER_I_WITH_OGONEK */ - GDK_dead_ogonek, GDK_U, 0, 0, 0, 0x0172, /* LATIN_CAPITAL_LETTER_U_WITH_OGONEK */ - GDK_dead_ogonek, GDK_a, 0, 0, 0, 0x0105, /* LATIN_SMALL_LETTER_A_WITH_OGONEK */ - GDK_dead_ogonek, GDK_e, 0, 0, 0, 0x0119, /* LATIN_SMALL_LETTER_E_WITH_OGONEK */ - GDK_dead_ogonek, GDK_i, 0, 0, 0, 0x012F, /* LATIN_SMALL_LETTER_I_WITH_OGONEK */ - GDK_dead_ogonek, GDK_u, 0, 0, 0, 0x0173, /* LATIN_SMALL_LETTER_U_WITH_OGONEK */ - GDK_dead_ogonek, GDK_ogonek, 0, 0, 0, 0x02DB, /* OGONEK */ - GDK_dead_ogonek, GDK_dead_ogonek, 0, 0, 0, 0x02DB, /* OGONEK */ - GDK_Multi_key, GDK_space, GDK_space, 0, 0, 0x00A0, /* NOxBREAK_SPACE */ - GDK_Multi_key, GDK_space, GDK_apostrophe, 0, 0, 0x0027, /* APOSTROPHE */ - GDK_Multi_key, GDK_space, GDK_parenleft, 0, 0, 0x02D8, /* BREVE */ - GDK_Multi_key, GDK_space, GDK_minus, 0, 0, 0x007E, /* TILDE */ - GDK_Multi_key, GDK_space, GDK_less, 0, 0, 0x02C7, /* CARON */ - GDK_Multi_key, GDK_space, GDK_greater, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_Multi_key, GDK_space, GDK_asciicircum, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_Multi_key, GDK_space, GDK_grave, 0, 0, 0x0060, /* GRAVE_ACCENT */ - GDK_Multi_key, GDK_space, GDK_asciitilde, 0, 0, 0x007E, /* TILDE */ - GDK_Multi_key, GDK_exclam, GDK_exclam, 0, 0, 0x00A1, /* INVERTED_EXCLAMATION_MARK */ - GDK_Multi_key, GDK_exclam, GDK_P, 0, 0, 0x00B6, /* PILCROW_SIGN */ - GDK_Multi_key, GDK_exclam, GDK_S, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_exclam, GDK_p, 0, 0, 0x00B6, /* PILCROW_SIGN */ - GDK_Multi_key, GDK_exclam, GDK_s, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_quotedbl, GDK_quotedbl, 0, 0, 0x00A8, /* DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_apostrophe, GDK_space, 0, 0x0385, /* GREEK DIALYTIKA TONOS */ - GDK_Multi_key, GDK_quotedbl, GDK_apostrophe, GDK_Greek_iota, 0, 0x0390, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ - GDK_Multi_key, GDK_quotedbl, GDK_apostrophe, GDK_Greek_upsilon, 0, 0x03B0, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ - GDK_Multi_key, GDK_quotedbl, GDK_A, 0, 0, 0x00C4, /* LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_E, 0, 0, 0x00CB, /* LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_I, 0, 0, 0x00CF, /* LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_O, 0, 0, 0x00D6, /* LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_U, 0, 0, 0x00DC, /* LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_Y, 0, 0, 0x0178, /* LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_a, 0, 0, 0x00E4, /* LATIN_SMALL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_e, 0, 0, 0x00EB, /* LATIN_SMALL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_i, 0, 0, 0x00EF, /* LATIN_SMALL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_o, 0, 0, 0x00F6, /* LATIN_SMALL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_u, 0, 0, 0x00FC, /* LATIN_SMALL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_y, 0, 0, 0x00FF, /* LATIN_SMALL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_quotedbl, GDK_Greek_IOTA, 0, 0, 0x03AA, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ - GDK_Multi_key, GDK_quotedbl, GDK_Greek_UPSILON, 0, 0, 0x03AB, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ - GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0, 0, 0x03CA, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ - GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0, 0, 0x03CB, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ - GDK_Multi_key, GDK_apostrophe, GDK_space, 0, 0, 0x0027, /* APOSTROPHE */ - GDK_Multi_key, GDK_apostrophe, GDK_quotedbl, GDK_space, 0, 0x0385, /* GREEK DIALYTIKA TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_quotedbl, GDK_Greek_iota, 0, 0x0390, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_quotedbl, GDK_Greek_upsilon, 0, 0x03B0, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_apostrophe, 0, 0, 0x00B4, /* ACUTE_ACCENT */ - GDK_Multi_key, GDK_apostrophe, GDK_less, 0, 0, 0x2018, /* LEFT SINGLE QUOTATION MARK */ - GDK_Multi_key, GDK_apostrophe, GDK_greater, 0, 0, 0x2019, /* RIGHT SINGLE QUOTATION MARK */ - GDK_Multi_key, GDK_apostrophe, GDK_A, 0, 0, 0x00C1, /* LATIN_CAPITAL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_C, 0, 0, 0x0106, /* LATIN_CAPITAL_LETTER_C_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_E, 0, 0, 0x00C9, /* LATIN_CAPITAL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_I, 0, 0, 0x00CD, /* LATIN_CAPITAL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_L, 0, 0, 0x0139, /* LATIN_CAPITAL_LETTER_L_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_N, 0, 0, 0x0143, /* LATIN_CAPITAL_LETTER_N_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_O, 0, 0, 0x00D3, /* LATIN_CAPITAL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_R, 0, 0, 0x0154, /* LATIN_CAPITAL_LETTER_R_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_S, 0, 0, 0x015A, /* LATIN_CAPITAL_LETTER_S_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_U, 0, 0, 0x00DA, /* LATIN_CAPITAL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_Y, 0, 0, 0x00DD, /* LATIN_CAPITAL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_Z, 0, 0, 0x0179, /* LATIN_CAPITAL_LETTER_Z_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_a, 0, 0, 0x00E1, /* LATIN_SMALL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_c, 0, 0, 0x0107, /* LATIN_SMALL_LETTER_C_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_e, 0, 0, 0x00E9, /* LATIN_SMALL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_i, 0, 0, 0x00ED, /* LATIN_SMALL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_l, 0, 0, 0x013A, /* LATIN_SMALL_LETTER_L_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_n, 0, 0, 0x0144, /* LATIN_SMALL_LETTER_N_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_o, 0, 0, 0x00F3, /* LATIN_SMALL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_r, 0, 0, 0x0155, /* LATIN_SMALL_LETTER_R_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_s, 0, 0, 0x015B, /* LATIN_SMALL_LETTER_S_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_u, 0, 0, 0x00FA, /* LATIN_SMALL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_y, 0, 0, 0x00FD, /* LATIN_SMALL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_z, 0, 0, 0x017A, /* LATIN_SMALL_LETTER_Z_WITH_ACUTE */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_ALPHA, 0, 0, 0x0386, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_EPSILON, 0, 0, 0x0388, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_ETA, 0, 0, 0x0389, /* GREEK CAPITAL LETTER ETA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_IOTA, 0, 0, 0x038A, /* GREEK CAPITAL LETTER IOTA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_OMICRON, 0, 0, 0x038C, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_UPSILON, 0, 0, 0x038E, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_OMEGA, 0, 0, 0x038F, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_alpha, 0, 0, 0x03AC, /* GREEK SMALL LETTER ALPHA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_epsilon, 0, 0, 0x03AD, /* GREEK SMALL LETTER EPSILON WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_eta, 0, 0, 0x03AE, /* GREEK SMALL LETTER ETA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_iota, 0, 0, 0x03AF, /* GREEK SMALL LETTER IOTA WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_omicron, 0, 0, 0x03CC, /* GREEK SMALL LETTER OMICRON WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_upsilon, 0, 0, 0x03CD, /* GREEK SMALL LETTER UPSILON WITH TONOS */ - GDK_Multi_key, GDK_apostrophe, GDK_Greek_omega, 0, 0, 0x03CE, /* GREEK SMALL LETTER OMEGA WITH TONOS */ - GDK_Multi_key, GDK_parenleft, GDK_space, 0, 0, 0x02D8, /* BREVE */ - GDK_Multi_key, GDK_parenleft, GDK_parenleft, 0, 0, 0x005B, /* LEFT_SQUARE_BRACKET */ - GDK_Multi_key, GDK_parenleft, GDK_minus, 0, 0, 0x007B, /* LEFT_CURLY_BRACKET */ - GDK_Multi_key, GDK_parenleft, GDK_A, 0, 0, 0x0102, /* LATIN_CAPITAL_LETTER_A_WITH_BREVE */ - GDK_Multi_key, GDK_parenleft, GDK_G, 0, 0, 0x011E, /* LATIN_CAPITAL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_parenleft, GDK_a, 0, 0, 0x0103, /* LATIN_SMALL_LETTER_A_WITH_BREVE */ - GDK_Multi_key, GDK_parenleft, GDK_c, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_parenleft, GDK_g, 0, 0, 0x011F, /* LATIN_SMALL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_parenleft, GDK_r, 0, 0, 0x00AE, /* REGISTERED_SIGN */ - GDK_Multi_key, GDK_parenright, GDK_parenright, 0, 0, 0x005D, /* RIGHT_SQUARE_BRACKET */ - GDK_Multi_key, GDK_parenright, GDK_minus, 0, 0, 0x007D, /* RIGHT_CURLY_BRACKET */ - GDK_Multi_key, GDK_asterisk, GDK_0, 0, 0, 0x00B0, /* DEGREE_SIGN */ - GDK_Multi_key, GDK_asterisk, GDK_A, 0, 0, 0x00C5, /* LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_asterisk, GDK_U, 0, 0, 0x016E, /* LATIN_CAPITAL_LETTER_U_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_asterisk, GDK_a, 0, 0, 0x00E5, /* LATIN_SMALL_LETTER_A_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_asterisk, GDK_u, 0, 0, 0x016F, /* LATIN_SMALL_LETTER_U_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_plus, GDK_plus, 0, 0, 0x0023, /* NUMBER_SIGN */ - GDK_Multi_key, GDK_plus, GDK_minus, 0, 0, 0x00B1, /* PLUSxMINUS_SIGN */ - GDK_Multi_key, GDK_comma, GDK_comma, 0, 0, 0x00B8, /* CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_minus, 0, 0, 0x00AC, /* NOT_SIGN */ - GDK_Multi_key, GDK_comma, GDK_A, 0, 0, 0x0104, /* LATIN_CAPITAL_LETTER_A_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_C, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_E, 0, 0, 0x0118, /* LATIN_CAPITAL_LETTER_E_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_G, 0, 0, 0x0122, /* LATIN_CAPITAL_LETTER_G_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_I, 0, 0, 0x012E, /* LATIN_CAPITAL_LETTER_I_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_K, 0, 0, 0x0136, /* LATIN_CAPITAL_LETTER_K_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_L, 0, 0, 0x013B, /* LATIN_CAPITAL_LETTER_L_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_N, 0, 0, 0x0145, /* LATIN_CAPITAL_LETTER_N_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_R, 0, 0, 0x0156, /* LATIN_CAPITAL_LETTER_R_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_S, 0, 0, 0x015E, /* LATIN_CAPITAL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_U, 0, 0, 0x0172, /* LATIN_CAPITAL_LETTER_U_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_a, 0, 0, 0x0105, /* LATIN_SMALL_LETTER_A_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_c, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_e, 0, 0, 0x0119, /* LATIN_SMALL_LETTER_E_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_g, 0, 0, 0x0123, /* LATIN_SMALL_LETTER_G_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_i, 0, 0, 0x012F, /* LATIN_SMALL_LETTER_I_WITH_OGONEK */ - GDK_Multi_key, GDK_comma, GDK_k, 0, 0, 0x0137, /* LATIN_SMALL_LETTER_K_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_l, 0, 0, 0x013C, /* LATIN_SMALL_LETTER_L_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_n, 0, 0, 0x0146, /* LATIN_SMALL_LETTER_N_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_r, 0, 0, 0x0157, /* LATIN_SMALL_LETTER_R_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_s, 0, 0, 0x015F, /* LATIN_SMALL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_comma, GDK_u, 0, 0, 0x0173, /* LATIN_SMALL_LETTER_U_WITH_OGONEK */ - GDK_Multi_key, GDK_minus, GDK_space, 0, 0, 0x007E, /* TILDE */ - GDK_Multi_key, GDK_minus, GDK_parenleft, 0, 0, 0x007B, /* LEFT_CURLY_BRACKET */ - GDK_Multi_key, GDK_minus, GDK_parenright, 0, 0, 0x007D, /* RIGHT_CURLY_BRACKET */ - GDK_Multi_key, GDK_minus, GDK_plus, 0, 0, 0x00B1, /* PLUSxMINUS_SIGN */ - GDK_Multi_key, GDK_minus, GDK_comma, 0, 0, 0x00AC, /* NOT_SIGN */ - GDK_Multi_key, GDK_minus, GDK_minus, GDK_space, 0, 0x00AD, /* SOFT_HYPHEN */ - GDK_Multi_key, GDK_minus, GDK_minus, GDK_minus, 0, 0x2014, /* EM DASH */ - GDK_Multi_key, GDK_minus, GDK_minus, GDK_period, 0, 0x2013, /* EN DASH */ - GDK_Multi_key, GDK_minus, GDK_colon, 0, 0, 0x00F7, /* DIVISION_SIGN */ - GDK_Multi_key, GDK_minus, GDK_A, 0, 0, 0x00C3, /* LATIN_CAPITAL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_minus, GDK_D, 0, 0, 0x0110, /* LATIN_CAPITAL_LETTER_D_WITH_STROKE */ - GDK_Multi_key, GDK_minus, GDK_E, 0, 0, 0x0112, /* LATIN_CAPITAL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_minus, GDK_I, 0, 0, 0x012A, /* LATIN_CAPITAL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_minus, GDK_L, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_minus, GDK_N, 0, 0, 0x00D1, /* LATIN_CAPITAL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_minus, GDK_O, 0, 0, 0x00D5, /* LATIN_CAPITAL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_minus, GDK_U, 0, 0, 0x016A, /* LATIN_CAPITAL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_minus, GDK_Y, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_minus, GDK_asciicircum, 0, 0, 0x00AF, /* MACRON */ - GDK_Multi_key, GDK_minus, GDK_a, 0, 0, 0x00E3, /* LATIN_SMALL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_minus, GDK_d, 0, 0, 0x0111, /* LATIN_SMALL_LETTER_D_WITH_STROKE */ - GDK_Multi_key, GDK_minus, GDK_e, 0, 0, 0x0113, /* LATIN_SMALL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_minus, GDK_i, 0, 0, 0x012B, /* LATIN_SMALL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_minus, GDK_l, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_minus, GDK_n, 0, 0, 0x00F1, /* LATIN_SMALL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_minus, GDK_o, 0, 0, 0x00F5, /* LATIN_SMALL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_minus, GDK_u, 0, 0, 0x016B, /* LATIN_SMALL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_minus, GDK_y, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_period, GDK_period, 0, 0, 0x02D9, /* DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_B, 0, 0, 0x1E02, /* LATIN_CAPITAL_LETTER_B_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_C, 0, 0, 0x010A, /* LATIN_CAPITAL_LETTER_C_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_D, 0, 0, 0x1E0A, /* LATIN_CAPITAL_LETTER_D_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_E, 0, 0, 0x0116, /* LATIN_CAPITAL_LETTER_E_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_F, 0, 0, 0x1E1E, /* LATIN_CAPITAL_LETTER_F_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_G, 0, 0, 0x0120, /* LATIN_CAPITAL_LETTER_G_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_I, 0, 0, 0x0130, /* LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_M, 0, 0, 0x1E40, /* LATIN_CAPITAL_LETTER_M_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_P, 0, 0, 0x1E56, /* LATIN_CAPITAL_LETTER_P_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_S, 0, 0, 0x1E60, /* LATIN_CAPITAL_LETTER_S_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_T, 0, 0, 0x1E6A, /* LATIN_CAPITAL_LETTER_T_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_Z, 0, 0, 0x017B, /* LATIN_CAPITAL_LETTER_Z_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_asciicircum, 0, 0, 0x00B7, /* MIDDLE_DOT */ - GDK_Multi_key, GDK_period, GDK_b, 0, 0, 0x1E03, /* LATIN_SMALL_LETTER_B_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_c, 0, 0, 0x010B, /* LATIN_SMALL_LETTER_C_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_d, 0, 0, 0x1E0B, /* LATIN_SMALL_LETTER_D_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_e, 0, 0, 0x0117, /* LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_f, 0, 0, 0x1E1F, /* LATIN_SMALL_LETTER_F_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_g, 0, 0, 0x0121, /* LATIN_SMALL_LETTER_G_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_i, 0, 0, 0x0131, /* LATIN_SMALL_LETTER_DOTLESS_I */ - GDK_Multi_key, GDK_period, GDK_m, 0, 0, 0x1E41, /* LATIN_SMALL_LETTER_M_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_p, 0, 0, 0x1E57, /* LATIN_SMALL_LETTER_P_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_s, 0, 0, 0x1E61, /* LATIN_SMALL_LETTER_S_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_t, 0, 0, 0x1E6B, /* LATIN_SMALL_LETTER_T_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_period, GDK_z, 0, 0, 0x017C, /* LATIN_SMALL_LETTER_Z_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_slash, GDK_slash, 0, 0, 0x005C, /* REVERSE_SOLIDUS */ - GDK_Multi_key, GDK_slash, GDK_less, 0, 0, 0x005C, /* REVERSE_SOLIDUS */ - GDK_Multi_key, GDK_slash, GDK_C, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_slash, GDK_L, 0, 0, 0x0141, /* LATIN_CAPITAL_LETTER_L_WITH_STROKE */ - GDK_Multi_key, GDK_slash, GDK_O, 0, 0, 0x00D8, /* LATIN_CAPITAL_LETTER_O_WITH_STROKE */ - GDK_Multi_key, GDK_slash, GDK_T, 0, 0, 0x0166, /* LATIN_CAPITAL_LETTER_T_WITH_STROKE */ - GDK_Multi_key, GDK_slash, GDK_U, 0, 0, 0x00B5, /* MICRO_SIGN */ - GDK_Multi_key, GDK_slash, GDK_asciicircum, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_Multi_key, GDK_slash, GDK_c, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_slash, GDK_l, 0, 0, 0x0142, /* LATIN_SMALL_LETTER_L_WITH_STROKE */ - GDK_Multi_key, GDK_slash, GDK_o, 0, 0, 0x00F8, /* LATIN_SMALL_LETTER_O_WITH_STROKE */ - GDK_Multi_key, GDK_slash, GDK_t, 0, 0, 0x0167, /* LATIN_SMALL_LETTER_T_WITH_STROKE */ - GDK_Multi_key, GDK_slash, GDK_u, 0, 0, 0x00B5, /* MICRO_SIGN */ - GDK_Multi_key, GDK_0, GDK_asterisk, 0, 0, 0x00B0, /* DEGREE_SIGN */ - GDK_Multi_key, GDK_0, GDK_C, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_0, GDK_S, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_0, GDK_X, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_0, GDK_asciicircum, 0, 0, 0x00B0, /* DEGREE_SIGN */ - GDK_Multi_key, GDK_0, GDK_c, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_0, GDK_s, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_0, GDK_x, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_1, GDK_S, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_Multi_key, GDK_1, GDK_asciicircum, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_Multi_key, GDK_1, GDK_s, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_Multi_key, GDK_2, GDK_S, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_Multi_key, GDK_2, GDK_asciicircum, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_Multi_key, GDK_2, GDK_s, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_Multi_key, GDK_3, GDK_S, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_Multi_key, GDK_3, GDK_asciicircum, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_Multi_key, GDK_3, GDK_s, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_Multi_key, GDK_colon, GDK_minus, 0, 0, 0x00F7, /* DIVISION_SIGN */ - GDK_Multi_key, GDK_less, GDK_space, 0, 0, 0x02C7, /* CARON */ - GDK_Multi_key, GDK_less, GDK_apostrophe, 0, 0, 0x2018, /* LEFT SINGLE QUOTATION MARK */ - GDK_Multi_key, GDK_less, GDK_slash, 0, 0, 0x005C, /* REVERSE_SOLIDUS */ - GDK_Multi_key, GDK_less, GDK_less, 0, 0, 0x00AB, /* LEFTxPOINTING_DOUBLE_ANGLE_QUOTATION_MARK */ - GDK_Multi_key, GDK_less, GDK_C, 0, 0, 0x010C, /* LATIN_CAPITAL_LETTER_C_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_D, 0, 0, 0x010E, /* LATIN_CAPITAL_LETTER_D_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_E, 0, 0, 0x011A, /* LATIN_CAPITAL_LETTER_E_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_L, 0, 0, 0x013D, /* LATIN_CAPITAL_LETTER_L_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_N, 0, 0, 0x0147, /* LATIN_CAPITAL_LETTER_N_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_R, 0, 0, 0x0158, /* LATIN_CAPITAL_LETTER_R_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_S, 0, 0, 0x0160, /* LATIN_CAPITAL_LETTER_S_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_T, 0, 0, 0x0164, /* LATIN_CAPITAL_LETTER_T_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_Z, 0, 0, 0x017D, /* LATIN_CAPITAL_LETTER_Z_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_c, 0, 0, 0x010D, /* LATIN_SMALL_LETTER_C_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_d, 0, 0, 0x010F, /* LATIN_SMALL_LETTER_D_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_e, 0, 0, 0x011B, /* LATIN_SMALL_LETTER_E_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_l, 0, 0, 0x013E, /* LATIN_SMALL_LETTER_L_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_n, 0, 0, 0x0148, /* LATIN_SMALL_LETTER_N_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_r, 0, 0, 0x0159, /* LATIN_SMALL_LETTER_R_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_s, 0, 0, 0x0161, /* LATIN_SMALL_LETTER_S_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_t, 0, 0, 0x0165, /* LATIN_SMALL_LETTER_T_WITH_CARON */ - GDK_Multi_key, GDK_less, GDK_z, 0, 0, 0x017E, /* LATIN_SMALL_LETTER_Z_WITH_CARON */ - GDK_Multi_key, GDK_equal, GDK_C, 0, 0, 0x20AC, /* EURO_SIGN */ - GDK_Multi_key, GDK_equal, GDK_L, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_equal, GDK_Y, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_equal, GDK_e, 0, 0, 0x20AC, /* EURO_SIGN */ - GDK_Multi_key, GDK_equal, GDK_l, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_equal, GDK_y, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_greater, GDK_space, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_Multi_key, GDK_greater, GDK_apostrophe, 0, 0, 0x2019, /* RIGHT SINGLE QUOTATION MARK */ - GDK_Multi_key, GDK_greater, GDK_greater, 0, 0, 0x00BB, /* RIGHTxPOINTING_DOUBLE_ANGLE_QUOTATION_MARK */ - GDK_Multi_key, GDK_greater, GDK_A, 0, 0, 0x00C2, /* LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_E, 0, 0, 0x00CA, /* LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_I, 0, 0, 0x00CE, /* LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_O, 0, 0, 0x00D4, /* LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_U, 0, 0, 0x00DB, /* LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_a, 0, 0, 0x00E2, /* LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_e, 0, 0, 0x00EA, /* LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_i, 0, 0, 0x00EE, /* LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_o, 0, 0, 0x00F4, /* LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_greater, GDK_u, 0, 0, 0x00FB, /* LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_question, GDK_question, 0, 0, 0x00BF, /* INVERTED_QUESTION_MARK */ - GDK_Multi_key, GDK_A, GDK_quotedbl, 0, 0, 0x00C4, /* LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_A, GDK_apostrophe, 0, 0, 0x00C1, /* LATIN_CAPITAL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_A, GDK_parenleft, 0, 0, 0x0102, /* LATIN_CAPITAL_LETTER_A_WITH_BREVE */ - GDK_Multi_key, GDK_A, GDK_asterisk, 0, 0, 0x00C5, /* LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_A, GDK_comma, 0, 0, 0x0104, /* LATIN_CAPITAL_LETTER_A_WITH_OGONEK */ - GDK_Multi_key, GDK_A, GDK_minus, 0, 0, 0x00C3, /* LATIN_CAPITAL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_A, GDK_greater, 0, 0, 0x00C2, /* LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_A, GDK_A, 0, 0, 0x00C5, /* LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_A, GDK_E, 0, 0, 0x00C6, /* LATIN_CAPITAL_LETTER_AE */ - GDK_Multi_key, GDK_A, GDK_asciicircum, 0, 0, 0x00C2, /* LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_A, GDK_underscore, 0, 0, 0x00AA, /* FEMININE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_A, GDK_grave, 0, 0, 0x00C0, /* LATIN_CAPITAL_LETTER_A_WITH_GRAVE */ - GDK_Multi_key, GDK_A, GDK_asciitilde, 0, 0, 0x00C3, /* LATIN_CAPITAL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_A, GDK_diaeresis, 0, 0, 0x00C4, /* LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_A, GDK_acute, 0, 0, 0x00C1, /* LATIN_CAPITAL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_B, GDK_period, 0, 0, 0x1E02, /* LATIN_CAPITAL_LETTER_B_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_C, GDK_apostrophe, 0, 0, 0x0106, /* LATIN_CAPITAL_LETTER_C_WITH_ACUTE */ - GDK_Multi_key, GDK_C, GDK_comma, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */ - GDK_Multi_key, GDK_C, GDK_period, 0, 0, 0x010A, /* LATIN_CAPITAL_LETTER_C_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_C, GDK_slash, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_C, GDK_0, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_C, GDK_less, 0, 0, 0x010C, /* LATIN_CAPITAL_LETTER_C_WITH_CARON */ - GDK_Multi_key, GDK_C, GDK_equal, 0, 0, 0x20AC, /* EURO_SIGN */ - GDK_Multi_key, GDK_C, GDK_O, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_C, GDK_o, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_C, GDK_bar, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_D, GDK_minus, 0, 0, 0x0110, /* LATIN_CAPITAL_LETTER_D_WITH_STROKE */ - GDK_Multi_key, GDK_D, GDK_period, 0, 0, 0x1E0A, /* LATIN_CAPITAL_LETTER_D_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_D, GDK_less, 0, 0, 0x010E, /* LATIN_CAPITAL_LETTER_D_WITH_CARON */ - GDK_Multi_key, GDK_E, GDK_quotedbl, 0, 0, 0x00CB, /* LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_E, GDK_apostrophe, 0, 0, 0x00C9, /* LATIN_CAPITAL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_E, GDK_comma, 0, 0, 0x0118, /* LATIN_CAPITAL_LETTER_E_WITH_OGONEK */ - GDK_Multi_key, GDK_E, GDK_minus, 0, 0, 0x0112, /* LATIN_CAPITAL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_E, GDK_period, 0, 0, 0x0116, /* LATIN_CAPITAL_LETTER_E_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_E, GDK_less, 0, 0, 0x011A, /* LATIN_CAPITAL_LETTER_E_WITH_CARON */ - GDK_Multi_key, GDK_E, GDK_greater, 0, 0, 0x00CA, /* LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_E, GDK_asciicircum, 0, 0, 0x00CA, /* LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_E, GDK_underscore, 0, 0, 0x0112, /* LATIN_CAPITAL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_E, GDK_grave, 0, 0, 0x00C8, /* LATIN_CAPITAL_LETTER_E_WITH_GRAVE */ - GDK_Multi_key, GDK_E, GDK_diaeresis, 0, 0, 0x00CB, /* LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_E, GDK_acute, 0, 0, 0x00C9, /* LATIN_CAPITAL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_F, GDK_period, 0, 0, 0x1E1E, /* LATIN_CAPITAL_LETTER_F_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_G, GDK_parenleft, 0, 0, 0x011E, /* LATIN_CAPITAL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_G, GDK_comma, 0, 0, 0x0122, /* LATIN_CAPITAL_LETTER_G_WITH_CEDILLA */ - GDK_Multi_key, GDK_G, GDK_period, 0, 0, 0x0120, /* LATIN_CAPITAL_LETTER_G_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_G, GDK_U, 0, 0, 0x011E, /* LATIN_CAPITAL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_G, GDK_breve, 0, 0, 0x011E, /* LATIN_CAPITAL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_I, GDK_quotedbl, 0, 0, 0x00CF, /* LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_I, GDK_apostrophe, 0, 0, 0x00CD, /* LATIN_CAPITAL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_I, GDK_comma, 0, 0, 0x012E, /* LATIN_CAPITAL_LETTER_I_WITH_OGONEK */ - GDK_Multi_key, GDK_I, GDK_minus, 0, 0, 0x012A, /* LATIN_CAPITAL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_I, GDK_period, 0, 0, 0x0130, /* LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_I, GDK_greater, 0, 0, 0x00CE, /* LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_I, GDK_asciicircum, 0, 0, 0x00CE, /* LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_I, GDK_underscore, 0, 0, 0x012A, /* LATIN_CAPITAL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_I, GDK_grave, 0, 0, 0x00CC, /* LATIN_CAPITAL_LETTER_I_WITH_GRAVE */ - GDK_Multi_key, GDK_I, GDK_asciitilde, 0, 0, 0x0128, /* LATIN_CAPITAL_LETTER_I_WITH_TILDE */ - GDK_Multi_key, GDK_I, GDK_diaeresis, 0, 0, 0x00CF, /* LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_I, GDK_acute, 0, 0, 0x00CD, /* LATIN_CAPITAL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_K, GDK_comma, 0, 0, 0x0136, /* LATIN_CAPITAL_LETTER_K_WITH_CEDILLA */ - GDK_Multi_key, GDK_L, GDK_apostrophe, 0, 0, 0x0139, /* LATIN_CAPITAL_LETTER_L_WITH_ACUTE */ - GDK_Multi_key, GDK_L, GDK_comma, 0, 0, 0x013B, /* LATIN_CAPITAL_LETTER_L_WITH_CEDILLA */ - GDK_Multi_key, GDK_L, GDK_minus, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_L, GDK_slash, 0, 0, 0x0141, /* LATIN_CAPITAL_LETTER_L_WITH_STROKE */ - GDK_Multi_key, GDK_L, GDK_less, 0, 0, 0x013D, /* LATIN_CAPITAL_LETTER_L_WITH_CARON */ - GDK_Multi_key, GDK_L, GDK_equal, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_L, GDK_V, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_Multi_key, GDK_M, GDK_period, 0, 0, 0x1E40, /* LATIN_CAPITAL_LETTER_M_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_N, GDK_apostrophe, 0, 0, 0x0143, /* LATIN_CAPITAL_LETTER_N_WITH_ACUTE */ - GDK_Multi_key, GDK_N, GDK_comma, 0, 0, 0x0145, /* LATIN_CAPITAL_LETTER_N_WITH_CEDILLA */ - GDK_Multi_key, GDK_N, GDK_minus, 0, 0, 0x00D1, /* LATIN_CAPITAL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_N, GDK_less, 0, 0, 0x0147, /* LATIN_CAPITAL_LETTER_N_WITH_CARON */ - GDK_Multi_key, GDK_N, GDK_G, 0, 0, 0x014A, /* LATIN_CAPITAL_LETTER_ENG */ - GDK_Multi_key, GDK_N, GDK_asciitilde, 0, 0, 0x00D1, /* LATIN_CAPITAL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_O, GDK_quotedbl, 0, 0, 0x00D6, /* LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_O, GDK_apostrophe, 0, 0, 0x00D3, /* LATIN_CAPITAL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_O, GDK_minus, 0, 0, 0x00D5, /* LATIN_CAPITAL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_O, GDK_slash, 0, 0, 0x00D8, /* LATIN_CAPITAL_LETTER_O_WITH_STROKE */ - GDK_Multi_key, GDK_O, GDK_greater, 0, 0, 0x00D4, /* LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_O, GDK_C, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_O, GDK_E, 0, 0, 0x0152, /* LATIN_CAPITAL_LIGATURE_OE */ - GDK_Multi_key, GDK_O, GDK_R, 0, 0, 0x00AE, /* REGISTERED_SIGN */ - GDK_Multi_key, GDK_O, GDK_S, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_O, GDK_X, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_O, GDK_asciicircum, 0, 0, 0x00D4, /* LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_O, GDK_underscore, 0, 0, 0x00BA, /* MASCULINE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_O, GDK_grave, 0, 0, 0x00D2, /* LATIN_CAPITAL_LETTER_O_WITH_GRAVE */ - GDK_Multi_key, GDK_O, GDK_c, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_O, GDK_x, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_O, GDK_asciitilde, 0, 0, 0x00D5, /* LATIN_CAPITAL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_O, GDK_diaeresis, 0, 0, 0x00D6, /* LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_O, GDK_acute, 0, 0, 0x00D3, /* LATIN_CAPITAL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_P, GDK_exclam, 0, 0, 0x00B6, /* PILCROW_SIGN */ - GDK_Multi_key, GDK_P, GDK_period, 0, 0, 0x1E56, /* LATIN_CAPITAL_LETTER_P_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_R, GDK_apostrophe, 0, 0, 0x0154, /* LATIN_CAPITAL_LETTER_R_WITH_ACUTE */ - GDK_Multi_key, GDK_R, GDK_comma, 0, 0, 0x0156, /* LATIN_CAPITAL_LETTER_R_WITH_CEDILLA */ - GDK_Multi_key, GDK_R, GDK_less, 0, 0, 0x0158, /* LATIN_CAPITAL_LETTER_R_WITH_CARON */ - GDK_Multi_key, GDK_R, GDK_O, 0, 0, 0x00AE, /* REGISTERED_SIGN */ - GDK_Multi_key, GDK_S, GDK_exclam, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_S, GDK_apostrophe, 0, 0, 0x015A, /* LATIN_CAPITAL_LETTER_S_WITH_ACUTE */ - GDK_Multi_key, GDK_S, GDK_comma, 0, 0, 0x015E, /* LATIN_CAPITAL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_S, GDK_period, 0, 0, 0x1E60, /* LATIN_CAPITAL_LETTER_S_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_S, GDK_0, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_S, GDK_1, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_Multi_key, GDK_S, GDK_2, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_Multi_key, GDK_S, GDK_3, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_Multi_key, GDK_S, GDK_less, 0, 0, 0x0160, /* LATIN_CAPITAL_LETTER_S_WITH_CARON */ - GDK_Multi_key, GDK_S, GDK_O, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_S, GDK_cedilla, 0, 0, 0x015E, /* LATIN_CAPITAL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_T, GDK_minus, 0, 0, 0x0166, /* LATIN_CAPITAL_LETTER_T_WITH_STROKE */ - GDK_Multi_key, GDK_T, GDK_period, 0, 0, 0x1E6A, /* LATIN_CAPITAL_LETTER_T_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_T, GDK_slash, 0, 0, 0x0166, /* LATIN_CAPITAL_LETTER_T_WITH_STROKE */ - GDK_Multi_key, GDK_T, GDK_less, 0, 0, 0x0164, /* LATIN_CAPITAL_LETTER_T_WITH_CARON */ - GDK_Multi_key, GDK_T, GDK_H, 0, 0, 0x00DE, /* LATIN_CAPITAL_LETTER_THORN */ - GDK_Multi_key, GDK_U, GDK_quotedbl, 0, 0, 0x00DC, /* LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_U, GDK_apostrophe, 0, 0, 0x00DA, /* LATIN_CAPITAL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_U, GDK_asterisk, 0, 0, 0x016E, /* LATIN_CAPITAL_LETTER_U_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_U, GDK_comma, 0, 0, 0x0172, /* LATIN_CAPITAL_LETTER_U_WITH_OGONEK */ - GDK_Multi_key, GDK_U, GDK_minus, 0, 0, 0x016A, /* LATIN_CAPITAL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_U, GDK_slash, 0, 0, 0x00B5, /* MICRO_SIGN */ - GDK_Multi_key, GDK_U, GDK_greater, 0, 0, 0x00DB, /* LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_U, GDK_asciicircum, 0, 0, 0x00DB, /* LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_U, GDK_underscore, 0, 0, 0x016A, /* LATIN_CAPITAL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_U, GDK_grave, 0, 0, 0x00D9, /* LATIN_CAPITAL_LETTER_U_WITH_GRAVE */ - GDK_Multi_key, GDK_U, GDK_asciitilde, 0, 0, 0x0168, /* LATIN_CAPITAL_LETTER_U_WITH_TILDE */ - GDK_Multi_key, GDK_U, GDK_diaeresis, 0, 0, 0x00DC, /* LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_U, GDK_acute, 0, 0, 0x00DA, /* LATIN_CAPITAL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_V, GDK_L, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_Multi_key, GDK_W, GDK_asciicircum, 0, 0, 0x0174, /* LATIN_CAPITAL_LETTER_W_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_X, GDK_0, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_X, GDK_O, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_X, GDK_o, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_Y, GDK_quotedbl, 0, 0, 0x0178, /* LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_Y, GDK_apostrophe, 0, 0, 0x00DD, /* LATIN_CAPITAL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_Y, GDK_minus, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_Y, GDK_equal, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_Y, GDK_asciicircum, 0, 0, 0x0176, /* LATIN_CAPITAL_LETTER_Y_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_Y, GDK_diaeresis, 0, 0, 0x0178, /* LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_Y, GDK_acute, 0, 0, 0x00DD, /* LATIN_CAPITAL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_Z, GDK_apostrophe, 0, 0, 0x0179, /* LATIN_CAPITAL_LETTER_Z_WITH_ACUTE */ - GDK_Multi_key, GDK_Z, GDK_period, 0, 0, 0x017B, /* LATIN_CAPITAL_LETTER_Z_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_Z, GDK_less, 0, 0, 0x017D, /* LATIN_CAPITAL_LETTER_Z_WITH_CARON */ - GDK_Multi_key, GDK_asciicircum, GDK_space, 0, 0, 0x005E, /* CIRCUMFLEX_ACCENT */ - GDK_Multi_key, GDK_asciicircum, GDK_minus, 0, 0, 0x00AF, /* MACRON */ - GDK_Multi_key, GDK_asciicircum, GDK_period, 0, 0, 0x00B7, /* MIDDLE_DOT */ - GDK_Multi_key, GDK_asciicircum, GDK_slash, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_Multi_key, GDK_asciicircum, GDK_0, 0, 0, 0x00B0, /* DEGREE_SIGN */ - GDK_Multi_key, GDK_asciicircum, GDK_1, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_Multi_key, GDK_asciicircum, GDK_2, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_Multi_key, GDK_asciicircum, GDK_3, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_Multi_key, GDK_asciicircum, GDK_A, 0, 0, 0x00C2, /* LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_E, 0, 0, 0x00CA, /* LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_I, 0, 0, 0x00CE, /* LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_O, 0, 0, 0x00D4, /* LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_U, 0, 0, 0x00DB, /* LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_W, 0, 0, 0x0174, /* LATIN_CAPITAL_LETTER_W_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_Y, 0, 0, 0x0176, /* LATIN_CAPITAL_LETTER_Y_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_underscore, 0, 0, 0x00AF, /* MACRON */ - GDK_Multi_key, GDK_asciicircum, GDK_a, 0, 0, 0x00E2, /* LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_e, 0, 0, 0x00EA, /* LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_i, 0, 0, 0x00EE, /* LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_o, 0, 0, 0x00F4, /* LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_u, 0, 0, 0x00FB, /* LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_w, 0, 0, 0x0175, /* LATIN_SMALL_LETTER_W_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_asciicircum, GDK_y, 0, 0, 0x0177, /* LATIN_SMALL_LETTER_Y_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_underscore, GDK_A, 0, 0, 0x00AA, /* FEMININE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_underscore, GDK_E, 0, 0, 0x0112, /* LATIN_CAPITAL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_underscore, GDK_I, 0, 0, 0x012A, /* LATIN_CAPITAL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_underscore, GDK_O, 0, 0, 0x00BA, /* MASCULINE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_underscore, GDK_U, 0, 0, 0x016A, /* LATIN_CAPITAL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_underscore, GDK_asciicircum, 0, 0, 0x00AF, /* MACRON */ - GDK_Multi_key, GDK_underscore, GDK_underscore, 0, 0, 0x00AF, /* MACRON */ - GDK_Multi_key, GDK_underscore, GDK_a, 0, 0, 0x00AA, /* FEMININE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_underscore, GDK_e, 0, 0, 0x0113, /* LATIN_SMALL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_underscore, GDK_i, 0, 0, 0x012B, /* LATIN_SMALL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_underscore, GDK_o, 0, 0, 0x00BA, /* MASCULINE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_underscore, GDK_u, 0, 0, 0x016B, /* LATIN_SMALL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_grave, GDK_space, 0, 0, 0x0060, /* GRAVE_ACCENT */ - GDK_Multi_key, GDK_grave, GDK_A, 0, 0, 0x00C0, /* LATIN_CAPITAL_LETTER_A_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_E, 0, 0, 0x00C8, /* LATIN_CAPITAL_LETTER_E_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_I, 0, 0, 0x00CC, /* LATIN_CAPITAL_LETTER_I_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_O, 0, 0, 0x00D2, /* LATIN_CAPITAL_LETTER_O_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_U, 0, 0, 0x00D9, /* LATIN_CAPITAL_LETTER_U_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_a, 0, 0, 0x00E0, /* LATIN_SMALL_LETTER_A_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_e, 0, 0, 0x00E8, /* LATIN_SMALL_LETTER_E_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_i, 0, 0, 0x00EC, /* LATIN_SMALL_LETTER_I_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_o, 0, 0, 0x00F2, /* LATIN_SMALL_LETTER_O_WITH_GRAVE */ - GDK_Multi_key, GDK_grave, GDK_u, 0, 0, 0x00F9, /* LATIN_SMALL_LETTER_U_WITH_GRAVE */ - GDK_Multi_key, GDK_a, GDK_quotedbl, 0, 0, 0x00E4, /* LATIN_SMALL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_a, GDK_apostrophe, 0, 0, 0x00E1, /* LATIN_SMALL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_a, GDK_parenleft, 0, 0, 0x0103, /* LATIN_SMALL_LETTER_A_WITH_BREVE */ - GDK_Multi_key, GDK_a, GDK_asterisk, 0, 0, 0x00E5, /* LATIN_SMALL_LETTER_A_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_a, GDK_comma, 0, 0, 0x0105, /* LATIN_SMALL_LETTER_A_WITH_OGONEK */ - GDK_Multi_key, GDK_a, GDK_minus, 0, 0, 0x00E3, /* LATIN_SMALL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_a, GDK_greater, 0, 0, 0x00E2, /* LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_a, GDK_asciicircum, 0, 0, 0x00E2, /* LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_a, GDK_underscore, 0, 0, 0x00AA, /* FEMININE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_a, GDK_grave, 0, 0, 0x00E0, /* LATIN_SMALL_LETTER_A_WITH_GRAVE */ - GDK_Multi_key, GDK_a, GDK_a, 0, 0, 0x00E5, /* LATIN_SMALL_LETTER_A_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_a, GDK_e, 0, 0, 0x00E6, /* LATIN_SMALL_LETTER_AE */ - GDK_Multi_key, GDK_a, GDK_asciitilde, 0, 0, 0x00E3, /* LATIN_SMALL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_a, GDK_diaeresis, 0, 0, 0x00E4, /* LATIN_SMALL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_a, GDK_acute, 0, 0, 0x00E1, /* LATIN_SMALL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_b, GDK_period, 0, 0, 0x1E03, /* LATIN_SMALL_LETTER_B_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_c, GDK_apostrophe, 0, 0, 0x0107, /* LATIN_SMALL_LETTER_C_WITH_ACUTE */ - GDK_Multi_key, GDK_c, GDK_comma, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */ - GDK_Multi_key, GDK_c, GDK_period, 0, 0, 0x010B, /* LATIN_SMALL_LETTER_C_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_c, GDK_slash, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_c, GDK_0, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_c, GDK_less, 0, 0, 0x010D, /* LATIN_SMALL_LETTER_C_WITH_CARON */ - GDK_Multi_key, GDK_c, GDK_O, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_c, GDK_o, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_c, GDK_bar, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_d, GDK_minus, 0, 0, 0x0111, /* LATIN_SMALL_LETTER_D_WITH_STROKE */ - GDK_Multi_key, GDK_d, GDK_period, 0, 0, 0x1E0B, /* LATIN_SMALL_LETTER_D_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_d, GDK_less, 0, 0, 0x010F, /* LATIN_SMALL_LETTER_D_WITH_CARON */ - GDK_Multi_key, GDK_e, GDK_quotedbl, 0, 0, 0x00EB, /* LATIN_SMALL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_e, GDK_apostrophe, 0, 0, 0x00E9, /* LATIN_SMALL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_e, GDK_comma, 0, 0, 0x0119, /* LATIN_SMALL_LETTER_E_WITH_OGONEK */ - GDK_Multi_key, GDK_e, GDK_minus, 0, 0, 0x0113, /* LATIN_SMALL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_e, GDK_period, 0, 0, 0x0117, /* LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_e, GDK_less, 0, 0, 0x011B, /* LATIN_SMALL_LETTER_E_WITH_CARON */ - GDK_Multi_key, GDK_e, GDK_equal, 0, 0, 0x20AC, /* EURO_SIGN */ - GDK_Multi_key, GDK_e, GDK_greater, 0, 0, 0x00EA, /* LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_e, GDK_asciicircum, 0, 0, 0x00EA, /* LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_e, GDK_underscore, 0, 0, 0x0113, /* LATIN_SMALL_LETTER_E_WITH_MACRON */ - GDK_Multi_key, GDK_e, GDK_grave, 0, 0, 0x00E8, /* LATIN_SMALL_LETTER_E_WITH_GRAVE */ - GDK_Multi_key, GDK_e, GDK_diaeresis, 0, 0, 0x00EB, /* LATIN_SMALL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_e, GDK_acute, 0, 0, 0x00E9, /* LATIN_SMALL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_f, GDK_period, 0, 0, 0x1E1F, /* LATIN_SMALL_LETTER_F_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_g, GDK_parenleft, 0, 0, 0x011F, /* LATIN_SMALL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_g, GDK_comma, 0, 0, 0x0123, /* LATIN_SMALL_LETTER_G_WITH_CEDILLA */ - GDK_Multi_key, GDK_g, GDK_period, 0, 0, 0x0121, /* LATIN_SMALL_LETTER_G_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_g, GDK_U, 0, 0, 0x011F, /* LATIN_SMALL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_g, GDK_breve, 0, 0, 0x011F, /* LATIN_SMALL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_i, GDK_quotedbl, 0, 0, 0x00EF, /* LATIN_SMALL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_i, GDK_apostrophe, 0, 0, 0x00ED, /* LATIN_SMALL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_i, GDK_comma, 0, 0, 0x012F, /* LATIN_SMALL_LETTER_I_WITH_OGONEK */ - GDK_Multi_key, GDK_i, GDK_minus, 0, 0, 0x012B, /* LATIN_SMALL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_i, GDK_period, 0, 0, 0x0131, /* LATIN_SMALL_LETTER_DOTLESS_I */ - GDK_Multi_key, GDK_i, GDK_greater, 0, 0, 0x00EE, /* LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_i, GDK_asciicircum, 0, 0, 0x00EE, /* LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_i, GDK_underscore, 0, 0, 0x012B, /* LATIN_SMALL_LETTER_I_WITH_MACRON */ - GDK_Multi_key, GDK_i, GDK_grave, 0, 0, 0x00EC, /* LATIN_SMALL_LETTER_I_WITH_GRAVE */ - GDK_Multi_key, GDK_i, GDK_asciitilde, 0, 0, 0x0129, /* LATIN_SMALL_LETTER_I_WITH_TILDE */ - GDK_Multi_key, GDK_i, GDK_diaeresis, 0, 0, 0x00EF, /* LATIN_SMALL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_i, GDK_acute, 0, 0, 0x00ED, /* LATIN_SMALL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_k, GDK_comma, 0, 0, 0x0137, /* LATIN_SMALL_LETTER_K_WITH_CEDILLA */ - GDK_Multi_key, GDK_k, GDK_k, 0, 0, 0x0138, /* LATIN_SMALL_LETTER_KRA */ - GDK_Multi_key, GDK_l, GDK_apostrophe, 0, 0, 0x013A, /* LATIN_SMALL_LETTER_L_WITH_ACUTE */ - GDK_Multi_key, GDK_l, GDK_comma, 0, 0, 0x013C, /* LATIN_SMALL_LETTER_L_WITH_CEDILLA */ - GDK_Multi_key, GDK_l, GDK_minus, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_l, GDK_slash, 0, 0, 0x0142, /* LATIN_SMALL_LETTER_L_WITH_STROKE */ - GDK_Multi_key, GDK_l, GDK_less, 0, 0, 0x013E, /* LATIN_SMALL_LETTER_L_WITH_CARON */ - GDK_Multi_key, GDK_l, GDK_equal, 0, 0, 0x00A3, /* POUND_SIGN */ - GDK_Multi_key, GDK_l, GDK_v, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_Multi_key, GDK_m, GDK_period, 0, 0, 0x1E41, /* LATIN_SMALL_LETTER_M_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_n, GDK_apostrophe, 0, 0, 0x0144, /* LATIN_SMALL_LETTER_N_WITH_ACUTE */ - GDK_Multi_key, GDK_n, GDK_comma, 0, 0, 0x0146, /* LATIN_SMALL_LETTER_N_WITH_CEDILLA */ - GDK_Multi_key, GDK_n, GDK_minus, 0, 0, 0x00F1, /* LATIN_SMALL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_n, GDK_less, 0, 0, 0x0148, /* LATIN_SMALL_LETTER_N_WITH_CARON */ - GDK_Multi_key, GDK_n, GDK_g, 0, 0, 0x014B, /* LATIN_SMALL_LETTER_ENG */ - GDK_Multi_key, GDK_n, GDK_asciitilde, 0, 0, 0x00F1, /* LATIN_SMALL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_o, GDK_quotedbl, 0, 0, 0x00F6, /* LATIN_SMALL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_o, GDK_apostrophe, 0, 0, 0x00F3, /* LATIN_SMALL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_o, GDK_minus, 0, 0, 0x00F5, /* LATIN_SMALL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_o, GDK_slash, 0, 0, 0x00F8, /* LATIN_SMALL_LETTER_O_WITH_STROKE */ - GDK_Multi_key, GDK_o, GDK_greater, 0, 0, 0x00F4, /* LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_o, GDK_C, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_o, GDK_X, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_o, GDK_asciicircum, 0, 0, 0x00F4, /* LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_o, GDK_underscore, 0, 0, 0x00BA, /* MASCULINE_ORDINAL_INDICATOR */ - GDK_Multi_key, GDK_o, GDK_grave, 0, 0, 0x00F2, /* LATIN_SMALL_LETTER_O_WITH_GRAVE */ - GDK_Multi_key, GDK_o, GDK_c, 0, 0, 0x00A9, /* COPYRIGHT_SIGN */ - GDK_Multi_key, GDK_o, GDK_e, 0, 0, 0x0153, /* LATIN_SMALL_LIGATURE_OE */ - GDK_Multi_key, GDK_o, GDK_s, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_o, GDK_x, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_o, GDK_asciitilde, 0, 0, 0x00F5, /* LATIN_SMALL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_o, GDK_diaeresis, 0, 0, 0x00F6, /* LATIN_SMALL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_o, GDK_acute, 0, 0, 0x00F3, /* LATIN_SMALL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_p, GDK_exclam, 0, 0, 0x00B6, /* PILCROW_SIGN */ - GDK_Multi_key, GDK_p, GDK_period, 0, 0, 0x1E57, /* LATIN_SMALL_LETTER_P_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_r, GDK_apostrophe, 0, 0, 0x0155, /* LATIN_SMALL_LETTER_R_WITH_ACUTE */ - GDK_Multi_key, GDK_r, GDK_comma, 0, 0, 0x0157, /* LATIN_SMALL_LETTER_R_WITH_CEDILLA */ - GDK_Multi_key, GDK_r, GDK_less, 0, 0, 0x0159, /* LATIN_SMALL_LETTER_R_WITH_CARON */ - GDK_Multi_key, GDK_s, GDK_exclam, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_s, GDK_apostrophe, 0, 0, 0x015B, /* LATIN_SMALL_LETTER_S_WITH_ACUTE */ - GDK_Multi_key, GDK_s, GDK_comma, 0, 0, 0x015F, /* LATIN_SMALL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_s, GDK_period, 0, 0, 0x1E61, /* LATIN_SMALL_LETTER_S_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_s, GDK_0, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_s, GDK_1, 0, 0, 0x00B9, /* SUPERSCRIPT_ONE */ - GDK_Multi_key, GDK_s, GDK_2, 0, 0, 0x00B2, /* SUPERSCRIPT_TWO */ - GDK_Multi_key, GDK_s, GDK_3, 0, 0, 0x00B3, /* SUPERSCRIPT_THREE */ - GDK_Multi_key, GDK_s, GDK_less, 0, 0, 0x0161, /* LATIN_SMALL_LETTER_S_WITH_CARON */ - GDK_Multi_key, GDK_s, GDK_o, 0, 0, 0x00A7, /* SECTION_SIGN */ - GDK_Multi_key, GDK_s, GDK_s, 0, 0, 0x00DF, /* LATIN_SMALL_LETTER_SHARP_S */ - GDK_Multi_key, GDK_s, GDK_cedilla, 0, 0, 0x015F, /* LATIN_SMALL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_t, GDK_minus, 0, 0, 0x0167, /* LATIN_SMALL_LETTER_T_WITH_STROKE */ - GDK_Multi_key, GDK_t, GDK_period, 0, 0, 0x1E6B, /* LATIN_SMALL_LETTER_T_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_t, GDK_slash, 0, 0, 0x0167, /* LATIN_SMALL_LETTER_T_WITH_STROKE */ - GDK_Multi_key, GDK_t, GDK_less, 0, 0, 0x0165, /* LATIN_SMALL_LETTER_T_WITH_CARON */ - GDK_Multi_key, GDK_t, GDK_h, 0, 0, 0x00FE, /* LATIN_SMALL_LETTER_THORN */ - GDK_Multi_key, GDK_u, GDK_quotedbl, 0, 0, 0x00FC, /* LATIN_SMALL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_u, GDK_apostrophe, 0, 0, 0x00FA, /* LATIN_SMALL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_u, GDK_asterisk, 0, 0, 0x016F, /* LATIN_SMALL_LETTER_U_WITH_RING_ABOVE */ - GDK_Multi_key, GDK_u, GDK_comma, 0, 0, 0x0173, /* LATIN_SMALL_LETTER_U_WITH_OGONEK */ - GDK_Multi_key, GDK_u, GDK_minus, 0, 0, 0x016B, /* LATIN_SMALL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_u, GDK_slash, 0, 0, 0x00B5, /* MICRO_SIGN */ - GDK_Multi_key, GDK_u, GDK_greater, 0, 0, 0x00FB, /* LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_u, GDK_asciicircum, 0, 0, 0x00FB, /* LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_u, GDK_underscore, 0, 0, 0x016B, /* LATIN_SMALL_LETTER_U_WITH_MACRON */ - GDK_Multi_key, GDK_u, GDK_grave, 0, 0, 0x00F9, /* LATIN_SMALL_LETTER_U_WITH_GRAVE */ - GDK_Multi_key, GDK_u, GDK_asciitilde, 0, 0, 0x0169, /* LATIN_SMALL_LETTER_U_WITH_TILDE */ - GDK_Multi_key, GDK_u, GDK_diaeresis, 0, 0, 0x00FC, /* LATIN_SMALL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_u, GDK_acute, 0, 0, 0x00FA, /* LATIN_SMALL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_v, GDK_Z, 0, 0, 0x017D, /* LATIN_CAPITAL_LETTER_Z_WITH_CARON */ - GDK_Multi_key, GDK_v, GDK_l, 0, 0, 0x007C, /* VERTICAL_LINE */ - GDK_Multi_key, GDK_v, GDK_z, 0, 0, 0x017E, /* LATIN_SMALL_LETTER_Z_WITH_CARON */ - GDK_Multi_key, GDK_w, GDK_asciicircum, 0, 0, 0x0175, /* LATIN_SMALL_LETTER_W_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_x, GDK_0, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_x, GDK_O, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_x, GDK_o, 0, 0, 0x00A4, /* CURRENCY_SIGN */ - GDK_Multi_key, GDK_x, GDK_x, 0, 0, 0x00D7, /* MULTIPLICATION_SIGN */ - GDK_Multi_key, GDK_y, GDK_quotedbl, 0, 0, 0x00FF, /* LATIN_SMALL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_y, GDK_apostrophe, 0, 0, 0x00FD, /* LATIN_SMALL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_y, GDK_minus, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_y, GDK_equal, 0, 0, 0x00A5, /* YEN_SIGN */ - GDK_Multi_key, GDK_y, GDK_asciicircum, 0, 0, 0x0177, /* LATIN_SMALL_LETTER_Y_WITH_CIRCUMFLEX */ - GDK_Multi_key, GDK_y, GDK_diaeresis, 0, 0, 0x00FF, /* LATIN_SMALL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_y, GDK_acute, 0, 0, 0x00FD, /* LATIN_SMALL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_z, GDK_apostrophe, 0, 0, 0x017A, /* LATIN_SMALL_LETTER_Z_WITH_ACUTE */ - GDK_Multi_key, GDK_z, GDK_period, 0, 0, 0x017C, /* LATIN_SMALL_LETTER_Z_WITH_DOT_ABOVE */ - GDK_Multi_key, GDK_z, GDK_less, 0, 0, 0x017E, /* LATIN_SMALL_LETTER_Z_WITH_CARON */ - GDK_Multi_key, GDK_bar, GDK_C, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_bar, GDK_c, 0, 0, 0x00A2, /* CENT_SIGN */ - GDK_Multi_key, GDK_asciitilde, GDK_space, 0, 0, 0x007E, /* TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_A, 0, 0, 0x00C3, /* LATIN_CAPITAL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_I, 0, 0, 0x0128, /* LATIN_CAPITAL_LETTER_I_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_N, 0, 0, 0x00D1, /* LATIN_CAPITAL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_O, 0, 0, 0x00D5, /* LATIN_CAPITAL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_U, 0, 0, 0x0168, /* LATIN_CAPITAL_LETTER_U_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_a, 0, 0, 0x00E3, /* LATIN_SMALL_LETTER_A_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_i, 0, 0, 0x0129, /* LATIN_SMALL_LETTER_I_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_n, 0, 0, 0x00F1, /* LATIN_SMALL_LETTER_N_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_o, 0, 0, 0x00F5, /* LATIN_SMALL_LETTER_O_WITH_TILDE */ - GDK_Multi_key, GDK_asciitilde, GDK_u, 0, 0, 0x0169, /* LATIN_SMALL_LETTER_U_WITH_TILDE */ - GDK_Multi_key, GDK_diaeresis, GDK_A, 0, 0, 0x00C4, /* LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_E, 0, 0, 0x00CB, /* LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_I, 0, 0, 0x00CF, /* LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_O, 0, 0, 0x00D6, /* LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_U, 0, 0, 0x00DC, /* LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_Y, 0, 0, 0x0178, /* LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_a, 0, 0, 0x00E4, /* LATIN_SMALL_LETTER_A_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_e, 0, 0, 0x00EB, /* LATIN_SMALL_LETTER_E_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_i, 0, 0, 0x00EF, /* LATIN_SMALL_LETTER_I_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_o, 0, 0, 0x00F6, /* LATIN_SMALL_LETTER_O_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_u, 0, 0, 0x00FC, /* LATIN_SMALL_LETTER_U_WITH_DIAERESIS */ - GDK_Multi_key, GDK_diaeresis, GDK_y, 0, 0, 0x00FF, /* LATIN_SMALL_LETTER_Y_WITH_DIAERESIS */ - GDK_Multi_key, GDK_acute, GDK_A, 0, 0, 0x00C1, /* LATIN_CAPITAL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_E, 0, 0, 0x00C9, /* LATIN_CAPITAL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_I, 0, 0, 0x00CD, /* LATIN_CAPITAL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_O, 0, 0, 0x00D3, /* LATIN_CAPITAL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_U, 0, 0, 0x00DA, /* LATIN_CAPITAL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_Y, 0, 0, 0x00DD, /* LATIN_CAPITAL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_a, 0, 0, 0x00E1, /* LATIN_SMALL_LETTER_A_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_e, 0, 0, 0x00E9, /* LATIN_SMALL_LETTER_E_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_i, 0, 0, 0x00ED, /* LATIN_SMALL_LETTER_I_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_o, 0, 0, 0x00F3, /* LATIN_SMALL_LETTER_O_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_u, 0, 0, 0x00FA, /* LATIN_SMALL_LETTER_U_WITH_ACUTE */ - GDK_Multi_key, GDK_acute, GDK_y, 0, 0, 0x00FD, /* LATIN_SMALL_LETTER_Y_WITH_ACUTE */ - GDK_Multi_key, GDK_cedilla, GDK_S, 0, 0, 0x015E, /* LATIN_CAPITAL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_cedilla, GDK_s, 0, 0, 0x015F, /* LATIN_SMALL_LETTER_S_WITH_CEDILLA */ - GDK_Multi_key, GDK_breve, GDK_G, 0, 0, 0x011E, /* LATIN_CAPITAL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_breve, GDK_g, 0, 0, 0x011F, /* LATIN_SMALL_LETTER_G_WITH_BREVE */ - GDK_Multi_key, GDK_Greek_ALPHA, GDK_apostrophe, 0, 0, 0x0386, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */ - GDK_Multi_key, GDK_Greek_EPSILON, GDK_apostrophe, 0, 0, 0x0388, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */ - GDK_Multi_key, GDK_Greek_ETA, GDK_apostrophe, 0, 0, 0x0389, /* GREEK CAPITAL LETTER ETA WITH TONOS */ - GDK_Multi_key, GDK_Greek_IOTA, GDK_quotedbl, 0, 0, 0x03AA, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ - GDK_Multi_key, GDK_Greek_IOTA, GDK_apostrophe, 0, 0, 0x038A, /* GREEK CAPITAL LETTER IOTA WITH TONOS */ - GDK_Multi_key, GDK_Greek_OMICRON, GDK_apostrophe, 0, 0, 0x038C, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */ - GDK_Multi_key, GDK_Greek_UPSILON, GDK_quotedbl, 0, 0, 0x03AB, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ - GDK_Multi_key, GDK_Greek_UPSILON, GDK_apostrophe, 0, 0, 0x038E, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */ - GDK_Multi_key, GDK_Greek_OMEGA, GDK_apostrophe, 0, 0, 0x038F, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */ - GDK_Multi_key, GDK_Greek_alpha, GDK_apostrophe, 0, 0, 0x03AC, /* GREEK SMALL LETTER ALPHA WITH TONOS */ - GDK_Multi_key, GDK_Greek_epsilon, GDK_apostrophe, 0, 0, 0x03AD, /* GREEK SMALL LETTER EPSILON WITH TONOS */ - GDK_Multi_key, GDK_Greek_eta, GDK_apostrophe, 0, 0, 0x03AE, /* GREEK SMALL LETTER ETA WITH TONOS */ - GDK_Multi_key, GDK_Greek_iota, GDK_quotedbl, 0, 0, 0x03CA, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ - GDK_Multi_key, GDK_Greek_iota, GDK_apostrophe, 0, 0, 0x03AF, /* GREEK SMALL LETTER IOTA WITH TONOS */ - GDK_Multi_key, GDK_Greek_omicron, GDK_apostrophe, 0, 0, 0x03CC, /* GREEK SMALL LETTER OMICRON WITH TONOS */ - GDK_Multi_key, GDK_Greek_upsilon, GDK_quotedbl, 0, 0, 0x03CB, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ - GDK_Multi_key, GDK_Greek_upsilon, GDK_apostrophe, 0, 0, 0x03CD, /* GREEK SMALL LETTER UPSILON WITH TONOS */ - GDK_Multi_key, GDK_Greek_omega, GDK_apostrophe, 0, 0, 0x03CE, /* GREEK SMALL LETTER OMEGA WITH TONOS */ +struct _GtkComposeTableCompact +{ + const guint16 *data; + gint max_seq_len; + gint n_index_size; + gint n_index_stride; }; -static const GtkComposeTable gtk_compose_table = { - gtk_compose_seqs, - 4, - G_N_ELEMENTS (gtk_compose_seqs) / 6 +/* This file contains the table of the compose sequences, + * static const guint16 gtk_compose_seqs_compact[] = {} + * IT is generated from the compose-parse.py script. + */ +#include "gtkimcontextsimpleseqs.h" + +/* From the values below, the value 22 means the number of different first keysyms + * that exist in the Compose file (from Xorg). When running compose-parse.py without + * parameters, you get the count that you can put here. Needed when updating the + * gtkimcontextsimpleseqs.h header file (contains the compose sequences). + */ +static const GtkComposeTableCompact gtk_compose_table_compact = { + gtk_compose_seqs_compact, + 5, + 21, + 6 }; static const guint16 gtk_compose_ignore[] = { @@ -1018,6 +167,20 @@ gtk_im_context_simple_commit_char (GtkIMContext *context, } static int +compare_seq_index (const void *key, const void *value) +{ + const guint *keysyms = key; + const guint16 *seq = value; + + if (keysyms[0] < seq[0]) + return -1; + else if (keysyms[0] > seq[0]) + return 1; + + return 0; +} + +static int compare_seq (const void *key, const void *value) { int i = 0; @@ -1030,7 +193,7 @@ compare_seq (const void *key, const void *value) return -1; else if (keysyms[i] > seq[i]) return 1; - + i++; } @@ -1106,6 +269,212 @@ check_table (GtkIMContextSimple *context_simple, return FALSE; } +static gboolean +check_compact_table (GtkIMContextSimple *context_simple, + const GtkComposeTableCompact *table, + gint n_compose) +{ + gint row_stride; + guint16 *seq_index; + guint16 *seq; + gint i; + + /* Will never match, if the sequence in the compose buffer is longer + * than the sequences in the table. Further, compare_seq (key, val) + * will overrun val if key is longer than val. */ + if (n_compose > table->max_seq_len) + return FALSE; + + seq_index = bsearch (context_simple->compose_buffer, + table->data, table->n_index_size, + sizeof (guint16) * table->n_index_stride, + compare_seq_index); + + if (!seq_index) + return FALSE; + + if (seq_index && n_compose == 1) + return TRUE; + + seq = NULL; + + for (i = n_compose-1; i < table->max_seq_len; i++) + { + row_stride = i + 1; + + if (seq_index[i+1] - seq_index[i] > 0) + { + seq = bsearch (context_simple->compose_buffer + 1, + table->data + seq_index[i], (seq_index[i+1] - seq_index[i]) / row_stride, + sizeof (guint16) * row_stride, + compare_seq); + + if (seq) + { + if (i == n_compose - 1) + break; + else + { + g_signal_emit_by_name (context_simple, "preedit_changed"); + return TRUE; + } + } + } + } + + if (!seq) + return FALSE; + else + { + gunichar value; + + value = seq[row_stride - 1]; + + gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value); + context_simple->compose_buffer[0] = 0; + + return TRUE; + } + + return FALSE; +} + +/* When updating the table of the compose sequences, also update here. + */ +#define IS_DEAD_KEY(k) \ + (((k) >= GDK_dead_grave && (k) <= GDK_dead_stroke) || \ + g_unichar_type (gdk_keyval_to_unicode (k)) == G_UNICODE_NON_SPACING_MARK) + +static gboolean +check_algorithmically (GtkIMContextSimple *context_simple, + gint n_compose) + +{ + int i; + int k; + gunichar combination_buffer[GTK_MAX_COMPOSE_LEN]; + gunichar combination_buffer_temp[GTK_MAX_COMPOSE_LEN]; + gchar *combination_utf8, *nfc; + gchar *combination_utf8_temp = NULL, *nfc_temp = NULL; + + if (n_compose >= GTK_MAX_COMPOSE_LEN) + return FALSE; + + for (i = 0; i < n_compose && IS_DEAD_KEY (context_simple->compose_buffer[i]); i++) + ; + if (i == n_compose) + return TRUE; + + if (i > 0 && i == n_compose - 1) + { + combination_buffer[0] = gdk_keyval_to_unicode (context_simple->compose_buffer[i]); + combination_buffer[n_compose] = 0; + i--; + while (i >= 0) + { + switch (context_simple->compose_buffer[i]) + { +#define CASE(keysym, unicode) \ + case GDK_dead_##keysym: combination_buffer[i+1] = unicode; break + + CASE (grave, 0x0300); + CASE (acute, 0x0301); + CASE (circumflex, 0x0302); + CASE (tilde, 0x0303); /* Normally is 0x303; Greek Polytonic needs 0x342. + * We modified the compose sequences for now + * so that for Greek we don't apply algorithmic + * when perispomeni (0x342) is required + * Filed report; pending, bug 14013 (Freedesktop). + */ + CASE (macron, 0x0304); + CASE (breve, 0x0306); + CASE (abovedot, 0x0307); + CASE (diaeresis, 0x0308); + CASE (abovering, 0x030A); + CASE (doubleacute, 0x030B); + CASE (caron, 0x030C); + CASE (cedilla, 0x0327); + CASE (ogonek, 0x0328); /* Normally is 0x328; Greek Polytonic needs 0x314. + * We modified the compose sequences for now to + * so that for Greek we don't apply algorithmic + * when dasia (0x314) is required + * Patch accepted in Xorg/GIT, may take a bit to propagate. + */ + CASE (dasia, 0x314); + CASE (iota, 0x0345); /* Used by Greek Polytonic layout only; "ypogegrammeni" */ + CASE (voiced_sound, 0x3099); /* Per Marcus Khun keysyms.txt file. */ + CASE (semivoiced_sound, 0x309a); /* Per Marcus Khun keysyms.txt file. */ + CASE (belowdot, 0x0323); + CASE (hook, 0x0309); + CASE (horn, 0x031b); /* Normally is 0x31b; Greek Polytonic needs 0x313 (or 0x343). + * We modified the compose sequences for now to + * so that for Greek we don't apply algorithmic + * when psili (0x343) is required + * Patch accepted in Xorg/GIT, may take a bit to propagate. + */ + CASE (psili, 0x343); +#undef CASE + default: + combination_buffer[i+1] = gdk_keyval_to_unicode (context_simple->compose_buffer[i]); + } + i--; + } + + if (n_compose > 2) + { + gint n_combinations; + gunichar temp_swap; + + /* We calculate the number of permutations of the diacritic marks, factorial(n_compose-1). + * When diacritic marks belong to the same Canonical Combining Class, + * a normalisation does not attempt reorder them, thus we do this ourselves. + */ + n_combinations = 1; + for (k = 1; k < n_compose; k++ ) + n_combinations *= k; + + memcpy (combination_buffer_temp, combination_buffer, GTK_MAX_COMPOSE_LEN * sizeof (gunichar) ); + + for (k = 0; k < n_combinations; k++ ) + { + g_unicode_canonical_ordering (combination_buffer_temp, n_compose); + combination_utf8_temp = g_ucs4_to_utf8 (combination_buffer_temp, -1, NULL, NULL, NULL); + nfc_temp = g_utf8_normalize (combination_utf8_temp, -1, G_NORMALIZE_NFC); + + if (g_utf8_strlen (nfc_temp, -1) == 1) + { + memcpy (combination_buffer, combination_buffer_temp, GTK_MAX_COMPOSE_LEN * sizeof (gunichar) ); + break; + } + + temp_swap = combination_buffer_temp[k % (n_compose - 1) + 1]; + combination_buffer_temp[k % (n_compose - 1) + 1] = combination_buffer_temp[(k+1) % (n_compose - 1) + 1]; + combination_buffer_temp[(k+1) % (n_compose - 1) + 1] = temp_swap; + } + + g_free (combination_utf8_temp); + g_free (nfc_temp); + } + + combination_utf8 = g_ucs4_to_utf8 (combination_buffer, -1, NULL, NULL, NULL); + nfc = g_utf8_normalize (combination_utf8, -1, G_NORMALIZE_NFC); + if (g_utf8_strlen (nfc, -1) == 1) + { + gunichar value = g_utf8_get_char (nfc); + gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value); + context_simple->compose_buffer[0] = 0; + + g_free (combination_utf8); + g_free (nfc); + return TRUE; + } + g_free (combination_utf8); + g_free (nfc); + } + + return FALSE; +} + /* In addition to the table-driven sequences, we allow Unicode hex * codes to be entered. The method chosen here is similar to the * one recommended in ISO 14755, but not exactly the same, since we @@ -1521,8 +890,11 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, tmp_list = tmp_list->next; } - if (check_table (context_simple, >k_compose_table, n_compose)) + if (check_compact_table (context_simple, >k_compose_table_compact, n_compose)) return TRUE; + + if (check_algorithmically (context_simple, n_compose)) + return TRUE; } /* The current compose_buffer doesn't match anything */ diff --git a/gtk/gtkimcontextsimpleseqs.h b/gtk/gtkimcontextsimpleseqs.h new file mode 100644 index 0000000000..ddc0dfdb72 --- /dev/null +++ b/gtk/gtkimcontextsimpleseqs.h @@ -0,0 +1,3920 @@ +/* GTK - The GIMP Tool Kit + * Copyright (C) 2007, 2008 GNOME Foundation + * + * 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, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * File auto-generated from script found at http://bugzilla.gnome.org/show_bug.cgi?id=321896 + * using the input files + * Input : http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain;f=nls/en_US.UTF-8/Compose.pre + * Input : http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt + * Input : http://www.unicode.org/Public/UNIDATA/UnicodeData.txt + * + * This table is optimised for space and requires special handling to access the content. + * This table is used solely by http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtkimcontextsimple.c + * + * The resulting file is placed at http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtkimcontextsimpleseqs.h + * This file is described in bug report http://bugzilla.gnome.org/show_bug.cgi?id=321896 + */ + +/* + * Modified by the GTK+ Team and others 2007, 2008. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ +#define __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ + +/* === These are the original comments of the file; we keep for historical purposes === + * + * The following table was generated from the X compose tables include with + * XFree86 4.0 using a set of Perl scripts. Contact Owen Taylor <otaylor@redhat.com> + * to obtain the relevant perl scripts. + * + * The following compose letter letter sequences confliced + * Dstroke/dstroke and ETH/eth; resolved to Dstroke (Croation, Vietnamese, Lappish), over + * ETH (Icelandic, Faroese, old English, IPA) [ D- -D d- -d ] + * Amacron/amacron and ordfeminine; resolved to ordfeminine [ _A A_ a_ _a ] + * Amacron/amacron and Atilde/atilde; resolved to atilde [ -A A- a- -a ] + * Omacron/Omacron and masculine; resolved to masculine [ _O O_ o_ _o ] + * Omacron/omacron and Otilde/atilde; resolved to otilde [ -O O- o- -o ] + * + * [ Amacron and Omacron are in Latin-4 (Baltic). ordfeminine and masculine are used for + * spanish. atilde and otilde are used at least for Portuguese ] + * + * at and Aring; resolved to Aring [ AA ] + * guillemotleft and caron; resolved to guillemotleft [ << ] + * ogonek and cedilla; resolved to cedilla [ ,, ] + * + * This probably should be resolved by first checking an additional set of compose tables + * that depend on the locale or selected input method. + */ + +static const guint16 gtk_compose_seqs_compact[] = { +GDK_dead_grave, 126, 182, 269, 481, 481, +GDK_dead_acute, 481, 539, 632, 900, 900, +GDK_dead_circumflex, 900, 988, 988, 1188, 1188, +GDK_dead_tilde, 1188, 1248, 1311, 1451, 1451, +GDK_dead_macron, 1451, 1475, 1475, 1547, 1547, +GDK_dead_breve, 1547, 1583, 1583, 1599, 1599, +GDK_dead_abovedot, 1599, 1613, 1613, 1645, 1645, +GDK_dead_diaeresis, 1645, 1709, 1709, 1733, 1733, +GDK_dead_abovering, 1733, 1737, 1737, 1737, 1737, +GDK_dead_doubleacute, 1737, 1745, 1745, 1745, 1745, +GDK_dead_caron, 1745, 1749, 1749, 1757, 1757, +GDK_dead_cedilla, 1757, 1761, 1761, 1761, 1761, +GDK_dead_ogonek, 1761, 1797, 1797, 1797, 1797, +GDK_dead_iota, 1797, 1819, 1927, 2407, 3127, +GDK_dead_voiced_sound, 3127, 3173, 3173, 3173, 3173, +GDK_dead_semivoiced_sound, 3173, 3183, 3183, 3183, 3183, +GDK_dead_belowdot, 3183, 3187, 3187, 3203, 3203, +GDK_dead_hook, 3203, 3207, 3207, 3263, 3263, +GDK_dead_horn, 3263, 3291, 3291, 3291, 3291, +GDK_dead_stroke, 3291, 3325, 3331, 3331, 3331, +GDK_Multi_key, 3331, 3331, 7996, 11712, 13692, +GDK_space, 0x0060, +GDK_Abreve, 0x1EB0, +GDK_abreve, 0x1EB1, +GDK_Emacron, 0x1E14, +GDK_emacron, 0x1E15, +GDK_Omacron, 0x1E50, +GDK_omacron, 0x1E51, +GDK_Cyrillic_ie, 0x0450, +GDK_Cyrillic_i, 0x045D, +GDK_Cyrillic_IE, 0x0400, +GDK_Cyrillic_I, 0x040D, +GDK_Greek_iotadieresis, 0x1FD2, +GDK_Greek_upsilondieresis, 0x1FE2, +GDK_Greek_ALPHA, 0x1FBA, +GDK_Greek_EPSILON, 0x1FC8, +GDK_Greek_ETA, 0x1FCA, +GDK_Greek_IOTA, 0x1FDA, +GDK_Greek_OMICRON, 0x1FF8, +GDK_Greek_UPSILON, 0x1FEA, +GDK_Greek_OMEGA, 0x1FFA, +GDK_Greek_alpha, 0x1F70, +GDK_Greek_epsilon, 0x1F72, +GDK_Greek_eta, 0x1F74, +GDK_Greek_iota, 0x1F76, +GDK_Greek_omicron, 0x1F78, +GDK_Greek_upsilon, 0x1F7A, +GDK_Greek_omega, 0x1F7C, +GDK_dead_grave, 0x0060, +GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD2, +GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE2, +GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F0B, +GDK_dead_ogonek, GDK_Greek_EPSILON, 0x1F1B, +GDK_dead_ogonek, GDK_Greek_ETA, 0x1F2B, +GDK_dead_ogonek, GDK_Greek_IOTA, 0x1F3B, +GDK_dead_ogonek, GDK_Greek_OMICRON, 0x1F4B, +GDK_dead_ogonek, GDK_Greek_UPSILON, 0x1F5B, +GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1F6B, +GDK_dead_ogonek, GDK_Greek_alpha, 0x1F03, +GDK_dead_ogonek, GDK_Greek_epsilon, 0x1F13, +GDK_dead_ogonek, GDK_Greek_eta, 0x1F23, +GDK_dead_ogonek, GDK_Greek_iota, 0x1F33, +GDK_dead_ogonek, GDK_Greek_omicron, 0x1F43, +GDK_dead_ogonek, GDK_Greek_upsilon, 0x1F53, +GDK_dead_ogonek, GDK_Greek_omega, 0x1F63, +GDK_dead_horn, GDK_Greek_ALPHA, 0x1F0A, +GDK_dead_horn, GDK_Greek_EPSILON, 0x1F1A, +GDK_dead_horn, GDK_Greek_ETA, 0x1F2A, +GDK_dead_horn, GDK_Greek_IOTA, 0x1F3A, +GDK_dead_horn, GDK_Greek_OMICRON, 0x1F4A, +GDK_dead_horn, GDK_Greek_OMEGA, 0x1F6A, +GDK_dead_horn, GDK_Greek_alpha, 0x1F02, +GDK_dead_horn, GDK_Greek_epsilon, 0x1F12, +GDK_dead_horn, GDK_Greek_eta, 0x1F22, +GDK_dead_horn, GDK_Greek_iota, 0x1F32, +GDK_dead_horn, GDK_Greek_omicron, 0x1F42, +GDK_dead_horn, GDK_Greek_upsilon, 0x1F52, +GDK_dead_horn, GDK_Greek_omega, 0x1F62, +GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01DB, +GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01DC, +GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0x1FD2, +GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE2, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F2B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_IOTA, 0x1F3B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6B, +GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F03, +GDK_Multi_key, GDK_parenleft, GDK_Greek_epsilon, 0x1F13, +GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F23, +GDK_Multi_key, GDK_parenleft, GDK_Greek_iota, 0x1F33, +GDK_Multi_key, GDK_parenleft, GDK_Greek_omicron, 0x1F43, +GDK_Multi_key, GDK_parenleft, GDK_Greek_upsilon, 0x1F53, +GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1F63, +GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F0A, +GDK_Multi_key, GDK_parenright, GDK_Greek_EPSILON, 0x1F1A, +GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F2A, +GDK_Multi_key, GDK_parenright, GDK_Greek_IOTA, 0x1F3A, +GDK_Multi_key, GDK_parenright, GDK_Greek_OMICRON, 0x1F4A, +GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1F6A, +GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F02, +GDK_Multi_key, GDK_parenright, GDK_Greek_epsilon, 0x1F12, +GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F22, +GDK_Multi_key, GDK_parenright, GDK_Greek_iota, 0x1F32, +GDK_Multi_key, GDK_parenright, GDK_Greek_omicron, 0x1F42, +GDK_Multi_key, GDK_parenright, GDK_Greek_upsilon, 0x1F52, +GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1F62, +GDK_Multi_key, GDK_plus, GDK_O, 0x1EDC, +GDK_Multi_key, GDK_plus, GDK_U, 0x1EEA, +GDK_Multi_key, GDK_plus, GDK_o, 0x1EDD, +GDK_Multi_key, GDK_plus, GDK_u, 0x1EEB, +GDK_Multi_key, GDK_U, GDK_A, 0x1EB0, +GDK_Multi_key, GDK_U, GDK_a, 0x1EB1, +GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EA6, +GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EC0, +GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED2, +GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EA7, +GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC1, +GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED3, +GDK_Multi_key, GDK_underscore, GDK_E, 0x1E14, +GDK_Multi_key, GDK_underscore, GDK_O, 0x1E50, +GDK_Multi_key, GDK_underscore, GDK_e, 0x1E15, +GDK_Multi_key, GDK_underscore, GDK_o, 0x1E51, +GDK_Multi_key, GDK_b, GDK_A, 0x1EB0, +GDK_Multi_key, GDK_b, GDK_a, 0x1EB1, +GDK_Multi_key, GDK_macron, GDK_E, 0x1E14, +GDK_Multi_key, GDK_macron, GDK_O, 0x1E50, +GDK_Multi_key, GDK_macron, GDK_e, 0x1E15, +GDK_Multi_key, GDK_macron, GDK_o, 0x1E51, +GDK_space, 0x0027, +GDK_Abreve, 0x1EAE, +GDK_abreve, 0x1EAF, +GDK_Emacron, 0x1E16, +GDK_emacron, 0x1E17, +GDK_Utilde, 0x1E78, +GDK_omacron, 0x1E53, +GDK_utilde, 0x1E79, +GDK_Cyrillic_ghe, 0x0453, +GDK_Cyrillic_ka, 0x045C, +GDK_Cyrillic_GHE, 0x0403, +GDK_Cyrillic_KA, 0x040C, +GDK_Greek_iotadieresis, 0x0390, +GDK_Greek_upsilondieresis, 0x03B0, +GDK_Greek_ALPHA, 0x0386, +GDK_Greek_EPSILON, 0x0388, +GDK_Greek_ETA, 0x0389, +GDK_Greek_IOTA, 0x038A, +GDK_Greek_OMICRON, 0x038C, +GDK_Greek_UPSILON, 0x038E, +GDK_Greek_OMEGA, 0x038F, +GDK_Greek_alpha, 0x03AC, +GDK_Greek_epsilon, 0x03AD, +GDK_Greek_eta, 0x03AE, +GDK_Greek_iota, 0x03AF, +GDK_Greek_omicron, 0x03CC, +GDK_Greek_upsilon, 0x03CD, +GDK_Greek_omega, 0x03CE, +GDK_dead_acute, 0x00B4, +GDK_dead_diaeresis, GDK_Greek_iota, 0x0390, +GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0, +GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F0D, +GDK_dead_ogonek, GDK_Greek_EPSILON, 0x1F1D, +GDK_dead_ogonek, GDK_Greek_ETA, 0x1F2D, +GDK_dead_ogonek, GDK_Greek_IOTA, 0x1F3D, +GDK_dead_ogonek, GDK_Greek_OMICRON, 0x1F4D, +GDK_dead_ogonek, GDK_Greek_UPSILON, 0x1F5D, +GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1F6D, +GDK_dead_ogonek, GDK_Greek_alpha, 0x1F05, +GDK_dead_ogonek, GDK_Greek_epsilon, 0x1F15, +GDK_dead_ogonek, GDK_Greek_eta, 0x1F25, +GDK_dead_ogonek, GDK_Greek_iota, 0x1F35, +GDK_dead_ogonek, GDK_Greek_omicron, 0x1F45, +GDK_dead_ogonek, GDK_Greek_upsilon, 0x1F55, +GDK_dead_ogonek, GDK_Greek_omega, 0x1F65, +GDK_dead_horn, GDK_Greek_ALPHA, 0x1F0C, +GDK_dead_horn, GDK_Greek_EPSILON, 0x1F1C, +GDK_dead_horn, GDK_Greek_ETA, 0x1F2C, +GDK_dead_horn, GDK_Greek_IOTA, 0x1F3C, +GDK_dead_horn, GDK_Greek_OMICRON, 0x1F4C, +GDK_dead_horn, GDK_Greek_OMEGA, 0x1F6C, +GDK_dead_horn, GDK_Greek_alpha, 0x1F04, +GDK_dead_horn, GDK_Greek_epsilon, 0x1F14, +GDK_dead_horn, GDK_Greek_eta, 0x1F24, +GDK_dead_horn, GDK_Greek_iota, 0x1F34, +GDK_dead_horn, GDK_Greek_omicron, 0x1F44, +GDK_dead_horn, GDK_Greek_upsilon, 0x1F54, +GDK_dead_horn, GDK_Greek_omega, 0x1F64, +GDK_dead_stroke, GDK_O, 0x01FE, +GDK_dead_stroke, GDK_o, 0x01FF, +GDK_Multi_key, GDK_quotedbl, GDK_I, 0x1E2E, +GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01D7, +GDK_Multi_key, GDK_quotedbl, GDK_i, 0x1E2F, +GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01D8, +GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0x0390, +GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0x03B0, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F2D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_IOTA, 0x1F3D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6D, +GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F05, +GDK_Multi_key, GDK_parenleft, GDK_Greek_epsilon, 0x1F15, +GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F25, +GDK_Multi_key, GDK_parenleft, GDK_Greek_iota, 0x1F35, +GDK_Multi_key, GDK_parenleft, GDK_Greek_omicron, 0x1F45, +GDK_Multi_key, GDK_parenleft, GDK_Greek_upsilon, 0x1F55, +GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1F65, +GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F0C, +GDK_Multi_key, GDK_parenright, GDK_Greek_EPSILON, 0x1F1C, +GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F2C, +GDK_Multi_key, GDK_parenright, GDK_Greek_IOTA, 0x1F3C, +GDK_Multi_key, GDK_parenright, GDK_Greek_OMICRON, 0x1F4C, +GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1F6C, +GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F04, +GDK_Multi_key, GDK_parenright, GDK_Greek_epsilon, 0x1F14, +GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F24, +GDK_Multi_key, GDK_parenright, GDK_Greek_iota, 0x1F34, +GDK_Multi_key, GDK_parenright, GDK_Greek_omicron, 0x1F44, +GDK_Multi_key, GDK_parenright, GDK_Greek_upsilon, 0x1F54, +GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1F64, +GDK_Multi_key, GDK_plus, GDK_O, 0x1EDA, +GDK_Multi_key, GDK_plus, GDK_U, 0x1EE8, +GDK_Multi_key, GDK_plus, GDK_o, 0x1EDB, +GDK_Multi_key, GDK_plus, GDK_u, 0x1EE9, +GDK_Multi_key, GDK_comma, GDK_C, 0x1E08, +GDK_Multi_key, GDK_comma, GDK_c, 0x1E09, +GDK_Multi_key, GDK_slash, GDK_O, 0x01FE, +GDK_Multi_key, GDK_slash, GDK_o, 0x01FF, +GDK_Multi_key, GDK_U, GDK_A, 0x1EAE, +GDK_Multi_key, GDK_U, GDK_a, 0x1EAF, +GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EA4, +GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EBE, +GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED0, +GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EA5, +GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EBF, +GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED1, +GDK_Multi_key, GDK_underscore, GDK_E, 0x1E16, +GDK_Multi_key, GDK_underscore, GDK_O, 0x1E52, +GDK_Multi_key, GDK_underscore, GDK_e, 0x1E17, +GDK_Multi_key, GDK_underscore, GDK_o, 0x1E53, +GDK_Multi_key, GDK_b, GDK_A, 0x1EAE, +GDK_Multi_key, GDK_b, GDK_a, 0x1EAF, +GDK_Multi_key, GDK_o, GDK_A, 0x01FA, +GDK_Multi_key, GDK_o, GDK_a, 0x01FB, +GDK_Multi_key, GDK_asciitilde, GDK_O, 0x1E4C, +GDK_Multi_key, GDK_asciitilde, GDK_U, 0x1E78, +GDK_Multi_key, GDK_asciitilde, GDK_o, 0x1E4D, +GDK_Multi_key, GDK_asciitilde, GDK_u, 0x1E79, +GDK_Multi_key, GDK_macron, GDK_E, 0x1E16, +GDK_Multi_key, GDK_macron, GDK_O, 0x1E52, +GDK_Multi_key, GDK_macron, GDK_e, 0x1E17, +GDK_Multi_key, GDK_macron, GDK_o, 0x1E53, +GDK_Multi_key, GDK_KP_Divide, GDK_O, 0x01FE, +GDK_Multi_key, GDK_KP_Divide, GDK_o, 0x01FF, +GDK_space, 0x005E, +GDK_parenleft, 0x207D, +GDK_parenright, 0x207E, +GDK_plus, 0x207A, +GDK_0, 0x2070, +GDK_1, 0x00B9, +GDK_2, 0x00B2, +GDK_3, 0x00B3, +GDK_4, 0x2074, +GDK_5, 0x2075, +GDK_6, 0x2076, +GDK_7, 0x2077, +GDK_8, 0x2078, +GDK_9, 0x2079, +GDK_equal, 0x207C, +0x2212, 0x207B, +0x4E00, 0x3192, +0x4E01, 0x319C, +0x4E09, 0x3194, +0x4E0A, 0x3196, +0x4E0B, 0x3198, +0x4E19, 0x319B, +0x4E2D, 0x3197, +0x4E59, 0x319A, +0x4E8C, 0x3193, +0x4EBA, 0x319F, +0x56DB, 0x3195, +0x5730, 0x319E, +0x5929, 0x319D, +0x7532, 0x3199, +GDK_dead_circumflex, 0x005E, +GDK_KP_Space, 0x00B2, +GDK_KP_Add, 0x207A, +GDK_KP_0, 0x2070, +GDK_KP_1, 0x00B9, +GDK_KP_2, 0x00B2, +GDK_KP_3, 0x00B3, +GDK_KP_4, 0x2074, +GDK_KP_5, 0x2075, +GDK_KP_6, 0x2076, +GDK_KP_7, 0x2077, +GDK_KP_8, 0x2078, +GDK_KP_9, 0x2079, +GDK_KP_Equal, 0x207C, +GDK_Multi_key, GDK_exclam, GDK_A, 0x1EAC, +GDK_Multi_key, GDK_exclam, GDK_E, 0x1EC6, +GDK_Multi_key, GDK_exclam, GDK_O, 0x1ED8, +GDK_Multi_key, GDK_exclam, GDK_a, 0x1EAD, +GDK_Multi_key, GDK_exclam, GDK_e, 0x1EC7, +GDK_Multi_key, GDK_exclam, GDK_o, 0x1ED9, +GDK_Multi_key, GDK_S, GDK_M, 0x2120, +GDK_Multi_key, GDK_S, GDK_m, 0x2120, +GDK_Multi_key, GDK_T, GDK_M, 0x2122, +GDK_Multi_key, GDK_T, GDK_m, 0x2122, +GDK_Multi_key, GDK_underscore, GDK_a, 0x00AA, +GDK_Multi_key, GDK_underscore, GDK_h, 0x02B0, +GDK_Multi_key, GDK_underscore, GDK_i, 0x2071, +GDK_Multi_key, GDK_underscore, GDK_j, 0x02B2, +GDK_Multi_key, GDK_underscore, GDK_l, 0x02E1, +GDK_Multi_key, GDK_underscore, GDK_n, 0x207F, +GDK_Multi_key, GDK_underscore, GDK_o, 0x00BA, +GDK_Multi_key, GDK_underscore, GDK_r, 0x02B3, +GDK_Multi_key, GDK_underscore, GDK_s, 0x02E2, +GDK_Multi_key, GDK_underscore, GDK_w, 0x02B7, +GDK_Multi_key, GDK_underscore, GDK_x, 0x02E3, +GDK_Multi_key, GDK_underscore, GDK_y, 0x02B8, +GDK_Multi_key, GDK_underscore, 0x0263, 0x02E0, +GDK_Multi_key, GDK_underscore, 0x0266, 0x02B1, +GDK_Multi_key, GDK_underscore, 0x0279, 0x02B4, +GDK_Multi_key, GDK_underscore, 0x027B, 0x02B5, +GDK_Multi_key, GDK_underscore, 0x0281, 0x02B6, +GDK_Multi_key, GDK_underscore, 0x0295, 0x02E4, +GDK_Multi_key, GDK_s, GDK_M, 0x2120, +GDK_Multi_key, GDK_s, GDK_m, 0x2120, +GDK_Multi_key, GDK_t, GDK_M, 0x2122, +GDK_Multi_key, GDK_t, GDK_m, 0x2122, +GDK_Multi_key, GDK_underbar, GDK_a, 0x00AA, +GDK_Multi_key, GDK_underbar, GDK_h, 0x02B0, +GDK_Multi_key, GDK_underbar, GDK_i, 0x2071, +GDK_Multi_key, GDK_underbar, GDK_j, 0x02B2, +GDK_Multi_key, GDK_underbar, GDK_l, 0x02E1, +GDK_Multi_key, GDK_underbar, GDK_n, 0x207F, +GDK_Multi_key, GDK_underbar, GDK_o, 0x00BA, +GDK_Multi_key, GDK_underbar, GDK_r, 0x02B3, +GDK_Multi_key, GDK_underbar, GDK_s, 0x02E2, +GDK_Multi_key, GDK_underbar, GDK_w, 0x02B7, +GDK_Multi_key, GDK_underbar, GDK_x, 0x02E3, +GDK_Multi_key, GDK_underbar, GDK_y, 0x02B8, +GDK_Multi_key, GDK_underbar, 0x0263, 0x02E0, +GDK_Multi_key, GDK_underbar, 0x0266, 0x02B1, +GDK_Multi_key, GDK_underbar, 0x0279, 0x02B4, +GDK_Multi_key, GDK_underbar, 0x027B, 0x02B5, +GDK_Multi_key, GDK_underbar, 0x0281, 0x02B6, +GDK_Multi_key, GDK_underbar, 0x0295, 0x02E4, +GDK_space, 0x007E, +GDK_Abreve, 0x1EB4, +GDK_abreve, 0x1EB5, +GDK_Greek_iotadieresis, 0x1FD7, +GDK_Greek_upsilondieresis, 0x1FE7, +GDK_Greek_alpha, 0x1FB6, +GDK_Greek_eta, 0x1FC6, +GDK_Greek_iota, 0x1FD6, +GDK_Greek_upsilon, 0x1FE6, +GDK_Greek_omega, 0x1FF6, +0x1F00, 0x1F06, +0x1F01, 0x1F07, +0x1F08, 0x1F0E, +0x1F09, 0x1F0F, +0x1F20, 0x1F26, +0x1F21, 0x1F27, +0x1F28, 0x1F2E, +0x1F29, 0x1F2F, +0x1F30, 0x1F36, +0x1F31, 0x1F37, +0x1F38, 0x1F3E, +0x1F39, 0x1F3F, +0x1F50, 0x1F56, +0x1F51, 0x1F57, +0x1F59, 0x1F5F, +0x1F60, 0x1F66, +0x1F61, 0x1F67, +0x1F68, 0x1F6E, +0x1F69, 0x1F6F, +GDK_dead_tilde, 0x007E, +GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD7, +GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE7, +GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F0F, +GDK_dead_ogonek, GDK_Greek_ETA, 0x1F2F, +GDK_dead_ogonek, GDK_Greek_IOTA, 0x1F3F, +GDK_dead_ogonek, GDK_Greek_UPSILON, 0x1F5F, +GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1F6F, +GDK_dead_ogonek, GDK_Greek_alpha, 0x1F07, +GDK_dead_ogonek, GDK_Greek_eta, 0x1F27, +GDK_dead_ogonek, GDK_Greek_iota, 0x1F37, +GDK_dead_ogonek, GDK_Greek_upsilon, 0x1F57, +GDK_dead_ogonek, GDK_Greek_omega, 0x1F67, +GDK_dead_horn, GDK_Greek_ALPHA, 0x1F0E, +GDK_dead_horn, GDK_Greek_ETA, 0x1F2E, +GDK_dead_horn, GDK_Greek_IOTA, 0x1F3E, +GDK_dead_horn, GDK_Greek_OMEGA, 0x1F6E, +GDK_dead_horn, GDK_Greek_alpha, 0x1F06, +GDK_dead_horn, GDK_Greek_eta, 0x1F26, +GDK_dead_horn, GDK_Greek_iota, 0x1F36, +GDK_dead_horn, GDK_Greek_upsilon, 0x1F56, +GDK_dead_horn, GDK_Greek_omega, 0x1F66, +GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0x1FD7, +GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE7, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0F, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F2F, +GDK_Multi_key, GDK_parenleft, GDK_Greek_IOTA, 0x1F3F, +GDK_Multi_key, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5F, +GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6F, +GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F07, +GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F27, +GDK_Multi_key, GDK_parenleft, GDK_Greek_iota, 0x1F37, +GDK_Multi_key, GDK_parenleft, GDK_Greek_upsilon, 0x1F57, +GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1F67, +GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F0E, +GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F2E, +GDK_Multi_key, GDK_parenright, GDK_Greek_IOTA, 0x1F3E, +GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1F6E, +GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F06, +GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F26, +GDK_Multi_key, GDK_parenright, GDK_Greek_iota, 0x1F36, +GDK_Multi_key, GDK_parenright, GDK_Greek_upsilon, 0x1F56, +GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1F66, +GDK_Multi_key, GDK_plus, GDK_O, 0x1EE0, +GDK_Multi_key, GDK_plus, GDK_U, 0x1EEE, +GDK_Multi_key, GDK_plus, GDK_o, 0x1EE1, +GDK_Multi_key, GDK_plus, GDK_u, 0x1EEF, +GDK_Multi_key, GDK_U, GDK_A, 0x1EB4, +GDK_Multi_key, GDK_U, GDK_a, 0x1EB5, +GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EAA, +GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EC4, +GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED6, +GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EAB, +GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC5, +GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED7, +GDK_Multi_key, GDK_b, GDK_A, 0x1EB4, +GDK_Multi_key, GDK_b, GDK_a, 0x1EB5, +GDK_space, 0x00AF, +GDK_Cyrillic_i, 0x04E3, +GDK_Cyrillic_u, 0x04EF, +GDK_Cyrillic_I, 0x04E2, +GDK_Cyrillic_U, 0x04EE, +GDK_Greek_ALPHA, 0x1FB9, +GDK_Greek_IOTA, 0x1FD9, +GDK_Greek_UPSILON, 0x1FE9, +GDK_Greek_alpha, 0x1FB1, +GDK_Greek_iota, 0x1FD1, +GDK_Greek_upsilon, 0x1FE1, +GDK_dead_macron, 0x00AF, +GDK_Multi_key, GDK_exclam, GDK_L, 0x1E38, +GDK_Multi_key, GDK_exclam, GDK_R, 0x1E5C, +GDK_Multi_key, GDK_exclam, GDK_l, 0x1E39, +GDK_Multi_key, GDK_exclam, GDK_r, 0x1E5D, +GDK_Multi_key, GDK_quotedbl, GDK_A, 0x01DE, +GDK_Multi_key, GDK_quotedbl, GDK_O, 0x022A, +GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01D5, +GDK_Multi_key, GDK_quotedbl, GDK_a, 0x01DF, +GDK_Multi_key, GDK_quotedbl, GDK_o, 0x022B, +GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01D6, +GDK_Multi_key, GDK_period, GDK_A, 0x01E0, +GDK_Multi_key, GDK_period, GDK_O, 0x0230, +GDK_Multi_key, GDK_period, GDK_a, 0x01E1, +GDK_Multi_key, GDK_period, GDK_o, 0x0231, +GDK_Multi_key, GDK_semicolon, GDK_O, 0x01EC, +GDK_Multi_key, GDK_semicolon, GDK_o, 0x01ED, +GDK_Multi_key, GDK_asciitilde, GDK_O, 0x022C, +GDK_Multi_key, GDK_asciitilde, GDK_o, 0x022D, +GDK_space, 0x01A2, +GDK_Cyrillic_a, 0x04D1, +GDK_Cyrillic_ie, 0x04D7, +GDK_Cyrillic_i, 0x0439, +GDK_Cyrillic_u, 0x045E, +GDK_Cyrillic_zhe, 0x04C2, +GDK_Cyrillic_A, 0x04D0, +GDK_Cyrillic_IE, 0x04D6, +GDK_Cyrillic_I, 0x0419, +GDK_Cyrillic_U, 0x040E, +GDK_Cyrillic_ZHE, 0x04C1, +GDK_Greek_ALPHA, 0x1FB8, +GDK_Greek_IOTA, 0x1FD8, +GDK_Greek_UPSILON, 0x1FE8, +GDK_Greek_alpha, 0x1FB0, +GDK_Greek_iota, 0x1FD0, +GDK_Greek_upsilon, 0x1FE0, +GDK_dead_breve, 0x01A2, +GDK_Multi_key, GDK_exclam, GDK_A, 0x1EB6, +GDK_Multi_key, GDK_exclam, GDK_a, 0x1EB7, +GDK_Multi_key, GDK_comma, GDK_E, 0x1E1C, +GDK_Multi_key, GDK_comma, GDK_e, 0x1E1D, +GDK_space, 0x01FF, +GDK_i, 0x0131, +GDK_Sacute, 0x1E64, +GDK_Scaron, 0x1E66, +GDK_sacute, 0x1E65, +GDK_scaron, 0x1E67, +GDK_dead_abovedot, 0x01FF, +GDK_Multi_key, GDK_exclam, GDK_S, 0x1E68, +GDK_Multi_key, GDK_exclam, GDK_s, 0x1E69, +GDK_Multi_key, GDK_apostrophe, GDK_S, 0x1E64, +GDK_Multi_key, GDK_apostrophe, GDK_s, 0x1E65, +GDK_Multi_key, GDK_c, GDK_S, 0x1E66, +GDK_Multi_key, GDK_c, GDK_s, 0x1E67, +GDK_Multi_key, GDK_acute, GDK_S, 0x1E64, +GDK_Multi_key, GDK_acute, GDK_s, 0x1E65, +GDK_space, 0x0022, +GDK_apostrophe, 0x0344, +GDK_acute, 0x0344, +GDK_Umacron, 0x1E7A, +GDK_umacron, 0x1E7B, +GDK_Ukrainian_i, 0x0457, +GDK_Ukrainian_I, 0x0407, +GDK_Cyrillic_a, 0x04D3, +GDK_Cyrillic_ie, 0x0451, +GDK_Cyrillic_i, 0x04E5, +GDK_Cyrillic_o, 0x04E7, +GDK_Cyrillic_u, 0x04F1, +GDK_Cyrillic_zhe, 0x04DD, +GDK_Cyrillic_yeru, 0x04F9, +GDK_Cyrillic_ze, 0x04DF, +GDK_Cyrillic_e, 0x04ED, +GDK_Cyrillic_che, 0x04F5, +GDK_Cyrillic_A, 0x04D2, +GDK_Cyrillic_IE, 0x0401, +GDK_Cyrillic_I, 0x04E4, +GDK_Cyrillic_O, 0x04E6, +GDK_Cyrillic_U, 0x04F0, +GDK_Cyrillic_ZHE, 0x04DC, +GDK_Cyrillic_YERU, 0x04F8, +GDK_Cyrillic_ZE, 0x04DE, +GDK_Cyrillic_E, 0x04EC, +GDK_Cyrillic_CHE, 0x04F4, +GDK_Greek_IOTA, 0x03AA, +GDK_Greek_UPSILON, 0x03AB, +GDK_Greek_iota, 0x03CA, +GDK_Greek_upsilon, 0x03CB, +GDK_dead_diaeresis, 0x00A8, +GDK_Multi_key, GDK_underscore, GDK_U, 0x1E7A, +GDK_Multi_key, GDK_underscore, GDK_u, 0x1E7B, +GDK_Multi_key, GDK_asciitilde, GDK_O, 0x1E4E, +GDK_Multi_key, GDK_asciitilde, GDK_o, 0x1E4F, +GDK_Multi_key, GDK_macron, GDK_U, 0x1E7A, +GDK_Multi_key, GDK_macron, GDK_u, 0x1E7B, +GDK_space, 0x00B0, +GDK_dead_abovering, 0x00B0, +GDK_space, 0x02DD, +GDK_Cyrillic_u, 0x04F3, +GDK_Cyrillic_U, 0x04F2, +GDK_dead_doubleacute, 0x02DD, +GDK_space, 0x01B7, +GDK_dead_caron, 0x01B7, +GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01D9, +GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01DA, +GDK_space, 0x00B8, +GDK_dead_cedilla, 0x00B8, +GDK_space, 0x01B2, +GDK_Greek_ALPHA, 0x1F09, +GDK_Greek_EPSILON, 0x1F19, +GDK_Greek_ETA, 0x1F29, +GDK_Greek_IOTA, 0x1F39, +GDK_Greek_OMICRON, 0x1F49, +GDK_Greek_RHO, 0x1FEC, +GDK_Greek_UPSILON, 0x1F59, +GDK_Greek_OMEGA, 0x1F69, +GDK_Greek_alpha, 0x1F01, +GDK_Greek_epsilon, 0x1F11, +GDK_Greek_eta, 0x1F21, +GDK_Greek_iota, 0x1F31, +GDK_Greek_omicron, 0x1F41, +GDK_Greek_rho, 0x1FE5, +GDK_Greek_upsilon, 0x1F51, +GDK_Greek_omega, 0x1F61, +GDK_dead_ogonek, 0x01B2, +GDK_space, 0x037A, +GDK_Greek_alphaaccent, 0x1FB4, +GDK_Greek_etaaccent, 0x1FC4, +GDK_Greek_omegaaccent, 0x1FF4, +GDK_Greek_ALPHA, 0x1FBC, +GDK_Greek_ETA, 0x1FCC, +GDK_Greek_OMEGA, 0x1FFC, +GDK_Greek_alpha, 0x1FB3, +GDK_Greek_eta, 0x1FC3, +GDK_Greek_omega, 0x1FF3, +GDK_dead_iota, 0x037A, +0x0342, GDK_Greek_alpha, 0x1FB7, +0x0342, GDK_Greek_eta, 0x1FC7, +0x0342, GDK_Greek_omega, 0x1FF7, +GDK_dead_grave, GDK_Greek_alpha, 0x1FB2, +GDK_dead_grave, GDK_Greek_eta, 0x1FC2, +GDK_dead_grave, GDK_Greek_omega, 0x1FF2, +GDK_dead_acute, GDK_Greek_alpha, 0x1FB4, +GDK_dead_acute, GDK_Greek_eta, 0x1FC4, +GDK_dead_acute, GDK_Greek_omega, 0x1FF4, +GDK_dead_tilde, GDK_Greek_alpha, 0x1FB7, +GDK_dead_tilde, GDK_Greek_eta, 0x1FC7, +GDK_dead_tilde, GDK_Greek_omega, 0x1FF7, +GDK_dead_tilde, 0x1F00, 0x1F86, +GDK_dead_tilde, 0x1F01, 0x1F87, +GDK_dead_tilde, 0x1F08, 0x1F8E, +GDK_dead_tilde, 0x1F09, 0x1F8F, +GDK_dead_tilde, 0x1F20, 0x1F96, +GDK_dead_tilde, 0x1F21, 0x1F97, +GDK_dead_tilde, 0x1F28, 0x1F9E, +GDK_dead_tilde, 0x1F29, 0x1F9F, +GDK_dead_tilde, 0x1F60, 0x1FA6, +GDK_dead_tilde, 0x1F61, 0x1FA7, +GDK_dead_tilde, 0x1F68, 0x1FAE, +GDK_dead_tilde, 0x1F69, 0x1FAF, +GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F89, +GDK_dead_ogonek, GDK_Greek_ETA, 0x1F99, +GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1FA9, +GDK_dead_ogonek, GDK_Greek_alpha, 0x1F81, +GDK_dead_ogonek, GDK_Greek_eta, 0x1F91, +GDK_dead_ogonek, GDK_Greek_omega, 0x1FA1, +GDK_dead_horn, GDK_Greek_ALPHA, 0x1F88, +GDK_dead_horn, GDK_Greek_ETA, 0x1F98, +GDK_dead_horn, GDK_Greek_OMEGA, 0x1FA8, +GDK_dead_horn, GDK_Greek_alpha, 0x1F80, +GDK_dead_horn, GDK_Greek_eta, 0x1F90, +GDK_dead_horn, GDK_Greek_omega, 0x1FA0, +0x0342, GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F8F, +0x0342, GDK_dead_ogonek, GDK_Greek_ETA, 0x1F9F, +0x0342, GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1FAF, +0x0342, GDK_dead_ogonek, GDK_Greek_alpha, 0x1F87, +0x0342, GDK_dead_ogonek, GDK_Greek_eta, 0x1F97, +0x0342, GDK_dead_ogonek, GDK_Greek_omega, 0x1FA7, +0x0342, GDK_dead_horn, GDK_Greek_ALPHA, 0x1F8E, +0x0342, GDK_dead_horn, GDK_Greek_ETA, 0x1F9E, +0x0342, GDK_dead_horn, GDK_Greek_OMEGA, 0x1FAE, +0x0342, GDK_dead_horn, GDK_Greek_alpha, 0x1F86, +0x0342, GDK_dead_horn, GDK_Greek_eta, 0x1F96, +0x0342, GDK_dead_horn, GDK_Greek_omega, 0x1FA6, +GDK_dead_grave, GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F8B, +GDK_dead_grave, GDK_dead_ogonek, GDK_Greek_ETA, 0x1F9B, +GDK_dead_grave, GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1FAB, +GDK_dead_grave, GDK_dead_ogonek, GDK_Greek_alpha, 0x1F83, +GDK_dead_grave, GDK_dead_ogonek, GDK_Greek_eta, 0x1F93, +GDK_dead_grave, GDK_dead_ogonek, GDK_Greek_omega, 0x1FA3, +GDK_dead_grave, GDK_dead_horn, GDK_Greek_ALPHA, 0x1F8A, +GDK_dead_grave, GDK_dead_horn, GDK_Greek_ETA, 0x1F9A, +GDK_dead_grave, GDK_dead_horn, GDK_Greek_OMEGA, 0x1FAA, +GDK_dead_grave, GDK_dead_horn, GDK_Greek_alpha, 0x1F82, +GDK_dead_grave, GDK_dead_horn, GDK_Greek_eta, 0x1F92, +GDK_dead_grave, GDK_dead_horn, GDK_Greek_omega, 0x1FA2, +GDK_dead_acute, GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F8D, +GDK_dead_acute, GDK_dead_ogonek, GDK_Greek_ETA, 0x1F9D, +GDK_dead_acute, GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1FAD, +GDK_dead_acute, GDK_dead_ogonek, GDK_Greek_alpha, 0x1F85, +GDK_dead_acute, GDK_dead_ogonek, GDK_Greek_eta, 0x1F95, +GDK_dead_acute, GDK_dead_ogonek, GDK_Greek_omega, 0x1FA5, +GDK_dead_acute, GDK_dead_horn, GDK_Greek_ALPHA, 0x1F8C, +GDK_dead_acute, GDK_dead_horn, GDK_Greek_ETA, 0x1F9C, +GDK_dead_acute, GDK_dead_horn, GDK_Greek_OMEGA, 0x1FAC, +GDK_dead_acute, GDK_dead_horn, GDK_Greek_alpha, 0x1F84, +GDK_dead_acute, GDK_dead_horn, GDK_Greek_eta, 0x1F94, +GDK_dead_acute, GDK_dead_horn, GDK_Greek_omega, 0x1FA4, +GDK_dead_tilde, GDK_dead_ogonek, GDK_Greek_ALPHA, 0x1F8F, +GDK_dead_tilde, GDK_dead_ogonek, GDK_Greek_ETA, 0x1F9F, +GDK_dead_tilde, GDK_dead_ogonek, GDK_Greek_OMEGA, 0x1FAF, +GDK_dead_tilde, GDK_dead_ogonek, GDK_Greek_alpha, 0x1F87, +GDK_dead_tilde, GDK_dead_ogonek, GDK_Greek_eta, 0x1F97, +GDK_dead_tilde, GDK_dead_ogonek, GDK_Greek_omega, 0x1FA7, +GDK_dead_tilde, GDK_dead_horn, GDK_Greek_ALPHA, 0x1F8E, +GDK_dead_tilde, GDK_dead_horn, GDK_Greek_ETA, 0x1F9E, +GDK_dead_tilde, GDK_dead_horn, GDK_Greek_OMEGA, 0x1FAE, +GDK_dead_tilde, GDK_dead_horn, GDK_Greek_alpha, 0x1F86, +GDK_dead_tilde, GDK_dead_horn, GDK_Greek_eta, 0x1F96, +GDK_dead_tilde, GDK_dead_horn, GDK_Greek_omega, 0x1FA6, +GDK_Multi_key, GDK_apostrophe, GDK_Greek_alpha, 0x1FB4, +GDK_Multi_key, GDK_apostrophe, GDK_Greek_eta, 0x1FC4, +GDK_Multi_key, GDK_apostrophe, GDK_Greek_omega, 0x1FF4, +GDK_Multi_key, GDK_apostrophe, 0x1F00, 0x1F84, +GDK_Multi_key, GDK_apostrophe, 0x1F01, 0x1F85, +GDK_Multi_key, GDK_apostrophe, 0x1F08, 0x1F8C, +GDK_Multi_key, GDK_apostrophe, 0x1F09, 0x1F8D, +GDK_Multi_key, GDK_apostrophe, 0x1F20, 0x1F94, +GDK_Multi_key, GDK_apostrophe, 0x1F21, 0x1F95, +GDK_Multi_key, GDK_apostrophe, 0x1F28, 0x1F9C, +GDK_Multi_key, GDK_apostrophe, 0x1F29, 0x1F9D, +GDK_Multi_key, GDK_apostrophe, 0x1F60, 0x1FA4, +GDK_Multi_key, GDK_apostrophe, 0x1F61, 0x1FA5, +GDK_Multi_key, GDK_apostrophe, 0x1F68, 0x1FAC, +GDK_Multi_key, GDK_apostrophe, 0x1F69, 0x1FAD, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F89, +GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F99, +GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FA9, +GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F81, +GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F91, +GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA1, +GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F88, +GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F98, +GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FA8, +GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F80, +GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F90, +GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA0, +GDK_Multi_key, GDK_grave, GDK_Greek_alpha, 0x1FB2, +GDK_Multi_key, GDK_grave, GDK_Greek_eta, 0x1FC2, +GDK_Multi_key, GDK_grave, GDK_Greek_omega, 0x1FF2, +GDK_Multi_key, GDK_grave, 0x1F00, 0x1F82, +GDK_Multi_key, GDK_grave, 0x1F01, 0x1F83, +GDK_Multi_key, GDK_grave, 0x1F08, 0x1F8A, +GDK_Multi_key, GDK_grave, 0x1F09, 0x1F8B, +GDK_Multi_key, GDK_grave, 0x1F20, 0x1F92, +GDK_Multi_key, GDK_grave, 0x1F21, 0x1F93, +GDK_Multi_key, GDK_grave, 0x1F28, 0x1F9A, +GDK_Multi_key, GDK_grave, 0x1F29, 0x1F9B, +GDK_Multi_key, GDK_grave, 0x1F60, 0x1FA2, +GDK_Multi_key, GDK_grave, 0x1F61, 0x1FA3, +GDK_Multi_key, GDK_grave, 0x1F68, 0x1FAA, +GDK_Multi_key, GDK_grave, 0x1F69, 0x1FAB, +GDK_Multi_key, GDK_asciitilde, GDK_Greek_alpha, 0x1FB7, +GDK_Multi_key, GDK_asciitilde, GDK_Greek_eta, 0x1FC7, +GDK_Multi_key, GDK_asciitilde, GDK_Greek_omega, 0x1FF7, +GDK_Multi_key, GDK_asciitilde, 0x1F00, 0x1F86, +GDK_Multi_key, GDK_asciitilde, 0x1F01, 0x1F87, +GDK_Multi_key, GDK_asciitilde, 0x1F08, 0x1F8E, +GDK_Multi_key, GDK_asciitilde, 0x1F09, 0x1F8F, +GDK_Multi_key, GDK_asciitilde, 0x1F20, 0x1F96, +GDK_Multi_key, GDK_asciitilde, 0x1F21, 0x1F97, +GDK_Multi_key, GDK_asciitilde, 0x1F28, 0x1F9E, +GDK_Multi_key, GDK_asciitilde, 0x1F29, 0x1F9F, +GDK_Multi_key, GDK_asciitilde, 0x1F60, 0x1FA6, +GDK_Multi_key, GDK_asciitilde, 0x1F61, 0x1FA7, +GDK_Multi_key, GDK_asciitilde, 0x1F68, 0x1FAE, +GDK_Multi_key, GDK_asciitilde, 0x1F69, 0x1FAF, +GDK_Multi_key, GDK_acute, GDK_Greek_alpha, 0x1FB4, +GDK_Multi_key, GDK_acute, GDK_Greek_eta, 0x1FC4, +GDK_Multi_key, GDK_acute, GDK_Greek_omega, 0x1FF4, +GDK_Multi_key, GDK_acute, 0x1F00, 0x1F84, +GDK_Multi_key, GDK_acute, 0x1F01, 0x1F85, +GDK_Multi_key, GDK_acute, 0x1F08, 0x1F8C, +GDK_Multi_key, GDK_acute, 0x1F09, 0x1F8D, +GDK_Multi_key, GDK_acute, 0x1F20, 0x1F94, +GDK_Multi_key, GDK_acute, 0x1F21, 0x1F95, +GDK_Multi_key, GDK_acute, 0x1F28, 0x1F9C, +GDK_Multi_key, GDK_acute, 0x1F29, 0x1F9D, +GDK_Multi_key, GDK_acute, 0x1F60, 0x1FA4, +GDK_Multi_key, GDK_acute, 0x1F61, 0x1FA5, +GDK_Multi_key, GDK_acute, 0x1F68, 0x1FAC, +GDK_Multi_key, GDK_acute, 0x1F69, 0x1FAD, +0x0342, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, +0x0342, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, +0x0342, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, +0x0342, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F87, +0x0342, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F97, +0x0342, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA7, +0x0342, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, +0x0342, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9E, +0x0342, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, +0x0342, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F86, +0x0342, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F96, +0x0342, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA6, +GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, +GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, +GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, +GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F83, +GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F93, +GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA3, +GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, +GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9A, +GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, +GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F82, +GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F92, +GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA2, +GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, +GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, +GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, +GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F85, +GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F95, +GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA5, +GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, +GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9C, +GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, +GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F84, +GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F94, +GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA4, +GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, +GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, +GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, +GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F87, +GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F97, +GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA7, +GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, +GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9E, +GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, +GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F86, +GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F96, +GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA6, +GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, +GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, +GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, +GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_alpha, 0x1F85, +GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_eta, 0x1F95, +GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_omega, 0x1FA5, +GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, +GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_ETA, 0x1F9C, +GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, +GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_alpha, 0x1F84, +GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_eta, 0x1F94, +GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_omega, 0x1FA4, +GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, +GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, +GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, +GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, +GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_eta, 0x1F94, +GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, +GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, +GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, +GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, +GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, +GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, +GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, +GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, +GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, +GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, +GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F83, +GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_eta, 0x1F93, +GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_omega, 0x1FA3, +GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, +GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_ETA, 0x1F9A, +GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, +GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_alpha, 0x1F82, +GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_eta, 0x1F92, +GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_omega, 0x1FA2, +GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, +GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, +GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, +GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, +GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, +GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, +GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, +GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, +GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, +GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, +GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, +GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, +GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, +GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, +GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, +GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_alpha, 0x1F87, +GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_eta, 0x1F97, +GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_omega, 0x1FA7, +GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, +GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_ETA, 0x1F9E, +GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, +GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_alpha, 0x1F86, +GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_eta, 0x1F96, +GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_omega, 0x1FA6, +GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, +GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, +GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, +GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, +GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, +GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, +GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, +GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, +GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, +GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, +GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, +GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_omega, 0x1FA7, +GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, +GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, +GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, +GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F85, +GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_eta, 0x1F95, +GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_omega, 0x1FA5, +GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, +GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_ETA, 0x1F9C, +GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, +GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_alpha, 0x1F84, +GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_eta, 0x1F94, +GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_omega, 0x1FA4, +GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, +GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, +GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, +GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, +GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, +GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, +GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, +GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, +GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, +GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, +GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, +GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, +GDK_kana_WO, 0x30FA, +GDK_kana_U, 0x30F4, +GDK_kana_KA, 0x30AC, +GDK_kana_KI, 0x30AE, +GDK_kana_KU, 0x30B0, +GDK_kana_KE, 0x30B2, +GDK_kana_KO, 0x30B4, +GDK_kana_SA, 0x30B6, +GDK_kana_SHI, 0x30B8, +GDK_kana_SU, 0x30BA, +GDK_kana_SE, 0x30BC, +GDK_kana_SO, 0x30BE, +GDK_kana_TA, 0x30C0, +GDK_kana_CHI, 0x30C2, +GDK_kana_TSU, 0x30C5, +GDK_kana_TE, 0x30C7, +GDK_kana_TO, 0x30C9, +GDK_kana_HA, 0x30D0, +GDK_kana_HI, 0x30D3, +GDK_kana_FU, 0x30D6, +GDK_kana_HE, 0x30D9, +GDK_kana_HO, 0x30DC, +GDK_kana_WA, 0x30F7, +GDK_kana_HA, 0x30D1, +GDK_kana_HI, 0x30D4, +GDK_kana_FU, 0x30D7, +GDK_kana_HE, 0x30DA, +GDK_kana_HO, 0x30DD, +GDK_Abreve, 0x1EB6, +GDK_abreve, 0x1EB7, +GDK_Multi_key, GDK_plus, GDK_O, 0x1EE2, +GDK_Multi_key, GDK_plus, GDK_U, 0x1EF0, +GDK_Multi_key, GDK_plus, GDK_o, 0x1EE3, +GDK_Multi_key, GDK_plus, GDK_u, 0x1EF1, +GDK_Abreve, 0x1EB2, +GDK_abreve, 0x1EB3, +GDK_Multi_key, GDK_plus, GDK_O, 0x1EDE, +GDK_Multi_key, GDK_plus, GDK_U, 0x1EEC, +GDK_Multi_key, GDK_plus, GDK_o, 0x1EDF, +GDK_Multi_key, GDK_plus, GDK_u, 0x1EED, +GDK_Multi_key, GDK_U, GDK_A, 0x1EB2, +GDK_Multi_key, GDK_U, GDK_a, 0x1EB3, +GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EA8, +GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EC2, +GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED4, +GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EA9, +GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC3, +GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED5, +GDK_Multi_key, GDK_b, GDK_A, 0x1EB2, +GDK_Multi_key, GDK_b, GDK_a, 0x1EB3, +GDK_Greek_ALPHA, 0x1F08, +GDK_Greek_EPSILON, 0x1F18, +GDK_Greek_ETA, 0x1F28, +GDK_Greek_IOTA, 0x1F38, +GDK_Greek_OMICRON, 0x1F48, +GDK_Greek_OMEGA, 0x1F68, +GDK_Greek_alpha, 0x1F00, +GDK_Greek_epsilon, 0x1F10, +GDK_Greek_eta, 0x1F20, +GDK_Greek_iota, 0x1F30, +GDK_Greek_omicron, 0x1F40, +GDK_Greek_rho, 0x1FE4, +GDK_Greek_upsilon, 0x1F50, +GDK_Greek_omega, 0x1F60, +GDK_D, 0x0110, +GDK_G, 0x01E4, +GDK_H, 0x0126, +GDK_I, 0x0197, +GDK_L, 0x0141, +GDK_O, 0x00D8, +GDK_T, 0x0166, +GDK_Z, 0x01B5, +GDK_b, 0x0180, +GDK_d, 0x0111, +GDK_g, 0x01E5, +GDK_h, 0x0127, +GDK_i, 0x0268, +GDK_l, 0x0142, +GDK_o, 0x00F8, +GDK_t, 0x0167, +GDK_z, 0x01B6, +GDK_dead_acute, GDK_O, 0x01FE, +GDK_dead_acute, GDK_o, 0x01FF, +GDK_space, GDK_space, 0x00A0, +GDK_space, GDK_apostrophe, 0x0027, +GDK_space, GDK_comma, 0x00B8, +GDK_space, GDK_minus, 0x007E, +GDK_space, GDK_period, 0x2008, +GDK_space, GDK_greater, 0x005E, +GDK_space, GDK_asciicircum, 0x005E, +GDK_space, GDK_grave, 0x0060, +GDK_space, GDK_asciitilde, 0x007E, +GDK_exclam, GDK_exclam, 0x00A1, +GDK_exclam, GDK_A, 0x1EA0, +GDK_exclam, GDK_B, 0x1E04, +GDK_exclam, GDK_D, 0x1E0C, +GDK_exclam, GDK_E, 0x1EB8, +GDK_exclam, GDK_H, 0x1E24, +GDK_exclam, GDK_I, 0x1ECA, +GDK_exclam, GDK_K, 0x1E32, +GDK_exclam, GDK_L, 0x1E36, +GDK_exclam, GDK_M, 0x1E42, +GDK_exclam, GDK_N, 0x1E46, +GDK_exclam, GDK_O, 0x1ECC, +GDK_exclam, GDK_R, 0x1E5A, +GDK_exclam, GDK_S, 0x1E62, +GDK_exclam, GDK_T, 0x1E6C, +GDK_exclam, GDK_U, 0x1EE4, +GDK_exclam, GDK_V, 0x1E7E, +GDK_exclam, GDK_W, 0x1E88, +GDK_exclam, GDK_Y, 0x1EF4, +GDK_exclam, GDK_Z, 0x1E92, +GDK_exclam, GDK_asciicircum, 0x00A6, +GDK_exclam, GDK_a, 0x1EA1, +GDK_exclam, GDK_b, 0x1E05, +GDK_exclam, GDK_d, 0x1E0D, +GDK_exclam, GDK_e, 0x1EB9, +GDK_exclam, GDK_h, 0x1E25, +GDK_exclam, GDK_i, 0x1ECB, +GDK_exclam, GDK_k, 0x1E33, +GDK_exclam, GDK_l, 0x1E37, +GDK_exclam, GDK_m, 0x1E43, +GDK_exclam, GDK_n, 0x1E47, +GDK_exclam, GDK_o, 0x1ECD, +GDK_exclam, GDK_r, 0x1E5B, +GDK_exclam, GDK_s, 0x1E63, +GDK_exclam, GDK_t, 0x1E6D, +GDK_exclam, GDK_u, 0x1EE5, +GDK_exclam, GDK_v, 0x1E7F, +GDK_exclam, GDK_w, 0x1E89, +GDK_exclam, GDK_y, 0x1EF5, +GDK_exclam, GDK_z, 0x1E93, +GDK_quotedbl, GDK_apostrophe, 0x0344, +GDK_quotedbl, GDK_comma, 0x201E, +GDK_quotedbl, GDK_slash, 0x301E, +GDK_quotedbl, GDK_less, 0x201C, +GDK_quotedbl, GDK_greater, 0x201D, +GDK_quotedbl, GDK_A, 0x00C4, +GDK_quotedbl, GDK_E, 0x00CB, +GDK_quotedbl, GDK_H, 0x1E26, +GDK_quotedbl, GDK_I, 0x00CF, +GDK_quotedbl, GDK_O, 0x00D6, +GDK_quotedbl, GDK_U, 0x00DC, +GDK_quotedbl, GDK_W, 0x1E84, +GDK_quotedbl, GDK_X, 0x1E8C, +GDK_quotedbl, GDK_Y, 0x0178, +GDK_quotedbl, GDK_backslash, 0x301D, +GDK_quotedbl, GDK_a, 0x00E4, +GDK_quotedbl, GDK_e, 0x00EB, +GDK_quotedbl, GDK_h, 0x1E27, +GDK_quotedbl, GDK_i, 0x00EF, +GDK_quotedbl, GDK_o, 0x00F6, +GDK_quotedbl, GDK_t, 0x1E97, +GDK_quotedbl, GDK_u, 0x00FC, +GDK_quotedbl, GDK_w, 0x1E85, +GDK_quotedbl, GDK_x, 0x1E8D, +GDK_quotedbl, GDK_y, 0x00FF, +GDK_quotedbl, GDK_acute, 0x0344, +GDK_quotedbl, GDK_Otilde, 0x1E4E, +GDK_quotedbl, GDK_otilde, 0x1E4F, +GDK_quotedbl, 0x03D2, 0x03D4, +GDK_quotedbl, GDK_Umacron, 0x1E7A, +GDK_quotedbl, GDK_umacron, 0x1E7B, +GDK_quotedbl, 0x04D8, 0x04DA, +GDK_quotedbl, 0x04D9, 0x04DB, +GDK_quotedbl, 0x04E8, 0x04EA, +GDK_quotedbl, 0x04E9, 0x04EB, +GDK_quotedbl, GDK_Ukrainian_i, 0x0457, +GDK_quotedbl, GDK_Ukrainian_I, 0x0407, +GDK_quotedbl, GDK_Cyrillic_a, 0x04D3, +GDK_quotedbl, GDK_Cyrillic_ie, 0x0451, +GDK_quotedbl, GDK_Cyrillic_i, 0x04E5, +GDK_quotedbl, GDK_Cyrillic_o, 0x04E7, +GDK_quotedbl, GDK_Cyrillic_u, 0x04F1, +GDK_quotedbl, GDK_Cyrillic_zhe, 0x04DD, +GDK_quotedbl, GDK_Cyrillic_yeru, 0x04F9, +GDK_quotedbl, GDK_Cyrillic_ze, 0x04DF, +GDK_quotedbl, GDK_Cyrillic_e, 0x04ED, +GDK_quotedbl, GDK_Cyrillic_che, 0x04F5, +GDK_quotedbl, GDK_Cyrillic_A, 0x04D2, +GDK_quotedbl, GDK_Cyrillic_IE, 0x0401, +GDK_quotedbl, GDK_Cyrillic_I, 0x04E4, +GDK_quotedbl, GDK_Cyrillic_O, 0x04E6, +GDK_quotedbl, GDK_Cyrillic_U, 0x04F0, +GDK_quotedbl, GDK_Cyrillic_ZHE, 0x04DC, +GDK_quotedbl, GDK_Cyrillic_YERU, 0x04F8, +GDK_quotedbl, GDK_Cyrillic_ZE, 0x04DE, +GDK_quotedbl, GDK_Cyrillic_E, 0x04EC, +GDK_quotedbl, GDK_Cyrillic_CHE, 0x04F4, +GDK_quotedbl, GDK_Greek_IOTA, 0x03AA, +GDK_quotedbl, GDK_Greek_UPSILON, 0x03AB, +GDK_quotedbl, GDK_Greek_iota, 0x03CA, +GDK_quotedbl, GDK_Greek_upsilon, 0x03CB, +GDK_quotedbl, GDK_dead_acute, 0x0344, +GDK_numbersign, GDK_numbersign, 0x266F, +GDK_numbersign, GDK_b, 0x266D, +GDK_numbersign, GDK_f, 0x266E, +GDK_percent, GDK_o, 0x2030, +GDK_apostrophe, GDK_space, 0x0027, +GDK_apostrophe, GDK_comma, 0x201A, +GDK_apostrophe, GDK_less, 0x2018, +GDK_apostrophe, GDK_greater, 0x2019, +GDK_apostrophe, GDK_A, 0x00C1, +GDK_apostrophe, GDK_C, 0x0106, +GDK_apostrophe, GDK_E, 0x00C9, +GDK_apostrophe, GDK_G, 0x01F4, +GDK_apostrophe, GDK_I, 0x00CD, +GDK_apostrophe, GDK_K, 0x1E30, +GDK_apostrophe, GDK_L, 0x0139, +GDK_apostrophe, GDK_M, 0x1E3E, +GDK_apostrophe, GDK_N, 0x0143, +GDK_apostrophe, GDK_O, 0x00D3, +GDK_apostrophe, GDK_P, 0x1E54, +GDK_apostrophe, GDK_R, 0x0154, +GDK_apostrophe, GDK_S, 0x015A, +GDK_apostrophe, GDK_U, 0x00DA, +GDK_apostrophe, GDK_W, 0x1E82, +GDK_apostrophe, GDK_Y, 0x00DD, +GDK_apostrophe, GDK_Z, 0x0179, +GDK_apostrophe, GDK_a, 0x00E1, +GDK_apostrophe, GDK_c, 0x0107, +GDK_apostrophe, GDK_e, 0x00E9, +GDK_apostrophe, GDK_g, 0x01F5, +GDK_apostrophe, GDK_i, 0x00ED, +GDK_apostrophe, GDK_k, 0x1E31, +GDK_apostrophe, GDK_l, 0x013A, +GDK_apostrophe, GDK_m, 0x1E3F, +GDK_apostrophe, GDK_n, 0x0144, +GDK_apostrophe, GDK_o, 0x00F3, +GDK_apostrophe, GDK_p, 0x1E55, +GDK_apostrophe, GDK_r, 0x0155, +GDK_apostrophe, GDK_s, 0x015B, +GDK_apostrophe, GDK_u, 0x00FA, +GDK_apostrophe, GDK_w, 0x1E83, +GDK_apostrophe, GDK_y, 0x00FD, +GDK_apostrophe, GDK_z, 0x017A, +GDK_apostrophe, GDK_Acircumflex, 0x1EA4, +GDK_apostrophe, GDK_Aring, 0x01FA, +GDK_apostrophe, GDK_AE, 0x01FC, +GDK_apostrophe, GDK_Ccedilla, 0x1E08, +GDK_apostrophe, GDK_Ecircumflex, 0x1EBE, +GDK_apostrophe, GDK_Idiaeresis, 0x1E2E, +GDK_apostrophe, GDK_Ocircumflex, 0x1ED0, +GDK_apostrophe, GDK_Otilde, 0x1E4C, +GDK_apostrophe, GDK_Ooblique, 0x01FE, +GDK_apostrophe, 0x00DC, 0x01D7, +GDK_apostrophe, GDK_acircumflex, 0x1EA5, +GDK_apostrophe, GDK_aring, 0x01FB, +GDK_apostrophe, GDK_ae, 0x01FD, +GDK_apostrophe, GDK_ccedilla, 0x1E09, +GDK_apostrophe, GDK_ecircumflex, 0x1EBF, +GDK_apostrophe, GDK_idiaeresis, 0x1E2F, +GDK_apostrophe, GDK_ocircumflex, 0x1ED1, +GDK_apostrophe, GDK_otilde, 0x1E4D, +GDK_apostrophe, GDK_oslash, 0x01FF, +GDK_apostrophe, GDK_udiaeresis, 0x01D8, +GDK_apostrophe, GDK_Abreve, 0x1EAE, +GDK_apostrophe, GDK_abreve, 0x1EAF, +GDK_apostrophe, GDK_Emacron, 0x1E16, +GDK_apostrophe, GDK_emacron, 0x1E17, +GDK_apostrophe, GDK_Omacron, 0x1E52, +GDK_apostrophe, GDK_Utilde, 0x1E78, +GDK_apostrophe, GDK_omacron, 0x1E53, +GDK_apostrophe, GDK_utilde, 0x1E79, +GDK_apostrophe, GDK_Cyrillic_ghe, 0x0453, +GDK_apostrophe, GDK_Cyrillic_ka, 0x045C, +GDK_apostrophe, GDK_Cyrillic_GHE, 0x0403, +GDK_apostrophe, GDK_Cyrillic_KA, 0x040C, +GDK_apostrophe, GDK_Greek_iotadieresis, 0x0390, +GDK_apostrophe, GDK_Greek_upsilondieresis, 0x03B0, +GDK_apostrophe, GDK_Greek_ALPHA, 0x0386, +GDK_apostrophe, GDK_Greek_EPSILON, 0x0388, +GDK_apostrophe, GDK_Greek_ETA, 0x0389, +GDK_apostrophe, GDK_Greek_IOTA, 0x038A, +GDK_apostrophe, GDK_Greek_OMICRON, 0x038C, +GDK_apostrophe, GDK_Greek_UPSILON, 0x038E, +GDK_apostrophe, GDK_Greek_OMEGA, 0x038F, +GDK_apostrophe, GDK_Greek_alpha, 0x03AC, +GDK_apostrophe, GDK_Greek_epsilon, 0x03AD, +GDK_apostrophe, GDK_Greek_eta, 0x03AE, +GDK_apostrophe, GDK_Greek_iota, 0x03AF, +GDK_apostrophe, GDK_Greek_omicron, 0x03CC, +GDK_apostrophe, GDK_Greek_upsilon, 0x03CD, +GDK_apostrophe, GDK_Greek_omega, 0x03CE, +GDK_apostrophe, 0x1F00, 0x1F04, +GDK_apostrophe, 0x1F01, 0x1F05, +GDK_apostrophe, 0x1F08, 0x1F0C, +GDK_apostrophe, 0x1F09, 0x1F0D, +GDK_apostrophe, 0x1F10, 0x1F14, +GDK_apostrophe, 0x1F11, 0x1F15, +GDK_apostrophe, 0x1F18, 0x1F1C, +GDK_apostrophe, 0x1F19, 0x1F1D, +GDK_apostrophe, 0x1F20, 0x1F24, +GDK_apostrophe, 0x1F21, 0x1F25, +GDK_apostrophe, 0x1F28, 0x1F2C, +GDK_apostrophe, 0x1F29, 0x1F2D, +GDK_apostrophe, 0x1F30, 0x1F34, +GDK_apostrophe, 0x1F31, 0x1F35, +GDK_apostrophe, 0x1F38, 0x1F3C, +GDK_apostrophe, 0x1F39, 0x1F3D, +GDK_apostrophe, 0x1F40, 0x1F44, +GDK_apostrophe, 0x1F41, 0x1F45, +GDK_apostrophe, 0x1F48, 0x1F4C, +GDK_apostrophe, 0x1F49, 0x1F4D, +GDK_apostrophe, 0x1F50, 0x1F54, +GDK_apostrophe, 0x1F51, 0x1F55, +GDK_apostrophe, 0x1F59, 0x1F5D, +GDK_apostrophe, 0x1F60, 0x1F64, +GDK_apostrophe, 0x1F61, 0x1F65, +GDK_apostrophe, 0x1F68, 0x1F6C, +GDK_apostrophe, 0x1F69, 0x1F6D, +GDK_parenleft, GDK_parenleft, 0x005B, +GDK_parenleft, GDK_minus, 0x007B, +GDK_parenleft, GDK_Greek_ALPHA, 0x1F09, +GDK_parenleft, GDK_Greek_EPSILON, 0x1F19, +GDK_parenleft, GDK_Greek_ETA, 0x1F29, +GDK_parenleft, GDK_Greek_IOTA, 0x1F39, +GDK_parenleft, GDK_Greek_OMICRON, 0x1F49, +GDK_parenleft, GDK_Greek_RHO, 0x1FEC, +GDK_parenleft, GDK_Greek_UPSILON, 0x1F59, +GDK_parenleft, GDK_Greek_OMEGA, 0x1F69, +GDK_parenleft, GDK_Greek_alpha, 0x1F01, +GDK_parenleft, GDK_Greek_epsilon, 0x1F11, +GDK_parenleft, GDK_Greek_eta, 0x1F21, +GDK_parenleft, GDK_Greek_iota, 0x1F31, +GDK_parenleft, GDK_Greek_omicron, 0x1F41, +GDK_parenleft, GDK_Greek_rho, 0x1FE5, +GDK_parenleft, GDK_Greek_upsilon, 0x1F51, +GDK_parenleft, GDK_Greek_omega, 0x1F61, +GDK_parenright, GDK_parenright, 0x005D, +GDK_parenright, GDK_minus, 0x007D, +GDK_parenright, GDK_Greek_ALPHA, 0x1F08, +GDK_parenright, GDK_Greek_EPSILON, 0x1F18, +GDK_parenright, GDK_Greek_ETA, 0x1F28, +GDK_parenright, GDK_Greek_IOTA, 0x1F38, +GDK_parenright, GDK_Greek_OMICRON, 0x1F48, +GDK_parenright, GDK_Greek_OMEGA, 0x1F68, +GDK_parenright, GDK_Greek_alpha, 0x1F00, +GDK_parenright, GDK_Greek_epsilon, 0x1F10, +GDK_parenright, GDK_Greek_eta, 0x1F20, +GDK_parenright, GDK_Greek_iota, 0x1F30, +GDK_parenright, GDK_Greek_omicron, 0x1F40, +GDK_parenright, GDK_Greek_rho, 0x1FE4, +GDK_parenright, GDK_Greek_upsilon, 0x1F50, +GDK_parenright, GDK_Greek_omega, 0x1F60, +GDK_plus, GDK_plus, 0x0023, +GDK_plus, GDK_minus, 0x00B1, +GDK_plus, GDK_O, 0x01A0, +GDK_plus, GDK_U, 0x01AF, +GDK_plus, GDK_o, 0x01A1, +GDK_plus, GDK_u, 0x01B0, +GDK_comma, GDK_space, 0x00B8, +GDK_comma, GDK_quotedbl, 0x201E, +GDK_comma, GDK_apostrophe, 0x201A, +GDK_comma, GDK_minus, 0x00AC, +GDK_comma, GDK_C, 0x00C7, +GDK_comma, GDK_D, 0x1E10, +GDK_comma, GDK_E, 0x0228, +GDK_comma, GDK_G, 0x0122, +GDK_comma, GDK_H, 0x1E28, +GDK_comma, GDK_K, 0x0136, +GDK_comma, GDK_L, 0x013B, +GDK_comma, GDK_N, 0x0145, +GDK_comma, GDK_R, 0x0156, +GDK_comma, GDK_S, 0x015E, +GDK_comma, GDK_T, 0x0162, +GDK_comma, GDK_c, 0x00E7, +GDK_comma, GDK_d, 0x1E11, +GDK_comma, GDK_e, 0x0229, +GDK_comma, GDK_g, 0x0123, +GDK_comma, GDK_h, 0x1E29, +GDK_comma, GDK_k, 0x0137, +GDK_comma, GDK_l, 0x013C, +GDK_comma, GDK_n, 0x0146, +GDK_comma, GDK_r, 0x0157, +GDK_comma, GDK_s, 0x015F, +GDK_comma, GDK_t, 0x0163, +GDK_minus, GDK_space, 0x007E, +GDK_minus, GDK_parenleft, 0x007B, +GDK_minus, GDK_parenright, 0x007D, +GDK_minus, GDK_comma, 0x00AC, +GDK_minus, GDK_colon, 0x00F7, +GDK_minus, GDK_D, 0x01D0, +GDK_minus, GDK_L, 0x00A3, +GDK_minus, GDK_d, 0x01F0, +GDK_period, GDK_minus, 0x00B7, +GDK_period, GDK_period, 0x0AAE, +GDK_period, GDK_less, 0x2039, +GDK_period, GDK_equal, 0x0AE6, +GDK_period, GDK_greater, 0x203A, +GDK_period, GDK_A, 0x0226, +GDK_period, GDK_B, 0x1E02, +GDK_period, GDK_C, 0x010A, +GDK_period, GDK_D, 0x1E0A, +GDK_period, GDK_E, 0x0116, +GDK_period, GDK_F, 0x1E1E, +GDK_period, GDK_G, 0x0120, +GDK_period, GDK_H, 0x1E22, +GDK_period, GDK_I, 0x0130, +GDK_period, GDK_M, 0x1E40, +GDK_period, GDK_N, 0x1E44, +GDK_period, GDK_O, 0x022E, +GDK_period, GDK_P, 0x1E56, +GDK_period, GDK_R, 0x1E58, +GDK_period, GDK_S, 0x1E60, +GDK_period, GDK_T, 0x1E6A, +GDK_period, GDK_W, 0x1E86, +GDK_period, GDK_X, 0x1E8A, +GDK_period, GDK_Y, 0x1E8E, +GDK_period, GDK_Z, 0x017B, +GDK_period, GDK_a, 0x0227, +GDK_period, GDK_b, 0x1E03, +GDK_period, GDK_c, 0x010B, +GDK_period, GDK_d, 0x1E0B, +GDK_period, GDK_e, 0x0117, +GDK_period, GDK_f, 0x1E1F, +GDK_period, GDK_g, 0x0121, +GDK_period, GDK_h, 0x1E23, +GDK_period, GDK_m, 0x1E41, +GDK_period, GDK_n, 0x1E45, +GDK_period, GDK_o, 0x022F, +GDK_period, GDK_p, 0x1E57, +GDK_period, GDK_r, 0x1E59, +GDK_period, GDK_s, 0x1E61, +GDK_period, GDK_t, 0x1E6B, +GDK_period, GDK_w, 0x1E87, +GDK_period, GDK_x, 0x1E8B, +GDK_period, GDK_y, 0x1E8F, +GDK_period, GDK_z, 0x017C, +GDK_period, 0x017F, 0x1E9B, +GDK_period, GDK_Sacute, 0x1E64, +GDK_period, GDK_Scaron, 0x1E66, +GDK_period, GDK_sacute, 0x1E65, +GDK_period, GDK_scaron, 0x1E67, +GDK_period, 0x1E62, 0x1E68, +GDK_period, 0x1E63, 0x1E69, +GDK_slash, GDK_slash, 0x005C, +GDK_slash, GDK_less, 0x005C, +GDK_slash, GDK_C, 0x20A1, +GDK_slash, GDK_D, 0x0110, +GDK_slash, GDK_G, 0x01E4, +GDK_slash, GDK_H, 0x0126, +GDK_slash, GDK_I, 0x0197, +GDK_slash, GDK_L, 0x0141, +GDK_slash, GDK_O, 0x00D8, +GDK_slash, GDK_T, 0x0166, +GDK_slash, GDK_Z, 0x01B5, +GDK_slash, GDK_asciicircum, 0x007C, +GDK_slash, GDK_b, 0x0180, +GDK_slash, GDK_c, 0x00A2, +GDK_slash, GDK_d, 0x0111, +GDK_slash, GDK_g, 0x01E5, +GDK_slash, GDK_h, 0x0127, +GDK_slash, GDK_i, 0x0268, +GDK_slash, GDK_l, 0x0142, +GDK_slash, GDK_m, 0x20A5, +GDK_slash, GDK_o, 0x00F8, +GDK_slash, GDK_t, 0x0167, +GDK_slash, GDK_z, 0x01B6, +GDK_slash, 0x0294, 0x02A1, +GDK_slash, 0x04AE, 0x04B0, +GDK_slash, 0x04AF, 0x04B1, +GDK_slash, GDK_Cyrillic_ghe, 0x0493, +GDK_slash, GDK_Cyrillic_ka, 0x049F, +GDK_slash, GDK_Cyrillic_GHE, 0x0492, +GDK_slash, GDK_Cyrillic_KA, 0x049E, +GDK_slash, GDK_leftarrow, 0x219A, +GDK_slash, GDK_rightarrow, 0x219B, +GDK_slash, 0x2194, 0x21AE, +GDK_1, GDK_2, 0x00BD, +GDK_1, GDK_4, 0x00BC, +GDK_3, GDK_4, 0x00BE, +GDK_colon, GDK_minus, 0x00F7, +GDK_semicolon, GDK_A, 0x0104, +GDK_semicolon, GDK_E, 0x0118, +GDK_semicolon, GDK_I, 0x012E, +GDK_semicolon, GDK_O, 0x01EA, +GDK_semicolon, GDK_U, 0x0172, +GDK_semicolon, GDK_a, 0x0105, +GDK_semicolon, GDK_e, 0x0119, +GDK_semicolon, GDK_i, 0x012F, +GDK_semicolon, GDK_o, 0x01EB, +GDK_semicolon, GDK_u, 0x0173, +GDK_less, GDK_quotedbl, 0x201C, +GDK_less, GDK_apostrophe, 0x2018, +GDK_less, GDK_slash, 0x005C, +GDK_less, GDK_less, 0x00AB, +GDK_less, 0x0338, 0x226E, +GDK_equal, GDK_C, 0x20AC, +GDK_equal, GDK_E, 0x20AC, +GDK_equal, GDK_L, 0x20A4, +GDK_equal, GDK_N, 0x20A6, +GDK_equal, GDK_O, 0x0150, +GDK_equal, GDK_U, 0x0170, +GDK_equal, GDK_W, 0x20A9, +GDK_equal, GDK_Y, 0x00A5, +GDK_equal, GDK_c, 0x20AC, +GDK_equal, GDK_e, 0x20AC, +GDK_equal, GDK_o, 0x0151, +GDK_equal, GDK_u, 0x0171, +GDK_equal, 0x0338, 0x2260, +GDK_equal, GDK_Cyrillic_u, 0x04F3, +GDK_equal, GDK_Cyrillic_IE, 0x20AC, +GDK_equal, GDK_Cyrillic_ES, 0x20AC, +GDK_equal, GDK_Cyrillic_U, 0x04F2, +GDK_greater, GDK_space, 0x005E, +GDK_greater, GDK_quotedbl, 0x201D, +GDK_greater, GDK_apostrophe, 0x2019, +GDK_greater, GDK_greater, 0x00BB, +GDK_greater, 0x0338, 0x226F, +GDK_question, GDK_question, 0x00BF, +GDK_question, GDK_A, 0x1EA2, +GDK_question, GDK_E, 0x1EBA, +GDK_question, GDK_I, 0x1EC8, +GDK_question, GDK_O, 0x1ECE, +GDK_question, GDK_U, 0x1EE6, +GDK_question, GDK_Y, 0x1EF6, +GDK_question, GDK_a, 0x1EA3, +GDK_question, GDK_e, 0x1EBB, +GDK_question, GDK_i, 0x1EC9, +GDK_question, GDK_o, 0x1ECF, +GDK_question, GDK_u, 0x1EE7, +GDK_question, GDK_y, 0x1EF7, +GDK_question, GDK_Acircumflex, 0x1EA8, +GDK_question, GDK_Ecircumflex, 0x1EC2, +GDK_question, GDK_Ocircumflex, 0x1ED4, +GDK_question, GDK_acircumflex, 0x1EA9, +GDK_question, GDK_ecircumflex, 0x1EC3, +GDK_question, GDK_ocircumflex, 0x1ED5, +GDK_question, GDK_Abreve, 0x1EB2, +GDK_question, GDK_abreve, 0x1EB3, +GDK_A, GDK_E, 0x00C6, +GDK_A, GDK_T, 0x0040, +GDK_C, GDK_slash, 0x20A1, +GDK_C, GDK_equal, 0x20AC, +GDK_C, GDK_E, 0x20A0, +GDK_C, GDK_r, 0x20A2, +GDK_D, GDK_H, 0x00D0, +GDK_E, GDK_equal, 0x20AC, +GDK_F, GDK_r, 0x20A3, +GDK_L, GDK_minus, 0x00A3, +GDK_L, GDK_equal, 0x20A4, +GDK_L, GDK_V, 0x007C, +GDK_N, GDK_equal, 0x20A6, +GDK_N, GDK_G, 0x014A, +GDK_N, GDK_O, 0x06B0, +GDK_N, GDK_o, 0x06B0, +GDK_O, GDK_C, 0x00A9, +GDK_O, GDK_E, 0x13BC, +GDK_O, GDK_R, 0x00AE, +GDK_O, GDK_c, 0x00A9, +GDK_O, GDK_r, 0x00AE, +GDK_P, GDK_exclam, 0x00B6, +GDK_P, GDK_P, 0x00B6, +GDK_P, GDK_t, 0x20A7, +GDK_R, GDK_s, 0x20A8, +GDK_S, GDK_M, 0x2120, +GDK_S, GDK_m, 0x2120, +GDK_T, GDK_H, 0x00DE, +GDK_T, GDK_M, 0x2122, +GDK_T, GDK_m, 0x2122, +GDK_U, GDK_A, 0x0102, +GDK_U, GDK_E, 0x0114, +GDK_U, GDK_G, 0x011E, +GDK_U, GDK_I, 0x012C, +GDK_U, GDK_O, 0x014E, +GDK_U, GDK_U, 0x016C, +GDK_U, GDK_a, 0x0103, +GDK_U, GDK_e, 0x0115, +GDK_U, GDK_g, 0x011F, +GDK_U, GDK_i, 0x012D, +GDK_U, GDK_o, 0x014F, +GDK_U, GDK_u, 0x016D, +GDK_U, 0x0228, 0x1E1C, +GDK_U, 0x0229, 0x1E1D, +GDK_U, GDK_Cyrillic_a, 0x04D1, +GDK_U, GDK_Cyrillic_ie, 0x04D7, +GDK_U, GDK_Cyrillic_i, 0x0439, +GDK_U, GDK_Cyrillic_u, 0x045E, +GDK_U, GDK_Cyrillic_zhe, 0x04C2, +GDK_U, GDK_Cyrillic_A, 0x04D0, +GDK_U, GDK_Cyrillic_IE, 0x04D6, +GDK_U, GDK_Cyrillic_I, 0x0419, +GDK_U, GDK_Cyrillic_U, 0x040E, +GDK_U, GDK_Cyrillic_ZHE, 0x04C1, +GDK_U, GDK_Greek_ALPHA, 0x1FB8, +GDK_U, GDK_Greek_IOTA, 0x1FD8, +GDK_U, GDK_Greek_UPSILON, 0x1FE8, +GDK_U, GDK_Greek_alpha, 0x1FB0, +GDK_U, GDK_Greek_iota, 0x1FD0, +GDK_U, GDK_Greek_upsilon, 0x1FE0, +GDK_U, 0x1EA0, 0x1EB6, +GDK_U, 0x1EA1, 0x1EB7, +GDK_V, GDK_L, 0x007C, +GDK_W, GDK_equal, 0x20A9, +GDK_Y, GDK_equal, 0x00A5, +GDK_asciicircum, GDK_space, 0x005E, +GDK_asciicircum, GDK_parenleft, 0x207D, +GDK_asciicircum, GDK_parenright, 0x207E, +GDK_asciicircum, GDK_plus, 0x207A, +GDK_asciicircum, GDK_slash, 0x007C, +GDK_asciicircum, GDK_0, 0x2070, +GDK_asciicircum, GDK_1, 0x00B9, +GDK_asciicircum, GDK_2, 0x00B2, +GDK_asciicircum, GDK_3, 0x00B3, +GDK_asciicircum, GDK_4, 0x2074, +GDK_asciicircum, GDK_5, 0x2075, +GDK_asciicircum, GDK_6, 0x2076, +GDK_asciicircum, GDK_7, 0x2077, +GDK_asciicircum, GDK_8, 0x2078, +GDK_asciicircum, GDK_9, 0x2079, +GDK_asciicircum, GDK_equal, 0x207C, +GDK_asciicircum, GDK_A, 0x00C2, +GDK_asciicircum, GDK_C, 0x0108, +GDK_asciicircum, GDK_E, 0x00CA, +GDK_asciicircum, GDK_G, 0x011C, +GDK_asciicircum, GDK_H, 0x0124, +GDK_asciicircum, GDK_I, 0x00CE, +GDK_asciicircum, GDK_J, 0x0134, +GDK_asciicircum, GDK_O, 0x00D4, +GDK_asciicircum, GDK_S, 0x015C, +GDK_asciicircum, GDK_U, 0x00DB, +GDK_asciicircum, GDK_W, 0x0174, +GDK_asciicircum, GDK_Y, 0x0176, +GDK_asciicircum, GDK_Z, 0x1E90, +GDK_asciicircum, GDK_a, 0x00E2, +GDK_asciicircum, GDK_c, 0x0109, +GDK_asciicircum, GDK_e, 0x00EA, +GDK_asciicircum, GDK_g, 0x011D, +GDK_asciicircum, GDK_h, 0x0125, +GDK_asciicircum, GDK_i, 0x00EE, +GDK_asciicircum, GDK_j, 0x0135, +GDK_asciicircum, GDK_o, 0x00F4, +GDK_asciicircum, GDK_s, 0x015D, +GDK_asciicircum, GDK_u, 0x00FB, +GDK_asciicircum, GDK_w, 0x0175, +GDK_asciicircum, GDK_y, 0x0177, +GDK_asciicircum, GDK_z, 0x1E91, +GDK_asciicircum, 0x1EA0, 0x1EAC, +GDK_asciicircum, 0x1EA1, 0x1EAD, +GDK_asciicircum, 0x1EB8, 0x1EC6, +GDK_asciicircum, 0x1EB9, 0x1EC7, +GDK_asciicircum, 0x1ECC, 0x1ED8, +GDK_asciicircum, 0x1ECD, 0x1ED9, +GDK_asciicircum, 0x2212, 0x207B, +GDK_asciicircum, 0x4E00, 0x3192, +GDK_asciicircum, 0x4E01, 0x319C, +GDK_asciicircum, 0x4E09, 0x3194, +GDK_asciicircum, 0x4E0A, 0x3196, +GDK_asciicircum, 0x4E0B, 0x3198, +GDK_asciicircum, 0x4E19, 0x319B, +GDK_asciicircum, 0x4E2D, 0x3197, +GDK_asciicircum, 0x4E59, 0x319A, +GDK_asciicircum, 0x4E8C, 0x3193, +GDK_asciicircum, 0x4EBA, 0x319F, +GDK_asciicircum, 0x56DB, 0x3195, +GDK_asciicircum, 0x5730, 0x319E, +GDK_asciicircum, 0x5929, 0x319D, +GDK_asciicircum, 0x7532, 0x3199, +GDK_asciicircum, GDK_KP_Space, 0x00B2, +GDK_asciicircum, GDK_KP_Add, 0x207A, +GDK_asciicircum, GDK_KP_0, 0x2070, +GDK_asciicircum, GDK_KP_1, 0x00B9, +GDK_asciicircum, GDK_KP_2, 0x00B2, +GDK_asciicircum, GDK_KP_3, 0x00B3, +GDK_asciicircum, GDK_KP_4, 0x2074, +GDK_asciicircum, GDK_KP_5, 0x2075, +GDK_asciicircum, GDK_KP_6, 0x2076, +GDK_asciicircum, GDK_KP_7, 0x2077, +GDK_asciicircum, GDK_KP_8, 0x2078, +GDK_asciicircum, GDK_KP_9, 0x2079, +GDK_asciicircum, GDK_KP_Equal, 0x207C, +GDK_underscore, GDK_parenleft, 0x208D, +GDK_underscore, GDK_parenright, 0x208E, +GDK_underscore, GDK_plus, 0x208A, +GDK_underscore, GDK_0, 0x2080, +GDK_underscore, GDK_1, 0x2081, +GDK_underscore, GDK_2, 0x2082, +GDK_underscore, GDK_3, 0x2083, +GDK_underscore, GDK_4, 0x2084, +GDK_underscore, GDK_5, 0x2085, +GDK_underscore, GDK_6, 0x2086, +GDK_underscore, GDK_7, 0x2087, +GDK_underscore, GDK_8, 0x2088, +GDK_underscore, GDK_9, 0x2089, +GDK_underscore, GDK_equal, 0x208C, +GDK_underscore, GDK_A, 0x0100, +GDK_underscore, GDK_E, 0x0112, +GDK_underscore, GDK_G, 0x1E20, +GDK_underscore, GDK_I, 0x012A, +GDK_underscore, GDK_O, 0x014C, +GDK_underscore, GDK_U, 0x016A, +GDK_underscore, GDK_Y, 0x0232, +GDK_underscore, GDK_a, 0x0101, +GDK_underscore, GDK_e, 0x0113, +GDK_underscore, GDK_g, 0x1E21, +GDK_underscore, GDK_i, 0x012B, +GDK_underscore, GDK_o, 0x014D, +GDK_underscore, GDK_u, 0x016B, +GDK_underscore, GDK_y, 0x0233, +GDK_underscore, GDK_Adiaeresis, 0x01DE, +GDK_underscore, GDK_AE, 0x01E2, +GDK_underscore, GDK_Otilde, 0x022C, +GDK_underscore, GDK_Odiaeresis, 0x022A, +GDK_underscore, 0x00DC, 0x01D5, +GDK_underscore, GDK_adiaeresis, 0x01DF, +GDK_underscore, GDK_ae, 0x01E3, +GDK_underscore, GDK_otilde, 0x022D, +GDK_underscore, GDK_odiaeresis, 0x022B, +GDK_underscore, GDK_udiaeresis, 0x01D6, +GDK_underscore, 0x01EA, 0x01EC, +GDK_underscore, 0x01EB, 0x01ED, +GDK_underscore, 0x0226, 0x01E0, +GDK_underscore, 0x0227, 0x01E1, +GDK_underscore, 0x022E, 0x0230, +GDK_underscore, 0x022F, 0x0231, +GDK_underscore, GDK_Cyrillic_i, 0x04E3, +GDK_underscore, GDK_Cyrillic_u, 0x04EF, +GDK_underscore, GDK_Cyrillic_I, 0x04E2, +GDK_underscore, GDK_Cyrillic_U, 0x04EE, +GDK_underscore, GDK_Greek_ALPHA, 0x1FB9, +GDK_underscore, GDK_Greek_IOTA, 0x1FD9, +GDK_underscore, GDK_Greek_UPSILON, 0x1FE9, +GDK_underscore, GDK_Greek_alpha, 0x1FB1, +GDK_underscore, GDK_Greek_iota, 0x1FD1, +GDK_underscore, GDK_Greek_upsilon, 0x1FE1, +GDK_underscore, 0x1E36, 0x1E38, +GDK_underscore, 0x1E37, 0x1E39, +GDK_underscore, 0x1E5A, 0x1E5C, +GDK_underscore, 0x1E5B, 0x1E5D, +GDK_underscore, 0x2212, 0x208B, +GDK_underscore, GDK_KP_Space, 0x2082, +GDK_underscore, GDK_KP_Add, 0x208A, +GDK_underscore, GDK_KP_0, 0x2080, +GDK_underscore, GDK_KP_1, 0x2081, +GDK_underscore, GDK_KP_2, 0x2082, +GDK_underscore, GDK_KP_3, 0x2083, +GDK_underscore, GDK_KP_4, 0x2084, +GDK_underscore, GDK_KP_5, 0x2085, +GDK_underscore, GDK_KP_6, 0x2086, +GDK_underscore, GDK_KP_7, 0x2087, +GDK_underscore, GDK_KP_8, 0x2088, +GDK_underscore, GDK_KP_9, 0x2089, +GDK_underscore, GDK_KP_Equal, 0x208C, +GDK_grave, GDK_space, 0x0060, +GDK_grave, GDK_A, 0x00C0, +GDK_grave, GDK_E, 0x00C8, +GDK_grave, GDK_I, 0x00CC, +GDK_grave, GDK_N, 0x01F8, +GDK_grave, GDK_O, 0x00D2, +GDK_grave, GDK_U, 0x00D9, +GDK_grave, GDK_W, 0x1E80, +GDK_grave, GDK_Y, 0x1EF2, +GDK_grave, GDK_a, 0x00E0, +GDK_grave, GDK_e, 0x00E8, +GDK_grave, GDK_i, 0x00EC, +GDK_grave, GDK_n, 0x01F9, +GDK_grave, GDK_o, 0x00F2, +GDK_grave, GDK_u, 0x00F9, +GDK_grave, GDK_w, 0x1E81, +GDK_grave, GDK_y, 0x1EF3, +GDK_grave, GDK_Acircumflex, 0x1EA6, +GDK_grave, GDK_Ecircumflex, 0x1EC0, +GDK_grave, GDK_Ocircumflex, 0x1ED2, +GDK_grave, 0x00DC, 0x01DB, +GDK_grave, GDK_acircumflex, 0x1EA7, +GDK_grave, GDK_ecircumflex, 0x1EC1, +GDK_grave, GDK_ocircumflex, 0x1ED3, +GDK_grave, GDK_udiaeresis, 0x01DC, +GDK_grave, GDK_Abreve, 0x1EB0, +GDK_grave, GDK_abreve, 0x1EB1, +GDK_grave, GDK_Emacron, 0x1E14, +GDK_grave, GDK_emacron, 0x1E15, +GDK_grave, GDK_Omacron, 0x1E50, +GDK_grave, GDK_omacron, 0x1E51, +GDK_grave, GDK_Cyrillic_ie, 0x0450, +GDK_grave, GDK_Cyrillic_i, 0x045D, +GDK_grave, GDK_Cyrillic_IE, 0x0400, +GDK_grave, GDK_Cyrillic_I, 0x040D, +GDK_grave, GDK_Greek_iotadieresis, 0x1FD2, +GDK_grave, GDK_Greek_upsilondieresis, 0x1FE2, +GDK_grave, GDK_Greek_ALPHA, 0x1FBA, +GDK_grave, GDK_Greek_EPSILON, 0x1FC8, +GDK_grave, GDK_Greek_ETA, 0x1FCA, +GDK_grave, GDK_Greek_IOTA, 0x1FDA, +GDK_grave, GDK_Greek_OMICRON, 0x1FF8, +GDK_grave, GDK_Greek_UPSILON, 0x1FEA, +GDK_grave, GDK_Greek_OMEGA, 0x1FFA, +GDK_grave, GDK_Greek_alpha, 0x1F70, +GDK_grave, GDK_Greek_epsilon, 0x1F72, +GDK_grave, GDK_Greek_eta, 0x1F74, +GDK_grave, GDK_Greek_iota, 0x1F76, +GDK_grave, GDK_Greek_omicron, 0x1F78, +GDK_grave, GDK_Greek_upsilon, 0x1F7A, +GDK_grave, GDK_Greek_omega, 0x1F7C, +GDK_grave, 0x1F00, 0x1F02, +GDK_grave, 0x1F01, 0x1F03, +GDK_grave, 0x1F08, 0x1F0A, +GDK_grave, 0x1F09, 0x1F0B, +GDK_grave, 0x1F10, 0x1F12, +GDK_grave, 0x1F11, 0x1F13, +GDK_grave, 0x1F18, 0x1F1A, +GDK_grave, 0x1F19, 0x1F1B, +GDK_grave, 0x1F20, 0x1F22, +GDK_grave, 0x1F21, 0x1F23, +GDK_grave, 0x1F28, 0x1F2A, +GDK_grave, 0x1F29, 0x1F2B, +GDK_grave, 0x1F30, 0x1F32, +GDK_grave, 0x1F31, 0x1F33, +GDK_grave, 0x1F38, 0x1F3A, +GDK_grave, 0x1F39, 0x1F3B, +GDK_grave, 0x1F40, 0x1F42, +GDK_grave, 0x1F41, 0x1F43, +GDK_grave, 0x1F48, 0x1F4A, +GDK_grave, 0x1F49, 0x1F4B, +GDK_grave, 0x1F50, 0x1F52, +GDK_grave, 0x1F51, 0x1F53, +GDK_grave, 0x1F59, 0x1F5B, +GDK_grave, 0x1F60, 0x1F62, +GDK_grave, 0x1F61, 0x1F63, +GDK_grave, 0x1F68, 0x1F6A, +GDK_grave, 0x1F69, 0x1F6B, +GDK_a, GDK_e, 0x00E6, +GDK_b, GDK_A, 0x0102, +GDK_b, GDK_E, 0x0114, +GDK_b, GDK_G, 0x011E, +GDK_b, GDK_I, 0x012C, +GDK_b, GDK_O, 0x014E, +GDK_b, GDK_U, 0x016C, +GDK_b, GDK_a, 0x0103, +GDK_b, GDK_e, 0x0115, +GDK_b, GDK_g, 0x011F, +GDK_b, GDK_i, 0x012D, +GDK_b, GDK_o, 0x014F, +GDK_b, GDK_u, 0x016D, +GDK_b, 0x0228, 0x1E1C, +GDK_b, 0x0229, 0x1E1D, +GDK_b, GDK_Cyrillic_a, 0x04D1, +GDK_b, GDK_Cyrillic_ie, 0x04D7, +GDK_b, GDK_Cyrillic_i, 0x0439, +GDK_b, GDK_Cyrillic_u, 0x045E, +GDK_b, GDK_Cyrillic_zhe, 0x04C2, +GDK_b, GDK_Cyrillic_A, 0x04D0, +GDK_b, GDK_Cyrillic_IE, 0x04D6, +GDK_b, GDK_Cyrillic_I, 0x0419, +GDK_b, GDK_Cyrillic_U, 0x040E, +GDK_b, GDK_Cyrillic_ZHE, 0x04C1, +GDK_b, GDK_Greek_ALPHA, 0x1FB8, +GDK_b, GDK_Greek_IOTA, 0x1FD8, +GDK_b, GDK_Greek_UPSILON, 0x1FE8, +GDK_b, GDK_Greek_alpha, 0x1FB0, +GDK_b, GDK_Greek_iota, 0x1FD0, +GDK_b, GDK_Greek_upsilon, 0x1FE0, +GDK_b, 0x1EA0, 0x1EB6, +GDK_b, 0x1EA1, 0x1EB7, +GDK_c, GDK_slash, 0x00A2, +GDK_c, GDK_equal, 0x20AC, +GDK_c, GDK_A, 0x01CD, +GDK_c, GDK_C, 0x010C, +GDK_c, GDK_D, 0x010E, +GDK_c, GDK_E, 0x011A, +GDK_c, GDK_G, 0x01E6, +GDK_c, GDK_H, 0x021E, +GDK_c, GDK_I, 0x01CF, +GDK_c, GDK_K, 0x01E8, +GDK_c, GDK_L, 0x013D, +GDK_c, GDK_N, 0x0147, +GDK_c, GDK_O, 0x01D1, +GDK_c, GDK_R, 0x0158, +GDK_c, GDK_S, 0x0160, +GDK_c, GDK_T, 0x0164, +GDK_c, GDK_U, 0x01D3, +GDK_c, GDK_Z, 0x017D, +GDK_c, GDK_a, 0x01CE, +GDK_c, GDK_c, 0x010D, +GDK_c, GDK_d, 0x010F, +GDK_c, GDK_e, 0x011B, +GDK_c, GDK_g, 0x01E7, +GDK_c, GDK_h, 0x021F, +GDK_c, GDK_i, 0x01D0, +GDK_c, GDK_j, 0x01F0, +GDK_c, GDK_k, 0x01E9, +GDK_c, GDK_l, 0x013E, +GDK_c, GDK_n, 0x0148, +GDK_c, GDK_o, 0x01D2, +GDK_c, GDK_r, 0x0159, +GDK_c, GDK_s, 0x0161, +GDK_c, GDK_t, 0x0165, +GDK_c, GDK_u, 0x01D4, +GDK_c, GDK_z, 0x017E, +GDK_c, GDK_bar, 0x00A2, +GDK_c, 0x00DC, 0x01D9, +GDK_c, GDK_udiaeresis, 0x01DA, +GDK_c, 0x01B7, 0x01EE, +GDK_c, 0x0292, 0x01EF, +GDK_d, GDK_minus, 0x20AB, +GDK_d, GDK_h, 0x00F0, +GDK_e, GDK_equal, 0x20AC, +GDK_e, GDK_e, 0x0259, +GDK_f, GDK_S, 0x017F, +GDK_f, GDK_s, 0x017F, +GDK_i, GDK_period, 0x0131, +GDK_k, GDK_k, 0x0138, +GDK_l, GDK_v, 0x007C, +GDK_m, GDK_slash, 0x20A5, +GDK_m, GDK_u, 0x00B5, +GDK_n, GDK_g, 0x014B, +GDK_o, GDK_A, 0x00C5, +GDK_o, GDK_C, 0x00A9, +GDK_o, GDK_R, 0x00AE, +GDK_o, GDK_U, 0x016E, +GDK_o, GDK_a, 0x00E5, +GDK_o, GDK_c, 0x00A9, +GDK_o, GDK_e, 0x13BD, +GDK_o, GDK_o, 0x00B0, +GDK_o, GDK_r, 0x00AE, +GDK_o, GDK_s, 0x00A7, +GDK_o, GDK_u, 0x016F, +GDK_o, GDK_w, 0x1E98, +GDK_o, GDK_x, 0x00A4, +GDK_o, GDK_y, 0x1E99, +GDK_p, GDK_exclam, 0x00B6, +GDK_s, GDK_M, 0x2120, +GDK_s, GDK_m, 0x2120, +GDK_s, GDK_o, 0x00A7, +GDK_s, GDK_s, 0x00DF, +GDK_t, GDK_M, 0x2122, +GDK_t, GDK_h, 0x00FE, +GDK_t, GDK_m, 0x2122, +GDK_u, GDK_u, 0x016D, +GDK_v, GDK_l, 0x007C, +GDK_x, GDK_o, 0x00A4, +GDK_x, GDK_x, 0x00D7, +GDK_bar, GDK_c, 0x00A2, +GDK_asciitilde, GDK_space, 0x007E, +GDK_asciitilde, GDK_A, 0x00C3, +GDK_asciitilde, GDK_E, 0x1EBC, +GDK_asciitilde, GDK_I, 0x0128, +GDK_asciitilde, GDK_N, 0x00D1, +GDK_asciitilde, GDK_O, 0x00D5, +GDK_asciitilde, GDK_U, 0x0168, +GDK_asciitilde, GDK_V, 0x1E7C, +GDK_asciitilde, GDK_Y, 0x1EF8, +GDK_asciitilde, GDK_a, 0x00E3, +GDK_asciitilde, GDK_e, 0x1EBD, +GDK_asciitilde, GDK_i, 0x0129, +GDK_asciitilde, GDK_n, 0x00F1, +GDK_asciitilde, GDK_o, 0x00F5, +GDK_asciitilde, GDK_u, 0x0169, +GDK_asciitilde, GDK_v, 0x1E7D, +GDK_asciitilde, GDK_y, 0x1EF9, +GDK_asciitilde, GDK_Acircumflex, 0x1EAA, +GDK_asciitilde, GDK_Ecircumflex, 0x1EC4, +GDK_asciitilde, GDK_Ocircumflex, 0x1ED6, +GDK_asciitilde, GDK_acircumflex, 0x1EAB, +GDK_asciitilde, GDK_ecircumflex, 0x1EC5, +GDK_asciitilde, GDK_ocircumflex, 0x1ED7, +GDK_asciitilde, GDK_Abreve, 0x1EB4, +GDK_asciitilde, GDK_abreve, 0x1EB5, +GDK_asciitilde, GDK_Greek_iotadieresis, 0x1FD7, +GDK_asciitilde, GDK_Greek_upsilondieresis, 0x1FE7, +GDK_asciitilde, GDK_Greek_alpha, 0x1FB6, +GDK_asciitilde, GDK_Greek_eta, 0x1FC6, +GDK_asciitilde, GDK_Greek_iota, 0x1FD6, +GDK_asciitilde, GDK_Greek_upsilon, 0x1FE6, +GDK_asciitilde, GDK_Greek_omega, 0x1FF6, +GDK_asciitilde, 0x1F00, 0x1F06, +GDK_asciitilde, 0x1F01, 0x1F07, +GDK_asciitilde, 0x1F08, 0x1F0E, +GDK_asciitilde, 0x1F09, 0x1F0F, +GDK_asciitilde, 0x1F20, 0x1F26, +GDK_asciitilde, 0x1F21, 0x1F27, +GDK_asciitilde, 0x1F28, 0x1F2E, +GDK_asciitilde, 0x1F29, 0x1F2F, +GDK_asciitilde, 0x1F30, 0x1F36, +GDK_asciitilde, 0x1F31, 0x1F37, +GDK_asciitilde, 0x1F38, 0x1F3E, +GDK_asciitilde, 0x1F39, 0x1F3F, +GDK_asciitilde, 0x1F50, 0x1F56, +GDK_asciitilde, 0x1F51, 0x1F57, +GDK_asciitilde, 0x1F59, 0x1F5F, +GDK_asciitilde, 0x1F60, 0x1F66, +GDK_asciitilde, 0x1F61, 0x1F67, +GDK_asciitilde, 0x1F68, 0x1F6E, +GDK_asciitilde, 0x1F69, 0x1F6F, +GDK_diaeresis, GDK_apostrophe, 0x0385, +GDK_diaeresis, GDK_grave, 0x1FED, +GDK_diaeresis, GDK_asciitilde, 0x1FC1, +GDK_diaeresis, GDK_acute, 0x0385, +GDK_diaeresis, 0x0342, 0x1FC1, +GDK_diaeresis, GDK_dead_grave, 0x1FED, +GDK_diaeresis, GDK_dead_acute, 0x0385, +GDK_diaeresis, GDK_dead_tilde, 0x1FC1, +GDK_macron, GDK_A, 0x0100, +GDK_macron, GDK_E, 0x0112, +GDK_macron, GDK_G, 0x1E20, +GDK_macron, GDK_I, 0x012A, +GDK_macron, GDK_O, 0x014C, +GDK_macron, GDK_U, 0x016A, +GDK_macron, GDK_Y, 0x0232, +GDK_macron, GDK_a, 0x0101, +GDK_macron, GDK_e, 0x0113, +GDK_macron, GDK_g, 0x1E21, +GDK_macron, GDK_i, 0x012B, +GDK_macron, GDK_o, 0x014D, +GDK_macron, GDK_u, 0x016B, +GDK_macron, GDK_y, 0x0233, +GDK_macron, GDK_Adiaeresis, 0x01DE, +GDK_macron, GDK_AE, 0x01E2, +GDK_macron, GDK_Otilde, 0x022C, +GDK_macron, GDK_Odiaeresis, 0x022A, +GDK_macron, 0x00DC, 0x01D5, +GDK_macron, GDK_adiaeresis, 0x01DF, +GDK_macron, GDK_ae, 0x01E3, +GDK_macron, GDK_otilde, 0x022D, +GDK_macron, GDK_odiaeresis, 0x022B, +GDK_macron, GDK_udiaeresis, 0x01D6, +GDK_macron, 0x01EA, 0x01EC, +GDK_macron, 0x01EB, 0x01ED, +GDK_macron, 0x0226, 0x01E0, +GDK_macron, 0x0227, 0x01E1, +GDK_macron, 0x022E, 0x0230, +GDK_macron, 0x022F, 0x0231, +GDK_macron, GDK_Cyrillic_i, 0x04E3, +GDK_macron, GDK_Cyrillic_u, 0x04EF, +GDK_macron, GDK_Cyrillic_I, 0x04E2, +GDK_macron, GDK_Cyrillic_U, 0x04EE, +GDK_macron, GDK_Greek_ALPHA, 0x1FB9, +GDK_macron, GDK_Greek_IOTA, 0x1FD9, +GDK_macron, GDK_Greek_UPSILON, 0x1FE9, +GDK_macron, GDK_Greek_alpha, 0x1FB1, +GDK_macron, GDK_Greek_iota, 0x1FD1, +GDK_macron, GDK_Greek_upsilon, 0x1FE1, +GDK_macron, 0x1E36, 0x1E38, +GDK_macron, 0x1E37, 0x1E39, +GDK_macron, 0x1E5A, 0x1E5C, +GDK_macron, 0x1E5B, 0x1E5D, +GDK_acute, GDK_A, 0x00C1, +GDK_acute, GDK_C, 0x0106, +GDK_acute, GDK_E, 0x00C9, +GDK_acute, GDK_G, 0x01F4, +GDK_acute, GDK_I, 0x00CD, +GDK_acute, GDK_K, 0x1E30, +GDK_acute, GDK_L, 0x0139, +GDK_acute, GDK_M, 0x1E3E, +GDK_acute, GDK_N, 0x0143, +GDK_acute, GDK_O, 0x00D3, +GDK_acute, GDK_P, 0x1E54, +GDK_acute, GDK_R, 0x0154, +GDK_acute, GDK_S, 0x015A, +GDK_acute, GDK_U, 0x00DA, +GDK_acute, GDK_W, 0x1E82, +GDK_acute, GDK_Y, 0x00DD, +GDK_acute, GDK_Z, 0x0179, +GDK_acute, GDK_a, 0x00E1, +GDK_acute, GDK_c, 0x0107, +GDK_acute, GDK_e, 0x00E9, +GDK_acute, GDK_g, 0x01F5, +GDK_acute, GDK_i, 0x00ED, +GDK_acute, GDK_k, 0x1E31, +GDK_acute, GDK_l, 0x013A, +GDK_acute, GDK_m, 0x1E3F, +GDK_acute, GDK_n, 0x0144, +GDK_acute, GDK_o, 0x00F3, +GDK_acute, GDK_p, 0x1E55, +GDK_acute, GDK_r, 0x0155, +GDK_acute, GDK_s, 0x015B, +GDK_acute, GDK_u, 0x00FA, +GDK_acute, GDK_w, 0x1E83, +GDK_acute, GDK_y, 0x00FD, +GDK_acute, GDK_z, 0x017A, +GDK_acute, GDK_Acircumflex, 0x1EA4, +GDK_acute, GDK_Aring, 0x01FA, +GDK_acute, GDK_AE, 0x01FC, +GDK_acute, GDK_Ccedilla, 0x1E08, +GDK_acute, GDK_Ecircumflex, 0x1EBE, +GDK_acute, GDK_Idiaeresis, 0x1E2E, +GDK_acute, GDK_Ocircumflex, 0x1ED0, +GDK_acute, GDK_Otilde, 0x1E4C, +GDK_acute, GDK_Ooblique, 0x01FE, +GDK_acute, 0x00DC, 0x01D7, +GDK_acute, GDK_acircumflex, 0x1EA5, +GDK_acute, GDK_aring, 0x01FB, +GDK_acute, GDK_ae, 0x01FD, +GDK_acute, GDK_ccedilla, 0x1E09, +GDK_acute, GDK_ecircumflex, 0x1EBF, +GDK_acute, GDK_idiaeresis, 0x1E2F, +GDK_acute, GDK_ocircumflex, 0x1ED1, +GDK_acute, GDK_otilde, 0x1E4D, +GDK_acute, GDK_oslash, 0x01FF, +GDK_acute, GDK_udiaeresis, 0x01D8, +GDK_acute, GDK_Abreve, 0x1EAE, +GDK_acute, GDK_abreve, 0x1EAF, +GDK_acute, GDK_Emacron, 0x1E16, +GDK_acute, GDK_emacron, 0x1E17, +GDK_acute, GDK_Omacron, 0x1E52, +GDK_acute, GDK_Utilde, 0x1E78, +GDK_acute, GDK_omacron, 0x1E53, +GDK_acute, GDK_utilde, 0x1E79, +GDK_acute, GDK_Cyrillic_ghe, 0x0453, +GDK_acute, GDK_Cyrillic_ka, 0x045C, +GDK_acute, GDK_Cyrillic_GHE, 0x0403, +GDK_acute, GDK_Cyrillic_KA, 0x040C, +GDK_acute, GDK_Greek_iotadieresis, 0x0390, +GDK_acute, GDK_Greek_upsilondieresis, 0x03B0, +GDK_acute, GDK_Greek_ALPHA, 0x0386, +GDK_acute, GDK_Greek_EPSILON, 0x0388, +GDK_acute, GDK_Greek_ETA, 0x0389, +GDK_acute, GDK_Greek_IOTA, 0x038A, +GDK_acute, GDK_Greek_OMICRON, 0x038C, +GDK_acute, GDK_Greek_UPSILON, 0x038E, +GDK_acute, GDK_Greek_OMEGA, 0x038F, +GDK_acute, GDK_Greek_alpha, 0x03AC, +GDK_acute, GDK_Greek_epsilon, 0x03AD, +GDK_acute, GDK_Greek_eta, 0x03AE, +GDK_acute, GDK_Greek_iota, 0x03AF, +GDK_acute, GDK_Greek_omicron, 0x03CC, +GDK_acute, GDK_Greek_upsilon, 0x03CD, +GDK_acute, GDK_Greek_omega, 0x03CE, +GDK_acute, 0x1F00, 0x1F04, +GDK_acute, 0x1F01, 0x1F05, +GDK_acute, 0x1F08, 0x1F0C, +GDK_acute, 0x1F09, 0x1F0D, +GDK_acute, 0x1F10, 0x1F14, +GDK_acute, 0x1F11, 0x1F15, +GDK_acute, 0x1F18, 0x1F1C, +GDK_acute, 0x1F19, 0x1F1D, +GDK_acute, 0x1F20, 0x1F24, +GDK_acute, 0x1F21, 0x1F25, +GDK_acute, 0x1F28, 0x1F2C, +GDK_acute, 0x1F29, 0x1F2D, +GDK_acute, 0x1F30, 0x1F34, +GDK_acute, 0x1F31, 0x1F35, +GDK_acute, 0x1F38, 0x1F3C, +GDK_acute, 0x1F39, 0x1F3D, +GDK_acute, 0x1F40, 0x1F44, +GDK_acute, 0x1F41, 0x1F45, +GDK_acute, 0x1F48, 0x1F4C, +GDK_acute, 0x1F49, 0x1F4D, +GDK_acute, 0x1F50, 0x1F54, +GDK_acute, 0x1F51, 0x1F55, +GDK_acute, 0x1F59, 0x1F5D, +GDK_acute, 0x1F60, 0x1F64, +GDK_acute, 0x1F61, 0x1F65, +GDK_acute, 0x1F68, 0x1F6C, +GDK_acute, 0x1F69, 0x1F6D, +0x05B4, GDK_hebrew_yod, 0xFB1D, +0x05B7, 0x05F2, 0xFB1F, +0x05B7, GDK_hebrew_aleph, 0xFB2E, +0x05B8, GDK_hebrew_aleph, 0xFB2F, +0x05B9, GDK_hebrew_waw, 0xFB4B, +0x05BC, GDK_hebrew_aleph, 0xFB30, +0x05BC, GDK_hebrew_beth, 0xFB31, +0x05BC, GDK_hebrew_gimmel, 0xFB32, +0x05BC, GDK_hebrew_daleth, 0xFB33, +0x05BC, GDK_hebrew_he, 0xFB34, +0x05BC, GDK_hebrew_waw, 0xFB35, +0x05BC, GDK_hebrew_zayin, 0xFB36, +0x05BC, GDK_hebrew_teth, 0xFB38, +0x05BC, GDK_hebrew_yod, 0xFB39, +0x05BC, GDK_hebrew_finalkaph, 0xFB3A, +0x05BC, GDK_hebrew_kaph, 0xFB3B, +0x05BC, GDK_hebrew_lamed, 0xFB3C, +0x05BC, GDK_hebrew_mem, 0xFB3E, +0x05BC, GDK_hebrew_nun, 0xFB40, +0x05BC, GDK_hebrew_samekh, 0xFB41, +0x05BC, GDK_hebrew_finalpe, 0xFB43, +0x05BC, GDK_hebrew_pe, 0xFB44, +0x05BC, GDK_hebrew_zadi, 0xFB46, +0x05BC, GDK_hebrew_qoph, 0xFB47, +0x05BC, GDK_hebrew_resh, 0xFB48, +0x05BC, GDK_hebrew_shin, 0xFB49, +0x05BC, GDK_hebrew_taw, 0xFB4A, +0x05BF, GDK_hebrew_beth, 0xFB4C, +0x05BF, GDK_hebrew_kaph, 0xFB4D, +0x05BF, GDK_hebrew_pe, 0xFB4E, +0x05C1, GDK_hebrew_shin, 0xFB2A, +0x05C1, 0xFB49, 0xFB2C, +0x05C2, GDK_hebrew_shin, 0xFB2B, +0x05C2, 0xFB49, 0xFB2D, +0x0653, GDK_Arabic_alef, 0x0622, +0x0654, GDK_Arabic_alef, 0x0623, +0x0654, GDK_Arabic_waw, 0x0624, +0x0654, GDK_Arabic_yeh, 0x0626, +0x0654, 0x06C1, 0x06C2, +0x0654, 0x06D2, 0x06D3, +0x0654, 0x06D5, 0x06C0, +0x0655, GDK_Arabic_alef, 0x0625, +GDK_Cyrillic_pe, GDK_Cyrillic_a, 0x00A7, +GDK_Cyrillic_IE, GDK_equal, 0x20AC, +GDK_Cyrillic_EN, GDK_Cyrillic_o, 0x06B0, +GDK_Cyrillic_EN, GDK_Cyrillic_O, 0x06B0, +GDK_Cyrillic_ES, GDK_equal, 0x20AC, +GDK_Greek_iota, GDK_Greek_alphaaccent, 0x1FB4, +GDK_Greek_iota, GDK_Greek_etaaccent, 0x1FC4, +GDK_Greek_iota, GDK_Greek_omegaaccent, 0x1FF4, +GDK_Greek_iota, GDK_Greek_ALPHA, 0x1FBC, +GDK_Greek_iota, GDK_Greek_ETA, 0x1FCC, +GDK_Greek_iota, GDK_Greek_OMEGA, 0x1FFC, +GDK_Greek_iota, GDK_Greek_alpha, 0x1FB3, +GDK_Greek_iota, GDK_Greek_eta, 0x1FC3, +GDK_Greek_iota, GDK_Greek_omega, 0x1FF3, +GDK_Greek_iota, 0x1F00, 0x1F80, +GDK_Greek_iota, 0x1F01, 0x1F81, +GDK_Greek_iota, 0x1F02, 0x1F82, +GDK_Greek_iota, 0x1F03, 0x1F83, +GDK_Greek_iota, 0x1F04, 0x1F84, +GDK_Greek_iota, 0x1F05, 0x1F85, +GDK_Greek_iota, 0x1F06, 0x1F86, +GDK_Greek_iota, 0x1F07, 0x1F87, +GDK_Greek_iota, 0x1F08, 0x1F88, +GDK_Greek_iota, 0x1F09, 0x1F89, +GDK_Greek_iota, 0x1F0A, 0x1F8A, +GDK_Greek_iota, 0x1F0B, 0x1F8B, +GDK_Greek_iota, 0x1F0C, 0x1F8C, +GDK_Greek_iota, 0x1F0D, 0x1F8D, +GDK_Greek_iota, 0x1F0E, 0x1F8E, +GDK_Greek_iota, 0x1F0F, 0x1F8F, +GDK_Greek_iota, 0x1F20, 0x1F90, +GDK_Greek_iota, 0x1F21, 0x1F91, +GDK_Greek_iota, 0x1F22, 0x1F92, +GDK_Greek_iota, 0x1F23, 0x1F93, +GDK_Greek_iota, 0x1F24, 0x1F94, +GDK_Greek_iota, 0x1F25, 0x1F95, +GDK_Greek_iota, 0x1F26, 0x1F96, +GDK_Greek_iota, 0x1F27, 0x1F97, +GDK_Greek_iota, 0x1F28, 0x1F98, +GDK_Greek_iota, 0x1F29, 0x1F99, +GDK_Greek_iota, 0x1F2A, 0x1F9A, +GDK_Greek_iota, 0x1F2B, 0x1F9B, +GDK_Greek_iota, 0x1F2C, 0x1F9C, +GDK_Greek_iota, 0x1F2D, 0x1F9D, +GDK_Greek_iota, 0x1F2E, 0x1F9E, +GDK_Greek_iota, 0x1F2F, 0x1F9F, +GDK_Greek_iota, 0x1F60, 0x1FA0, +GDK_Greek_iota, 0x1F61, 0x1FA1, +GDK_Greek_iota, 0x1F62, 0x1FA2, +GDK_Greek_iota, 0x1F63, 0x1FA3, +GDK_Greek_iota, 0x1F64, 0x1FA4, +GDK_Greek_iota, 0x1F65, 0x1FA5, +GDK_Greek_iota, 0x1F66, 0x1FA6, +GDK_Greek_iota, 0x1F67, 0x1FA7, +GDK_Greek_iota, 0x1F68, 0x1FA8, +GDK_Greek_iota, 0x1F69, 0x1FA9, +GDK_Greek_iota, 0x1F6A, 0x1FAA, +GDK_Greek_iota, 0x1F6B, 0x1FAB, +GDK_Greek_iota, 0x1F6C, 0x1FAC, +GDK_Greek_iota, 0x1F6D, 0x1FAD, +GDK_Greek_iota, 0x1F6E, 0x1FAE, +GDK_Greek_iota, 0x1F6F, 0x1FAF, +GDK_Greek_iota, 0x1F70, 0x1FB2, +GDK_Greek_iota, 0x1F74, 0x1FC2, +GDK_Greek_iota, 0x1F7C, 0x1FF2, +GDK_Greek_iota, 0x1FB6, 0x1FB7, +GDK_Greek_iota, 0x1FC6, 0x1FC7, +GDK_Greek_iota, 0x1FF6, 0x1FF7, +GDK_lessthanequal, 0x0338, 0x2270, +GDK_greaterthanequal, 0x0338, 0x2271, +GDK_approximate, 0x0338, 0x2247, +GDK_identical, 0x0338, 0x2262, +GDK_includedin, 0x0338, 0x2284, +GDK_includes, 0x0338, 0x2285, +0x093C, 0x0915, 0x0958, +0x093C, 0x0916, 0x0959, +0x093C, 0x0917, 0x095A, +0x093C, 0x091C, 0x095B, +0x093C, 0x0921, 0x095C, +0x093C, 0x0922, 0x095D, +0x093C, 0x0928, 0x0929, +0x093C, 0x092B, 0x095E, +0x093C, 0x092F, 0x095F, +0x093C, 0x0930, 0x0931, +0x093C, 0x0933, 0x0934, +0x09BC, 0x09A1, 0x09DC, +0x09BC, 0x09A2, 0x09DD, +0x09BC, 0x09AF, 0x09DF, +0x09C7, 0x09BE, 0x09CB, +0x09C7, 0x09D7, 0x09CC, +0x0A3C, 0x0A16, 0x0A59, +0x0A3C, 0x0A17, 0x0A5A, +0x0A3C, 0x0A1C, 0x0A5B, +0x0A3C, 0x0A2B, 0x0A5E, +0x0A3C, 0x0A32, 0x0A33, +0x0A3C, 0x0A38, 0x0A36, +0x0B3C, 0x0B21, 0x0B5C, +0x0B3C, 0x0B22, 0x0B5D, +0x0B47, 0x0B3E, 0x0B4B, +0x0B47, 0x0B56, 0x0B48, +0x0B47, 0x0B57, 0x0B4C, +GDK_leftcaret, 0x0338, 0x226E, +GDK_rightcaret, 0x0338, 0x226F, +GDK_underbar, GDK_parenleft, 0x208D, +GDK_underbar, GDK_parenright, 0x208E, +GDK_underbar, GDK_plus, 0x208A, +GDK_underbar, GDK_0, 0x2080, +GDK_underbar, GDK_1, 0x2081, +GDK_underbar, GDK_2, 0x2082, +GDK_underbar, GDK_3, 0x2083, +GDK_underbar, GDK_4, 0x2084, +GDK_underbar, GDK_5, 0x2085, +GDK_underbar, GDK_6, 0x2086, +GDK_underbar, GDK_7, 0x2087, +GDK_underbar, GDK_8, 0x2088, +GDK_underbar, GDK_9, 0x2089, +GDK_underbar, GDK_equal, 0x208C, +0x0BC6, 0x0BBE, 0x0BCA, +0x0BC6, 0x0BD7, 0x0BCC, +GDK_underbar, 0x2212, 0x208B, +GDK_underbar, GDK_KP_Space, 0x2082, +GDK_underbar, GDK_KP_Add, 0x208A, +GDK_underbar, GDK_KP_0, 0x2080, +GDK_underbar, GDK_KP_1, 0x2081, +GDK_underbar, GDK_KP_2, 0x2082, +GDK_underbar, GDK_KP_3, 0x2083, +GDK_underbar, GDK_KP_4, 0x2084, +GDK_underbar, GDK_KP_5, 0x2085, +GDK_underbar, GDK_KP_6, 0x2086, +GDK_underbar, GDK_KP_7, 0x2087, +GDK_underbar, GDK_KP_8, 0x2088, +GDK_underbar, GDK_KP_9, 0x2089, +GDK_underbar, GDK_KP_Equal, 0x208C, +0x0BC7, 0x0BBE, 0x0BCB, +0x0BD7, 0x0B92, 0x0B94, +GDK_rightshoe, 0x0338, 0x2285, +GDK_leftshoe, 0x0338, 0x2284, +GDK_righttack, 0x0338, 0x22AC, +0x0C46, 0x0C56, 0x0C48, +0x0CBF, 0x0CD5, 0x0CC0, +0x0CC6, 0x0CC2, 0x0CCA, +0x0CC6, 0x0CD5, 0x0CC7, +0x0CC6, 0x0CD6, 0x0CC8, +0x0CCA, 0x0CD5, 0x0CCB, +0x0D46, 0x0D3E, 0x0D4A, +0x0D46, 0x0D57, 0x0D4C, +0x0D47, 0x0D3E, 0x0D4B, +0x0DD9, 0x0DCA, 0x0DDA, +0x0DD9, 0x0DCF, 0x0DDC, +0x0DD9, 0x0DDF, 0x0DDE, +0x0DDC, 0x0DCA, 0x0DDD, +0x0F71, 0x0F72, 0x0F73, +0x0F71, 0x0F74, 0x0F75, +0x0F71, 0x0F80, 0x0F81, +0x0F90, 0x0FB5, 0x0FB9, +0x0F92, 0x0FB7, 0x0F93, +0x0F9C, 0x0FB7, 0x0F9D, +0x0FA1, 0x0FB7, 0x0FA2, +0x0FA6, 0x0FB7, 0x0FA7, +0x0FAB, 0x0FB7, 0x0FAC, +0x0FB2, 0x0F80, 0x0F76, +0x0FB3, 0x0F80, 0x0F78, +0x0FB5, 0x0F40, 0x0F69, +0x0FB7, 0x0F42, 0x0F43, +0x0FB7, 0x0F4C, 0x0F4D, +0x0FB7, 0x0F51, 0x0F52, +0x0FB7, 0x0F56, 0x0F57, +0x0FB7, 0x0F5B, 0x0F5C, +0x102E, 0x1025, 0x1026, +0x1100, 0x1100, 0x1101, +0x1102, 0x1100, 0x1113, +0x1102, 0x1102, 0x1114, +0x1102, 0x1103, 0x1115, +0x1102, 0x1107, 0x1116, +0x1103, 0x1100, 0x1117, +0x1103, 0x1103, 0x1104, +0x1105, 0x1102, 0x1118, +0x1105, 0x1105, 0x1119, +0x1105, 0x110B, 0x111B, +0x1105, 0x1112, 0x111A, +0x1106, 0x1107, 0x111C, +0x1106, 0x110B, 0x111D, +0x1107, 0x1100, 0x111E, +0x1107, 0x1102, 0x111F, +0x1107, 0x1103, 0x1120, +0x1107, 0x1107, 0x1108, +0x1107, 0x1109, 0x1121, +0x1107, 0x110A, 0x1125, +0x1107, 0x110B, 0x112B, +0x1107, 0x110C, 0x1127, +0x1107, 0x110E, 0x1128, +0x1107, 0x1110, 0x1129, +0x1107, 0x1111, 0x112A, +0x1107, 0x112B, 0x112C, +0x1107, 0x112D, 0x1122, +0x1107, 0x112F, 0x1123, +0x1107, 0x1132, 0x1124, +0x1107, 0x1136, 0x1126, +0x1108, 0x110B, 0x112C, +0x1109, 0x1100, 0x112D, +0x1109, 0x1102, 0x112E, +0x1109, 0x1103, 0x112F, +0x1109, 0x1105, 0x1130, +0x1109, 0x1106, 0x1131, +0x1109, 0x1107, 0x1132, +0x1109, 0x1109, 0x110A, +0x1109, 0x110A, 0x1134, +0x1109, 0x110B, 0x1135, +0x1109, 0x110C, 0x1136, +0x1109, 0x110E, 0x1137, +0x1109, 0x110F, 0x1138, +0x1109, 0x1110, 0x1139, +0x1109, 0x1111, 0x113A, +0x1109, 0x1112, 0x113B, +0x1109, 0x111E, 0x1133, +0x110A, 0x1109, 0x1134, +0x110B, 0x1100, 0x1141, +0x110B, 0x1103, 0x1142, +0x110B, 0x1106, 0x1143, +0x110B, 0x1107, 0x1144, +0x110B, 0x1109, 0x1145, +0x110B, 0x110B, 0x1147, +0x110B, 0x110C, 0x1148, +0x110B, 0x110E, 0x1149, +0x110B, 0x1110, 0x114A, +0x110B, 0x1111, 0x114B, +0x110B, 0x1140, 0x1146, +0x110C, 0x110B, 0x114D, +0x110C, 0x110C, 0x110D, +0x110E, 0x110F, 0x1152, +0x110E, 0x1112, 0x1153, +0x1111, 0x1107, 0x1156, +0x1111, 0x110B, 0x1157, +0x1112, 0x1112, 0x1158, +0x1121, 0x1100, 0x1122, +0x1121, 0x1103, 0x1123, +0x1121, 0x1107, 0x1124, +0x1121, 0x1109, 0x1125, +0x1121, 0x110C, 0x1126, +0x1132, 0x1100, 0x1133, +0x113C, 0x113C, 0x113D, +0x113E, 0x113E, 0x113F, +0x114E, 0x114E, 0x114F, +0x1150, 0x1150, 0x1151, +0x1161, 0x1169, 0x1176, +0x1161, 0x116E, 0x1177, +0x1161, 0x1175, 0x1162, +0x1163, 0x1169, 0x1178, +0x1163, 0x116D, 0x1179, +0x1163, 0x1175, 0x1164, +0x1165, 0x1169, 0x117A, +0x1165, 0x116E, 0x117B, +0x1165, 0x1173, 0x117C, +0x1165, 0x1175, 0x1166, +0x1167, 0x1169, 0x117D, +0x1167, 0x116E, 0x117E, +0x1167, 0x1175, 0x1168, +0x1169, 0x1161, 0x116A, +0x1169, 0x1162, 0x116B, +0x1169, 0x1165, 0x117F, +0x1169, 0x1166, 0x1180, +0x1169, 0x1168, 0x1181, +0x1169, 0x1169, 0x1182, +0x1169, 0x116E, 0x1183, +0x1169, 0x1175, 0x116C, +0x116A, 0x1175, 0x116B, +0x116D, 0x1163, 0x1184, +0x116D, 0x1164, 0x1185, +0x116D, 0x1167, 0x1186, +0x116D, 0x1169, 0x1187, +0x116D, 0x1175, 0x1188, +0x116E, 0x1161, 0x1189, +0x116E, 0x1162, 0x118A, +0x116E, 0x1165, 0x116F, +0x116E, 0x1166, 0x1170, +0x116E, 0x1168, 0x118C, +0x116E, 0x116E, 0x118D, +0x116E, 0x1175, 0x1171, +0x116E, 0x117C, 0x118B, +0x116F, 0x1173, 0x118B, +0x116F, 0x1175, 0x1170, +0x1172, 0x1161, 0x118E, +0x1172, 0x1165, 0x118F, +0x1172, 0x1166, 0x1190, +0x1172, 0x1167, 0x1191, +0x1172, 0x1168, 0x1192, +0x1172, 0x116E, 0x1193, +0x1172, 0x1175, 0x1194, +0x1173, 0x116E, 0x1195, +0x1173, 0x1173, 0x1196, +0x1173, 0x1175, 0x1174, +0x1174, 0x116E, 0x1197, +0x1175, 0x1161, 0x1198, +0x1175, 0x1163, 0x1199, +0x1175, 0x1169, 0x119A, +0x1175, 0x116E, 0x119B, +0x1175, 0x1173, 0x119C, +0x1175, 0x119E, 0x119D, +0x119E, 0x1165, 0x119F, +0x119E, 0x116E, 0x11A0, +0x119E, 0x1175, 0x11A1, +0x119E, 0x119E, 0x11A2, +0x11A8, 0x11A8, 0x11A9, +0x11A8, 0x11AF, 0x11C3, +0x11A8, 0x11BA, 0x11AA, +0x11A8, 0x11E7, 0x11C4, +0x11AA, 0x11A8, 0x11C4, +0x11AB, 0x11A8, 0x11C5, +0x11AB, 0x11AE, 0x11C6, +0x11AB, 0x11BA, 0x11C7, +0x11AB, 0x11BD, 0x11AC, +0x11AB, 0x11C0, 0x11C9, +0x11AB, 0x11C2, 0x11AD, +0x11AB, 0x11EB, 0x11C8, +0x11AE, 0x11A8, 0x11CA, +0x11AE, 0x11AF, 0x11CB, +0x11AF, 0x11A8, 0x11B0, +0x11AF, 0x11AA, 0x11CC, +0x11AF, 0x11AB, 0x11CD, +0x11AF, 0x11AE, 0x11CE, +0x11AF, 0x11AF, 0x11D0, +0x11AF, 0x11B7, 0x11B1, +0x11AF, 0x11B8, 0x11B2, +0x11AF, 0x11B9, 0x11D3, +0x11AF, 0x11BA, 0x11B3, +0x11AF, 0x11BB, 0x11D6, +0x11AF, 0x11BF, 0x11D8, +0x11AF, 0x11C0, 0x11B4, +0x11AF, 0x11C1, 0x11B5, +0x11AF, 0x11C2, 0x11B6, +0x11AF, 0x11DA, 0x11D1, +0x11AF, 0x11DD, 0x11D2, +0x11AF, 0x11E5, 0x11D4, +0x11AF, 0x11E6, 0x11D5, +0x11AF, 0x11EB, 0x11D7, +0x11AF, 0x11F9, 0x11D9, +0x11B0, 0x11BA, 0x11CC, +0x11B1, 0x11A8, 0x11D1, +0x11B1, 0x11BA, 0x11D2, +0x11B2, 0x11BA, 0x11D3, +0x11B2, 0x11BC, 0x11D5, +0x11B2, 0x11C2, 0x11D4, +0x11B3, 0x11BA, 0x11D6, +0x11B7, 0x11A8, 0x11DA, +0x11B7, 0x11AF, 0x11DB, +0x11B7, 0x11B8, 0x11DC, +0x11B7, 0x11BA, 0x11DD, +0x11B7, 0x11BB, 0x11DE, +0x11B7, 0x11BC, 0x11E2, +0x11B7, 0x11BE, 0x11E0, +0x11B7, 0x11C2, 0x11E1, +0x11B7, 0x11EB, 0x11DF, +0x11B8, 0x11AF, 0x11E3, +0x11B8, 0x11BA, 0x11B9, +0x11B8, 0x11BC, 0x11E6, +0x11B8, 0x11C1, 0x11E4, +0x11B8, 0x11C2, 0x11E5, +0x11BA, 0x11A8, 0x11E7, +0x11BA, 0x11AE, 0x11E8, +0x11BA, 0x11AF, 0x11E9, +0x11BA, 0x11B8, 0x11EA, +0x11BA, 0x11BA, 0x11BB, +0x11BC, 0x11A8, 0x11EC, +0x11BC, 0x11A9, 0x11ED, +0x11BC, 0x11BC, 0x11EE, +0x11BC, 0x11BF, 0x11EF, +0x11C1, 0x11B8, 0x11F3, +0x11C1, 0x11BC, 0x11F4, +0x11C2, 0x11AB, 0x11F5, +0x11C2, 0x11AF, 0x11F6, +0x11C2, 0x11B7, 0x11F7, +0x11C2, 0x11B8, 0x11F8, +0x11CE, 0x11C2, 0x11CF, +0x11DD, 0x11BA, 0x11DE, +0x11EC, 0x11A8, 0x11ED, +0x11F0, 0x11BA, 0x11F1, +0x11F0, 0x11EB, 0x11F2, +0x1FBF, GDK_apostrophe, 0x1FCE, +0x1FBF, GDK_grave, 0x1FCD, +0x1FBF, GDK_asciitilde, 0x1FCF, +0x1FBF, GDK_acute, 0x1FCE, +0x1FBF, 0x0342, 0x1FCF, +0x1FBF, GDK_dead_grave, 0x1FCD, +0x1FBF, GDK_dead_acute, 0x1FCE, +0x1FBF, GDK_dead_tilde, 0x1FCF, +0x1FFE, GDK_apostrophe, 0x1FDE, +0x1FFE, GDK_grave, 0x1FDD, +0x1FFE, GDK_asciitilde, 0x1FDF, +0x1FFE, GDK_acute, 0x1FDE, +0x1FFE, 0x0342, 0x1FDF, +0x1FFE, GDK_dead_grave, 0x1FDD, +0x1FFE, GDK_dead_acute, 0x1FDE, +0x1FFE, GDK_dead_tilde, 0x1FDF, +0x2203, 0x0338, 0x2204, +0x2208, 0x0338, 0x2209, +0x220B, 0x0338, 0x220C, +0x2223, 0x0338, 0x2224, +0x2225, 0x0338, 0x2226, +0x223C, 0x0338, 0x2241, +0x2243, 0x0338, 0x2244, +0x2248, 0x0338, 0x2249, +0x224D, 0x0338, 0x226D, +0x2272, 0x0338, 0x2274, +0x2273, 0x0338, 0x2275, +0x2276, 0x0338, 0x2278, +0x2277, 0x0338, 0x2279, +0x227A, 0x0338, 0x2280, +0x227B, 0x0338, 0x2281, +0x227C, 0x0338, 0x22E0, +0x227D, 0x0338, 0x22E1, +0x2286, 0x0338, 0x2288, +0x2287, 0x0338, 0x2289, +0x2291, 0x0338, 0x22E2, +0x2292, 0x0338, 0x22E3, +0x22A8, 0x0338, 0x22AD, +0x22A9, 0x0338, 0x22AE, +0x22AB, 0x0338, 0x22AF, +0x22B2, 0x0338, 0x22EA, +0x22B3, 0x0338, 0x22EB, +0x22B4, 0x0338, 0x22EC, +0x22B5, 0x0338, 0x22ED, +0x2ADD, 0x0338, 0x2ADC, +GDK_KP_Divide, GDK_D, 0x0110, +GDK_KP_Divide, GDK_G, 0x01E4, +GDK_KP_Divide, GDK_H, 0x0126, +GDK_KP_Divide, GDK_I, 0x0197, +GDK_KP_Divide, GDK_L, 0x0141, +GDK_KP_Divide, GDK_O, 0x00D8, +GDK_KP_Divide, GDK_T, 0x0166, +GDK_KP_Divide, GDK_Z, 0x01B5, +GDK_KP_Divide, GDK_b, 0x0180, +GDK_KP_Divide, GDK_d, 0x0111, +GDK_KP_Divide, GDK_g, 0x01E5, +GDK_KP_Divide, GDK_h, 0x0127, +GDK_KP_Divide, GDK_i, 0x0268, +GDK_KP_Divide, GDK_l, 0x0142, +GDK_KP_Divide, GDK_o, 0x00F8, +GDK_KP_Divide, GDK_t, 0x0167, +GDK_KP_Divide, GDK_z, 0x01B6, +GDK_KP_Divide, 0x0294, 0x02A1, +GDK_KP_Divide, 0x04AE, 0x04B0, +GDK_KP_Divide, 0x04AF, 0x04B1, +GDK_KP_Divide, GDK_Cyrillic_ghe, 0x0493, +GDK_KP_Divide, GDK_Cyrillic_ka, 0x049F, +GDK_KP_Divide, GDK_Cyrillic_GHE, 0x0492, +GDK_KP_Divide, GDK_Cyrillic_KA, 0x049E, +GDK_KP_Divide, GDK_leftarrow, 0x219A, +GDK_KP_Divide, GDK_rightarrow, 0x219B, +GDK_KP_Divide, 0x2194, 0x21AE, +GDK_KP_Equal, 0x0338, 0x2260, +GDK_exclam, GDK_plus, GDK_O, 0x1EE2, +GDK_exclam, GDK_plus, GDK_U, 0x1EF0, +GDK_exclam, GDK_plus, GDK_o, 0x1EE3, +GDK_exclam, GDK_plus, GDK_u, 0x1EF1, +GDK_exclam, GDK_dead_horn, GDK_O, 0x1EE2, +GDK_exclam, GDK_dead_horn, GDK_U, 0x1EF0, +GDK_exclam, GDK_dead_horn, GDK_o, 0x1EE3, +GDK_exclam, GDK_dead_horn, GDK_u, 0x1EF1, +GDK_quotedbl, GDK_underscore, GDK_U, 0x1E7A, +GDK_quotedbl, GDK_underscore, GDK_u, 0x1E7B, +GDK_quotedbl, GDK_asciitilde, GDK_O, 0x1E4E, +GDK_quotedbl, GDK_asciitilde, GDK_o, 0x1E4F, +GDK_quotedbl, GDK_macron, GDK_U, 0x1E7A, +GDK_quotedbl, GDK_macron, GDK_u, 0x1E7B, +GDK_quotedbl, GDK_dead_tilde, GDK_O, 0x1E4E, +GDK_quotedbl, GDK_dead_tilde, GDK_o, 0x1E4F, +GDK_quotedbl, GDK_dead_macron, GDK_U, 0x1E7A, +GDK_quotedbl, GDK_dead_macron, GDK_u, 0x1E7B, +GDK_apostrophe, GDK_quotedbl, GDK_I, 0x1E2E, +GDK_apostrophe, GDK_quotedbl, GDK_U, 0x01D7, +GDK_apostrophe, GDK_quotedbl, GDK_i, 0x1E2F, +GDK_apostrophe, GDK_quotedbl, GDK_u, 0x01D8, +GDK_apostrophe, GDK_quotedbl, GDK_Greek_iota, 0x0390, +GDK_apostrophe, GDK_quotedbl, GDK_Greek_upsilon, 0x03B0, +GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F2D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_IOTA, 0x1F3D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6D, +GDK_apostrophe, GDK_parenleft, GDK_Greek_alpha, 0x1F05, +GDK_apostrophe, GDK_parenleft, GDK_Greek_epsilon, 0x1F15, +GDK_apostrophe, GDK_parenleft, GDK_Greek_eta, 0x1F25, +GDK_apostrophe, GDK_parenleft, GDK_Greek_iota, 0x1F35, +GDK_apostrophe, GDK_parenleft, GDK_Greek_omicron, 0x1F45, +GDK_apostrophe, GDK_parenleft, GDK_Greek_upsilon, 0x1F55, +GDK_apostrophe, GDK_parenleft, GDK_Greek_omega, 0x1F65, +GDK_apostrophe, GDK_parenright, GDK_Greek_ALPHA, 0x1F0C, +GDK_apostrophe, GDK_parenright, GDK_Greek_EPSILON, 0x1F1C, +GDK_apostrophe, GDK_parenright, GDK_Greek_ETA, 0x1F2C, +GDK_apostrophe, GDK_parenright, GDK_Greek_IOTA, 0x1F3C, +GDK_apostrophe, GDK_parenright, GDK_Greek_OMICRON, 0x1F4C, +GDK_apostrophe, GDK_parenright, GDK_Greek_OMEGA, 0x1F6C, +GDK_apostrophe, GDK_parenright, GDK_Greek_alpha, 0x1F04, +GDK_apostrophe, GDK_parenright, GDK_Greek_epsilon, 0x1F14, +GDK_apostrophe, GDK_parenright, GDK_Greek_eta, 0x1F24, +GDK_apostrophe, GDK_parenright, GDK_Greek_iota, 0x1F34, +GDK_apostrophe, GDK_parenright, GDK_Greek_omicron, 0x1F44, +GDK_apostrophe, GDK_parenright, GDK_Greek_upsilon, 0x1F54, +GDK_apostrophe, GDK_parenright, GDK_Greek_omega, 0x1F64, +GDK_apostrophe, GDK_plus, GDK_O, 0x1EDA, +GDK_apostrophe, GDK_plus, GDK_U, 0x1EE8, +GDK_apostrophe, GDK_plus, GDK_o, 0x1EDB, +GDK_apostrophe, GDK_plus, GDK_u, 0x1EE9, +GDK_apostrophe, GDK_slash, GDK_O, 0x01FE, +GDK_apostrophe, GDK_slash, GDK_o, 0x01FF, +GDK_apostrophe, GDK_asciicircum, GDK_A, 0x1EA4, +GDK_apostrophe, GDK_asciicircum, GDK_E, 0x1EBE, +GDK_apostrophe, GDK_asciicircum, GDK_O, 0x1ED0, +GDK_apostrophe, GDK_asciicircum, GDK_a, 0x1EA5, +GDK_apostrophe, GDK_asciicircum, GDK_e, 0x1EBF, +GDK_apostrophe, GDK_asciicircum, GDK_o, 0x1ED1, +GDK_apostrophe, GDK_underscore, GDK_E, 0x1E16, +GDK_apostrophe, GDK_underscore, GDK_O, 0x1E52, +GDK_apostrophe, GDK_underscore, GDK_e, 0x1E17, +GDK_apostrophe, GDK_underscore, GDK_o, 0x1E53, +GDK_apostrophe, GDK_b, GDK_A, 0x1EAE, +GDK_apostrophe, GDK_b, GDK_a, 0x1EAF, +GDK_apostrophe, GDK_asciitilde, GDK_O, 0x1E4C, +GDK_apostrophe, GDK_asciitilde, GDK_U, 0x1E78, +GDK_apostrophe, GDK_asciitilde, GDK_o, 0x1E4D, +GDK_apostrophe, GDK_asciitilde, GDK_u, 0x1E79, +GDK_apostrophe, GDK_macron, GDK_E, 0x1E16, +GDK_apostrophe, GDK_macron, GDK_O, 0x1E52, +GDK_apostrophe, GDK_macron, GDK_e, 0x1E17, +GDK_apostrophe, GDK_macron, GDK_o, 0x1E53, +GDK_apostrophe, GDK_dead_circumflex, GDK_A, 0x1EA4, +GDK_apostrophe, GDK_dead_circumflex, GDK_E, 0x1EBE, +GDK_apostrophe, GDK_dead_circumflex, GDK_O, 0x1ED0, +GDK_apostrophe, GDK_dead_circumflex, GDK_a, 0x1EA5, +GDK_apostrophe, GDK_dead_circumflex, GDK_e, 0x1EBF, +GDK_apostrophe, GDK_dead_circumflex, GDK_o, 0x1ED1, +GDK_apostrophe, GDK_dead_tilde, GDK_O, 0x1E4C, +GDK_apostrophe, GDK_dead_tilde, GDK_U, 0x1E78, +GDK_apostrophe, GDK_dead_tilde, GDK_o, 0x1E4D, +GDK_apostrophe, GDK_dead_tilde, GDK_u, 0x1E79, +GDK_apostrophe, GDK_dead_macron, GDK_E, 0x1E16, +GDK_apostrophe, GDK_dead_macron, GDK_O, 0x1E52, +GDK_apostrophe, GDK_dead_macron, GDK_e, 0x1E17, +GDK_apostrophe, GDK_dead_macron, GDK_o, 0x1E53, +GDK_apostrophe, GDK_dead_breve, GDK_A, 0x1EAE, +GDK_apostrophe, GDK_dead_breve, GDK_a, 0x1EAF, +GDK_apostrophe, GDK_dead_diaeresis, GDK_I, 0x1E2E, +GDK_apostrophe, GDK_dead_diaeresis, GDK_U, 0x01D7, +GDK_apostrophe, GDK_dead_diaeresis, GDK_i, 0x1E2F, +GDK_apostrophe, GDK_dead_diaeresis, GDK_u, 0x01D8, +GDK_apostrophe, GDK_dead_diaeresis, GDK_Greek_iota, 0x0390, +GDK_apostrophe, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0, +GDK_apostrophe, GDK_dead_abovering, GDK_A, 0x01FA, +GDK_apostrophe, GDK_dead_abovering, GDK_a, 0x01FB, +GDK_apostrophe, GDK_dead_cedilla, GDK_C, 0x1E08, +GDK_apostrophe, GDK_dead_cedilla, GDK_c, 0x1E09, +GDK_apostrophe, GDK_dead_horn, GDK_O, 0x1EDA, +GDK_apostrophe, GDK_dead_horn, GDK_U, 0x1EE8, +GDK_apostrophe, GDK_dead_horn, GDK_o, 0x1EDB, +GDK_apostrophe, GDK_dead_horn, GDK_u, 0x1EE9, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0C, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1C, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_ETA, 0x1F2C, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3C, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4C, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6C, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_alpha, 0x1F04, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_epsilon, 0x1F14, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_eta, 0x1F24, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_iota, 0x1F34, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_omicron, 0x1F44, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_upsilon, 0x1F54, +GDK_apostrophe, GDK_dead_psili, GDK_Greek_omega, 0x1F64, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6D, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_alpha, 0x1F05, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_epsilon, 0x1F15, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_eta, 0x1F25, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_iota, 0x1F35, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omicron, 0x1F45, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F55, +GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omega, 0x1F65, +GDK_apostrophe, GDK_KP_Divide, GDK_O, 0x01FE, +GDK_apostrophe, GDK_KP_Divide, GDK_o, 0x01FF, +GDK_parenleft, GDK_0, GDK_parenright, 0x24EA, +GDK_parenleft, GDK_1, GDK_parenright, 0x2460, +GDK_parenleft, GDK_2, GDK_parenright, 0x2461, +GDK_parenleft, GDK_3, GDK_parenright, 0x2462, +GDK_parenleft, GDK_4, GDK_parenright, 0x2463, +GDK_parenleft, GDK_5, GDK_parenright, 0x2464, +GDK_parenleft, GDK_6, GDK_parenright, 0x2465, +GDK_parenleft, GDK_7, GDK_parenright, 0x2466, +GDK_parenleft, GDK_8, GDK_parenright, 0x2467, +GDK_parenleft, GDK_9, GDK_parenright, 0x2468, +GDK_parenleft, GDK_A, GDK_parenright, 0x24B6, +GDK_parenleft, GDK_B, GDK_parenright, 0x24B7, +GDK_parenleft, GDK_C, GDK_parenright, 0x24B8, +GDK_parenleft, GDK_D, GDK_parenright, 0x24B9, +GDK_parenleft, GDK_E, GDK_parenright, 0x24BA, +GDK_parenleft, GDK_F, GDK_parenright, 0x24BB, +GDK_parenleft, GDK_G, GDK_parenright, 0x24BC, +GDK_parenleft, GDK_H, GDK_parenright, 0x24BD, +GDK_parenleft, GDK_I, GDK_parenright, 0x24BE, +GDK_parenleft, GDK_J, GDK_parenright, 0x24BF, +GDK_parenleft, GDK_K, GDK_parenright, 0x24C0, +GDK_parenleft, GDK_L, GDK_parenright, 0x24C1, +GDK_parenleft, GDK_M, GDK_parenright, 0x24C2, +GDK_parenleft, GDK_N, GDK_parenright, 0x24C3, +GDK_parenleft, GDK_O, GDK_parenright, 0x24C4, +GDK_parenleft, GDK_P, GDK_parenright, 0x24C5, +GDK_parenleft, GDK_Q, GDK_parenright, 0x24C6, +GDK_parenleft, GDK_R, GDK_parenright, 0x24C7, +GDK_parenleft, GDK_S, GDK_parenright, 0x24C8, +GDK_parenleft, GDK_T, GDK_parenright, 0x24C9, +GDK_parenleft, GDK_U, GDK_parenright, 0x24CA, +GDK_parenleft, GDK_V, GDK_parenright, 0x24CB, +GDK_parenleft, GDK_W, GDK_parenright, 0x24CC, +GDK_parenleft, GDK_X, GDK_parenright, 0x24CD, +GDK_parenleft, GDK_Y, GDK_parenright, 0x24CE, +GDK_parenleft, GDK_Z, GDK_parenright, 0x24CF, +GDK_parenleft, GDK_a, GDK_parenright, 0x24D0, +GDK_parenleft, GDK_b, GDK_parenright, 0x24D1, +GDK_parenleft, GDK_c, GDK_parenright, 0x24D2, +GDK_parenleft, GDK_d, GDK_parenright, 0x24D3, +GDK_parenleft, GDK_e, GDK_parenright, 0x24D4, +GDK_parenleft, GDK_f, GDK_parenright, 0x24D5, +GDK_parenleft, GDK_g, GDK_parenright, 0x24D6, +GDK_parenleft, GDK_h, GDK_parenright, 0x24D7, +GDK_parenleft, GDK_i, GDK_parenright, 0x24D8, +GDK_parenleft, GDK_j, GDK_parenright, 0x24D9, +GDK_parenleft, GDK_k, GDK_parenright, 0x24DA, +GDK_parenleft, GDK_l, GDK_parenright, 0x24DB, +GDK_parenleft, GDK_m, GDK_parenright, 0x24DC, +GDK_parenleft, GDK_n, GDK_parenright, 0x24DD, +GDK_parenleft, GDK_o, GDK_parenright, 0x24DE, +GDK_parenleft, GDK_p, GDK_parenright, 0x24DF, +GDK_parenleft, GDK_q, GDK_parenright, 0x24E0, +GDK_parenleft, GDK_r, GDK_parenright, 0x24E1, +GDK_parenleft, GDK_s, GDK_parenright, 0x24E2, +GDK_parenleft, GDK_t, GDK_parenright, 0x24E3, +GDK_parenleft, GDK_u, GDK_parenright, 0x24E4, +GDK_parenleft, GDK_v, GDK_parenright, 0x24E5, +GDK_parenleft, GDK_w, GDK_parenright, 0x24E6, +GDK_parenleft, GDK_x, GDK_parenright, 0x24E7, +GDK_parenleft, GDK_y, GDK_parenright, 0x24E8, +GDK_parenleft, GDK_z, GDK_parenright, 0x24E9, +GDK_parenleft, GDK_kana_WO, GDK_parenright, 0x32FE, +GDK_parenleft, GDK_kana_A, GDK_parenright, 0x32D0, +GDK_parenleft, GDK_kana_I, GDK_parenright, 0x32D1, +GDK_parenleft, GDK_kana_U, GDK_parenright, 0x32D2, +GDK_parenleft, GDK_kana_E, GDK_parenright, 0x32D3, +GDK_parenleft, GDK_kana_O, GDK_parenright, 0x32D4, +GDK_parenleft, GDK_kana_KA, GDK_parenright, 0x32D5, +GDK_parenleft, GDK_kana_KI, GDK_parenright, 0x32D6, +GDK_parenleft, GDK_kana_KU, GDK_parenright, 0x32D7, +GDK_parenleft, GDK_kana_KE, GDK_parenright, 0x32D8, +GDK_parenleft, GDK_kana_KO, GDK_parenright, 0x32D9, +GDK_parenleft, GDK_kana_SA, GDK_parenright, 0x32DA, +GDK_parenleft, GDK_kana_SHI, GDK_parenright, 0x32DB, +GDK_parenleft, GDK_kana_SU, GDK_parenright, 0x32DC, +GDK_parenleft, GDK_kana_SE, GDK_parenright, 0x32DD, +GDK_parenleft, GDK_kana_SO, GDK_parenright, 0x32DE, +GDK_parenleft, GDK_kana_TA, GDK_parenright, 0x32DF, +GDK_parenleft, GDK_kana_CHI, GDK_parenright, 0x32E0, +GDK_parenleft, GDK_kana_TSU, GDK_parenright, 0x32E1, +GDK_parenleft, GDK_kana_TE, GDK_parenright, 0x32E2, +GDK_parenleft, GDK_kana_TO, GDK_parenright, 0x32E3, +GDK_parenleft, GDK_kana_NA, GDK_parenright, 0x32E4, +GDK_parenleft, GDK_kana_NI, GDK_parenright, 0x32E5, +GDK_parenleft, GDK_kana_NU, GDK_parenright, 0x32E6, +GDK_parenleft, GDK_kana_NE, GDK_parenright, 0x32E7, +GDK_parenleft, GDK_kana_NO, GDK_parenright, 0x32E8, +GDK_parenleft, GDK_kana_HA, GDK_parenright, 0x32E9, +GDK_parenleft, GDK_kana_HI, GDK_parenright, 0x32EA, +GDK_parenleft, GDK_kana_FU, GDK_parenright, 0x32EB, +GDK_parenleft, GDK_kana_HE, GDK_parenright, 0x32EC, +GDK_parenleft, GDK_kana_HO, GDK_parenright, 0x32ED, +GDK_parenleft, GDK_kana_MA, GDK_parenright, 0x32EE, +GDK_parenleft, GDK_kana_MI, GDK_parenright, 0x32EF, +GDK_parenleft, GDK_kana_MU, GDK_parenright, 0x32F0, +GDK_parenleft, GDK_kana_ME, GDK_parenright, 0x32F1, +GDK_parenleft, GDK_kana_MO, GDK_parenright, 0x32F2, +GDK_parenleft, GDK_kana_YA, GDK_parenright, 0x32F3, +GDK_parenleft, GDK_kana_YU, GDK_parenright, 0x32F4, +GDK_parenleft, GDK_kana_YO, GDK_parenright, 0x32F5, +GDK_parenleft, GDK_kana_RA, GDK_parenright, 0x32F6, +GDK_parenleft, GDK_kana_RI, GDK_parenright, 0x32F7, +GDK_parenleft, GDK_kana_RU, GDK_parenright, 0x32F8, +GDK_parenleft, GDK_kana_RE, GDK_parenright, 0x32F9, +GDK_parenleft, GDK_kana_RO, GDK_parenright, 0x32FA, +GDK_parenleft, GDK_kana_WA, GDK_parenright, 0x32FB, +GDK_parenleft, 0x1100, GDK_parenright, 0x3260, +GDK_parenleft, 0x1102, GDK_parenright, 0x3261, +GDK_parenleft, 0x1103, GDK_parenright, 0x3262, +GDK_parenleft, 0x1105, GDK_parenright, 0x3263, +GDK_parenleft, 0x1106, GDK_parenright, 0x3264, +GDK_parenleft, 0x1107, GDK_parenright, 0x3265, +GDK_parenleft, 0x1109, GDK_parenright, 0x3266, +GDK_parenleft, 0x110B, GDK_parenright, 0x3267, +GDK_parenleft, 0x110C, GDK_parenright, 0x3268, +GDK_parenleft, 0x110E, GDK_parenright, 0x3269, +GDK_parenleft, 0x110F, GDK_parenright, 0x326A, +GDK_parenleft, 0x1110, GDK_parenright, 0x326B, +GDK_parenleft, 0x1111, GDK_parenright, 0x326C, +GDK_parenleft, 0x1112, GDK_parenright, 0x326D, +GDK_parenleft, 0x30F0, GDK_parenright, 0x32FC, +GDK_parenleft, 0x30F1, GDK_parenright, 0x32FD, +GDK_parenleft, 0x4E00, GDK_parenright, 0x3280, +GDK_parenleft, 0x4E03, GDK_parenright, 0x3286, +GDK_parenleft, 0x4E09, GDK_parenright, 0x3282, +GDK_parenleft, 0x4E0A, GDK_parenright, 0x32A4, +GDK_parenleft, 0x4E0B, GDK_parenright, 0x32A6, +GDK_parenleft, 0x4E2D, GDK_parenright, 0x32A5, +GDK_parenleft, 0x4E5D, GDK_parenright, 0x3288, +GDK_parenleft, 0x4E8C, GDK_parenright, 0x3281, +GDK_parenleft, 0x4E94, GDK_parenright, 0x3284, +GDK_parenleft, 0x4F01, GDK_parenright, 0x32AD, +GDK_parenleft, 0x4F11, GDK_parenright, 0x32A1, +GDK_parenleft, 0x512A, GDK_parenright, 0x329D, +GDK_parenleft, 0x516B, GDK_parenright, 0x3287, +GDK_parenleft, 0x516D, GDK_parenright, 0x3285, +GDK_parenleft, 0x5199, GDK_parenright, 0x32A2, +GDK_parenleft, 0x52B4, GDK_parenright, 0x3298, +GDK_parenleft, 0x533B, GDK_parenright, 0x32A9, +GDK_parenleft, 0x5341, GDK_parenright, 0x3289, +GDK_parenleft, 0x5354, GDK_parenright, 0x32AF, +GDK_parenleft, 0x5370, GDK_parenright, 0x329E, +GDK_parenleft, 0x53F3, GDK_parenright, 0x32A8, +GDK_parenleft, 0x540D, GDK_parenright, 0x3294, +GDK_parenleft, 0x56DB, GDK_parenright, 0x3283, +GDK_parenleft, 0x571F, GDK_parenright, 0x328F, +GDK_parenleft, 0x591C, GDK_parenright, 0x32B0, +GDK_parenleft, 0x5973, GDK_parenright, 0x329B, +GDK_parenleft, 0x5B66, GDK_parenright, 0x32AB, +GDK_parenleft, 0x5B97, GDK_parenright, 0x32AA, +GDK_parenleft, 0x5DE6, GDK_parenright, 0x32A7, +GDK_parenleft, 0x65E5, GDK_parenright, 0x3290, +GDK_parenleft, 0x6708, GDK_parenright, 0x328A, +GDK_parenleft, 0x6709, GDK_parenright, 0x3292, +GDK_parenleft, 0x6728, GDK_parenright, 0x328D, +GDK_parenleft, 0x682A, GDK_parenright, 0x3291, +GDK_parenleft, 0x6B63, GDK_parenright, 0x32A3, +GDK_parenleft, 0x6C34, GDK_parenright, 0x328C, +GDK_parenleft, 0x6CE8, GDK_parenright, 0x329F, +GDK_parenleft, 0x706B, GDK_parenright, 0x328B, +GDK_parenleft, 0x7279, GDK_parenright, 0x3295, +GDK_parenleft, 0x7537, GDK_parenright, 0x329A, +GDK_parenleft, 0x76E3, GDK_parenright, 0x32AC, +GDK_parenleft, 0x793E, GDK_parenright, 0x3293, +GDK_parenleft, 0x795D, GDK_parenright, 0x3297, +GDK_parenleft, 0x79D8, GDK_parenright, 0x3299, +GDK_parenleft, 0x8CA1, GDK_parenright, 0x3296, +GDK_parenleft, 0x8CC7, GDK_parenright, 0x32AE, +GDK_parenleft, 0x9069, GDK_parenright, 0x329C, +GDK_parenleft, 0x91D1, GDK_parenright, 0x328E, +GDK_parenleft, 0x9805, GDK_parenright, 0x32A0, +GDK_parenleft, GDK_KP_Space, GDK_parenright, 0x2461, +GDK_parenleft, GDK_KP_0, GDK_parenright, 0x24EA, +GDK_parenleft, GDK_KP_1, GDK_parenright, 0x2460, +GDK_parenleft, GDK_KP_2, GDK_parenright, 0x2461, +GDK_parenleft, GDK_KP_3, GDK_parenright, 0x2462, +GDK_parenleft, GDK_KP_4, GDK_parenright, 0x2463, +GDK_parenleft, GDK_KP_5, GDK_parenright, 0x2464, +GDK_parenleft, GDK_KP_6, GDK_parenright, 0x2465, +GDK_parenleft, GDK_KP_7, GDK_parenright, 0x2466, +GDK_parenleft, GDK_KP_8, GDK_parenright, 0x2467, +GDK_parenleft, GDK_KP_9, GDK_parenright, 0x2468, +GDK_minus, GDK_minus, GDK_minus, 0x2014, +GDK_minus, GDK_minus, GDK_period, 0x2013, +GDK_period, GDK_exclam, GDK_S, 0x1E68, +GDK_period, GDK_exclam, GDK_s, 0x1E69, +GDK_period, GDK_apostrophe, GDK_S, 0x1E64, +GDK_period, GDK_apostrophe, GDK_s, 0x1E65, +GDK_period, GDK_acute, GDK_S, 0x1E64, +GDK_period, GDK_acute, GDK_s, 0x1E65, +GDK_period, GDK_dead_acute, GDK_S, 0x1E64, +GDK_period, GDK_dead_acute, GDK_s, 0x1E65, +GDK_period, GDK_dead_caron, GDK_S, 0x1E66, +GDK_period, GDK_dead_caron, GDK_s, 0x1E67, +GDK_period, GDK_dead_belowdot, GDK_S, 0x1E68, +GDK_period, GDK_dead_belowdot, GDK_s, 0x1E69, +GDK_question, GDK_plus, GDK_O, 0x1EDE, +GDK_question, GDK_plus, GDK_U, 0x1EEC, +GDK_question, GDK_plus, GDK_o, 0x1EDF, +GDK_question, GDK_plus, GDK_u, 0x1EED, +GDK_question, GDK_asciicircum, GDK_A, 0x1EA8, +GDK_question, GDK_asciicircum, GDK_E, 0x1EC2, +GDK_question, GDK_asciicircum, GDK_O, 0x1ED4, +GDK_question, GDK_asciicircum, GDK_a, 0x1EA9, +GDK_question, GDK_asciicircum, GDK_e, 0x1EC3, +GDK_question, GDK_asciicircum, GDK_o, 0x1ED5, +GDK_question, GDK_b, GDK_A, 0x1EB2, +GDK_question, GDK_b, GDK_a, 0x1EB3, +GDK_question, GDK_dead_circumflex, GDK_A, 0x1EA8, +GDK_question, GDK_dead_circumflex, GDK_E, 0x1EC2, +GDK_question, GDK_dead_circumflex, GDK_O, 0x1ED4, +GDK_question, GDK_dead_circumflex, GDK_a, 0x1EA9, +GDK_question, GDK_dead_circumflex, GDK_e, 0x1EC3, +GDK_question, GDK_dead_circumflex, GDK_o, 0x1ED5, +GDK_question, GDK_dead_breve, GDK_A, 0x1EB2, +GDK_question, GDK_dead_breve, GDK_a, 0x1EB3, +GDK_question, GDK_dead_horn, GDK_O, 0x1EDE, +GDK_question, GDK_dead_horn, GDK_U, 0x1EEC, +GDK_question, GDK_dead_horn, GDK_o, 0x1EDF, +GDK_question, GDK_dead_horn, GDK_u, 0x1EED, +GDK_U, GDK_exclam, GDK_A, 0x1EB6, +GDK_U, GDK_exclam, GDK_a, 0x1EB7, +GDK_U, GDK_comma, GDK_E, 0x1E1C, +GDK_U, GDK_comma, GDK_e, 0x1E1D, +GDK_U, GDK_dead_cedilla, GDK_E, 0x1E1C, +GDK_U, GDK_dead_cedilla, GDK_e, 0x1E1D, +GDK_U, GDK_dead_belowdot, GDK_A, 0x1EB6, +GDK_U, GDK_dead_belowdot, GDK_a, 0x1EB7, +GDK_asciicircum, GDK_exclam, GDK_A, 0x1EAC, +GDK_asciicircum, GDK_exclam, GDK_E, 0x1EC6, +GDK_asciicircum, GDK_exclam, GDK_O, 0x1ED8, +GDK_asciicircum, GDK_exclam, GDK_a, 0x1EAD, +GDK_asciicircum, GDK_exclam, GDK_e, 0x1EC7, +GDK_asciicircum, GDK_exclam, GDK_o, 0x1ED9, +GDK_asciicircum, GDK_underscore, GDK_a, 0x00AA, +GDK_asciicircum, GDK_underscore, GDK_h, 0x02B0, +GDK_asciicircum, GDK_underscore, GDK_i, 0x2071, +GDK_asciicircum, GDK_underscore, GDK_j, 0x02B2, +GDK_asciicircum, GDK_underscore, GDK_l, 0x02E1, +GDK_asciicircum, GDK_underscore, GDK_n, 0x207F, +GDK_asciicircum, GDK_underscore, GDK_o, 0x00BA, +GDK_asciicircum, GDK_underscore, GDK_r, 0x02B3, +GDK_asciicircum, GDK_underscore, GDK_s, 0x02E2, +GDK_asciicircum, GDK_underscore, GDK_w, 0x02B7, +GDK_asciicircum, GDK_underscore, GDK_x, 0x02E3, +GDK_asciicircum, GDK_underscore, GDK_y, 0x02B8, +GDK_asciicircum, GDK_underscore, 0x0263, 0x02E0, +GDK_asciicircum, GDK_underscore, 0x0266, 0x02B1, +GDK_asciicircum, GDK_underscore, 0x0279, 0x02B4, +GDK_asciicircum, GDK_underscore, 0x027B, 0x02B5, +GDK_asciicircum, GDK_underscore, 0x0281, 0x02B6, +GDK_asciicircum, GDK_underscore, 0x0295, 0x02E4, +GDK_asciicircum, GDK_underbar, GDK_a, 0x00AA, +GDK_asciicircum, GDK_underbar, GDK_h, 0x02B0, +GDK_asciicircum, GDK_underbar, GDK_i, 0x2071, +GDK_asciicircum, GDK_underbar, GDK_j, 0x02B2, +GDK_asciicircum, GDK_underbar, GDK_l, 0x02E1, +GDK_asciicircum, GDK_underbar, GDK_n, 0x207F, +GDK_asciicircum, GDK_underbar, GDK_o, 0x00BA, +GDK_asciicircum, GDK_underbar, GDK_r, 0x02B3, +GDK_asciicircum, GDK_underbar, GDK_s, 0x02E2, +GDK_asciicircum, GDK_underbar, GDK_w, 0x02B7, +GDK_asciicircum, GDK_underbar, GDK_x, 0x02E3, +GDK_asciicircum, GDK_underbar, GDK_y, 0x02B8, +GDK_asciicircum, GDK_underbar, 0x0263, 0x02E0, +GDK_asciicircum, GDK_underbar, 0x0266, 0x02B1, +GDK_asciicircum, GDK_underbar, 0x0279, 0x02B4, +GDK_asciicircum, GDK_underbar, 0x027B, 0x02B5, +GDK_asciicircum, GDK_underbar, 0x0281, 0x02B6, +GDK_asciicircum, GDK_underbar, 0x0295, 0x02E4, +GDK_asciicircum, GDK_dead_belowdot, GDK_A, 0x1EAC, +GDK_asciicircum, GDK_dead_belowdot, GDK_E, 0x1EC6, +GDK_asciicircum, GDK_dead_belowdot, GDK_O, 0x1ED8, +GDK_asciicircum, GDK_dead_belowdot, GDK_a, 0x1EAD, +GDK_asciicircum, GDK_dead_belowdot, GDK_e, 0x1EC7, +GDK_asciicircum, GDK_dead_belowdot, GDK_o, 0x1ED9, +GDK_underscore, GDK_exclam, GDK_L, 0x1E38, +GDK_underscore, GDK_exclam, GDK_R, 0x1E5C, +GDK_underscore, GDK_exclam, GDK_l, 0x1E39, +GDK_underscore, GDK_exclam, GDK_r, 0x1E5D, +GDK_underscore, GDK_quotedbl, GDK_A, 0x01DE, +GDK_underscore, GDK_quotedbl, GDK_O, 0x022A, +GDK_underscore, GDK_quotedbl, GDK_U, 0x01D5, +GDK_underscore, GDK_quotedbl, GDK_a, 0x01DF, +GDK_underscore, GDK_quotedbl, GDK_o, 0x022B, +GDK_underscore, GDK_quotedbl, GDK_u, 0x01D6, +GDK_underscore, GDK_period, GDK_A, 0x01E0, +GDK_underscore, GDK_period, GDK_O, 0x0230, +GDK_underscore, GDK_period, GDK_a, 0x01E1, +GDK_underscore, GDK_period, GDK_o, 0x0231, +GDK_underscore, GDK_semicolon, GDK_O, 0x01EC, +GDK_underscore, GDK_semicolon, GDK_o, 0x01ED, +GDK_underscore, GDK_asciitilde, GDK_O, 0x022C, +GDK_underscore, GDK_asciitilde, GDK_o, 0x022D, +GDK_underscore, GDK_dead_tilde, GDK_O, 0x022C, +GDK_underscore, GDK_dead_tilde, GDK_o, 0x022D, +GDK_underscore, GDK_dead_abovedot, GDK_A, 0x01E0, +GDK_underscore, GDK_dead_abovedot, GDK_O, 0x0230, +GDK_underscore, GDK_dead_abovedot, GDK_a, 0x01E1, +GDK_underscore, GDK_dead_abovedot, GDK_o, 0x0231, +GDK_underscore, GDK_dead_diaeresis, GDK_A, 0x01DE, +GDK_underscore, GDK_dead_diaeresis, GDK_O, 0x022A, +GDK_underscore, GDK_dead_diaeresis, GDK_U, 0x01D5, +GDK_underscore, GDK_dead_diaeresis, GDK_a, 0x01DF, +GDK_underscore, GDK_dead_diaeresis, GDK_o, 0x022B, +GDK_underscore, GDK_dead_diaeresis, GDK_u, 0x01D6, +GDK_underscore, GDK_dead_ogonek, GDK_O, 0x01EC, +GDK_underscore, GDK_dead_ogonek, GDK_o, 0x01ED, +GDK_underscore, GDK_dead_belowdot, GDK_L, 0x1E38, +GDK_underscore, GDK_dead_belowdot, GDK_R, 0x1E5C, +GDK_underscore, GDK_dead_belowdot, GDK_l, 0x1E39, +GDK_underscore, GDK_dead_belowdot, GDK_r, 0x1E5D, +GDK_grave, GDK_quotedbl, GDK_U, 0x01DB, +GDK_grave, GDK_quotedbl, GDK_u, 0x01DC, +GDK_grave, GDK_quotedbl, GDK_Greek_iota, 0x1FD2, +GDK_grave, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE2, +GDK_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0B, +GDK_grave, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1B, +GDK_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F2B, +GDK_grave, GDK_parenleft, GDK_Greek_IOTA, 0x1F3B, +GDK_grave, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4B, +GDK_grave, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5B, +GDK_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6B, +GDK_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F03, +GDK_grave, GDK_parenleft, GDK_Greek_epsilon, 0x1F13, +GDK_grave, GDK_parenleft, GDK_Greek_eta, 0x1F23, +GDK_grave, GDK_parenleft, GDK_Greek_iota, 0x1F33, +GDK_grave, GDK_parenleft, GDK_Greek_omicron, 0x1F43, +GDK_grave, GDK_parenleft, GDK_Greek_upsilon, 0x1F53, +GDK_grave, GDK_parenleft, GDK_Greek_omega, 0x1F63, +GDK_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F0A, +GDK_grave, GDK_parenright, GDK_Greek_EPSILON, 0x1F1A, +GDK_grave, GDK_parenright, GDK_Greek_ETA, 0x1F2A, +GDK_grave, GDK_parenright, GDK_Greek_IOTA, 0x1F3A, +GDK_grave, GDK_parenright, GDK_Greek_OMICRON, 0x1F4A, +GDK_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1F6A, +GDK_grave, GDK_parenright, GDK_Greek_alpha, 0x1F02, +GDK_grave, GDK_parenright, GDK_Greek_epsilon, 0x1F12, +GDK_grave, GDK_parenright, GDK_Greek_eta, 0x1F22, +GDK_grave, GDK_parenright, GDK_Greek_iota, 0x1F32, +GDK_grave, GDK_parenright, GDK_Greek_omicron, 0x1F42, +GDK_grave, GDK_parenright, GDK_Greek_upsilon, 0x1F52, +GDK_grave, GDK_parenright, GDK_Greek_omega, 0x1F62, +GDK_grave, GDK_plus, GDK_O, 0x1EDC, +GDK_grave, GDK_plus, GDK_U, 0x1EEA, +GDK_grave, GDK_plus, GDK_o, 0x1EDD, +GDK_grave, GDK_plus, GDK_u, 0x1EEB, +GDK_grave, GDK_asciicircum, GDK_A, 0x1EA6, +GDK_grave, GDK_asciicircum, GDK_E, 0x1EC0, +GDK_grave, GDK_asciicircum, GDK_O, 0x1ED2, +GDK_grave, GDK_asciicircum, GDK_a, 0x1EA7, +GDK_grave, GDK_asciicircum, GDK_e, 0x1EC1, +GDK_grave, GDK_asciicircum, GDK_o, 0x1ED3, +GDK_grave, GDK_underscore, GDK_E, 0x1E14, +GDK_grave, GDK_underscore, GDK_O, 0x1E50, +GDK_grave, GDK_underscore, GDK_e, 0x1E15, +GDK_grave, GDK_underscore, GDK_o, 0x1E51, +GDK_grave, GDK_b, GDK_A, 0x1EB0, +GDK_grave, GDK_b, GDK_a, 0x1EB1, +GDK_grave, GDK_macron, GDK_E, 0x1E14, +GDK_grave, GDK_macron, GDK_O, 0x1E50, +GDK_grave, GDK_macron, GDK_e, 0x1E15, +GDK_grave, GDK_macron, GDK_o, 0x1E51, +GDK_grave, GDK_dead_circumflex, GDK_A, 0x1EA6, +GDK_grave, GDK_dead_circumflex, GDK_E, 0x1EC0, +GDK_grave, GDK_dead_circumflex, GDK_O, 0x1ED2, +GDK_grave, GDK_dead_circumflex, GDK_a, 0x1EA7, +GDK_grave, GDK_dead_circumflex, GDK_e, 0x1EC1, +GDK_grave, GDK_dead_circumflex, GDK_o, 0x1ED3, +GDK_grave, GDK_dead_macron, GDK_E, 0x1E14, +GDK_grave, GDK_dead_macron, GDK_O, 0x1E50, +GDK_grave, GDK_dead_macron, GDK_e, 0x1E15, +GDK_grave, GDK_dead_macron, GDK_o, 0x1E51, +GDK_grave, GDK_dead_breve, GDK_A, 0x1EB0, +GDK_grave, GDK_dead_breve, GDK_a, 0x1EB1, +GDK_grave, GDK_dead_diaeresis, GDK_U, 0x01DB, +GDK_grave, GDK_dead_diaeresis, GDK_u, 0x01DC, +GDK_grave, GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD2, +GDK_grave, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE2, +GDK_grave, GDK_dead_horn, GDK_O, 0x1EDC, +GDK_grave, GDK_dead_horn, GDK_U, 0x1EEA, +GDK_grave, GDK_dead_horn, GDK_o, 0x1EDD, +GDK_grave, GDK_dead_horn, GDK_u, 0x1EEB, +GDK_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0A, +GDK_grave, GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1A, +GDK_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F2A, +GDK_grave, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3A, +GDK_grave, GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4A, +GDK_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6A, +GDK_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F02, +GDK_grave, GDK_dead_psili, GDK_Greek_epsilon, 0x1F12, +GDK_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F22, +GDK_grave, GDK_dead_psili, GDK_Greek_iota, 0x1F32, +GDK_grave, GDK_dead_psili, GDK_Greek_omicron, 0x1F42, +GDK_grave, GDK_dead_psili, GDK_Greek_upsilon, 0x1F52, +GDK_grave, GDK_dead_psili, GDK_Greek_omega, 0x1F62, +GDK_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0B, +GDK_grave, GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1B, +GDK_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2B, +GDK_grave, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3B, +GDK_grave, GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4B, +GDK_grave, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5B, +GDK_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6B, +GDK_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F03, +GDK_grave, GDK_dead_dasia, GDK_Greek_epsilon, 0x1F13, +GDK_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F23, +GDK_grave, GDK_dead_dasia, GDK_Greek_iota, 0x1F33, +GDK_grave, GDK_dead_dasia, GDK_Greek_omicron, 0x1F43, +GDK_grave, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F53, +GDK_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1F63, +GDK_b, GDK_exclam, GDK_A, 0x1EB6, +GDK_b, GDK_exclam, GDK_a, 0x1EB7, +GDK_b, GDK_comma, GDK_E, 0x1E1C, +GDK_b, GDK_comma, GDK_e, 0x1E1D, +GDK_b, GDK_dead_cedilla, GDK_E, 0x1E1C, +GDK_b, GDK_dead_cedilla, GDK_e, 0x1E1D, +GDK_b, GDK_dead_belowdot, GDK_A, 0x1EB6, +GDK_b, GDK_dead_belowdot, GDK_a, 0x1EB7, +GDK_c, GDK_quotedbl, GDK_U, 0x01D9, +GDK_c, GDK_quotedbl, GDK_u, 0x01DA, +GDK_c, GDK_dead_diaeresis, GDK_U, 0x01D9, +GDK_c, GDK_dead_diaeresis, GDK_u, 0x01DA, +GDK_o, GDK_apostrophe, GDK_A, 0x01FA, +GDK_o, GDK_apostrophe, GDK_a, 0x01FB, +GDK_asciitilde, GDK_quotedbl, GDK_Greek_iota, 0x1FD7, +GDK_asciitilde, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE7, +GDK_asciitilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0F, +GDK_asciitilde, GDK_parenleft, GDK_Greek_ETA, 0x1F2F, +GDK_asciitilde, GDK_parenleft, GDK_Greek_IOTA, 0x1F3F, +GDK_asciitilde, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5F, +GDK_asciitilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6F, +GDK_asciitilde, GDK_parenleft, GDK_Greek_alpha, 0x1F07, +GDK_asciitilde, GDK_parenleft, GDK_Greek_eta, 0x1F27, +GDK_asciitilde, GDK_parenleft, GDK_Greek_iota, 0x1F37, +GDK_asciitilde, GDK_parenleft, GDK_Greek_upsilon, 0x1F57, +GDK_asciitilde, GDK_parenleft, GDK_Greek_omega, 0x1F67, +GDK_asciitilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F0E, +GDK_asciitilde, GDK_parenright, GDK_Greek_ETA, 0x1F2E, +GDK_asciitilde, GDK_parenright, GDK_Greek_IOTA, 0x1F3E, +GDK_asciitilde, GDK_parenright, GDK_Greek_OMEGA, 0x1F6E, +GDK_asciitilde, GDK_parenright, GDK_Greek_alpha, 0x1F06, +GDK_asciitilde, GDK_parenright, GDK_Greek_eta, 0x1F26, +GDK_asciitilde, GDK_parenright, GDK_Greek_iota, 0x1F36, +GDK_asciitilde, GDK_parenright, GDK_Greek_upsilon, 0x1F56, +GDK_asciitilde, GDK_parenright, GDK_Greek_omega, 0x1F66, +GDK_asciitilde, GDK_plus, GDK_O, 0x1EE0, +GDK_asciitilde, GDK_plus, GDK_U, 0x1EEE, +GDK_asciitilde, GDK_plus, GDK_o, 0x1EE1, +GDK_asciitilde, GDK_plus, GDK_u, 0x1EEF, +GDK_asciitilde, GDK_asciicircum, GDK_A, 0x1EAA, +GDK_asciitilde, GDK_asciicircum, GDK_E, 0x1EC4, +GDK_asciitilde, GDK_asciicircum, GDK_O, 0x1ED6, +GDK_asciitilde, GDK_asciicircum, GDK_a, 0x1EAB, +GDK_asciitilde, GDK_asciicircum, GDK_e, 0x1EC5, +GDK_asciitilde, GDK_asciicircum, GDK_o, 0x1ED7, +GDK_asciitilde, GDK_b, GDK_A, 0x1EB4, +GDK_asciitilde, GDK_b, GDK_a, 0x1EB5, +GDK_asciitilde, GDK_dead_circumflex, GDK_A, 0x1EAA, +GDK_asciitilde, GDK_dead_circumflex, GDK_E, 0x1EC4, +GDK_asciitilde, GDK_dead_circumflex, GDK_O, 0x1ED6, +GDK_asciitilde, GDK_dead_circumflex, GDK_a, 0x1EAB, +GDK_asciitilde, GDK_dead_circumflex, GDK_e, 0x1EC5, +GDK_asciitilde, GDK_dead_circumflex, GDK_o, 0x1ED7, +GDK_asciitilde, GDK_dead_breve, GDK_A, 0x1EB4, +GDK_asciitilde, GDK_dead_breve, GDK_a, 0x1EB5, +GDK_asciitilde, GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD7, +GDK_asciitilde, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE7, +GDK_asciitilde, GDK_dead_horn, GDK_O, 0x1EE0, +GDK_asciitilde, GDK_dead_horn, GDK_U, 0x1EEE, +GDK_asciitilde, GDK_dead_horn, GDK_o, 0x1EE1, +GDK_asciitilde, GDK_dead_horn, GDK_u, 0x1EEF, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0E, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F2E, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3E, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6E, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F06, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_eta, 0x1F26, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_iota, 0x1F36, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_upsilon, 0x1F56, +GDK_asciitilde, GDK_dead_psili, GDK_Greek_omega, 0x1F66, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0F, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2F, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3F, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5F, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6F, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F07, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F27, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_iota, 0x1F37, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F57, +GDK_asciitilde, GDK_dead_dasia, GDK_Greek_omega, 0x1F67, +GDK_macron, GDK_exclam, GDK_L, 0x1E38, +GDK_macron, GDK_exclam, GDK_R, 0x1E5C, +GDK_macron, GDK_exclam, GDK_l, 0x1E39, +GDK_macron, GDK_exclam, GDK_r, 0x1E5D, +GDK_macron, GDK_quotedbl, GDK_A, 0x01DE, +GDK_macron, GDK_quotedbl, GDK_O, 0x022A, +GDK_macron, GDK_quotedbl, GDK_U, 0x01D5, +GDK_macron, GDK_quotedbl, GDK_a, 0x01DF, +GDK_macron, GDK_quotedbl, GDK_o, 0x022B, +GDK_macron, GDK_quotedbl, GDK_u, 0x01D6, +GDK_macron, GDK_period, GDK_A, 0x01E0, +GDK_macron, GDK_period, GDK_O, 0x0230, +GDK_macron, GDK_period, GDK_a, 0x01E1, +GDK_macron, GDK_period, GDK_o, 0x0231, +GDK_macron, GDK_semicolon, GDK_O, 0x01EC, +GDK_macron, GDK_semicolon, GDK_o, 0x01ED, +GDK_macron, GDK_asciitilde, GDK_O, 0x022C, +GDK_macron, GDK_asciitilde, GDK_o, 0x022D, +GDK_macron, GDK_dead_tilde, GDK_O, 0x022C, +GDK_macron, GDK_dead_tilde, GDK_o, 0x022D, +GDK_macron, GDK_dead_abovedot, GDK_A, 0x01E0, +GDK_macron, GDK_dead_abovedot, GDK_O, 0x0230, +GDK_macron, GDK_dead_abovedot, GDK_a, 0x01E1, +GDK_macron, GDK_dead_abovedot, GDK_o, 0x0231, +GDK_macron, GDK_dead_diaeresis, GDK_A, 0x01DE, +GDK_macron, GDK_dead_diaeresis, GDK_O, 0x022A, +GDK_macron, GDK_dead_diaeresis, GDK_U, 0x01D5, +GDK_macron, GDK_dead_diaeresis, GDK_a, 0x01DF, +GDK_macron, GDK_dead_diaeresis, GDK_o, 0x022B, +GDK_macron, GDK_dead_diaeresis, GDK_u, 0x01D6, +GDK_macron, GDK_dead_ogonek, GDK_O, 0x01EC, +GDK_macron, GDK_dead_ogonek, GDK_o, 0x01ED, +GDK_macron, GDK_dead_belowdot, GDK_L, 0x1E38, +GDK_macron, GDK_dead_belowdot, GDK_R, 0x1E5C, +GDK_macron, GDK_dead_belowdot, GDK_l, 0x1E39, +GDK_macron, GDK_dead_belowdot, GDK_r, 0x1E5D, +GDK_acute, GDK_quotedbl, GDK_I, 0x1E2E, +GDK_acute, GDK_quotedbl, GDK_U, 0x01D7, +GDK_acute, GDK_quotedbl, GDK_i, 0x1E2F, +GDK_acute, GDK_quotedbl, GDK_u, 0x01D8, +GDK_acute, GDK_quotedbl, GDK_Greek_iota, 0x0390, +GDK_acute, GDK_quotedbl, GDK_Greek_upsilon, 0x03B0, +GDK_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0D, +GDK_acute, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1D, +GDK_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F2D, +GDK_acute, GDK_parenleft, GDK_Greek_IOTA, 0x1F3D, +GDK_acute, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4D, +GDK_acute, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5D, +GDK_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6D, +GDK_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F05, +GDK_acute, GDK_parenleft, GDK_Greek_epsilon, 0x1F15, +GDK_acute, GDK_parenleft, GDK_Greek_eta, 0x1F25, +GDK_acute, GDK_parenleft, GDK_Greek_iota, 0x1F35, +GDK_acute, GDK_parenleft, GDK_Greek_omicron, 0x1F45, +GDK_acute, GDK_parenleft, GDK_Greek_upsilon, 0x1F55, +GDK_acute, GDK_parenleft, GDK_Greek_omega, 0x1F65, +GDK_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F0C, +GDK_acute, GDK_parenright, GDK_Greek_EPSILON, 0x1F1C, +GDK_acute, GDK_parenright, GDK_Greek_ETA, 0x1F2C, +GDK_acute, GDK_parenright, GDK_Greek_IOTA, 0x1F3C, +GDK_acute, GDK_parenright, GDK_Greek_OMICRON, 0x1F4C, +GDK_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1F6C, +GDK_acute, GDK_parenright, GDK_Greek_alpha, 0x1F04, +GDK_acute, GDK_parenright, GDK_Greek_epsilon, 0x1F14, +GDK_acute, GDK_parenright, GDK_Greek_eta, 0x1F24, +GDK_acute, GDK_parenright, GDK_Greek_iota, 0x1F34, +GDK_acute, GDK_parenright, GDK_Greek_omicron, 0x1F44, +GDK_acute, GDK_parenright, GDK_Greek_upsilon, 0x1F54, +GDK_acute, GDK_parenright, GDK_Greek_omega, 0x1F64, +GDK_acute, GDK_plus, GDK_O, 0x1EDA, +GDK_acute, GDK_plus, GDK_U, 0x1EE8, +GDK_acute, GDK_plus, GDK_o, 0x1EDB, +GDK_acute, GDK_plus, GDK_u, 0x1EE9, +GDK_acute, GDK_comma, GDK_C, 0x1E08, +GDK_acute, GDK_comma, GDK_c, 0x1E09, +GDK_acute, GDK_slash, GDK_O, 0x01FE, +GDK_acute, GDK_slash, GDK_o, 0x01FF, +GDK_acute, GDK_asciicircum, GDK_A, 0x1EA4, +GDK_acute, GDK_asciicircum, GDK_E, 0x1EBE, +GDK_acute, GDK_asciicircum, GDK_O, 0x1ED0, +GDK_acute, GDK_asciicircum, GDK_a, 0x1EA5, +GDK_acute, GDK_asciicircum, GDK_e, 0x1EBF, +GDK_acute, GDK_asciicircum, GDK_o, 0x1ED1, +GDK_acute, GDK_underscore, GDK_E, 0x1E16, +GDK_acute, GDK_underscore, GDK_O, 0x1E52, +GDK_acute, GDK_underscore, GDK_e, 0x1E17, +GDK_acute, GDK_underscore, GDK_o, 0x1E53, +GDK_acute, GDK_b, GDK_A, 0x1EAE, +GDK_acute, GDK_b, GDK_a, 0x1EAF, +GDK_acute, GDK_asciitilde, GDK_O, 0x1E4C, +GDK_acute, GDK_asciitilde, GDK_U, 0x1E78, +GDK_acute, GDK_asciitilde, GDK_o, 0x1E4D, +GDK_acute, GDK_asciitilde, GDK_u, 0x1E79, +GDK_acute, GDK_macron, GDK_E, 0x1E16, +GDK_acute, GDK_macron, GDK_O, 0x1E52, +GDK_acute, GDK_macron, GDK_e, 0x1E17, +GDK_acute, GDK_macron, GDK_o, 0x1E53, +GDK_acute, GDK_dead_circumflex, GDK_A, 0x1EA4, +GDK_acute, GDK_dead_circumflex, GDK_E, 0x1EBE, +GDK_acute, GDK_dead_circumflex, GDK_O, 0x1ED0, +GDK_acute, GDK_dead_circumflex, GDK_a, 0x1EA5, +GDK_acute, GDK_dead_circumflex, GDK_e, 0x1EBF, +GDK_acute, GDK_dead_circumflex, GDK_o, 0x1ED1, +GDK_acute, GDK_dead_tilde, GDK_O, 0x1E4C, +GDK_acute, GDK_dead_tilde, GDK_U, 0x1E78, +GDK_acute, GDK_dead_tilde, GDK_o, 0x1E4D, +GDK_acute, GDK_dead_tilde, GDK_u, 0x1E79, +GDK_acute, GDK_dead_macron, GDK_E, 0x1E16, +GDK_acute, GDK_dead_macron, GDK_O, 0x1E52, +GDK_acute, GDK_dead_macron, GDK_e, 0x1E17, +GDK_acute, GDK_dead_macron, GDK_o, 0x1E53, +GDK_acute, GDK_dead_breve, GDK_A, 0x1EAE, +GDK_acute, GDK_dead_breve, GDK_a, 0x1EAF, +GDK_acute, GDK_dead_diaeresis, GDK_I, 0x1E2E, +GDK_acute, GDK_dead_diaeresis, GDK_U, 0x01D7, +GDK_acute, GDK_dead_diaeresis, GDK_i, 0x1E2F, +GDK_acute, GDK_dead_diaeresis, GDK_u, 0x01D8, +GDK_acute, GDK_dead_diaeresis, GDK_Greek_iota, 0x0390, +GDK_acute, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0, +GDK_acute, GDK_dead_abovering, GDK_A, 0x01FA, +GDK_acute, GDK_dead_abovering, GDK_a, 0x01FB, +GDK_acute, GDK_dead_cedilla, GDK_C, 0x1E08, +GDK_acute, GDK_dead_cedilla, GDK_c, 0x1E09, +GDK_acute, GDK_dead_horn, GDK_O, 0x1EDA, +GDK_acute, GDK_dead_horn, GDK_U, 0x1EE8, +GDK_acute, GDK_dead_horn, GDK_o, 0x1EDB, +GDK_acute, GDK_dead_horn, GDK_u, 0x1EE9, +GDK_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0C, +GDK_acute, GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1C, +GDK_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F2C, +GDK_acute, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3C, +GDK_acute, GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4C, +GDK_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6C, +GDK_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F04, +GDK_acute, GDK_dead_psili, GDK_Greek_epsilon, 0x1F14, +GDK_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F24, +GDK_acute, GDK_dead_psili, GDK_Greek_iota, 0x1F34, +GDK_acute, GDK_dead_psili, GDK_Greek_omicron, 0x1F44, +GDK_acute, GDK_dead_psili, GDK_Greek_upsilon, 0x1F54, +GDK_acute, GDK_dead_psili, GDK_Greek_omega, 0x1F64, +GDK_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0D, +GDK_acute, GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1D, +GDK_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2D, +GDK_acute, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3D, +GDK_acute, GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4D, +GDK_acute, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5D, +GDK_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6D, +GDK_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F05, +GDK_acute, GDK_dead_dasia, GDK_Greek_epsilon, 0x1F15, +GDK_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F25, +GDK_acute, GDK_dead_dasia, GDK_Greek_iota, 0x1F35, +GDK_acute, GDK_dead_dasia, GDK_Greek_omicron, 0x1F45, +GDK_acute, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F55, +GDK_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1F65, +GDK_acute, GDK_KP_Divide, GDK_O, 0x01FE, +GDK_acute, GDK_KP_Divide, GDK_o, 0x01FF, +0x05C1, 0x05BC, GDK_hebrew_shin, 0xFB2C, +0x05C2, 0x05BC, GDK_hebrew_shin, 0xFB2D, +GDK_Greek_iota, GDK_apostrophe, GDK_Greek_alpha, 0x1FB4, +GDK_Greek_iota, GDK_apostrophe, GDK_Greek_eta, 0x1FC4, +GDK_Greek_iota, GDK_apostrophe, GDK_Greek_omega, 0x1FF4, +GDK_Greek_iota, GDK_apostrophe, 0x1F00, 0x1F84, +GDK_Greek_iota, GDK_apostrophe, 0x1F01, 0x1F85, +GDK_Greek_iota, GDK_apostrophe, 0x1F08, 0x1F8C, +GDK_Greek_iota, GDK_apostrophe, 0x1F09, 0x1F8D, +GDK_Greek_iota, GDK_apostrophe, 0x1F20, 0x1F94, +GDK_Greek_iota, GDK_apostrophe, 0x1F21, 0x1F95, +GDK_Greek_iota, GDK_apostrophe, 0x1F28, 0x1F9C, +GDK_Greek_iota, GDK_apostrophe, 0x1F29, 0x1F9D, +GDK_Greek_iota, GDK_apostrophe, 0x1F60, 0x1FA4, +GDK_Greek_iota, GDK_apostrophe, 0x1F61, 0x1FA5, +GDK_Greek_iota, GDK_apostrophe, 0x1F68, 0x1FAC, +GDK_Greek_iota, GDK_apostrophe, 0x1F69, 0x1FAD, +GDK_Greek_iota, GDK_parenleft, GDK_Greek_ALPHA, 0x1F89, +GDK_Greek_iota, GDK_parenleft, GDK_Greek_ETA, 0x1F99, +GDK_Greek_iota, GDK_parenleft, GDK_Greek_OMEGA, 0x1FA9, +GDK_Greek_iota, GDK_parenleft, GDK_Greek_alpha, 0x1F81, +GDK_Greek_iota, GDK_parenleft, GDK_Greek_eta, 0x1F91, +GDK_Greek_iota, GDK_parenleft, GDK_Greek_omega, 0x1FA1, +GDK_Greek_iota, GDK_parenright, GDK_Greek_ALPHA, 0x1F88, +GDK_Greek_iota, GDK_parenright, GDK_Greek_ETA, 0x1F98, +GDK_Greek_iota, GDK_parenright, GDK_Greek_OMEGA, 0x1FA8, +GDK_Greek_iota, GDK_parenright, GDK_Greek_alpha, 0x1F80, +GDK_Greek_iota, GDK_parenright, GDK_Greek_eta, 0x1F90, +GDK_Greek_iota, GDK_parenright, GDK_Greek_omega, 0x1FA0, +GDK_Greek_iota, GDK_grave, GDK_Greek_alpha, 0x1FB2, +GDK_Greek_iota, GDK_grave, GDK_Greek_eta, 0x1FC2, +GDK_Greek_iota, GDK_grave, GDK_Greek_omega, 0x1FF2, +GDK_Greek_iota, GDK_grave, 0x1F00, 0x1F82, +GDK_Greek_iota, GDK_grave, 0x1F01, 0x1F83, +GDK_Greek_iota, GDK_grave, 0x1F08, 0x1F8A, +GDK_Greek_iota, GDK_grave, 0x1F09, 0x1F8B, +GDK_Greek_iota, GDK_grave, 0x1F20, 0x1F92, +GDK_Greek_iota, GDK_grave, 0x1F21, 0x1F93, +GDK_Greek_iota, GDK_grave, 0x1F28, 0x1F9A, +GDK_Greek_iota, GDK_grave, 0x1F29, 0x1F9B, +GDK_Greek_iota, GDK_grave, 0x1F60, 0x1FA2, +GDK_Greek_iota, GDK_grave, 0x1F61, 0x1FA3, +GDK_Greek_iota, GDK_grave, 0x1F68, 0x1FAA, +GDK_Greek_iota, GDK_grave, 0x1F69, 0x1FAB, +GDK_Greek_iota, GDK_asciitilde, GDK_Greek_alpha, 0x1FB7, +GDK_Greek_iota, GDK_asciitilde, GDK_Greek_eta, 0x1FC7, +GDK_Greek_iota, GDK_asciitilde, GDK_Greek_omega, 0x1FF7, +GDK_Greek_iota, GDK_asciitilde, 0x1F00, 0x1F86, +GDK_Greek_iota, GDK_asciitilde, 0x1F01, 0x1F87, +GDK_Greek_iota, GDK_asciitilde, 0x1F08, 0x1F8E, +GDK_Greek_iota, GDK_asciitilde, 0x1F09, 0x1F8F, +GDK_Greek_iota, GDK_asciitilde, 0x1F20, 0x1F96, +GDK_Greek_iota, GDK_asciitilde, 0x1F21, 0x1F97, +GDK_Greek_iota, GDK_asciitilde, 0x1F28, 0x1F9E, +GDK_Greek_iota, GDK_asciitilde, 0x1F29, 0x1F9F, +GDK_Greek_iota, GDK_asciitilde, 0x1F60, 0x1FA6, +GDK_Greek_iota, GDK_asciitilde, 0x1F61, 0x1FA7, +GDK_Greek_iota, GDK_asciitilde, 0x1F68, 0x1FAE, +GDK_Greek_iota, GDK_asciitilde, 0x1F69, 0x1FAF, +GDK_Greek_iota, GDK_acute, GDK_Greek_alpha, 0x1FB4, +GDK_Greek_iota, GDK_acute, GDK_Greek_eta, 0x1FC4, +GDK_Greek_iota, GDK_acute, GDK_Greek_omega, 0x1FF4, +GDK_Greek_iota, GDK_acute, 0x1F00, 0x1F84, +GDK_Greek_iota, GDK_acute, 0x1F01, 0x1F85, +GDK_Greek_iota, GDK_acute, 0x1F08, 0x1F8C, +GDK_Greek_iota, GDK_acute, 0x1F09, 0x1F8D, +GDK_Greek_iota, GDK_acute, 0x1F20, 0x1F94, +GDK_Greek_iota, GDK_acute, 0x1F21, 0x1F95, +GDK_Greek_iota, GDK_acute, 0x1F28, 0x1F9C, +GDK_Greek_iota, GDK_acute, 0x1F29, 0x1F9D, +GDK_Greek_iota, GDK_acute, 0x1F60, 0x1FA4, +GDK_Greek_iota, GDK_acute, 0x1F61, 0x1FA5, +GDK_Greek_iota, GDK_acute, 0x1F68, 0x1FAC, +GDK_Greek_iota, GDK_acute, 0x1F69, 0x1FAD, +GDK_Greek_iota, 0x0342, GDK_Greek_alpha, 0x1FB7, +GDK_Greek_iota, 0x0342, GDK_Greek_eta, 0x1FC7, +GDK_Greek_iota, 0x0342, GDK_Greek_omega, 0x1FF7, +GDK_Greek_iota, 0x0342, 0x1F00, 0x1F86, +GDK_Greek_iota, 0x0342, 0x1F01, 0x1F87, +GDK_Greek_iota, 0x0342, 0x1F08, 0x1F8E, +GDK_Greek_iota, 0x0342, 0x1F09, 0x1F8F, +GDK_Greek_iota, 0x0342, 0x1F20, 0x1F96, +GDK_Greek_iota, 0x0342, 0x1F21, 0x1F97, +GDK_Greek_iota, 0x0342, 0x1F28, 0x1F9E, +GDK_Greek_iota, 0x0342, 0x1F29, 0x1F9F, +GDK_Greek_iota, 0x0342, 0x1F60, 0x1FA6, +GDK_Greek_iota, 0x0342, 0x1F61, 0x1FA7, +GDK_Greek_iota, 0x0342, 0x1F68, 0x1FAE, +GDK_Greek_iota, 0x0342, 0x1F69, 0x1FAF, +GDK_Greek_iota, GDK_dead_grave, GDK_Greek_alpha, 0x1FB2, +GDK_Greek_iota, GDK_dead_grave, GDK_Greek_eta, 0x1FC2, +GDK_Greek_iota, GDK_dead_grave, GDK_Greek_omega, 0x1FF2, +GDK_Greek_iota, GDK_dead_grave, 0x1F00, 0x1F82, +GDK_Greek_iota, GDK_dead_grave, 0x1F01, 0x1F83, +GDK_Greek_iota, GDK_dead_grave, 0x1F08, 0x1F8A, +GDK_Greek_iota, GDK_dead_grave, 0x1F09, 0x1F8B, +GDK_Greek_iota, GDK_dead_grave, 0x1F20, 0x1F92, +GDK_Greek_iota, GDK_dead_grave, 0x1F21, 0x1F93, +GDK_Greek_iota, GDK_dead_grave, 0x1F28, 0x1F9A, +GDK_Greek_iota, GDK_dead_grave, 0x1F29, 0x1F9B, +GDK_Greek_iota, GDK_dead_grave, 0x1F60, 0x1FA2, +GDK_Greek_iota, GDK_dead_grave, 0x1F61, 0x1FA3, +GDK_Greek_iota, GDK_dead_grave, 0x1F68, 0x1FAA, +GDK_Greek_iota, GDK_dead_grave, 0x1F69, 0x1FAB, +GDK_Greek_iota, GDK_dead_acute, GDK_Greek_alpha, 0x1FB4, +GDK_Greek_iota, GDK_dead_acute, GDK_Greek_eta, 0x1FC4, +GDK_Greek_iota, GDK_dead_acute, GDK_Greek_omega, 0x1FF4, +GDK_Greek_iota, GDK_dead_acute, 0x1F00, 0x1F84, +GDK_Greek_iota, GDK_dead_acute, 0x1F01, 0x1F85, +GDK_Greek_iota, GDK_dead_acute, 0x1F08, 0x1F8C, +GDK_Greek_iota, GDK_dead_acute, 0x1F09, 0x1F8D, +GDK_Greek_iota, GDK_dead_acute, 0x1F20, 0x1F94, +GDK_Greek_iota, GDK_dead_acute, 0x1F21, 0x1F95, +GDK_Greek_iota, GDK_dead_acute, 0x1F28, 0x1F9C, +GDK_Greek_iota, GDK_dead_acute, 0x1F29, 0x1F9D, +GDK_Greek_iota, GDK_dead_acute, 0x1F60, 0x1FA4, +GDK_Greek_iota, GDK_dead_acute, 0x1F61, 0x1FA5, +GDK_Greek_iota, GDK_dead_acute, 0x1F68, 0x1FAC, +GDK_Greek_iota, GDK_dead_acute, 0x1F69, 0x1FAD, +GDK_Greek_iota, GDK_dead_tilde, GDK_Greek_alpha, 0x1FB7, +GDK_Greek_iota, GDK_dead_tilde, GDK_Greek_eta, 0x1FC7, +GDK_Greek_iota, GDK_dead_tilde, GDK_Greek_omega, 0x1FF7, +GDK_Greek_iota, GDK_dead_tilde, 0x1F00, 0x1F86, +GDK_Greek_iota, GDK_dead_tilde, 0x1F01, 0x1F87, +GDK_Greek_iota, GDK_dead_tilde, 0x1F08, 0x1F8E, +GDK_Greek_iota, GDK_dead_tilde, 0x1F09, 0x1F8F, +GDK_Greek_iota, GDK_dead_tilde, 0x1F20, 0x1F96, +GDK_Greek_iota, GDK_dead_tilde, 0x1F21, 0x1F97, +GDK_Greek_iota, GDK_dead_tilde, 0x1F28, 0x1F9E, +GDK_Greek_iota, GDK_dead_tilde, 0x1F29, 0x1F9F, +GDK_Greek_iota, GDK_dead_tilde, 0x1F60, 0x1FA6, +GDK_Greek_iota, GDK_dead_tilde, 0x1F61, 0x1FA7, +GDK_Greek_iota, GDK_dead_tilde, 0x1F68, 0x1FAE, +GDK_Greek_iota, GDK_dead_tilde, 0x1F69, 0x1FAF, +GDK_Greek_iota, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F88, +GDK_Greek_iota, GDK_dead_psili, GDK_Greek_ETA, 0x1F98, +GDK_Greek_iota, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FA8, +GDK_Greek_iota, GDK_dead_psili, GDK_Greek_alpha, 0x1F80, +GDK_Greek_iota, GDK_dead_psili, GDK_Greek_eta, 0x1F90, +GDK_Greek_iota, GDK_dead_psili, GDK_Greek_omega, 0x1FA0, +GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F89, +GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_ETA, 0x1F99, +GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FA9, +GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_alpha, 0x1F81, +GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_eta, 0x1F91, +GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_omega, 0x1FA1, +GDK_parenleft, GDK_1, GDK_0, GDK_parenright, 0x2469, +GDK_parenleft, GDK_1, GDK_1, GDK_parenright, 0x246A, +GDK_parenleft, GDK_1, GDK_2, GDK_parenright, 0x246B, +GDK_parenleft, GDK_1, GDK_3, GDK_parenright, 0x246C, +GDK_parenleft, GDK_1, GDK_4, GDK_parenright, 0x246D, +GDK_parenleft, GDK_1, GDK_5, GDK_parenright, 0x246E, +GDK_parenleft, GDK_1, GDK_6, GDK_parenright, 0x246F, +GDK_parenleft, GDK_1, GDK_7, GDK_parenright, 0x2470, +GDK_parenleft, GDK_1, GDK_8, GDK_parenright, 0x2471, +GDK_parenleft, GDK_1, GDK_9, GDK_parenright, 0x2472, +GDK_parenleft, GDK_1, GDK_KP_Space, GDK_parenright, 0x246B, +GDK_parenleft, GDK_1, GDK_KP_0, GDK_parenright, 0x2469, +GDK_parenleft, GDK_1, GDK_KP_1, GDK_parenright, 0x246A, +GDK_parenleft, GDK_1, GDK_KP_2, GDK_parenright, 0x246B, +GDK_parenleft, GDK_1, GDK_KP_3, GDK_parenright, 0x246C, +GDK_parenleft, GDK_1, GDK_KP_4, GDK_parenright, 0x246D, +GDK_parenleft, GDK_1, GDK_KP_5, GDK_parenright, 0x246E, +GDK_parenleft, GDK_1, GDK_KP_6, GDK_parenright, 0x246F, +GDK_parenleft, GDK_1, GDK_KP_7, GDK_parenright, 0x2470, +GDK_parenleft, GDK_1, GDK_KP_8, GDK_parenright, 0x2471, +GDK_parenleft, GDK_1, GDK_KP_9, GDK_parenright, 0x2472, +GDK_parenleft, GDK_2, GDK_0, GDK_parenright, 0x2473, +GDK_parenleft, GDK_2, GDK_1, GDK_parenright, 0x3251, +GDK_parenleft, GDK_2, GDK_2, GDK_parenright, 0x3252, +GDK_parenleft, GDK_2, GDK_3, GDK_parenright, 0x3253, +GDK_parenleft, GDK_2, GDK_4, GDK_parenright, 0x3254, +GDK_parenleft, GDK_2, GDK_5, GDK_parenright, 0x3255, +GDK_parenleft, GDK_2, GDK_6, GDK_parenright, 0x3256, +GDK_parenleft, GDK_2, GDK_7, GDK_parenright, 0x3257, +GDK_parenleft, GDK_2, GDK_8, GDK_parenright, 0x3258, +GDK_parenleft, GDK_2, GDK_9, GDK_parenright, 0x3259, +GDK_parenleft, GDK_2, GDK_KP_Space, GDK_parenright, 0x3252, +GDK_parenleft, GDK_2, GDK_KP_0, GDK_parenright, 0x2473, +GDK_parenleft, GDK_2, GDK_KP_1, GDK_parenright, 0x3251, +GDK_parenleft, GDK_2, GDK_KP_2, GDK_parenright, 0x3252, +GDK_parenleft, GDK_2, GDK_KP_3, GDK_parenright, 0x3253, +GDK_parenleft, GDK_2, GDK_KP_4, GDK_parenright, 0x3254, +GDK_parenleft, GDK_2, GDK_KP_5, GDK_parenright, 0x3255, +GDK_parenleft, GDK_2, GDK_KP_6, GDK_parenright, 0x3256, +GDK_parenleft, GDK_2, GDK_KP_7, GDK_parenright, 0x3257, +GDK_parenleft, GDK_2, GDK_KP_8, GDK_parenright, 0x3258, +GDK_parenleft, GDK_2, GDK_KP_9, GDK_parenright, 0x3259, +GDK_parenleft, GDK_3, GDK_0, GDK_parenright, 0x325A, +GDK_parenleft, GDK_3, GDK_1, GDK_parenright, 0x325B, +GDK_parenleft, GDK_3, GDK_2, GDK_parenright, 0x325C, +GDK_parenleft, GDK_3, GDK_3, GDK_parenright, 0x325D, +GDK_parenleft, GDK_3, GDK_4, GDK_parenright, 0x325E, +GDK_parenleft, GDK_3, GDK_5, GDK_parenright, 0x325F, +GDK_parenleft, GDK_3, GDK_6, GDK_parenright, 0x32B1, +GDK_parenleft, GDK_3, GDK_7, GDK_parenright, 0x32B2, +GDK_parenleft, GDK_3, GDK_8, GDK_parenright, 0x32B3, +GDK_parenleft, GDK_3, GDK_9, GDK_parenright, 0x32B4, +GDK_parenleft, GDK_3, GDK_KP_Space, GDK_parenright, 0x325C, +GDK_parenleft, GDK_3, GDK_KP_0, GDK_parenright, 0x325A, +GDK_parenleft, GDK_3, GDK_KP_1, GDK_parenright, 0x325B, +GDK_parenleft, GDK_3, GDK_KP_2, GDK_parenright, 0x325C, +GDK_parenleft, GDK_3, GDK_KP_3, GDK_parenright, 0x325D, +GDK_parenleft, GDK_3, GDK_KP_4, GDK_parenright, 0x325E, +GDK_parenleft, GDK_3, GDK_KP_5, GDK_parenright, 0x325F, +GDK_parenleft, GDK_3, GDK_KP_6, GDK_parenright, 0x32B1, +GDK_parenleft, GDK_3, GDK_KP_7, GDK_parenright, 0x32B2, +GDK_parenleft, GDK_3, GDK_KP_8, GDK_parenright, 0x32B3, +GDK_parenleft, GDK_3, GDK_KP_9, GDK_parenright, 0x32B4, +GDK_parenleft, GDK_4, GDK_0, GDK_parenright, 0x32B5, +GDK_parenleft, GDK_4, GDK_1, GDK_parenright, 0x32B6, +GDK_parenleft, GDK_4, GDK_2, GDK_parenright, 0x32B7, +GDK_parenleft, GDK_4, GDK_3, GDK_parenright, 0x32B8, +GDK_parenleft, GDK_4, GDK_4, GDK_parenright, 0x32B9, +GDK_parenleft, GDK_4, GDK_5, GDK_parenright, 0x32BA, +GDK_parenleft, GDK_4, GDK_6, GDK_parenright, 0x32BB, +GDK_parenleft, GDK_4, GDK_7, GDK_parenright, 0x32BC, +GDK_parenleft, GDK_4, GDK_8, GDK_parenright, 0x32BD, +GDK_parenleft, GDK_4, GDK_9, GDK_parenright, 0x32BE, +GDK_parenleft, GDK_4, GDK_KP_Space, GDK_parenright, 0x32B7, +GDK_parenleft, GDK_4, GDK_KP_0, GDK_parenright, 0x32B5, +GDK_parenleft, GDK_4, GDK_KP_1, GDK_parenright, 0x32B6, +GDK_parenleft, GDK_4, GDK_KP_2, GDK_parenright, 0x32B7, +GDK_parenleft, GDK_4, GDK_KP_3, GDK_parenright, 0x32B8, +GDK_parenleft, GDK_4, GDK_KP_4, GDK_parenright, 0x32B9, +GDK_parenleft, GDK_4, GDK_KP_5, GDK_parenright, 0x32BA, +GDK_parenleft, GDK_4, GDK_KP_6, GDK_parenright, 0x32BB, +GDK_parenleft, GDK_4, GDK_KP_7, GDK_parenright, 0x32BC, +GDK_parenleft, GDK_4, GDK_KP_8, GDK_parenright, 0x32BD, +GDK_parenleft, GDK_4, GDK_KP_9, GDK_parenright, 0x32BE, +GDK_parenleft, GDK_5, GDK_KP_0, GDK_parenright, 0x32BF, +GDK_parenleft, 0x1100, 0x1161, GDK_parenright, 0x326E, +GDK_parenleft, 0x1102, 0x1161, GDK_parenright, 0x326F, +GDK_parenleft, 0x1103, 0x1161, GDK_parenright, 0x3270, +GDK_parenleft, 0x1105, 0x1161, GDK_parenright, 0x3271, +GDK_parenleft, 0x1106, 0x1161, GDK_parenright, 0x3272, +GDK_parenleft, 0x1107, 0x1161, GDK_parenright, 0x3273, +GDK_parenleft, 0x1109, 0x1161, GDK_parenright, 0x3274, +GDK_parenleft, 0x110B, 0x1161, GDK_parenright, 0x3275, +GDK_parenleft, 0x110C, 0x1161, GDK_parenright, 0x3276, +GDK_parenleft, 0x110E, 0x1161, GDK_parenright, 0x3277, +GDK_parenleft, 0x110F, 0x1161, GDK_parenright, 0x3278, +GDK_parenleft, 0x1110, 0x1161, GDK_parenright, 0x3279, +GDK_parenleft, 0x1111, 0x1161, GDK_parenright, 0x327A, +GDK_parenleft, 0x1112, 0x1161, GDK_parenright, 0x327B, +GDK_parenleft, GDK_KP_Space, GDK_0, GDK_parenright, 0x2473, +GDK_parenleft, GDK_KP_Space, GDK_1, GDK_parenright, 0x3251, +GDK_parenleft, GDK_KP_Space, GDK_2, GDK_parenright, 0x3252, +GDK_parenleft, GDK_KP_Space, GDK_3, GDK_parenright, 0x3253, +GDK_parenleft, GDK_KP_Space, GDK_4, GDK_parenright, 0x3254, +GDK_parenleft, GDK_KP_Space, GDK_5, GDK_parenright, 0x3255, +GDK_parenleft, GDK_KP_Space, GDK_6, GDK_parenright, 0x3256, +GDK_parenleft, GDK_KP_Space, GDK_7, GDK_parenright, 0x3257, +GDK_parenleft, GDK_KP_Space, GDK_8, GDK_parenright, 0x3258, +GDK_parenleft, GDK_KP_Space, GDK_9, GDK_parenright, 0x3259, +GDK_parenleft, GDK_KP_Space, GDK_KP_Space, GDK_parenright, 0x3252, +GDK_parenleft, GDK_KP_Space, GDK_KP_0, GDK_parenright, 0x2473, +GDK_parenleft, GDK_KP_Space, GDK_KP_1, GDK_parenright, 0x3251, +GDK_parenleft, GDK_KP_Space, GDK_KP_2, GDK_parenright, 0x3252, +GDK_parenleft, GDK_KP_Space, GDK_KP_3, GDK_parenright, 0x3253, +GDK_parenleft, GDK_KP_Space, GDK_KP_4, GDK_parenright, 0x3254, +GDK_parenleft, GDK_KP_Space, GDK_KP_5, GDK_parenright, 0x3255, +GDK_parenleft, GDK_KP_Space, GDK_KP_6, GDK_parenright, 0x3256, +GDK_parenleft, GDK_KP_Space, GDK_KP_7, GDK_parenright, 0x3257, +GDK_parenleft, GDK_KP_Space, GDK_KP_8, GDK_parenright, 0x3258, +GDK_parenleft, GDK_KP_Space, GDK_KP_9, GDK_parenright, 0x3259, +GDK_parenleft, GDK_KP_1, GDK_0, GDK_parenright, 0x2469, +GDK_parenleft, GDK_KP_1, GDK_1, GDK_parenright, 0x246A, +GDK_parenleft, GDK_KP_1, GDK_2, GDK_parenright, 0x246B, +GDK_parenleft, GDK_KP_1, GDK_3, GDK_parenright, 0x246C, +GDK_parenleft, GDK_KP_1, GDK_4, GDK_parenright, 0x246D, +GDK_parenleft, GDK_KP_1, GDK_5, GDK_parenright, 0x246E, +GDK_parenleft, GDK_KP_1, GDK_6, GDK_parenright, 0x246F, +GDK_parenleft, GDK_KP_1, GDK_7, GDK_parenright, 0x2470, +GDK_parenleft, GDK_KP_1, GDK_8, GDK_parenright, 0x2471, +GDK_parenleft, GDK_KP_1, GDK_9, GDK_parenright, 0x2472, +GDK_parenleft, GDK_KP_1, GDK_KP_Space, GDK_parenright, 0x246B, +GDK_parenleft, GDK_KP_1, GDK_KP_0, GDK_parenright, 0x2469, +GDK_parenleft, GDK_KP_1, GDK_KP_1, GDK_parenright, 0x246A, +GDK_parenleft, GDK_KP_1, GDK_KP_2, GDK_parenright, 0x246B, +GDK_parenleft, GDK_KP_1, GDK_KP_3, GDK_parenright, 0x246C, +GDK_parenleft, GDK_KP_1, GDK_KP_4, GDK_parenright, 0x246D, +GDK_parenleft, GDK_KP_1, GDK_KP_5, GDK_parenright, 0x246E, +GDK_parenleft, GDK_KP_1, GDK_KP_6, GDK_parenright, 0x246F, +GDK_parenleft, GDK_KP_1, GDK_KP_7, GDK_parenright, 0x2470, +GDK_parenleft, GDK_KP_1, GDK_KP_8, GDK_parenright, 0x2471, +GDK_parenleft, GDK_KP_1, GDK_KP_9, GDK_parenright, 0x2472, +GDK_parenleft, GDK_KP_2, GDK_0, GDK_parenright, 0x2473, +GDK_parenleft, GDK_KP_2, GDK_1, GDK_parenright, 0x3251, +GDK_parenleft, GDK_KP_2, GDK_2, GDK_parenright, 0x3252, +GDK_parenleft, GDK_KP_2, GDK_3, GDK_parenright, 0x3253, +GDK_parenleft, GDK_KP_2, GDK_4, GDK_parenright, 0x3254, +GDK_parenleft, GDK_KP_2, GDK_5, GDK_parenright, 0x3255, +GDK_parenleft, GDK_KP_2, GDK_6, GDK_parenright, 0x3256, +GDK_parenleft, GDK_KP_2, GDK_7, GDK_parenright, 0x3257, +GDK_parenleft, GDK_KP_2, GDK_8, GDK_parenright, 0x3258, +GDK_parenleft, GDK_KP_2, GDK_9, GDK_parenright, 0x3259, +GDK_parenleft, GDK_KP_2, GDK_KP_Space, GDK_parenright, 0x3252, +GDK_parenleft, GDK_KP_2, GDK_KP_0, GDK_parenright, 0x2473, +GDK_parenleft, GDK_KP_2, GDK_KP_1, GDK_parenright, 0x3251, +GDK_parenleft, GDK_KP_2, GDK_KP_2, GDK_parenright, 0x3252, +GDK_parenleft, GDK_KP_2, GDK_KP_3, GDK_parenright, 0x3253, +GDK_parenleft, GDK_KP_2, GDK_KP_4, GDK_parenright, 0x3254, +GDK_parenleft, GDK_KP_2, GDK_KP_5, GDK_parenright, 0x3255, +GDK_parenleft, GDK_KP_2, GDK_KP_6, GDK_parenright, 0x3256, +GDK_parenleft, GDK_KP_2, GDK_KP_7, GDK_parenright, 0x3257, +GDK_parenleft, GDK_KP_2, GDK_KP_8, GDK_parenright, 0x3258, +GDK_parenleft, GDK_KP_2, GDK_KP_9, GDK_parenright, 0x3259, +GDK_parenleft, GDK_KP_3, GDK_0, GDK_parenright, 0x325A, +GDK_parenleft, GDK_KP_3, GDK_1, GDK_parenright, 0x325B, +GDK_parenleft, GDK_KP_3, GDK_2, GDK_parenright, 0x325C, +GDK_parenleft, GDK_KP_3, GDK_3, GDK_parenright, 0x325D, +GDK_parenleft, GDK_KP_3, GDK_4, GDK_parenright, 0x325E, +GDK_parenleft, GDK_KP_3, GDK_5, GDK_parenright, 0x325F, +GDK_parenleft, GDK_KP_3, GDK_6, GDK_parenright, 0x32B1, +GDK_parenleft, GDK_KP_3, GDK_7, GDK_parenright, 0x32B2, +GDK_parenleft, GDK_KP_3, GDK_8, GDK_parenright, 0x32B3, +GDK_parenleft, GDK_KP_3, GDK_9, GDK_parenright, 0x32B4, +GDK_parenleft, GDK_KP_3, GDK_KP_Space, GDK_parenright, 0x325C, +GDK_parenleft, GDK_KP_3, GDK_KP_0, GDK_parenright, 0x325A, +GDK_parenleft, GDK_KP_3, GDK_KP_1, GDK_parenright, 0x325B, +GDK_parenleft, GDK_KP_3, GDK_KP_2, GDK_parenright, 0x325C, +GDK_parenleft, GDK_KP_3, GDK_KP_3, GDK_parenright, 0x325D, +GDK_parenleft, GDK_KP_3, GDK_KP_4, GDK_parenright, 0x325E, +GDK_parenleft, GDK_KP_3, GDK_KP_5, GDK_parenright, 0x325F, +GDK_parenleft, GDK_KP_3, GDK_KP_6, GDK_parenright, 0x32B1, +GDK_parenleft, GDK_KP_3, GDK_KP_7, GDK_parenright, 0x32B2, +GDK_parenleft, GDK_KP_3, GDK_KP_8, GDK_parenright, 0x32B3, +GDK_parenleft, GDK_KP_3, GDK_KP_9, GDK_parenright, 0x32B4, +GDK_parenleft, GDK_KP_4, GDK_0, GDK_parenright, 0x32B5, +GDK_parenleft, GDK_KP_4, GDK_1, GDK_parenright, 0x32B6, +GDK_parenleft, GDK_KP_4, GDK_2, GDK_parenright, 0x32B7, +GDK_parenleft, GDK_KP_4, GDK_3, GDK_parenright, 0x32B8, +GDK_parenleft, GDK_KP_4, GDK_4, GDK_parenright, 0x32B9, +GDK_parenleft, GDK_KP_4, GDK_5, GDK_parenright, 0x32BA, +GDK_parenleft, GDK_KP_4, GDK_6, GDK_parenright, 0x32BB, +GDK_parenleft, GDK_KP_4, GDK_7, GDK_parenright, 0x32BC, +GDK_parenleft, GDK_KP_4, GDK_8, GDK_parenright, 0x32BD, +GDK_parenleft, GDK_KP_4, GDK_9, GDK_parenright, 0x32BE, +GDK_parenleft, GDK_KP_4, GDK_KP_Space, GDK_parenright, 0x32B7, +GDK_parenleft, GDK_KP_4, GDK_KP_0, GDK_parenright, 0x32B5, +GDK_parenleft, GDK_KP_4, GDK_KP_1, GDK_parenright, 0x32B6, +GDK_parenleft, GDK_KP_4, GDK_KP_2, GDK_parenright, 0x32B7, +GDK_parenleft, GDK_KP_4, GDK_KP_3, GDK_parenright, 0x32B8, +GDK_parenleft, GDK_KP_4, GDK_KP_4, GDK_parenright, 0x32B9, +GDK_parenleft, GDK_KP_4, GDK_KP_5, GDK_parenright, 0x32BA, +GDK_parenleft, GDK_KP_4, GDK_KP_6, GDK_parenright, 0x32BB, +GDK_parenleft, GDK_KP_4, GDK_KP_7, GDK_parenright, 0x32BC, +GDK_parenleft, GDK_KP_4, GDK_KP_8, GDK_parenright, 0x32BD, +GDK_parenleft, GDK_KP_4, GDK_KP_9, GDK_parenright, 0x32BE, +GDK_parenleft, GDK_KP_5, GDK_KP_0, GDK_parenright, 0x32BF, +GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, +GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, +GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, +GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_alpha, 0x1F85, +GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_eta, 0x1F95, +GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_omega, 0x1FA5, +GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, +GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_ETA, 0x1F9C, +GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, +GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_alpha, 0x1F84, +GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_eta, 0x1F94, +GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_omega, 0x1FA4, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_eta, 0x1F94, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, +GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, +GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, +GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, +GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, +GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F83, +GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_eta, 0x1F93, +GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_omega, 0x1FA3, +GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, +GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_ETA, 0x1F9A, +GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, +GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_alpha, 0x1F82, +GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_eta, 0x1F92, +GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_omega, 0x1FA2, +GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, +GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, +GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, +GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, +GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, +GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, +GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, +GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, +GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, +GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, +GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, +GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, +GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, +GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, +GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, +GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_alpha, 0x1F87, +GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_eta, 0x1F97, +GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_omega, 0x1FA7, +GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, +GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_ETA, 0x1F9E, +GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, +GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_alpha, 0x1F86, +GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_eta, 0x1F96, +GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_omega, 0x1FA6, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, +GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_omega, 0x1FA7, +GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, +GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, +GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, +GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F85, +GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_eta, 0x1F95, +GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_omega, 0x1FA5, +GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, +GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_ETA, 0x1F9C, +GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, +GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_alpha, 0x1F84, +GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_eta, 0x1F94, +GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_omega, 0x1FA4, +GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, +GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, +GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, +GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, +GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, +GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, +GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, +GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, +GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, +GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, +GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, +GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, +GDK_Greek_iota, 0x0342, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, +GDK_Greek_iota, 0x0342, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, +GDK_Greek_iota, 0x0342, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, +GDK_Greek_iota, 0x0342, GDK_parenleft, GDK_Greek_alpha, 0x1F87, +GDK_Greek_iota, 0x0342, GDK_parenleft, GDK_Greek_eta, 0x1F97, +GDK_Greek_iota, 0x0342, GDK_parenleft, GDK_Greek_omega, 0x1FA7, +GDK_Greek_iota, 0x0342, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, +GDK_Greek_iota, 0x0342, GDK_parenright, GDK_Greek_ETA, 0x1F9E, +GDK_Greek_iota, 0x0342, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, +GDK_Greek_iota, 0x0342, GDK_parenright, GDK_Greek_alpha, 0x1F86, +GDK_Greek_iota, 0x0342, GDK_parenright, GDK_Greek_eta, 0x1F96, +GDK_Greek_iota, 0x0342, GDK_parenright, GDK_Greek_omega, 0x1FA6, +GDK_Greek_iota, 0x0342, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, +GDK_Greek_iota, 0x0342, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, +GDK_Greek_iota, 0x0342, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, +GDK_Greek_iota, 0x0342, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, +GDK_Greek_iota, 0x0342, GDK_dead_psili, GDK_Greek_eta, 0x1F96, +GDK_Greek_iota, 0x0342, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, +GDK_Greek_iota, 0x0342, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, +GDK_Greek_iota, 0x0342, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, +GDK_Greek_iota, 0x0342, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, +GDK_Greek_iota, 0x0342, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, +GDK_Greek_iota, 0x0342, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, +GDK_Greek_iota, 0x0342, GDK_dead_dasia, GDK_Greek_omega, 0x1FA7, +GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, +GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, +GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, +GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F83, +GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_eta, 0x1F93, +GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_omega, 0x1FA3, +GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, +GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_ETA, 0x1F9A, +GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, +GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_alpha, 0x1F82, +GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_eta, 0x1F92, +GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_omega, 0x1FA2, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, +GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, +GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, +GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, +GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, +GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F85, +GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_eta, 0x1F95, +GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_omega, 0x1FA5, +GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, +GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_ETA, 0x1F9C, +GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, +GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_alpha, 0x1F84, +GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_eta, 0x1F94, +GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_omega, 0x1FA4, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, +GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_alpha, 0x1F87, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_eta, 0x1F97, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_omega, 0x1FA7, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_ETA, 0x1F9E, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_alpha, 0x1F86, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_eta, 0x1F96, +GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_omega, 0x1FA6, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, +GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, +}; + +#endif /* __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ */ + |