#15 WIP: Update ibus-desktop-testing-runner not to fail CI
Opened 4 months ago by fujiwara. Modified a month ago
rpms/ fujiwara/ibus tests2  into  master

file modified
-15310

@@ -1,15310 +0,0 @@ 

- From 026b19ef169dd9612d8a4a1ee34f7c42e7215c9a Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Wed, 13 Mar 2019 19:16:17 +0900

- Subject: [PATCH 01/27] setup: Enable to run ibus-setup with a different python

- 

- BUG=https://github.com/ibus/ibus/issues/2086

- ---

-  setup/ibus-setup.in | 4 ++--

-  1 file changed, 2 insertions(+), 2 deletions(-)

- 

- diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in

- index bb5c85cf..4a6830af 100644

- --- a/setup/ibus-setup.in

- +++ b/setup/ibus-setup.in

- @@ -3,7 +3,7 @@

-  # ibus - The Input Bus

-  #

-  # Copyright (c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>

- -# Copyright (c) 2018 Takao Fujiwara <takao.fujiwara1@gmail.com>

- +# Copyright (c) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>

-  # Copyright (c) 2007-2018 Red Hat, Inc.

-  #

-  # This library is free software; you can redistribute it and/or

- @@ -27,5 +27,5 @@ export IBUS_PREFIX=@prefix@

-  export IBUS_DATAROOTDIR=@datarootdir@

-  export IBUS_LOCALEDIR=@localedir@

-  export IBUS_LIBEXECDIR=${libexecdir}

- -exec @PYTHON@ @prefix@/share/ibus/setup/main.py $@

- +exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@

-  

- -- 

- 2.21.0

- 

- From 2825bfc13618d382444aa1f87be22cd86e9bba29 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Wed, 13 Mar 2019 19:35:19 +0900

- Subject: [PATCH 02/27] src: Update ibusunicodegen.h for Unicode UCD 12.0

- 

- ---

-  src/ibusunicodegen.h | 36 ++++++++++++++++++++++++++++++++++++

-  1 file changed, 36 insertions(+)

- 

- diff --git a/src/ibusunicodegen.h b/src/ibusunicodegen.h

- index 9952fe0a..6a60a5a9 100644

- --- a/src/ibusunicodegen.h

- +++ b/src/ibusunicodegen.h

- @@ -855,6 +855,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Sogdian"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Elymaic"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -935,6 +939,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Warang Citi"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Nandinagari"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -967,6 +975,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Makasar"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Tamil Supplement"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -983,6 +995,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Egyptian Hieroglyphs"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Egyptian Hieroglyph Format Controls"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -1031,6 +1047,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Kana Extended-A"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Small Kana Extension"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -1079,6 +1099,14 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Glagolitic Supplement"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Nyiakeng Puachue Hmong"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Wancho"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -1091,6 +1119,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Indic Siyaq Numbers"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Ottoman Siyaq Numbers"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- @@ -1151,6 +1183,10 @@ const static char *unicode_blocks[] = {

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

-      N_("Chess Symbols"),

- +    /* TRANSLATORS: You might refer the translations from gucharmap with

- +                    the following command:

- +       msgmerge -C gucharmap.po ibus.po ibus.pot */

- +    N_("Symbols and Pictographs Extended-A"),

-      /* TRANSLATORS: You might refer the translations from gucharmap with

-                      the following command:

-         msgmerge -C gucharmap.po ibus.po ibus.pot */

- -- 

- 2.21.0

- 

- From 6099a45f2e734458202383fdf157aea95b1f35a5 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Wed, 13 Mar 2019 19:36:05 +0900

- Subject: [PATCH 03/27] build: Delete built sources with MAINTAINERCLEANFILES

- 

- BUG=https://github.com/ibus/ibus/issues/2082

- ---

-  src/Makefile.am     | 9 ++++++++-

-  ui/gtk3/Makefile.am | 6 ++++++

-  2 files changed, 14 insertions(+), 1 deletion(-)

- 

- diff --git a/src/Makefile.am b/src/Makefile.am

- index 6a62e0f0..a8e3d07d 100644

- --- a/src/Makefile.am

- +++ b/src/Makefile.am

- @@ -3,7 +3,7 @@

-  # ibus - The Input Bus

-  #

-  # Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>

- -# Copyright (c) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>

- +# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>

-  # Copyright (c) 2007-2017 Red Hat, Inc.

-  #

-  # This library is free software; you can redistribute it and/or

- @@ -256,6 +256,10 @@ dicts/emoji-en.dict: emoji-parser

-  	    echo "WARNING: Not found $(EMOJI_ANNOTATION_DIR)/en.xml" 1>&2; \

-  	fi; \

-  	for f in $(LANG_FILES) ; do \

- +	    if test -f dicts/emoji-$$f.dict; then \

- +	        echo "Already exists dicts/emoji-$$f.dict"; \

- +	        continue; \

- +	    fi; \

-  	    if test -f \

-  	    "$(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$$f.xml" ; then \

-  	        xml_derived_option="--xml-derived $(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$$f.xml"; \

- @@ -279,6 +283,9 @@ dicts/emoji-en.dict: emoji-parser

-  	    echo "Generated $$plus_comment dicts/emoji-$$f.dict"; \

-  	done

-  

- +ibusemojigen.h: dicts/emoji-en.dict

- +	$(NULL)

- +

-  install-data-hook: $(dict_DATA)

-  	@$(NORMAL_INSTALL)

-  	$(AM_V_at)list='$(wildcard dicts/*.dict)'; \

- diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am

- index 60205aa5..667d51c6 100644

- --- a/ui/gtk3/Makefile.am

- +++ b/ui/gtk3/Makefile.am

- @@ -130,6 +130,8 @@ CLEANFILES =            \

-      gtkpanel.xml        \

-      $(NULL)

-  

- +MAINTAINERCLEANFILES =

- +

-  emoji_headers =         \

-      ibusemojidialog.h   \

-      $(NULL)

- @@ -192,6 +194,8 @@ emojierapp.o: $(srcdir)/emojierapp.c

-  	$(AM_V_CC_no)$(COMPILE) -c -o $@ $<

-  	$(NULL)

-  

- +MAINTAINERCLEANFILES += emojierapp.c

- +

-  component_DATA += gtkextension.xml

-  CLEANFILES += gtkextension.xml

-  libexec_PROGRAMS += ibus-extension-gtk3

- @@ -240,6 +244,8 @@ panelbinding.o: $(srcdir)/panelbinding.c

-  	$(AM_V_CC_no)$(COMPILE) -c -o $@ $<

-  	$(NULL)

-  

- +MAINTAINERCLEANFILES += extension.c panelbinding.c

- +

-  man_seven_files = $(man_seven_in_files:.7.in=.7)

-  man_seven_DATA =$(man_seven_files:.7=.7.gz)

-  man_sevendir = $(mandir)/man7

- -- 

- 2.21.0

- 

- From b497de5bc6525769e03b65c73fc991d4aa006223 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Wed, 20 Mar 2019 17:44:26 +0900

- Subject: [PATCH 04/27] test: Set GTK_IM_MODULE in test-console.sh

- 

- ---

-  src/tests/Makefile.am |  4 ++--

-  1 files changed, 14 insertions(+), 2 deletions(-)

- 

- diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am

- index e337a59b..e2ff5ea7 100644

- --- a/src/tests/Makefile.am

- +++ b/src/tests/Makefile.am

- @@ -3,7 +3,7 @@

-  # ibus - The Input Bus

-  #

-  # Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>

- -# Copyright (c) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>

