Tor Lillqvist wrote:
Unicode's combining characters are supposed to be typed after the base letter, while dead keys are typed before.I don't think how you *type* stuff on a keyboard is something Unicode attempts to say anything about. What Unicode says about combining characters is that in a stream of Unicode code points (like in computer memory, or other storage medium, or in a communication stream) they combining characters follow the base character.
I think *I* wrote that fragment above.I was talking in the context of keyboard layouts in xkeyboard-config, and how the end-user types in order to get the resulting characters (either combining marks or precomposed). This is the existing behaviour, when implementing a keyboard layout.
I think the design question here is whether to enable any combination of combining characters/dead keys (max 4 + 1 base character), or only allow those that are used in scripts (we would need to provide appropriate tables for this). This decision would be for the default behaviour of GTK+ (not as a special input method module).I don't see any problem in having various software layers handle dead keys so that they turn into combining characters which then are placed in the generated stream of Unicode code points *after* the base letter which they apply to.
I really want to hear a third opinion on this. Simos
- Users expect their already existing dead keys to act as dead keys, i.e. be typed before the base letter on which to put the accent. - Users don't see the technical difference between î and n̂: it's just letters with circumflex above (be they precomposed or not). And so they will very naturally want to just use the existing dead key to type n̂.I fully agree with these points. --tml