GNOME Bugzilla – Bug 164859
Greek dead-key Accent (tonos) not working
Last modified: 2005-01-23 00:30:06 UTC
Please describe the problem: The dead-key that is used for Greek tonos accent (this is the ";:" key on a US keyboard, to the right of the 'L' key) doesn't appear to work correctly in windows GTK (in Gimp text input and Gaim text input boxes). It seems to be completely ignored. The dialytika accent dead-key (AltGR + ";:") seems to work fine. The sequence a,";:"a,SHIFT+";:"a produces "αά¨α" in notepad, and "αα" in GTK. The sequence w,";:"w,SHIFT+";:"w produces "ς΄ς¨ς" in notepad, and "ςς" in GTK The sequence i,";:"i,SHIFT+";:"i produces "ιίϊ" in notepad, and "ιιϊ" in GTK You can see that the dialytika accent functionality is somewhat working (although somewhat differently than win32 native), but the tonos isn't working. It seems that the dialytika accent and letter typed after the dead key simply don't appear in GTK if the letter doesn't support the character. Steps to reproduce: 1. Using the Greek keyboard mode, enter the sequences outlined above in both Notepad and the Gimp text input widget. Actual results: No tonos accents appear. Expected results: Tonos should appear when the tonos dead-key is used. Does this happen every time? Yes Other information: This issue makes it impossible to type greek text using the keyboard. I thought it might be a font issue, but i'm able to copy the characters with tonos out of notepad and paste them into the Gimp widget.
Created attachment 36363 [details] [review] Suggested patch True, the tonos key was being ignored in gdk/win32/gdkkeys-win32.c:update_keymap(). The explanation for why it was left out is probably that as there is no separate GDK (or X11) keysym name for tonos, I hadn't noticed. While at it, I also fixed gtk/gtkimcontextsimple.c to handle the keysym for dialytika tonos (GDK_Greek_accentdieresis). You seem to call this just "dialytika", is that more common? Or does "tonos" simply mean just "accent"?
"tonos" means tone. In ancient Greek, and even up to 1982 the language had more accents. Now, only "tonos" remains as a real accent. I find it surprising that there isn't a separate name for tonos (i'm not sure what the standard is for separate keysyms), but i suppose it is the same as the acute accent. The "dialytika" (umlaut) is also part of Modern Greek, but isn't really an accent (stress indicator) (I figured i'd simplify things by calling it an accent), but rather is a separate pronounciation indicator, specifying that the two letters placed together (letter with the dialytika and the one preceding it) that usually make one sound combined should be pronounced seperately. Tonos and dialytika are independent and can be used on the same letter (usipon or iota), but i cant think of any words that do so offhand. (Greek is my second language and greek spelling isn't my strong point). Greek grammar discussion over... onto more relevant information. I'll try to test the patch in the next few days. The speedy response was impressive.
The patch works for me. Tonos behavior now seems to be consistent with dialytika behavior. Thanks very much.
Thanks for testing, that was a pleasant surprise! If only all Win32 bug reporters were able to apply and test patches... Patch applied to HEAD and gtk-2-6. 2005-01-23 Tor Lillqvist <tml@novell.com> * gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos dead accent key. (#164859, reported and fix verified by Daniel Atallah.) * gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle GDK_Greek_accentdieresis (tonos and dialytika) combining with iota and upsilon.