- +# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>

-  # Copyright (c) 2007-2018 Red Hat, Inc.

-  #

-  # This library is free software; you can redistribute it and/or

- @@ -78,7 +78,7 @@ TESTS_ENVIRONMENT = \

-  

-  LOG_COMPILER = $(srcdir)/runtest

-  

- -EXTRA_DIST = runtest

- +EXTRA_DIST = runtest ibus-compose.env

-  

-  ibus_bus_SOURCES = ibus-bus.c

-  ibus_bus_LDADD = $(prog_ldadd)

- -- 

- 2.21.0

- 

- From 1cb5032e85d85f496e349236d1b74f17fb8db966 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Tue, 23 Apr 2019 15:40:45 +0900

- Subject: [PATCH 05/27] configure: Move ibus-setup from configure.ac to

-  Makefile.am

- 

- @localedir@ can be extracted to ${datarootdir}/locale and

- it needs datarootdir=/usr/share in case configure.ac is used

- and deleting the datarootdir line caused a regression.

- All variables can be extracted in Makefile.am with sed.

- ---

-  configure.ac      |  1 -

-  setup/Makefile.am | 13 +++++++++++--

-  2 files changed, 11 insertions(+), 3 deletions(-)

- 

- diff --git a/configure.ac b/configure.ac

- index 9518e808..7503f3e8 100644

- --- a/configure.ac

- +++ b/configure.ac

- @@ -724,7 +724,6 @@ ibus/interface/Makefile

-  ui/Makefile

-  ui/gtk3/Makefile

-  setup/Makefile

- -setup/ibus-setup

-  bindings/Makefile

-  bindings/pygobject/Makefile

-  bindings/vala/Makefile

- diff --git a/setup/Makefile.am b/setup/Makefile.am

- index cb4dd8d1..34c8f136 100644

- --- a/setup/Makefile.am

- +++ b/setup/Makefile.am

- @@ -3,8 +3,8 @@

-  # ibus - The Input Bus

-  #

-  # Copyright (c) 2007-2014 Peng Huang <shawn.p.huang@gmail.com>

- -# Copyright (c) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>

- -# Copyright (c) 2007-2018 Red Hat, Inc.

- +# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>

- +# Copyright (c) 2007-2019 Red Hat, Inc.

-  #

-  # This library is free software; you can redistribute it and/or

-  # modify it under the terms of the GNU Lesser General Public

- @@ -40,6 +40,15 @@ ibussetup_DATA = \

-  bin_SCRIPTS = ibus-setup

-  ibussetupdir = $(pkgdatadir)/setup

-  

- +ibus-setup: ibus-setup.in

- +	$(AM_V_GEN) sed -e "s|\@datarootdir\@|$(datarootdir)|g" \

- +	                -e "s|\@localedir\@|$(localedir)|g" \

- +	                -e "s|\@libexecdir\@|$(libexecdir)|g" \

- +	                -e "s|\@prefix\@|$(prefix)|g" \

- +	                -e "s|\@PYTHON\@|$(PYTHON)|g" \

- +	$< > $@.tmp && \

- +	mv $@.tmp $@

- +

-  desktop_notrans_files = ibus-setup.desktop

-  desktop_DATA = org.freedesktop.IBus.Setup.desktop

-  desktopdir = $(datadir)/applications

- -- 

- 2.21.0

- 

- From cc849c20d4dff31f6f88f93789790759bf087b77 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Tue, 23 Apr 2019 17:56:20 +0900

- Subject: [PATCH 06/27] NEWS: Add shortlog

- 

- Update Makefile.am to insert shortlog in NEWS

- Update po/Makevars to add multiple COPYRIGHT_HOLDER

- ---

-  Makefile.am | 7 +++++--

-  po/Makevars | 3 ++-

-  2 files changed, 7 insertions(+), 3 deletions(-)

- 

- diff --git a/Makefile.am b/Makefile.am

- index cf7460d6..9ff786dc 100644

- --- a/Makefile.am

- +++ b/Makefile.am

- @@ -3,8 +3,8 @@

-  # ibus - The Input Bus

-  #

-  # Copyright (c) 2007-2016 Peng Huang <shawn.p.huang@gmail.com>

- -# Copyright (c) 2015-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>

- -# Copyright (c) 2007-2017 Red Hat, Inc.

- +# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>

- +# Copyright (c) 2007-2019 Red Hat, Inc.

-  #

-  # This library is free software; you can redistribute it and/or

-  # modify it under the terms of the GNU Lesser General Public

- @@ -103,6 +103,9 @@ dist-hook:

-  "$(IBUS_MAJOR_VERSION).$(IBUS_MINOR_VERSION).$$IBUS_PREV_MICRO_VERSION"; \

-  		echo "Changes in IBus $(IBUS_VERSION)" > $(distdir)/NEWS; \

-  		echo "" >> $(distdir)/NEWS; \

- +		git shortlog $$IBUS_PREV_VERSION...$(IBUS_VERSION) \

- +		        >> $(distdir)/NEWS; \

- +		echo "" >> $(distdir)/NEWS; \

-  		git log $$IBUS_PREV_VERSION...$(IBUS_VERSION) --reverse \

-  		        --pretty=format:'%s (%an) %h' >> $(distdir)/NEWS; \

-  	fi

- diff --git a/po/Makevars b/po/Makevars

- index d3fbeab2..1d16cc98 100644

- --- a/po/Makevars

- +++ b/po/Makevars

- @@ -20,7 +20,8 @@ XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2

-  # or entity, or to disclaim their copyright.  The empty string stands for

-  # the public domain; in this case the translators are expected to disclaim

-  # their copyright.

- -COPYRIGHT_HOLDER = Peng Huang <shawn.p.huang@gmail.com>

- +COPYRIGHT_HOLDER = Peng Huang <shawn.p.huang@gmail.com> \

- +Takao Fujiwara <takao.fujiwara1@gmail.com>

-  

-  # This is the email address or URL to which the translators shall report

-  # bugs in the untranslated strings:

- -- 

- 2.21.0

- 

- From 1c54fea645b2ec3a385d492e4ca30a70dbb87c3a Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Tue, 23 Apr 2019 18:44:45 +0900

- Subject: [PATCH 07/27] data/its: Add ibus.its for IME's component files

- 

- IBusEngineDesc has translatable strings in longname and

- description tags and they needs to be extracted by xgettext.

- 

- After you install the ibus.[its|loc] to /usr/share/gettext/its,

- each engine's component file needs to renamed with

- '.inputMethod.xml' in the source directory suffix. E.g.

- Rename 'anthy.xml' to 'anthy.inputMethod.xml' and write the file

- path to the engine's POTFILES.in

- ---

-  configure.ac         |  1 +

-  data/Makefile.am     |  3 ++-

-  data/its/Makefile.am | 29 +++++++++++++++++++++++++++++

-  data/its/ibus.its    | 14 ++++++++++++++

-  data/its/ibus.loc    |  7 +++++++

-  5 files changed, 53 insertions(+), 1 deletion(-)

-  create mode 100644 data/its/Makefile.am

-  create mode 100644 data/its/ibus.its

-  create mode 100644 data/its/ibus.loc

- 

- diff --git a/configure.ac b/configure.ac

- index 7503f3e8..b5a87b56 100644

- --- a/configure.ac

- +++ b/configure.ac

- @@ -711,6 +711,7 @@ util/IMdkit/Makefile

-  data/Makefile

-  data/annotations/Makefile

-  data/icons/Makefile

- +data/its/Makefile

