After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 93421 - Unable to type some dead keyed characters
Unable to type some dead keyed characters
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Input Methods
2.0.x
Other other
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2002-09-16 17:36 UTC by Stanislav Brabec
Modified: 2011-02-04 16:11 UTC
See Also:
GNOME target: ---
GNOME version: 2.0


Attachments
Unmerged ISO-8859-2 changes (7.43 KB, patch)
2002-09-30 14:31 UTC, Owen Taylor
none Details | Review

Description Stanislav Brabec 2002-09-16 17:36:04 UTC
I am using Czech keyboard and XFree86-4.2.0. I am trying to type dead-keyed
characters. Some of these characters cannot be typed:

acute + a -> aacute works
caron + s -> scaron works
acute + s -> beep NOT WORKS
caron + n -> beep NOT WORKS
etc.

Generally all ISO-8859-2 characters are working, from others is working for
example SsZz caron, Aa ogonek etc.
Comment 1 Owen Taylor 2002-09-26 22:26:35 UTC
A bunch of additional compose sequences were added to
XFree86 CVS in since gtkimcontextsimple.c was created;
adding these to gtkimcontextsimple should be straightfoward
if a bit tedious.

(Despite what is said in the comments at top of
gtkimcontextsimple, it basically needs to be done
manually. The other thing to know is that the contents
of gtkimcontextsimple.c are "alphabetical" by key symbol
value.. order matters)
Comment 2 Stanislav Brabec 2002-09-30 08:58:45 UTC
Owen, can you send me these perl script (or URL), you have mentioned
in this file comments?
Comment 3 Owen Taylor 2002-09-30 13:54:24 UTC
There is no perl script ... that's what I mean, by 
"it basically has to be done manually"


Comment 4 Stanislav Brabec 2002-09-30 14:04:07 UTC
I think those:

The following table was generated from the X compose tables include with
XFree86 4.0 using a set of Perl scripts. Contact Owen Taylor
<otaylor@redhat.com>
to obtain the relevant perl scripts.

After two hours of work I have done only partial revision of
ISO-8859-2. But there are probably much more missing codes. But if it
is not possible, I can finish ISO-8859-2 part manually and let the
rest for others.
Comment 5 Owen Taylor 2002-09-30 14:31:05 UTC
Yeah, that comment is wrong:

 - I lost the perl script
 - Even if I hadn't lost it, it wouldn't be useful because
   there has been fairly extensive manual revision after
   the point of the output of the perl script.
   
   (One of the big things I had to do was resolve conflicts.)


I meant to attach earlier the diff of the iso-8859-2 sequences
in XFree86 CVS from the point where the file was originally
generated. I'm not sure that will help you at this point, but
I'll do it anyways since I have it around.
Comment 6 Owen Taylor 2002-09-30 14:31:46 UTC
Created attachment 11315 [details] [review]
Unmerged ISO-8859-2 changes
Comment 7 Stanislav Brabec 2002-09-30 14:39:35 UTC
Thank for this file. I will submit update in few hours to HEAD and
gtk-2-0.
Comment 8 Stanislav Brabec 2002-09-30 15:41:28 UTC
The purpose of changes in attachment 11315 [details] [review] was following:
1) Add characters from other charsets.
2) Add sequences for dead_accent+space=accent convention
3) Bug fix
None of them are in relation with gtkimcontextsimple.c.
Comment 9 Stanislav Brabec 2002-09-30 16:43:20 UTC
I have just submitted patch to gtk-2-0 and HEAD.
Comment 10 Owen Taylor 2002-09-30 18:22:46 UTC
Reviewing the patch you applied to CVS, found a couple of
ordering mistakes:

   GDK_Multi_key,       GDK_l,  GDK_equal,      0,      0,     
0x00A3, /* POUND_SIGN */
+  GDK_Multi_key,       GDK_l,  GDK_less,       0,      0,     
0x013E, /* LATIN_SMALL_LETTER_L_WITH_CARON */

Ordering here is wrong 

-  GDK_Multi_key,       GDK_C,  GDK_0,  0,      0,      0x00A9, /*
COPYRIGHT_SIGN */
   GDK_Multi_key,       GDK_C,  GDK_less,       0,      0,     
0x010C, /* LATIN_CAPITAL_LETTER_C_WITH_CARON */
+  GDK_Multi_key,       GDK_C,  GDK_0,  0,      0,      0x00A9, /*
COPYRIGHT_SIGN */

The original  ordering was right - '0' is numerically less than
'<'.
Comment 11 Stanislav Brabec 2002-10-01 10:31:47 UTC
Fixed. Can you verify order now?
Comment 12 Owen Taylor 2002-10-04 19:20:52 UTC
If you fixed those ones, I'll assume it's OK. (Verification was
done manually)
Comment 13 Stanislav Brabec 2002-10-09 15:43:44 UTC
I have just added also Hungarian characters. Only via dead keys.
Compose combinations in X are buggy and can't be used
(compose+apostrophe+apostrophe generates acute accent, so
compose+apostrophe+apostrophe+o is nonsense), so new convention should
come.
Comment 14 Owen Taylor 2002-10-09 18:28:33 UTC
I don't understand the comment about compose sequences - 
we aren't using X at all here to handle compose sequencse.


Comment 15 Stanislav Brabec 2002-10-10 08:38:52 UTC
We don't use them, but GTK Compose sequences are inspired by XFree86
ones. In case of double acute these sequences are buggy, so I have not
added any other - simply I have no idea how to type double acute as
Compose sequence, which doesn't collide with acute Compose sequences.
If anybody has, I will add them.

OT: On my opinion, the best solution should be simple Compose key table:
\' <char> -> <char>_WITH_ACUTE_ACCENT
\" <char> -> <char>_WITH_DIAERESIS
Second part should be Unicode character name parser, which will
generate complete list of all possible dead and compose keyed sequences.

I am adding such project to my project list.

If I will realize it, I will let you know.