Commit 41639683 authored by Simos Xenitellis's avatar Simos Xenitellis

Closes #557420 – Some compose sequences don't work anymore

svn path=/trunk/; revision=21843
parent b0712723
2008-12-03 Simos Xenitellis <simos@gnome.org>
Bug 557420 – Some compose sequences don't work anymore (or only in
a specific order)
* gtk/gtkimcontextsimple.c: Update of table size, keysym boundary,
to match the gtkimcontextsimpleseqs.h table.
* gtk/gtkimcontextsimpleseqs.h: Update with older gtk+ compose
sequences that went missing due to table update with upstream.
* gtk/compose-parse.py: Updated to include gtk-compose-lookaside.txt
* gtk/gtk-compose-lookaside.txt: Older gtk+ compose sequences that
are not found in the X.Org Compose file.
2008-12-03 Sven Herzberg <sven@imendio.com>
Bug 562998 – GtkFontButton documentation improvements
......
......@@ -25,6 +25,7 @@ URL_COMPOSE = 'http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain
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'
FILENAME_COMPOSE_SUPPLEMENTARY = 'gtk-compose-lookaside.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.
......@@ -421,17 +422,36 @@ except:
print "Unexpected error: ", sys.exc_info()[0]
sys.exit(-1)
""" Look if there is a lookaside (supplementary) compose file in the current
directory, and if so, open, then merge with upstream Compose file.
"""
try:
composefile_lookaside = open(FILENAME_COMPOSE_SUPPLEMENTARY, 'r')
except IOError, (errno, strerror):
if not opt_quiet:
print "I/O error(%s): %s" % (errno, strerror)
print "Did not find lookaside compose file. Continuing..."
except:
print "Unexpected error: ", sys.exc_info()[0]
sys.exit(-1)
xorg_compose_sequences_raw = []
for seq in composefile.readlines():
xorg_compose_sequences_raw.append(seq)
for seq in composefile_lookaside.readlines():
xorg_compose_sequences_raw.append(seq)
""" Parse the compose file in xorg_compose_sequences"""
xorg_compose_sequences = []
xorg_compose_sequences_algorithmic = []
linenum_compose = 0
for line in composefile.readlines():
for line in xorg_compose_sequences_raw:
linenum_compose += 1
line = line.strip()
if line is "" or match("^XCOMM", line) or match("^#", line):
continue
line = line[:-1]
#line = line[:-1]
components = split(':', line)
if len(components) != 2:
print "Invalid line %(linenum_compose)d in %(filename)s: No sequence\
......@@ -484,6 +504,14 @@ for line in composefile.readlines():
"0x0342" in sequence or \
"0x0314" in sequence:
continue
if "dead_belowring" in sequence or\
"dead_belowcomma" in sequence or\
"dead_belowmacron" in sequence or\
"dead_belowtilde" in sequence or\
"dead_belowbreve" in sequence or\
"dead_belowdiaeresis" in sequence or\
"dead_belowcircumflex" in sequence:
continue
#for i in range(len(sequence)):
# if sequence[i] == "0x0342":
# sequence[i] = "dead_tilde"
......
#
# This file contains the compose sequences that GTK+ used to have until GTK+ 2.12
# but are not found anymore at the upstream Compose file at X.Org.
# When updating gtkimcontextsimpleseqs.h with compose-parse.py,
# we include this file as well. There are 15 conflicts currently
# in the compose sequences, and we currently favour the sequences from
# this file (against the upstream X.Org file). For more, see
# http://bugzilla.gnome.org/show_bug.cgi?id=557420
#
<Greek_accentdieresis> <Greek_iota> : "ἴ" U0390
<Greek_accentdieresis> <Greek_upsilon> : "ΐ" U03B0
<Multi_key> <B> <period> : "Ḃ" U1E02
<Multi_key> <b> <period> : "ḃ" U1E03
<Multi_key> <D> <period> : "Ḋ" U1E0A
<Multi_key> <d> <period> : "ḋ" U1E0B
<Multi_key> <F> <period> : "Ḟ" U1E1E
<Multi_key> <f> <period> : "ḟ" U1E1F
<Multi_key> <M> <period> : "Ṁ" U1E40
<Multi_key> <S> <period> : "Ṡ" U1E60
<Multi_key> <P> <period> : "Ṗ" U1E56
<Multi_key> <p> <period> : "ṗ" U1E57
<Multi_key> <s> <period> : "ṡ" U1E61
<Multi_key> <T> <period> : "Ṫ" U1E6A
<Multi_key> <t> <period> : "ṫ" U1E6B
<Multi_key> <e> <period> : "ė" U0117
<Multi_key> <slash> <C> : "¢" U00A2
<Multi_key> <C> <slash> : "¢" U00A2
<Multi_key> <C> <bar> : "¢" U00A2
<Multi_key> <bar> <C> : "¢" U00A2
<Multi_key> <minus> <l> : "£" U00A3
<Multi_key> <equal> <L> : "£" U00A3
<Multi_key> <equal> <l> : "£" U00A3
<Multi_key> <L> <equal> : "£" U00A3
<Multi_key> <l> <minus> : "£" U00A3
<Multi_key> <l> <equal> : "£" U00A3
<Multi_key> <0> <X> : "¤" U00A4
<Multi_key> <0> <x> : "¤" U00A4
<Multi_key> <O> <X> : "¤" U00A4
<Multi_key> <O> <x> : "¤" U00A4
<Multi_key> <X> <0> : "¤" U00A4
<Multi_key> <X> <O> : "¤" U00A4
<Multi_key> <X> <o> : "¤" U00A4
<Multi_key> <o> <X> : "¤" U00A4
<Multi_key> <x> <0> : "¤" U00A4
<Multi_key> <x> <O> : "¤" U00A4
<Multi_key> <minus> <Y> : "¥" U00A5
<Multi_key> <minus> <y> : "¥" U00A5
<Multi_key> <equal> <y> : "¥" U00A5
<Multi_key> <Y> <minus> : "¥" U00A5
<Multi_key> <y> <minus> : "¥" U00A5
<Multi_key> <y> <equal> : "¥" U00A5
<Multi_key> <exclam> <S> : "§" U00A7
<Multi_key> <exclam> <s> : "§" U00A7
<Multi_key> <0> <S> : "§" U00A7
<Multi_key> <0> <s> : "§" U00A7
<Multi_key> <O> <S> : "§" U00A7
<Multi_key> <S> <exclam> : "§" U00A7
<Multi_key> <S> <0> : "§" U00A7
<Multi_key> <S> <O> : "§" U00A7
<Multi_key> <s> <exclam> : "§" U00A7
<Multi_key> <s> <0> : "§" U00A7
<Multi_key> <quotedbl> <quotedbl> : "¨" U00A8
<Multi_key> <parenleft> <c> : "©" U00A9
<Multi_key> <0> <C> : "©" U00A9
<Multi_key> <0> <c> : "©" U00A9
<Multi_key> <C> <0> : "©" U00A9
<Multi_key> <C> <O> : "©" U00A9
<Multi_key> <C> <o> : "©" U00A9
<Multi_key> <c> <0> : "©" U00A9
<Multi_key> <c> <O> : "©" U00A9
<Multi_key> <c> <o> : "©" U00A9
<Multi_key> <A> <underscore> : "ª" U00AA
<Multi_key> <underscore> <A> : "ª" U00AA
<Multi_key> <underscore> <a> : "ª" U00AA
<Multi_key> <a> <underscore> : "ª" U00AA
<Multi_key> <C> <comma> : "Ç" U00C7
<Multi_key> <minus> <minus> <space> : "­" U00AD
<Multi_key> <parenleft> <r> : "®" U00AE
<Multi_key> <R> <O> : "®" U00AE
<Multi_key> <minus> <asciicircum> : "¯" U00AF
<Multi_key> <asciicircum> <minus> : "¯" U00AF
<Multi_key> <asciicircum> <underscore> : "¯" U00AF
<Multi_key> <underscore> <asciicircum> : "¯" U00AF
<Multi_key> <underscore> <underscore> : "¯" U00AF
<Multi_key> <asterisk> <0> : "°" U00B0
<Multi_key> <0> <asterisk> : "°" U00B0
<Multi_key> <0> <asciicircum> : "°" U00B0
<Multi_key> <asciicircum> <0> : "°" U00B0
<Multi_key> <minus> <plus> : "±" U00B1
<Multi_key> <2> <S> : "²" U00B2
<Multi_key> <2> <asciicircum> : "²" U00B2
<Multi_key> <2> <s> : "²" U00B2
<Multi_key> <S> <2> : "²" U00B2
<Multi_key> <s> <2> : "²" U00B2
<Multi_key> <3> <S> : "³" U00B3
<Multi_key> <3> <asciicircum> : "³" U00B3
<Multi_key> <3> <s> : "³" U00B3
<Multi_key> <S> <3> : "³" U00B3
<Multi_key> <s> <3> : "³" U00B3
<Multi_key> <apostrophe> <apostrophe> : "´" U00B4
<Multi_key> <slash> <U> : "µ" U00B5
<Multi_key> <slash> <u> : "µ" U00B5
<Multi_key> <U> <slash> : "µ" U00B5
<Multi_key> <u> <slash> : "µ" U00B5
<Multi_key> <exclam> <P> : "¶" U00B6
<Multi_key> <exclam> <p> : "¶" U00B6
<Multi_key> <period> <asciicircum> : "·" U00B7
<Multi_key> <asciicircum> <period> : "·" U00B7
<Multi_key> <comma> <comma> : "¸" U00B8
<Multi_key> <1> <S> : "¹" U00B9
<Multi_key> <1> <asciicircum> : "¹" U00B9
<Multi_key> <1> <s> : "¹" U00B9
<Multi_key> <S> <1> : "¹" U00B9
<Multi_key> <s> <1> : "¹" U00B9
<Multi_key> <O> <underscore> : "º" U00BA
<Multi_key> <underscore> <O> : "º" U00BA
<Multi_key> <underscore> <o> : "º" U00BA
<Multi_key> <o> <underscore> : "º" U00BA
<Multi_key> <A> <grave> : "À" U00C0
<Multi_key> <A> <apostrophe> : "Á" U00C1
<Multi_key> <A> <acute> : "Á" U00C1
<Multi_key> <greater> <A> : "Â" U00C2
<Multi_key> <A> <greater> : "Â" U00C2
<Multi_key> <A> <asciicircum> : "Â" U00C2
<Multi_key> <minus> <A> : "Ã" U00C3
<Multi_key> <A> <minus> : "Ã" U00C3
<Multi_key> <A> <asciitilde> : "Ã" U00C3
<Multi_key> <A> <quotedbl> : "Ä" U00C4
<Multi_key> <A> <diaeresis> : "Ä" U00C4
<Multi_key> <diaeresis> <A> : "Ä" U00C4
<Multi_key> <asterisk> <A> : "Å" U00C5
<Multi_key> <A> <asterisk> : "Å" U00C5
<Multi_key> <A> <A> : "Å" U00C5
<Multi_key> <space> <less> : "ˇ" U02C7
<Multi_key> <less> <space> : "ˇ" U02C7
<Multi_key> <E> <grave> : "È" U00C8
<Multi_key> <E> <apostrophe> : "É" U00C9
<Multi_key> <E> <acute> : "É" U00C9
<Multi_key> <greater> <E> : "Ê" U00CA
<Multi_key> <E> <greater> : "Ê" U00CA
<Multi_key> <E> <asciicircum> : "Ê" U00CA
<Multi_key> <E> <quotedbl> : "Ë" U00CB
<Multi_key> <E> <diaeresis> : "Ë" U00CB
<Multi_key> <diaeresis> <E> : "Ë" U00CB
<Multi_key> <I> <grave> : "Ì" U00CC
<Multi_key> <I> <apostrophe> : "Í" U00CD
<Multi_key> <I> <acute> : "Í" U00CD
<Multi_key> <greater> <I> : "Î" U00CE
<Multi_key> <I> <greater> : "Î" U00CE
<Multi_key> <I> <asciicircum> : "Î" U00CE
<Multi_key> <I> <quotedbl> : "Ï" U00CF
<Multi_key> <I> <diaeresis> : "Ï" U00CF
<Multi_key> <diaeresis> <I> : "Ï" U00CF
<Multi_key> <minus> <N> : "Ñ" U00D1
<Multi_key> <N> <minus> : "Ñ" U00D1
<Multi_key> <N> <asciitilde> : "Ñ" U00D1
<Multi_key> <O> <grave> : "Ò" U00D2
<Multi_key> <O> <apostrophe> : "Ó" U00D3
<Multi_key> <O> <acute> : "Ó" U00D3
<Multi_key> <greater> <O> : "Ô" U00D4
<Multi_key> <O> <greater> : "Ô" U00D4
<Multi_key> <O> <asciicircum> : "Ô" U00D4
<Multi_key> <minus> <O> : "Õ" U00D5
<Multi_key> <O> <minus> : "Õ" U00D5
<Multi_key> <O> <asciitilde> : "Õ" U00D5
<Multi_key> <O> <quotedbl> : "Ö" U00D6
<Multi_key> <O> <diaeresis> : "Ö" U00D6
<Multi_key> <diaeresis> <O> : "Ö" U00D6
<Multi_key> <space> <parenleft> : "˘" U02D8
<Multi_key> <parenleft> <space> : "˘" U02D8
<Multi_key> <U> <grave> : "Ù" U00D9
<Multi_key> <U> <apostrophe> : "Ú" U00DA
<Multi_key> <U> <acute> : "Ú" U00DA
<Multi_key> <greater> <U> : "Û" U00DB
<Multi_key> <U> <greater> : "Û" U00DB
<Multi_key> <U> <asciicircum> : "Û" U00DB
<Multi_key> <U> <quotedbl> : "Ü" U00DC
<Multi_key> <U> <diaeresis> : "Ü" U00DC
<Multi_key> <diaeresis> <U> : "Ü" U00DC
<Multi_key> <Y> <apostrophe> : "Ý" U00DD
<Multi_key> <Y> <acute> : "Ý" U00DD
<Multi_key> <a> <grave> : "à" U00E0
<Multi_key> <a> <apostrophe> : "á" U00E1
<Multi_key> <a> <acute> : "á" U00E1
<Multi_key> <greater> <a> : "â" U00E2
<Multi_key> <a> <greater> : "â" U00E2
<Multi_key> <a> <asciicircum> : "â" U00E2
<Multi_key> <minus> <a> : "ã" U00E3
<Multi_key> <a> <minus> : "ã" U00E3
<Multi_key> <a> <asciitilde> : "ã" U00E3
<Multi_key> <a> <quotedbl> : "ä" U00E4
<Multi_key> <a> <diaeresis> : "ä" U00E4
<Multi_key> <diaeresis> <a> : "ä" U00E4
<Multi_key> <asterisk> <a> : "å" U00E5
<Multi_key> <a> <asterisk> : "å" U00E5
<Multi_key> <a> <a> : "å" U00E5
<Multi_key> <c> <comma> : "ç" U00E7
<Multi_key> <e> <grave> : "è" U00E8
<Multi_key> <e> <apostrophe> : "é" U00E9
<Multi_key> <e> <acute> : "é" U00E9
<Multi_key> <greater> <e> : "ê" U00EA
<Multi_key> <e> <greater> : "ê" U00EA
<Multi_key> <e> <asciicircum> : "ê" U00EA
<Multi_key> <e> <quotedbl> : "ë" U00EB
<Multi_key> <e> <diaeresis> : "ë" U00EB
<Multi_key> <diaeresis> <e> : "ë" U00EB
<Multi_key> <i> <grave> : "ì" U00EC
<Multi_key> <i> <apostrophe> : "í" U00ED
<Multi_key> <i> <acute> : "í" U00ED
<Multi_key> <greater> <i> : "î" U00EE
<Multi_key> <i> <greater> : "î" U00EE
<Multi_key> <i> <asciicircum> : "î" U00EE
<Multi_key> <i> <quotedbl> : "ï" U00EF
<Multi_key> <i> <diaeresis> : "ï" U00EF
<Multi_key> <diaeresis> <i> : "ï" U00EF
<Multi_key> <minus> <n> : "ñ" U00F1
<Multi_key> <n> <minus> : "ñ" U00F1
<Multi_key> <n> <asciitilde> : "ñ" U00F1
<Multi_key> <o> <grave> : "ò" U00F2
<Multi_key> <o> <apostrophe> : "ó" U00F3
<Multi_key> <o> <acute> : "ó" U00F3
<Multi_key> <greater> <o> : "ô" U00F4
<Multi_key> <o> <greater> : "ô" U00F4
<Multi_key> <o> <asciicircum> : "ô" U00F4
<Multi_key> <minus> <o> : "õ" U00F5
<Multi_key> <o> <minus> : "õ" U00F5
<Multi_key> <o> <asciitilde> : "õ" U00F5
<Multi_key> <o> <quotedbl> : "ö" U00F6
<Multi_key> <o> <diaeresis> : "ö" U00F6
<Multi_key> <diaeresis> <o> : "ö" U00F6
<Multi_key> <o> <slash> : "ø" U00F8
<Multi_key> <u> <grave> : "ù" U00F9
<Multi_key> <u> <apostrophe> : "ú" U00FA
<Multi_key> <u> <acute> : "ú" U00FA
<Multi_key> <greater> <u> : "û" U00FB
<Multi_key> <u> <greater> : "û" U00FB
<Multi_key> <u> <asciicircum> : "û" U00FB
<Multi_key> <u> <quotedbl> : "ü" U00FC
<Multi_key> <u> <diaeresis> : "ü" U00FC
<Multi_key> <diaeresis> <u> : "ü" U00FC
<Multi_key> <y> <apostrophe> : "ý" U00FD
<Multi_key> <y> <acute> : "ý" U00FD
<Multi_key> <y> <quotedbl> : "ÿ" U00FF
<Multi_key> <y> <diaeresis> : "ÿ" U00FF
<Multi_key> <diaeresis> <y> : "ÿ" U00FF
<Multi_key> <parenleft> <A> : "Ă" U0102
<Multi_key> <A> <parenleft> : "Ă" U0102
<Multi_key> <parenleft> <a> : "ă" U0103
<Multi_key> <a> <parenleft> : "ă" U0103
<Multi_key> <comma> <A> : "Ą" U0104
<Multi_key> <A> <comma> : "Ą" U0104
<Multi_key> <comma> <a> : "ą" U0105
<Multi_key> <a> <comma> : "ą" U0105
<Multi_key> <C> <apostrophe> : "Ć" U0106
<Multi_key> <c> <apostrophe> : "ć" U0107
<Multi_key> <C> <period> : "Ċ" U010A
<Multi_key> <c> <period> : "ċ" U010B
<Multi_key> <less> <C> : "Č" U010C
<Multi_key> <C> <less> : "Č" U010C
<Multi_key> <less> <c> : "č" U010D
<Multi_key> <c> <less> : "č" U010D
<Multi_key> <less> <D> : "Ď" U010E
<Multi_key> <D> <less> : "Ď" U010E
<Multi_key> <less> <d> : "ď" U010F
<Multi_key> <d> <less> : "ď" U010F
<Multi_key> <minus> <D> : "Đ" U0110
<Multi_key> <D> <minus> : "Đ" U0110
<Multi_key> <minus> <d> : "đ" U0111
<Multi_key> <d> <minus> : "đ" U0111
<Multi_key> <minus> <E> : "Ē" U0112
<Multi_key> <E> <minus> : "Ē" U0112
<Multi_key> <E> <underscore> : "Ē" U0112
<Multi_key> <minus> <e> : "ē" U0113
<Multi_key> <e> <minus> : "ē" U0113
<Multi_key> <e> <underscore> : "ē" U0113
<Multi_key> <E> <period> : "Ė" U0116
<Multi_key> <period> <period> : "˙" U02D9
<Multi_key> <comma> <E> : "Ę" U0118
<Multi_key> <E> <comma> : "Ę" U0118
<Multi_key> <comma> <e> : "ę" U0119
<Multi_key> <e> <comma> : "ę" U0119
<Multi_key> <less> <E> : "Ě" U011A
<Multi_key> <E> <less> : "Ě" U011A
<Multi_key> <less> <e> : "ě" U011B
<Multi_key> <e> <less> : "ě" U011B
<Multi_key> <parenleft> <G> : "Ğ" U011E
<Multi_key> <G> <parenleft> : "Ğ" U011E
<Multi_key> <G> <U> : "Ğ" U011E
<Multi_key> <G> <breve> : "Ğ" U011E
<Multi_key> <breve> <G> : "Ğ" U011E
<Multi_key> <parenleft> <g> : "ğ" U011F
<Multi_key> <g> <parenleft> : "ğ" U011F
<Multi_key> <g> <U> : "ğ" U011F
<Multi_key> <g> <breve> : "ğ" U011F
<Multi_key> <breve> <g> : "ğ" U011F
<Multi_key> <G> <period> : "Ġ" U0120
<Multi_key> <g> <period> : "ġ" U0121
<Multi_key> <G> <comma> : "Ģ" U0122
<Multi_key> <g> <comma> : "ģ" U0123
<Multi_key> <I> <asciitilde> : "Ĩ" U0128
<Multi_key> <i> <asciitilde> : "ĩ" U0129
<Multi_key> <minus> <I> : "Ī" U012A
<Multi_key> <I> <minus> : "Ī" U012A
<Multi_key> <I> <underscore> : "Ī" U012A
<Multi_key> <minus> <i> : "ī" U012B
<Multi_key> <i> <minus> : "ī" U012B
<Multi_key> <i> <underscore> : "ī" U012B
<Multi_key> <comma> <I> : "Į" U012E
<Multi_key> <I> <comma> : "Į" U012E
<Multi_key> <I> <period> : "İ" U0130
<Multi_key> <period> <i> : "ı" U0131
<Multi_key> <K> <comma> : "Ķ" U0136
<Multi_key> <k> <comma> : "ķ" U0137
<Multi_key> <L> <apostrophe> : "Ĺ" U0139
<Multi_key> <l> <apostrophe> : "ĺ" U013A
<Multi_key> <L> <comma> : "Ļ" U013B
<Multi_key> <l> <comma> : "ļ" U013C
<Multi_key> <less> <L> : "Ľ" U013D
<Multi_key> <L> <less> : "Ľ" U013D
<Multi_key> <less> <l> : "ľ" U013E
<Multi_key> <l> <less> : "ľ" U013E
<Multi_key> <L> <slash> : "Ł" U0141
<Multi_key> <l> <slash> : "ł" U0142
<Multi_key> <N> <apostrophe> : "Ń" U0143
<Multi_key> <n> <apostrophe> : "ń" U0144
<Multi_key> <N> <comma> : "Ņ" U0145
<Multi_key> <n> <comma> : "ņ" U0146
<Multi_key> <less> <N> : "Ň" U0147
<Multi_key> <N> <less> : "Ň" U0147
<Multi_key> <less> <n> : "ň" U0148
<Multi_key> <n> <less> : "ň" U0148
<Multi_key> <O> <E> : "Œ" U0152
<Multi_key> <o> <e> : "œ" U0153
<Multi_key> <R> <apostrophe> : "Ŕ" U0154
<Multi_key> <r> <apostrophe> : "ŕ" U0155
<Multi_key> <R> <comma> : "Ŗ" U0156
<Multi_key> <r> <comma> : "ŗ" U0157
<Multi_key> <less> <R> : "Ř" U0158
<Multi_key> <R> <less> : "Ř" U0158
<Multi_key> <less> <r> : "ř" U0159
<Multi_key> <r> <less> : "ř" U0159
<Multi_key> <S> <apostrophe> : "Ś" U015A
<Multi_key> <s> <apostrophe> : "ś" U015B
<Multi_key> <O> <slash> : "Ø" U00D8
<Multi_key> <S> <comma> : "Ş" U015E
<Multi_key> <S> <cedilla> : "Ş" U015E
<Multi_key> <s> <comma> : "ş" U015F
<Multi_key> <s> <cedilla> : "ş" U015F
<Multi_key> <less> <S> : "Š" U0160
<Multi_key> <S> <less> : "Š" U0160
<Multi_key> <less> <s> : "š" U0161
<Multi_key> <s> <less> : "š" U0161
<Multi_key> <less> <T> : "Ť" U0164
<Multi_key> <T> <less> : "Ť" U0164
<Multi_key> <less> <t> : "ť" U0165
<Multi_key> <t> <less> : "ť" U0165
<Multi_key> <T> <minus> : "Ŧ" U0166
<Multi_key> <T> <slash> : "Ŧ" U0166
<Multi_key> <t> <minus> : "ŧ" U0167
<Multi_key> <t> <slash> : "ŧ" U0167
<Multi_key> <U> <asciitilde> : "Ũ" U0168
<Multi_key> <u> <asciitilde> : "ũ" U0169
<Multi_key> <minus> <U> : "Ū" U016A
<Multi_key> <U> <minus> : "Ū" U016A
<Multi_key> <U> <underscore> : "Ū" U016A
<Multi_key> <minus> <u> : "ū" U016B
<Multi_key> <u> <minus> : "ū" U016B
<Multi_key> <u> <underscore> : "ū" U016B
<Multi_key> <asterisk> <U> : "Ů" U016E
<Multi_key> <U> <asterisk> : "Ů" U016E
<Multi_key> <asterisk> <u> : "ů" U016F
<Multi_key> <u> <asterisk> : "ů" U016F
<Multi_key> <comma> <U> : "Ų" U0172
<Multi_key> <U> <comma> : "Ų" U0172
<Multi_key> <comma> <u> : "ų" U0173
<Multi_key> <u> <comma> : "ų" U0173
<Multi_key> <W> <asciicircum> : "Ŵ" U0174
<Multi_key> <w> <asciicircum> : "ŵ" U0175
<Multi_key> <Y> <asciicircum> : "Ŷ" U0176
<Multi_key> <y> <asciicircum> : "ŷ" U0177
<Multi_key> <Y> <quotedbl> : "Ÿ" U0178
<Multi_key> <Y> <diaeresis> : "Ÿ" U0178
<Multi_key> <diaeresis> <Y> : "Ÿ" U0178
<Multi_key> <Z> <apostrophe> : "Ź" U0179
<Multi_key> <z> <apostrophe> : "ź" U017A
<Multi_key> <Z> <period> : "Ż" U017B
<Multi_key> <z> <period> : "ż" U017C
<Multi_key> <less> <Z> : "Ž" U017D
<Multi_key> <Z> <less> : "Ž" U017D
<Multi_key> <v> <Z> : "Ž" U017D
<Multi_key> <less> <z> : "ž" U017E
<Multi_key> <v> <z> : "ž" U017E
<Multi_key> <z> <less> : "ž" U017E
<dead_acute> <dead_diaeresis> <space> : "΅" U0385
<dead_diaeresis> <dead_acute> <space> : "΅" U0385
<Multi_key> <quotedbl> <apostrophe> <space> : "΅" U0385
<Multi_key> <apostrophe> <quotedbl> <space> : "΅" U0385
<Multi_key> <Greek_ALPHA> <apostrophe> : "Ά" U0386
<Multi_key> <m> <period> : "ṁ" U1E41
<Multi_key> <Greek_EPSILON> <apostrophe> : "Έ" U0388
<Multi_key> <Greek_ETA> <apostrophe> : "Ή" U0389
<Multi_key> <Greek_IOTA> <apostrophe> : "Ί" U038A
<Multi_key> <Greek_OMICRON> <apostrophe> : "Ό" U038C
<Multi_key> <Greek_UPSILON> <apostrophe> : "Ύ" U038E
<Multi_key> <Greek_OMEGA> <apostrophe> : "Ώ" U038F
<dead_diaeresis> <dead_acute> <Greek_iota> : "ΐ" U0390
<Multi_key> <quotedbl> <apostrophe> <Greek_iota> : "ΐ" U0390
<Multi_key> <comma> <i> : "į" U012F
<Multi_key> <i> <comma> : "į" U012F
<Multi_key> <Greek_IOTA> <quotedbl> : "Ϊ" U03AA
<Multi_key> <Greek_UPSILON> <quotedbl> : "Ϋ" U03AB
<Multi_key> <Greek_alpha> <apostrophe> : "ά" U03AC
<Multi_key> <Greek_epsilon> <apostrophe> : "έ" U03AD
<Multi_key> <Greek_eta> <apostrophe> : "ή" U03AE
<Multi_key> <Greek_iota> <apostrophe> : "ί" U03AF
<dead_diaeresis> <dead_acute> <Greek_upsilon> : "ΰ" U03B0
<Multi_key> <quotedbl> <apostrophe> <Greek_upsilon> : "ΰ" U03B0
<Multi_key> <Greek_iota> <quotedbl> : "ϊ" U03CA
<Multi_key> <Greek_upsilon> <quotedbl> : "ϋ" U03CB
<Multi_key> <Greek_omicron> <apostrophe> : "ό" U03CC
<Multi_key> <Greek_upsilon> <apostrophe> : "ύ" U03CD
<Multi_key> <Greek_omega> <apostrophe> : "ώ" U03CE
......@@ -53,7 +53,7 @@ struct _GtkComposeTableCompact
*/
#include "gtkimcontextsimpleseqs.h"
/* From the values below, the value 20 means the number of different first keysyms
/* From the values below, the value 23 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).
......@@ -61,7 +61,7 @@ struct _GtkComposeTableCompact
static const GtkComposeTableCompact gtk_compose_table_compact = {
gtk_compose_seqs_compact,
5,
20,
23,
6
};
......
......@@ -18,9 +18,10 @@
*/
/*
* File auto-generated from script found at http://bugzilla.gnome.org/show_bug.cgi?id=321896
* File auto-generated from script found at gtk/compose-parse.py, with the --gtk parameter,
* 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://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtk-compose-lookaside.txt
* Input : http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt
* Input : http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
*
......@@ -67,46 +68,81 @@
*/
static const guint16 gtk_compose_seqs_compact[] = {
GDK_dead_stroke, 120, 154, 160, 160, 160,
GDK_dead_grave, 160, 184, 184, 396, 396,
GDK_dead_acute, 396, 422, 428, 704, 704,
GDK_dead_circumflex, 704, 792, 792, 992, 992,
GDK_dead_tilde, 992, 1000, 1000, 1140, 1140,
GDK_dead_macron, 1140, 1152, 1152, 1224, 1224,
GDK_dead_breve, 1224, 1248, 1248, 1272, 1272,
GDK_dead_abovedot, 1272, 1286, 1286, 1318, 1318,
GDK_dead_diaeresis, 1318, 1374, 1374, 1398, 1398,
GDK_dead_abovering, 1398, 1402, 1402, 1402, 1402,
GDK_dead_doubleacute, 1402, 1410, 1410, 1410, 1410,
GDK_dead_caron, 1410, 1414, 1414, 1422, 1422,
GDK_dead_cedilla, 1422, 1426, 1426, 1426, 1426,
GDK_dead_ogonek, 1426, 1430, 1430, 1430, 1430,
GDK_dead_iota, 1430, 1434, 1434, 1722, 2382,
GDK_dead_voiced_sound, 2382, 2428, 2428, 2428, 2428,
GDK_dead_semivoiced_sound, 2428, 2438, 2438, 2438, 2438,
GDK_dead_belowdot, 2438, 2448, 2448, 2464, 2464,
GDK_dead_hook, 2464, 2468, 2468, 2524, 2524,
GDK_Multi_key, 2524, 2524, 7360, 11048, 12908,
GDK_dead_stroke, 138, 226, 235, 235, 235,
GDK_Greek_accentdieresis, 235, 239, 239, 239, 239,
GDK_dead_grave, 239, 299, 386, 598, 598,
GDK_dead_acute, 598, 664, 760, 1036, 1036,
GDK_dead_circumflex, 1036, 1176, 1176, 1376, 1376,
GDK_dead_tilde, 1376, 1458, 1521, 1661, 1661,
GDK_dead_macron, 1661, 1707, 1707, 1779, 1779,
GDK_dead_breve, 1779, 1833, 1833, 1857, 1857,
GDK_dead_abovedot, 1857, 1887, 1890, 1922, 1922,
GDK_dead_diaeresis, 1922, 2010, 2019, 2043, 2043,
GDK_dead_abovering, 2043, 2053, 2053, 2053, 2053,
GDK_dead_doubleacute, 2053, 2063, 2063, 2063, 2063,
GDK_dead_caron, 2063, 2089, 2089, 2097, 2097,
GDK_dead_cedilla, 2097, 2111, 2111, 2111, 2111,
GDK_dead_ogonek, 2111, 2121, 2121, 2121, 2121,
GDK_dead_iota, 2121, 2143, 2242, 2674, 3334,
GDK_dead_voiced_sound, 3334, 3380, 3380, 3380, 3380,
GDK_dead_semivoiced_sound, 3380, 3390, 3390, 3390, 3390,
GDK_dead_belowdot, 3390, 3400, 3400, 3416, 3416,
GDK_dead_hook, 3416, 3494, 3494, 3550, 3550,
GDK_dead_psili, 3550, 3578, 3578, 3578, 3578,
GDK_dead_dasia, 3578, 3610, 3610, 3610, 3610,
GDK_Multi_key, 3610, 3610, 9589, 13297, 15157,
GDK_space, 0x002F,
GDK_2, 0x01BB,
GDK_A, 0x023A,
GDK_B, 0x0243,
GDK_C, 0x023B,
GDK_D, 0x0110,
GDK_E, 0x0246,
GDK_G, 0x01E4,
GDK_H, 0x0126,
GDK_I, 0x0197,
GDK_J, 0x0248,
GDK_L, 0x0141,
GDK_O, 0x00D8,
GDK_P, 0x2C63,
GDK_R, 0x024C,
GDK_T, 0x0166,
GDK_U, 0x0244,
GDK_Y, 0x024E,
GDK_Z, 0x01B5,
GDK_a, 0x2C65,
GDK_b, 0x0180,
GDK_c, 0x023C,
GDK_d, 0x0111,
GDK_e, 0x0247,
GDK_g, 0x01E5,
GDK_h, 0x0127,
GDK_i, 0x0268,
GDK_j, 0x0249,
GDK_l, 0x0142,
GDK_o, 0x00F8,
GDK_p, 0x1D7D,
GDK_r, 0x024D,
GDK_t, 0x0167,
GDK_u, 0x0289,
GDK_y, 0x024F,
GDK_z, 0x01B6,
GDK_nobreakspace, 0x0338,
GDK_Oacute, 0x01FE,
GDK_oacute, 0x01FF,
0x0237, 0x025F,
0x0269, 0x1D7C,
GDK_dead_stroke, 0x002F,
GDK_lessthanequal, 0x2270,
GDK_greaterthanequal, 0x2271,
GDK_dead_acute, GDK_O, 0x01FE,
GDK_dead_acute, GDK_o, 0x01FF,
GDK_dead_abovedot, GDK_j, 0x025F,
GDK_Greek_iota, 0x0390,
GDK_Greek_upsilon, 0x03B0,
GDK_space, 0x0060,
GDK_V, 0x01DB,
GDK_v, 0x01DC,
GDK_Abreve, 0x1EB0,
GDK_abreve, 0x1EB1,
GDK_Emacron, 0x1E14,
......@@ -117,7 +153,52 @@ 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_psili, GDK_Greek_ALPHA, 0x1F0A,
GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1A,
GDK_dead_psili, GDK_Greek_ETA, 0x1F2A,
GDK_dead_psili, GDK_Greek_IOTA, 0x1F3A,
GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4A,
GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6A,
GDK_dead_psili, GDK_Greek_alpha, 0x1F02,
GDK_dead_psili, GDK_Greek_epsilon, 0x1F12,
GDK_dead_psili, GDK_Greek_eta, 0x1F22,
GDK_dead_psili, GDK_Greek_iota, 0x1F32,
GDK_dead_psili, GDK_Greek_omicron, 0x1F42,
GDK_dead_psili, GDK_Greek_upsilon, 0x1F52,
GDK_dead_psili, GDK_Greek_omega, 0x1F62,
GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0B,
GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1B,
GDK_dead_dasia, GDK_Greek_ETA, 0x1F2B,
GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3B,
GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4B,
GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5B,
GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6B,
GDK_dead_dasia, GDK_Greek_alpha, 0x1F03,
GDK_dead_dasia, GDK_Greek_epsilon, 0x1F13,
GDK_dead_dasia, GDK_Greek_eta, 0x1F23,
GDK_dead_dasia, GDK_Greek_iota, 0x1F33,
GDK_dead_dasia, GDK_Greek_omicron, 0x1F43,
GDK_dead_dasia, GDK_Greek_upsilon, 0x1F53,
GDK_dead_dasia, GDK_Greek_omega, 0x1F63,
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,
......@@ -172,6 +253,8 @@ 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_V, 0x01D7,
GDK_v, 0x01D8,
GDK_Abreve, 0x1EAE,
GDK_abreve, 0x1EAF,
GDK_Emacron, 0x1E16,
......@@ -183,9 +266,57 @@ 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_Sabovedot, 0x1E64,
GDK_sabovedot, 0x1E65,
GDK_dead_acute, 0x00B4,
GDK_dead_stroke, GDK_O, 0x01FE,
GDK_dead_stroke, GDK_o, 0x01FF,
GDK_dead_diaeresis, GDK_space, 0x0385,
GDK_dead_diaeresis, GDK_Greek_iota, 0x0390,
GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0,
GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0C,
GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1C,
GDK_dead_psili, GDK_Greek_ETA, 0x1F2C,
GDK_dead_psili, GDK_Greek_IOTA, 0x1F3C,
GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4C,
GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6C,
GDK_dead_psili, GDK_Greek_alpha, 0x1F04,
GDK_dead_psili, GDK_Greek_epsilon, 0x1F14,
GDK_dead_psili, GDK_Greek_eta, 0x1F24,
GDK_dead_psili, GDK_Greek_iota, 0x1F34,
GDK_dead_psili, GDK_Greek_omicron, 0x1F44,
GDK_dead_psili, GDK_Greek_upsilon, 0x1F54,
GDK_dead_psili, GDK_Greek_omega, 0x1F64,
GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0D,
GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1D,
GDK_dead_dasia, GDK_Greek_ETA, 0x1F2D,
GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3D,
GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4D,
GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5D,
GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6D,
GDK_dead_dasia, GDK_Greek_alpha, 0x1F05,
GDK_dead_dasia, GDK_Greek_epsilon, 0x1F15,
GDK_dead_dasia, GDK_Greek_eta, 0x1F25,
GDK_dead_dasia, GDK_Greek_iota, 0x1F35,
GDK_dead_dasia, GDK_Greek_omicron, 0x1F45,