-  data/keymaps/Makefile

-  data/dconf/Makefile

-  docs/Makefile

- diff --git a/data/Makefile.am b/data/Makefile.am

- index 2533f444..aa3ee466 100644

- --- a/data/Makefile.am

- +++ b/data/Makefile.am

- @@ -3,7 +3,7 @@

-  # ibus - The Input Bus

-  #

-  # Copyright (c) 2007-2016 Peng Huang <shawn.p.huang@gmail.com>

- -# Copyright (c) 2007-2018 Red Hat, Inc.

- +# Copyright (c) 2007-2019 Red Hat, Inc.

-  #

-  # This library is free software; you can redistribute it and/or

-  # modify it under the terms of the GNU Lesser General Public

- @@ -23,6 +23,7 @@

-  SUBDIRS = \

-  	annotations \

-  	icons \

- +	its \

-  	keymaps \

-  	$(NULL)

-  

- diff --git a/data/its/Makefile.am b/data/its/Makefile.am

- new file mode 100644

- index 00000000..07c8a96d

- --- /dev/null

- +++ b/data/its/Makefile.am

- @@ -0,0 +1,29 @@

- +# vim:set noet ts=4:

- +#

- +# ibus - The Input Bus

- +#

- +# Copyright (c) 2019 Takao Fujiwara <takao.fujiwara1@gmail.com>

- +# Copyright (c) 2019 Red Hat, Inc.

- +#

- +# 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.1 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301

- +# USA

- +

- +itsdir = $(datadir)/gettext/its

- +its_DATA = \

- +    ibus.its \

- +    ibus.loc \

- +    $(NULL)

- +

- +-include $(top_srcdir)/git.mk

- diff --git a/data/its/ibus.its b/data/its/ibus.its

- new file mode 100644

- index 00000000..30d8d4e2

- --- /dev/null

- +++ b/data/its/ibus.its

- @@ -0,0 +1,14 @@

- +<?xml version="1.0"?>

- +<its:rules xmlns:its="http://www.w3.org/2005/11/its"

- +           version="2.0">

- +  <its:translateRule selector="/component" translate="no"/>

- +  <its:translateRule selector="/engines" translate="no"/>

- +  <its:translateRule selector="//engine" translate="no"/>

- +  <its:translateRule selector="//longname |

- +                               //description"

- +                     translate="yes"/>

- +  <its:translateRule selector="//longname[@translatable = 'no']"

- +                     translate="no"/>

- +  <its:translateRule selector="//description[@translatable = 'no']"

- +                     translate="no"/>

- +</its:rules>

- diff --git a/data/its/ibus.loc b/data/its/ibus.loc

- new file mode 100644

- index 00000000..5a73798b

- --- /dev/null

- +++ b/data/its/ibus.loc

- @@ -0,0 +1,7 @@

- +<?xml version="1.0"?>

- +<locatingRules>

- +  <locatingRule name="IBusEngineDesc" pattern="*.inputMethod.xml">

- +    <documentRule localName="engines" target="ibus.its"/>

- +    <documentRule localName="component" target="ibus.its"/>

- +  </locatingRule>

- +</locatingRules>

- -- 

- 2.21.0

- 

- From 91a256163427f04eb7763196b4ffe553911d2e01 Mon Sep 17 00:00:00 2001

- From: Gunnar Hjalmarsson <gunnarhj@users.noreply.github.com>

- Date: Tue, 7 May 2019 19:42:28 +0900

- Subject: [PATCH 08/27] bus: Indistinguishable address of ibus-daemon

- 

- BUG=https://github.com/ibus/ibus/issues/2095

- ---

-  bus/global.c | 2 +-

-  1 file changed, 1 insertion(+), 1 deletion(-)

- 

- diff --git a/bus/global.c b/bus/global.c

- index f147cd6f..2ba8b2a7 100644

- --- a/bus/global.c

- +++ b/bus/global.c

- @@ -24,7 +24,7 @@

-  #include "global.h"

-  

-  gchar **g_argv = NULL;

- -gchar *g_address = "unix:tmpdir=/tmp";

- +gchar *g_address = "unix:tmpdir=/tmp/ibus";

-  gchar *g_cache = "auto";

-  gboolean g_mempro = FALSE;

-  gboolean g_verbose = FALSE;

- -- 

- 2.21.0

- 

- From 05a10950d635602fb3fcf4ed0021aa0b15dbd698 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Thu, 9 May 2019 15:49:09 +0900

- Subject: [PATCH 09/27] src: Make ISO 639 language names with title

- 

- Danish translations are small in iso-codes-iso-639-2-da.po for the

- genral usage but the users ask the title format on UI.

- Now ibus_get_language_name() and ibus_get_untranslated_language_name()

- return the dynamic allocation instead of the static characters

- to make the capital character.

- 

- BUG=https://github.com/ibus/ibus/issues/2079

- ---

-  src/ibusutil.c | 63 ++++++++++++++++++++++++++++++++++++++++++--------

-  src/ibusutil.h |  8 +++----

-  2 files changed, 58 insertions(+), 13 deletions(-)

- 

- diff --git a/src/ibusutil.c b/src/ibusutil.c

- index fd1da006..9d003e2e 100644

- --- a/src/ibusutil.c

- +++ b/src/ibusutil.c

- @@ -2,7 +2,7 @@

-  /* vim:set et sts=4: */

-  /* bus - The Input Bus

-   * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>

- - * Copyright (C) 2010-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>

- + * Copyright (C) 2010-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>

-   * Copyright (C) 2008-2016 Red Hat, Inc.

-   *

-   * This library is free software; you can redistribute it and/or

- @@ -125,8 +125,8 @@ _load_lang()

-      ibus_xml_free (node);

-  }

-  

- -const gchar *

- -ibus_get_untranslated_language_name (const gchar *_locale)

- +const static gchar *

- +ibus_get_untranslated_raw_language_name (const gchar *_locale)

-  {

-      const gchar *retval;

-      gchar *p = NULL;

- @@ -148,19 +148,64 @@ ibus_get_untranslated_language_name (const gchar *_locale)

-          return "Other";

-  }

-  

- -const gchar *

- +static char *

- +get_first_item_in_semicolon_list (const char *list)

- +{

- +        char **items;

- +        char  *item;

- +

- +        items = g_strsplit (list, "; ", 2);

- +

- +        item = g_strdup (items[0]);

- +        g_strfreev (items);

- +

- +        return item;

- +}

- +

- +static char *

- +capitalize_utf8_string (const char *str)

- +{

- +    char first[8] = { 0 };

- +

- +    if (!str)

- +        return NULL;

- +

- +    g_unichar_to_utf8 (g_unichar_totitle (g_utf8_get_char (str)), first);

- +

- +    return g_strconcat (first, g_utf8_offset_to_pointer (str, 1), NULL);

- +}

- +

- +gchar *

- +ibus_get_untranslated_language_name (const gchar *_locale)

- +{

- +    const gchar *raw = ibus_get_untranslated_raw_language_name (_locale);

- +    gchar *tmp = get_first_item_in_semicolon_list (raw);

- +    gchar *retval = capitalize_utf8_string (tmp);

- +    g_free (tmp);

- +    return retval;

- +}

- +

- +gchar *

-  ibus_get_language_name (const gchar *_locale)

-  {

- -    const gchar *retval = ibus_get_untranslated_language_name (_locale);

- +    const gchar *raw = ibus_get_untranslated_raw_language_name (_locale);

- +    const gchar *translation = NULL;

- +    gchar *tmp;

- +    gchar *retval;

-  

-  #ifdef ENABLE_NLS

- -    if (g_strcmp0 (retval, "Other") == 0)

- -        return dgettext (GETTEXT_PACKAGE, N_("Other"));

- +    if (g_strcmp0 (raw, "Other") == 0)

- +        return g_strdup (dgettext (GETTEXT_PACKAGE, N_("Other")));

-      else

- -        return dgettext ("iso_639-3", retval);

- +        translation = dgettext ("iso_639-3", raw);

-  #else

- -    return retval;

- +    translation = raw;

-  #endif

- +

- +    tmp = get_first_item_in_semicolon_list (translation);

- +    retval = capitalize_utf8_string (tmp);

- +    g_free (tmp);

- +    return retval;

-  }

-  

-  void

- diff --git a/src/ibusutil.h b/src/ibusutil.h

- index 226dd7a8..795365f6 100644

- --- a/src/ibusutil.h

- +++ b/src/ibusutil.h

- @@ -2,8 +2,8 @@

-  /* vim:set et sts=4: */

-  /* bus - The Input Bus

-   * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>

- - * Copyright (C) 2010-2017 Takao Fujiwara <takao.fujiwara1@gmail.com>

- - * Copyright (C) 2008-2016 Red Hat, Inc.

- + * Copyright (C) 2010-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>

- + * Copyright (C) 2008-2018 Red Hat, Inc.

-   *

-   * This library is free software; you can redistribute it and/or

-   * modify it under the terms of the GNU Lesser General Public

- @@ -42,7 +42,7 @@

-   *

-   * Returns: untranslated language name

-   */

- -const gchar *    ibus_get_untranslated_language_name

- +gchar *          ibus_get_untranslated_language_name

-                                                  (const gchar    *_locale);

-  

-  /**

- @@ -51,6 +51,6 @@ const gchar *    ibus_get_untranslated_language_name

-   *

-   * Returns: translated language name

-   */

- -const gchar *    ibus_get_language_name         (const gchar    *_locale);

- +gchar *          ibus_get_language_name         (const gchar    *_locale);

-  

-  #endif

- -- 

- 2.21.0

- 

- From cebe7a9553de69943b955ec99285f74961c9ee4e Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Thu, 9 May 2019 15:49:21 +0900

- Subject: [PATCH 10/27] client/gtk2: Keep preedit cursor_pos and visible in

-  clearing preedit text

- 

- Clear the preedit_string but keep the preedit_cursor_pos and

- preedit_visible because a time lag could happen, firefox commit

- the preedit text before the preedit text is cleared and it cause

- a double commits of the Hangul preedit in firefox if the preedit

- would be located on the URL bar and click on anywhere of firefox

- out of the URL bar.

- ---

-  client/gtk2/ibusimcontext.c | 12 ++++++++++--

-  1 file changed, 10 insertions(+), 2 deletions(-)

- 

- diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c

- index 264a747a..5e3457ba 100644

- --- a/client/gtk2/ibusimcontext.c

- +++ b/client/gtk2/ibusimcontext.c

- @@ -881,10 +881,18 @@ ibus_im_context_clear_preedit_text (IBusIMContext *ibusimcontext)

-          ibusimcontext->preedit_mode == IBUS_ENGINE_PREEDIT_COMMIT) {

-          preedit_string = g_strdup (ibusimcontext->preedit_string);

-      }

- +

- +    /* Clear the preedit_string but keep the preedit_cursor_pos and

- +     * preedit_visible because a time lag could happen, firefox commit

- +     * the preedit text before the preedit text is cleared and it cause

- +     * a double commits of the Hangul preedit in firefox if the preedit

- +     * would be located on the URL bar and click on anywhere of firefox

- +     * out of the URL bar.

- +     */

-      _ibus_context_update_preedit_text_cb (ibusimcontext->ibuscontext,

-                                            ibus_text_new_from_string (""),

- -                                          0,

- -                                          FALSE,

- +                                          ibusimcontext->preedit_cursor_pos,

- +                                          ibusimcontext->preedit_visible,

-                                            IBUS_ENGINE_PREEDIT_CLEAR,

-                                            ibusimcontext);

-      if (preedit_string) {

- -- 

- 2.21.0

- 

- From b59f7f823b7b2051e4ca31834f9299a72f01b339 Mon Sep 17 00:00:00 2001

- From: fujiwarat <takao.fujiwara1@gmail.com>

- Date: Thu, 9 May 2019 17:02:21 +0900

- Subject: [PATCH 14/27] src: Support 32bit and multiple compose outputs

- MIME-Version: 1.0

- Content-Type: text/plain; charset=UTF-8

- Content-Transfer-Encoding: 8bit

- 

- Compose file in en_US.UTF-8 now includes wide codepoints more than

- U+FFFF likes '<Multi_key> <F> <U> : "🖕"  U1F595' but the current

- gtk_compose_seqs_compact[] is a guint16 array.

- To support 32bit and multiple compose outputs, the array is now

- separated to 16bit and 32bit arrays and 32bit array is also

- separated to gtk_compose_seqs_compact_32bit_first[] for 16bit

- key sequences and gtk_compose_seqs_compact_32bit_second[] for

- 32bit output values.

- 

- BUG=https://github.com/ibus/ibus/issues/2074

- ---

-  src/gtkimcontextsimpleseqs.h  | 9912 +++++++++++++++++----------------

-  src/ibuscomposetable.h        |   13 +-

-  src/ibusenginesimple.c        |  166 +-

-  src/ibusenginesimpleprivate.h |    8 +-

-  4 files changed, 5380 insertions(+), 4719 deletions(-)

- 

- diff --git a/src/gtkimcontextsimpleseqs.h b/src/gtkimcontextsimpleseqs.h

- index 632391a1..ffa5f125 100644

- --- a/src/gtkimcontextsimpleseqs.h

- +++ b/src/gtkimcontextsimpleseqs.h

- @@ -94,4680 +94,5244 @@ IBUS_KEY_dead_belowdiaeresis, 3705, 3705, 3708, 3708, 3708,

-  IBUS_KEY_dead_belowcomma, 3708, 3722, 3722, 3722, 3722, 

-  IBUS_KEY_dead_currency, 3722, 3820, 3826, 3826, 3826, 

-  IBUS_KEY_dead_greek, 3826, 3928, 3952, 3952, 3952, 

- -IBUS_KEY_Multi_key, 3952, 3952, 10348, 14044, 15919, 

- -IBUS_KEY_Greek_iota, 0x0390, 

- -IBUS_KEY_Greek_upsilon, 0x03B0, 

- -IBUS_KEY_space, 0x0060, 

- -IBUS_KEY_V, 0x01DB, 

- -IBUS_KEY_v, 0x01DC, 

- -IBUS_KEY_nobreakspace, 0x0300, 

- -IBUS_KEY_Abreve, 0x1EB0, 

- -IBUS_KEY_abreve, 0x1EB1, 

- -IBUS_KEY_Emacron, 0x1E14, 

- -IBUS_KEY_emacron, 0x1E15, 

- -IBUS_KEY_Omacron, 0x1E50, 

- -IBUS_KEY_omacron, 0x1E51, 

- -IBUS_KEY_Cyrillic_ie, 0x0450, 

- -IBUS_KEY_Cyrillic_i, 0x045D, 

- -IBUS_KEY_Cyrillic_IE, 0x0400, 

- -IBUS_KEY_Cyrillic_I, 0x040D, 

- -IBUS_KEY_Greek_iotadieresis, 0x1FD2, 

- -IBUS_KEY_Greek_upsilondieresis, 0x1FE2, 

- -IBUS_KEY_Greek_ALPHA, 0x1FBA, 

- -IBUS_KEY_Greek_EPSILON, 0x1FC8, 

- -IBUS_KEY_Greek_ETA, 0x1FCA, 

- -IBUS_KEY_Greek_IOTA, 0x1FDA, 

- -IBUS_KEY_Greek_OMICRON, 0x1FF8, 

- -IBUS_KEY_Greek_UPSILON, 0x1FEA, 

- -IBUS_KEY_Greek_OMEGA, 0x1FFA, 

- -IBUS_KEY_Greek_alpha, 0x1F70, 

- -IBUS_KEY_Greek_epsilon, 0x1F72, 

- -IBUS_KEY_Greek_eta, 0x1F74, 

- -IBUS_KEY_Greek_iota, 0x1F76, 

- -IBUS_KEY_Greek_omicron, 0x1F78, 

- -IBUS_KEY_Greek_upsilon, 0x1F7A, 

- -IBUS_KEY_Greek_omega, 0x1F7C, 

- -IBUS_KEY_dead_grave, 0x0060, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x1FD2, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x1FE2, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0A, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1A, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2A, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3A, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4A, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6A, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F02, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F12, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F22, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F32, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F42, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F52, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F62, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6B, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F03, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F13, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F23, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F33, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F43, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F53, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F63, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01DB, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DC, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F03, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F13, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F23, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F33, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F43, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F53, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F63, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F02, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F12, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F22, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F32, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F42, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F52, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F62, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDC, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDD, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EEB, 

- -IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EB0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EB1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED3, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E14, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E50, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E15, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E51, 

- -IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EB0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EB1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_E, 0x1E14, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_O, 0x1E50, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_e, 0x1E15, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_o, 0x1E51, 

- -IBUS_KEY_space, 0x0027, 

- -IBUS_KEY_V, 0x01D7, 

- -IBUS_KEY_v, 0x01D8, 

- -IBUS_KEY_nobreakspace, 0x0301, 

- -IBUS_KEY_Abreve, 0x1EAE, 

- -IBUS_KEY_abreve, 0x1EAF, 

- -IBUS_KEY_Emacron, 0x1E16, 

- -IBUS_KEY_emacron, 0x1E17, 

- -IBUS_KEY_Utilde, 0x1E78, 

- -IBUS_KEY_omacron, 0x1E53, 

- -IBUS_KEY_utilde, 0x1E79, 

- -IBUS_KEY_Cyrillic_ghe, 0x0453, 

- -IBUS_KEY_Cyrillic_ka, 0x045C, 

- -IBUS_KEY_Cyrillic_GHE, 0x0403, 

- -IBUS_KEY_Cyrillic_KA, 0x040C, 

- -IBUS_KEY_Greek_iotadieresis, 0x0390, 

- -IBUS_KEY_Greek_upsilondieresis, 0x03B0, 

- -IBUS_KEY_Greek_ALPHA, 0x0386, 

- -IBUS_KEY_Greek_EPSILON, 0x0388, 

- -IBUS_KEY_Greek_ETA, 0x0389, 

- -IBUS_KEY_Greek_IOTA, 0x038A, 

- -IBUS_KEY_Greek_OMICRON, 0x038C, 

- -IBUS_KEY_Greek_UPSILON, 0x038E, 

- -IBUS_KEY_Greek_OMEGA, 0x038F, 

- -IBUS_KEY_Greek_alpha, 0x03AC, 

- -IBUS_KEY_Greek_epsilon, 0x03AD, 

- -IBUS_KEY_Greek_eta, 0x03AE, 

- -IBUS_KEY_Greek_iota, 0x03AF, 

- -IBUS_KEY_Greek_omicron, 0x03CC, 

- -IBUS_KEY_Greek_upsilon, 0x03CD, 

- -IBUS_KEY_Greek_omega, 0x03CE, 

- -IBUS_KEY_dead_acute, 0x00B4, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_space, 0x0385, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x0390, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x03B0, 

- -IBUS_KEY_dead_stroke, IBUS_KEY_O, 0x01FE, 

- -IBUS_KEY_dead_stroke, IBUS_KEY_o, 0x01FF, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0C, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_EPSILON, 0x1F1C, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2C, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3C, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMICRON, 0x1F4C, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6C, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F04, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_epsilon, 0x1F14, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F24, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F34, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_omicron, 0x1F44, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F54, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F64, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_EPSILON, 0x1F1D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMICRON, 0x1F4D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6D, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F05, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_epsilon, 0x1F15, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F25, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F35, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omicron, 0x1F45, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F55, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F65, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_I, 0x1E2E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_i, 0x1E2F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x0390, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x03B0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_EPSILON, 0x1F1D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMICRON, 0x1F4D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F05, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_epsilon, 0x1F15, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F25, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F35, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omicron, 0x1F45, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F55, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F65, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_EPSILON, 0x1F1C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMICRON, 0x1F4C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F04, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_epsilon, 0x1F14, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F24, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F34, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omicron, 0x1F44, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F54, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F64, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EE8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDB, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EE9, 

- -IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_C, 0x1E08, 

- -IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_c, 0x1E09, 

- -IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_O, 0x01FE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_o, 0x01FF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EAE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EAF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EA4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EBE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EA5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EBF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_E, 0x1E16, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O, 0x1E52, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_e, 0x1E17, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0x1E53, 

- -IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EAE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EAF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_A, 0x01FA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_a, 0x01FB, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_U, 0x1E78, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_u, 0x1E79, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_E, 0x1E16, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_O, 0x1E52, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_e, 0x1E17, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_o, 0x1E53, 

- -IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_C, 0x1E08, 

- -IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_c, 0x1E09, 

- -IBUS_KEY_Multi_key, IBUS_KEY_KP_Divide, IBUS_KEY_O, 0x01FE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_KP_Divide, IBUS_KEY_o, 0x01FF, 

- -IBUS_KEY_space, 0x005E, 

- -IBUS_KEY_parenleft, 0x207D, 

- -IBUS_KEY_parenright, 0x207E, 

- -IBUS_KEY_plus, 0x207A, 

- -IBUS_KEY_minus, 0x207B, 

- -IBUS_KEY_0, 0x2070, 

- -IBUS_KEY_1, 0x00B9, 

- -IBUS_KEY_2, 0x00B2, 

- -IBUS_KEY_3, 0x00B3, 

- -IBUS_KEY_4, 0x2074, 

- -IBUS_KEY_5, 0x2075, 

- -IBUS_KEY_6, 0x2076, 

- -IBUS_KEY_7, 0x2077, 

- -IBUS_KEY_8, 0x2078, 

- -IBUS_KEY_9, 0x2079, 

- -IBUS_KEY_equal, 0x207C, 

- -IBUS_KEY_nobreakspace, 0x0302, 

- -IBUS_KEY_Agrave, 0x1EA6, 

- -IBUS_KEY_Aacute, 0x1EA4, 

- -IBUS_KEY_Atilde, 0x1EAA, 

- -IBUS_KEY_Egrave, 0x1EC0, 

- -IBUS_KEY_Eacute, 0x1EBE, 

- -IBUS_KEY_Ograve, 0x1ED2, 

- -IBUS_KEY_Oacute, 0x1ED0, 

- -IBUS_KEY_Otilde, 0x1ED6, 

- -IBUS_KEY_agrave, 0x1EA7, 

- -IBUS_KEY_aacute, 0x1EA5, 

- -IBUS_KEY_atilde, 0x1EAB, 

- -IBUS_KEY_egrave, 0x1EC1, 

- -IBUS_KEY_eacute, 0x1EBF, 

- -IBUS_KEY_ograve, 0x1ED3, 

- -IBUS_KEY_oacute, 0x1ED1, 

- -IBUS_KEY_otilde, 0x1ED7, 

- -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, 

- -IBUS_KEY_dead_circumflex, 0x005E, 

- -IBUS_KEY_KP_Space, 0x00B2, 

- -IBUS_KEY_KP_Add, 0x207A, 

- -IBUS_KEY_KP_0, 0x2070, 

- -IBUS_KEY_KP_1, 0x00B9, 

- -IBUS_KEY_KP_2, 0x00B2, 

- -IBUS_KEY_KP_3, 0x00B3, 

- -IBUS_KEY_KP_4, 0x2074, 

- -IBUS_KEY_KP_5, 0x2075, 

- -IBUS_KEY_KP_6, 0x2076, 

- -IBUS_KEY_KP_7, 0x2077, 

- -IBUS_KEY_KP_8, 0x2078, 

- -IBUS_KEY_KP_9, 0x2079, 

- -IBUS_KEY_KP_Equal, 0x207C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EAC, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_E, 0x1EC6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_O, 0x1ED8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EAD, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_e, 0x1EC7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_o, 0x1ED9, 

- -IBUS_KEY_Multi_key, IBUS_KEY_S, IBUS_KEY_M, 0x2120, 

- -IBUS_KEY_Multi_key, IBUS_KEY_S, IBUS_KEY_m, 0x2120, 

- -IBUS_KEY_Multi_key, IBUS_KEY_T, IBUS_KEY_M, 0x2122, 

- -IBUS_KEY_Multi_key, IBUS_KEY_T, IBUS_KEY_m, 0x2122, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_a, 0x00AA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_h, 0x02B0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_i, 0x2071, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_j, 0x02B2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_l, 0x02E1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_n, 0x207F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0x00BA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_r, 0x02B3, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_s, 0x02E2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_w, 0x02B7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_x, 0x02E3, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_y, 0x02B8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0263, 0x02E0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0266, 0x02B1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0279, 0x02B4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x027B, 0x02B5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0281, 0x02B6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, 0x0295, 0x02E4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_s, IBUS_KEY_M, 0x2120, 

- -IBUS_KEY_Multi_key, IBUS_KEY_s, IBUS_KEY_m, 0x2120, 

- -IBUS_KEY_Multi_key, IBUS_KEY_t, IBUS_KEY_M, 0x2122, 

- -IBUS_KEY_Multi_key, IBUS_KEY_t, IBUS_KEY_m, 0x2122, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_a, 0x00AA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_h, 0x02B0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_i, 0x2071, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_j, 0x02B2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_l, 0x02E1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_n, 0x207F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_o, 0x00BA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_r, 0x02B3, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_s, 0x02E2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_w, 0x02B7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_x, 0x02E3, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, IBUS_KEY_y, 0x02B8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0263, 0x02E0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0266, 0x02B1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0279, 0x02B4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x027B, 0x02B5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0281, 0x02B6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underbar, 0x0295, 0x02E4, 

- -IBUS_KEY_space, 0x007E, 

- -IBUS_KEY_less, 0x2272, 

- -IBUS_KEY_equal, 0x2243, 

- -IBUS_KEY_greater, 0x2273, 

- -IBUS_KEY_nobreakspace, 0x0303, 

- -IBUS_KEY_Oacute, 0x1E4C, 

- -IBUS_KEY_Odiaeresis, 0x1E4E, 

- -IBUS_KEY_Uacute, 0x1E78, 

- -IBUS_KEY_oacute, 0x1E4D, 

- -IBUS_KEY_odiaeresis, 0x1E4F, 

- -IBUS_KEY_uacute, 0x1E79, 

- -IBUS_KEY_Abreve, 0x1EB4, 

- -IBUS_KEY_abreve, 0x1EB5, 

- -IBUS_KEY_Omacron, 0x022C, 

- -IBUS_KEY_omacron, 0x022D, 

- -IBUS_KEY_Greek_iotadieresis, 0x1FD7, 

- -IBUS_KEY_Greek_upsilondieresis, 0x1FE7, 

- -IBUS_KEY_Greek_alpha, 0x1FB6, 

- -IBUS_KEY_Greek_eta, 0x1FC6, 

- -IBUS_KEY_Greek_iota, 0x1FD6, 

- -IBUS_KEY_Greek_upsilon, 0x1FE6, 

- -IBUS_KEY_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, 

- -IBUS_KEY_dead_tilde, 0x007E, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_iota, 0x1FD7, 

- -IBUS_KEY_dead_diaeresis, IBUS_KEY_Greek_upsilon, 0x1FE7, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F0E, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F2E, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_IOTA, 0x1F3E, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1F6E, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F06, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F26, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_iota, 0x1F36, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_upsilon, 0x1F56, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1F66, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F0F, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F2F, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_IOTA, 0x1F3F, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_UPSILON, 0x1F5F, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1F6F, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F07, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F27, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_iota, 0x1F37, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_upsilon, 0x1F57, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1F67, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F2F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_IOTA, 0x1F3F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_UPSILON, 0x1F5F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1F6F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F07, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F27, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_iota, 0x1F37, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_upsilon, 0x1F57, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1F67, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F0E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F2E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_IOTA, 0x1F3E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1F6E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F06, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F26, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_iota, 0x1F36, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_upsilon, 0x1F56, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1F66, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EE0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EE1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_u, 0x1EEF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_A, 0x1EB4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_a, 0x1EB5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_A, 0x1EAA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_E, 0x1EC4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_O, 0x1ED6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_a, 0x1EAB, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_e, 0x1EC5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_o, 0x1ED7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_A, 0x1EB4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_a, 0x1EB5, 

- -IBUS_KEY_space, 0x00AF, 

- -IBUS_KEY_V, 0x01D5, 

- -IBUS_KEY_v, 0x01D6, 

- -IBUS_KEY_nobreakspace, 0x0304, 

- -IBUS_KEY_Egrave, 0x1E14, 

- -IBUS_KEY_Eacute, 0x1E16, 

- -IBUS_KEY_Ograve, 0x1E50, 

- -IBUS_KEY_Oacute, 0x1E52, 

- -IBUS_KEY_egrave, 0x1E15, 

- -IBUS_KEY_eacute, 0x1E17, 

- -IBUS_KEY_ograve, 0x1E51, 

- -IBUS_KEY_oacute, 0x1E53, 

- -IBUS_KEY_Cyrillic_i, 0x04E3, 

- -IBUS_KEY_Cyrillic_u, 0x04EF, 

- -IBUS_KEY_Cyrillic_I, 0x04E2, 

- -IBUS_KEY_Cyrillic_U, 0x04EE, 

- -IBUS_KEY_Greek_ALPHA, 0x1FB9, 

- -IBUS_KEY_Greek_IOTA, 0x1FD9, 

- -IBUS_KEY_Greek_UPSILON, 0x1FE9, 

- -IBUS_KEY_Greek_alpha, 0x1FB1, 

- -IBUS_KEY_Greek_iota, 0x1FD1, 

- -IBUS_KEY_Greek_upsilon, 0x1FE1, 

- -IBUS_KEY_dead_macron, 0x00AF, 

- -IBUS_KEY_dead_greek, IBUS_KEY_A, 0x1FB9, 

- -IBUS_KEY_dead_greek, IBUS_KEY_I, 0x1FD9, 

- -IBUS_KEY_dead_greek, IBUS_KEY_U, 0x1FE9, 

- -IBUS_KEY_dead_greek, IBUS_KEY_a, 0x1FB1, 

- -IBUS_KEY_dead_greek, IBUS_KEY_i, 0x1FD1, 

- -IBUS_KEY_dead_greek, IBUS_KEY_u, 0x1FE1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_L, 0x1E38, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_R, 0x1E5C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_l, 0x1E39, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_r, 0x1E5D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_A, 0x01DE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_O, 0x022A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_a, 0x01DF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_o, 0x022B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01D6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_A, 0x01E0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_O, 0x0230, 

- -IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_a, 0x01E1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_period, IBUS_KEY_o, 0x0231, 

- -IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_O, 0x01EC, 

- -IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_o, 0x01ED, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x022C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x022D, 

- -IBUS_KEY_space, 0x02D8, 

- -IBUS_KEY_nobreakspace, 0x0306, 

- -IBUS_KEY_Agrave, 0x1EB0, 

- -IBUS_KEY_Aacute, 0x1EAE, 

- -IBUS_KEY_Atilde, 0x1EB4, 

- -IBUS_KEY_agrave, 0x1EB1, 

- -IBUS_KEY_aacute, 0x1EAF, 

- -IBUS_KEY_atilde, 0x1EB5, 

- -IBUS_KEY_Cyrillic_a, 0x04D1, 

- -IBUS_KEY_Cyrillic_ie, 0x04D7, 

- -IBUS_KEY_Cyrillic_i, 0x0439, 

- -IBUS_KEY_Cyrillic_u, 0x045E, 

- -IBUS_KEY_Cyrillic_zhe, 0x04C2, 

- -IBUS_KEY_Cyrillic_A, 0x04D0, 

- -IBUS_KEY_Cyrillic_IE, 0x04D6, 

- -IBUS_KEY_Cyrillic_I, 0x0419, 

- -IBUS_KEY_Cyrillic_U, 0x040E, 

- -IBUS_KEY_Cyrillic_ZHE, 0x04C1, 

- -IBUS_KEY_Greek_ALPHA, 0x1FB8, 

- -IBUS_KEY_Greek_IOTA, 0x1FD8, 

- -IBUS_KEY_Greek_UPSILON, 0x1FE8, 

- -IBUS_KEY_Greek_alpha, 0x1FB0, 

- -IBUS_KEY_Greek_iota, 0x1FD0, 

- -IBUS_KEY_Greek_upsilon, 0x1FE0, 

- -IBUS_KEY_dead_breve, 0x02D8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EB6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EB7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_E, 0x1E1C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_e, 0x1E1D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_E, 0x1E1C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_cedilla, IBUS_KEY_e, 0x1E1D, 

- -IBUS_KEY_space, 0x02D9, 

- -IBUS_KEY_L, 0x013F, 

- -IBUS_KEY_i, 0x0131, 

- -IBUS_KEY_j, 0x0237, 

- -IBUS_KEY_l, 0x0140, 

- -IBUS_KEY_nobreakspace, 0x0307, 

- -IBUS_KEY_Sacute, 0x1E64, 

- -IBUS_KEY_Scaron, 0x1E66, 

- -IBUS_KEY_sacute, 0x1E65, 

- -IBUS_KEY_scaron, 0x1E67, 

- -IBUS_KEY_Amacron, 0x01E0, 

- -IBUS_KEY_Omacron, 0x0230, 

- -IBUS_KEY_amacron, 0x01E1, 

- -IBUS_KEY_omacron, 0x0231, 

- -IBUS_KEY_dead_abovedot, 0x02D9, 

- -IBUS_KEY_dead_stroke, IBUS_KEY_j, 0x025F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_S, 0x1E68, 

- -IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_s, 0x1E69, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_S, 0x1E64, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_s, 0x1E65, 

- -IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_S, 0x1E66, 

- -IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_s, 0x1E67, 

- -IBUS_KEY_Multi_key, IBUS_KEY_f, IBUS_KEY_s, 0x1E9B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_S, 0x1E64, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_s, 0x1E65, 

- -IBUS_KEY_space, 0x0022, 

- -IBUS_KEY_apostrophe, 0x0344, 

- -IBUS_KEY_nobreakspace, 0x0308, 

- -IBUS_KEY_acute, 0x0344, 

- -IBUS_KEY_Iacute, 0x1E2E, 

- -IBUS_KEY_Ugrave, 0x01DB, 

- -IBUS_KEY_Uacute, 0x01D7, 

- -IBUS_KEY_iacute, 0x1E2F, 

- -IBUS_KEY_ugrave, 0x01DC, 

- -IBUS_KEY_uacute, 0x01D8, 

- -0x01D3, 0x01D9, 

- -0x01D4, 0x01DA, 

- -IBUS_KEY_Amacron, 0x01DE, 

- -IBUS_KEY_Umacron, 0x1E7A, 

- -IBUS_KEY_amacron, 0x01DF, 

- -IBUS_KEY_omacron, 0x022B, 

- -IBUS_KEY_umacron, 0x1E7B, 

- -IBUS_KEY_Ukrainian_i, 0x0457, 

- -IBUS_KEY_Ukrainian_I, 0x0407, 

- -IBUS_KEY_Cyrillic_a, 0x04D3, 

- -IBUS_KEY_Cyrillic_ie, 0x0451, 

- -IBUS_KEY_Cyrillic_i, 0x04E5, 

- -IBUS_KEY_Cyrillic_o, 0x04E7, 

- -IBUS_KEY_Cyrillic_u, 0x04F1, 

- -IBUS_KEY_Cyrillic_zhe, 0x04DD, 

- -IBUS_KEY_Cyrillic_yeru, 0x04F9, 

- -IBUS_KEY_Cyrillic_ze, 0x04DF, 

- -IBUS_KEY_Cyrillic_e, 0x04ED, 

- -IBUS_KEY_Cyrillic_che, 0x04F5, 

- -IBUS_KEY_Cyrillic_A, 0x04D2, 

- -IBUS_KEY_Cyrillic_IE, 0x0401, 

- -IBUS_KEY_Cyrillic_I, 0x04E4, 

- -IBUS_KEY_Cyrillic_O, 0x04E6, 

- -IBUS_KEY_Cyrillic_U, 0x04F0, 

- -IBUS_KEY_Cyrillic_ZHE, 0x04DC, 

- -IBUS_KEY_Cyrillic_YERU, 0x04F8, 

- -IBUS_KEY_Cyrillic_ZE, 0x04DE, 

- -IBUS_KEY_Cyrillic_E, 0x04EC, 

- -IBUS_KEY_Cyrillic_CHE, 0x04F4, 

- -IBUS_KEY_Greek_IOTA, 0x03AA, 

- -IBUS_KEY_Greek_UPSILON, 0x03AB, 

- -IBUS_KEY_Greek_iota, 0x03CA, 

- -IBUS_KEY_Greek_upsilon, 0x03CB, 

- -IBUS_KEY_dead_diaeresis, 0x00A8, 

- -IBUS_KEY_dead_acute, IBUS_KEY_space, 0x0385, 

- -IBUS_KEY_dead_acute, IBUS_KEY_Greek_iota, 0x0390, 

- -IBUS_KEY_dead_acute, IBUS_KEY_Greek_upsilon, 0x03B0, 

- -IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_equal, 0x2A77, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_U, 0x1E7A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_u, 0x1E7B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_O, 0x1E4E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_o, 0x1E4F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_U, 0x1E7A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_macron, IBUS_KEY_u, 0x1E7B, 

- -IBUS_KEY_space, 0x00B0, 

- -IBUS_KEY_nobreakspace, 0x030A, 

- -IBUS_KEY_Aacute, 0x01FA, 

- -IBUS_KEY_aacute, 0x01FB, 

- -IBUS_KEY_dead_abovering, 0x00B0, 

- -IBUS_KEY_space, 0x02DD, 

- -IBUS_KEY_nobreakspace, 0x030B, 

- -IBUS_KEY_Cyrillic_u, 0x04F3, 

- -IBUS_KEY_Cyrillic_U, 0x04F2, 

- -IBUS_KEY_dead_doubleacute, 0x02DD, 

- -IBUS_KEY_space, 0x02C7, 

- -IBUS_KEY_parenleft, 0x208D, 

- -IBUS_KEY_parenright, 0x208E, 

- -IBUS_KEY_plus, 0x208A, 

- -IBUS_KEY_minus, 0x208B, 

- -IBUS_KEY_0, 0x2080, 

- -IBUS_KEY_1, 0x2081, 

- -IBUS_KEY_2, 0x2082, 

- -IBUS_KEY_3, 0x2083, 

- -IBUS_KEY_4, 0x2084, 

- -IBUS_KEY_5, 0x2085, 

- -IBUS_KEY_6, 0x2086, 

- -IBUS_KEY_7, 0x2087, 

- -IBUS_KEY_8, 0x2088, 

- -IBUS_KEY_9, 0x2089, 

- -IBUS_KEY_equal, 0x208C, 

- -IBUS_KEY_V, 0x01D9, 

- -IBUS_KEY_v, 0x01DA, 

- -IBUS_KEY_nobreakspace, 0x030C, 

- -0x01F2, 0x01C5, 

- -IBUS_KEY_dead_caron, 0x02C7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D9, 

- -IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DA, 

- -IBUS_KEY_space, 0x00B8, 

- -IBUS_KEY_nobreakspace, 0x0327, 

- -IBUS_KEY_cent, 0x20B5, 

- -IBUS_KEY_Cacute, 0x1E08, 

- -IBUS_KEY_cacute, 0x1E09, 

- -IBUS_KEY_dead_cedilla, 0x00B8, 

- -IBUS_KEY_dead_currency, IBUS_KEY_C, 0x20B5, 

- -IBUS_KEY_dead_currency, IBUS_KEY_c, 0x20B5, 

- -IBUS_KEY_space, 0x02DB, 

- -IBUS_KEY_nobreakspace, 0x0328, 

- -IBUS_KEY_Omacron, 0x01EC, 

- -IBUS_KEY_omacron, 0x01ED, 

- -IBUS_KEY_dead_ogonek, 0x02DB, 

- -IBUS_KEY_space, 0x037A, 

- -IBUS_KEY_Greek_alphaaccent, 0x1FB4, 

- -IBUS_KEY_Greek_etaaccent, 0x1FC4, 

- -IBUS_KEY_Greek_omegaaccent, 0x1FF4, 

- -IBUS_KEY_Greek_ALPHA, 0x1FBC, 

- -IBUS_KEY_Greek_ETA, 0x1FCC, 

- -IBUS_KEY_Greek_OMEGA, 0x1FFC, 

- -IBUS_KEY_Greek_alpha, 0x1FB3, 

- -IBUS_KEY_Greek_eta, 0x1FC3, 

- -IBUS_KEY_Greek_omega, 0x1FF3, 

- -IBUS_KEY_dead_iota, 0x037A, 

- -IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0x1FB2, 

- -IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0x1FC2, 

- -IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0x1FF2, 

- -IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0x1FB4, 

- -IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0x1FC4, 

- -IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0x1FF4, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0x1FB7, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0x1FC7, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0x1FF7, 

- -IBUS_KEY_dead_tilde, 0x1F00, 0x1F86, 

- -IBUS_KEY_dead_tilde, 0x1F01, 0x1F87, 

- -IBUS_KEY_dead_tilde, 0x1F08, 0x1F8E, 

- -IBUS_KEY_dead_tilde, 0x1F09, 0x1F8F, 

- -IBUS_KEY_dead_tilde, 0x1F20, 0x1F96, 

- -IBUS_KEY_dead_tilde, 0x1F21, 0x1F97, 

- -IBUS_KEY_dead_tilde, 0x1F28, 0x1F9E, 

- -IBUS_KEY_dead_tilde, 0x1F29, 0x1F9F, 

- -IBUS_KEY_dead_tilde, 0x1F60, 0x1FA6, 

- -IBUS_KEY_dead_tilde, 0x1F61, 0x1FA7, 

- -IBUS_KEY_dead_tilde, 0x1F68, 0x1FAE, 

- -IBUS_KEY_dead_tilde, 0x1F69, 0x1FAF, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F88, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F98, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FA8, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F80, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F90, 

- -IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA0, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F89, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F99, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FA9, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F81, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F91, 

- -IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA1, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8A, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9A, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAA, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F82, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F92, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA2, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8B, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9B, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAB, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F83, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F93, 

- -IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA3, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8C, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9C, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAC, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F84, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F94, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA4, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8D, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9D, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAD, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F85, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F95, 

- -IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA5, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ALPHA, 0x1F8E, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_ETA, 0x1F9E, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_OMEGA, 0x1FAE, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_alpha, 0x1F86, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_eta, 0x1F96, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_Greek_omega, 0x1FA6, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ALPHA, 0x1F8F, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_ETA, 0x1F9F, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FAF, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F87, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F97, 

- -IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0x1FB4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0x1FC4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0x1FF4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F00, 0x1F84, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F01, 0x1F85, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F08, 0x1F8C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F09, 0x1F8D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F20, 0x1F94, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F21, 0x1F95, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F28, 0x1F9C, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F29, 0x1F9D, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F60, 0x1FA4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F61, 0x1FA5, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F68, 0x1FAC, 

- -IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x1F69, 0x1FAD, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F89, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F99, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FA9, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_alpha, 0x1F81, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_eta, 0x1F91, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_Greek_omega, 0x1FA1, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ALPHA, 0x1F88, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_ETA, 0x1F98, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_OMEGA, 0x1FA8, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_alpha, 0x1F80, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_eta, 0x1F90, 

- -IBUS_KEY_Multi_key, IBUS_KEY_parenright, IBUS_KEY_Greek_omega, 0x1FA0, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0x1FB2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0x1FC2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0x1FF2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F00, 0x1F82, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F01, 0x1F83, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F08, 0x1F8A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F09, 0x1F8B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F20, 0x1F92, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F21, 0x1F93, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F28, 0x1F9A, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F29, 0x1F9B, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F60, 0x1FA2, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F61, 0x1FA3, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F68, 0x1FAA, 

- -IBUS_KEY_Multi_key, IBUS_KEY_grave, 0x1F69, 0x1FAB, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0x1FB7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0x1FC7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0x1FF7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F00, 0x1F86, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F01, 0x1F87, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F08, 0x1F8E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F09, 0x1F8F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F20, 0x1F96, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F21, 0x1F97, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F28, 0x1F9E, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F29, 0x1F9F, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F60, 0x1FA6, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F61, 0x1FA7, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F68, 0x1FAE, 

- -IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, 0x1F69, 0x1FAF, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_alpha, 0x1FB4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_eta, 0x1FC4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_Greek_omega, 0x1FF4, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F00, 0x1F84, 

- -IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x1F01, 0x1F85,