On Mon, Jun 14, 2004 at 11:39:44PM +0200, Pablo Saratxaga wrote:
> Kaixo!
> 
> On Sat, Jun 12, 2004 at 09:56:52AM -0700, Elvis Presley wrote:

..[snip]..

> > This is about as complicated as it gets in polytonic
> > Greek, three dead keys, two pre-position, one
> > post-position, 'w' representing omega, and an 'i' for
> > iota subscript. 
> 
> No, dead keys cannot be post-position; they must always be typed
> *before* the key they modify; that is in fact the very definition
> of a dead_key: they modify the behavioiur of what is typed after them.
> If it is typed after it is not a dead key, but just a regular key.
> 
> The ways already defined in el_GR.UTF-8 X11 Compose file for U1fa2
> (á, omega with psili varia and ypogrammeni) are:
> 
> <Multi_key> <bar> <greater> <grave> <Greek_omega>       : "á"  U1fa2
> <Multi_key> <bar> <grave> <greater> <Greek_omega>       : "á"  U1fa2
> <Multi_key> <greater> <bar> <grave> <Greek_omega>       : "á"  U1fa2
> <Multi_key> <greater> <grave> <bar> <Greek_omega>       : "á"  U1fa2
> <Multi_key> <grave> <bar> <greater> <Greek_omega>       : "á"  U1fa2
> <Multi_key> <grave> <greater> <bar> <Greek_omega>       : "á"  U1fa2
> <dead_iota> <dead_horn> <dead_grave> <Greek_omega>      : "á"  U1fa2
> <dead_iota> <dead_grave> <dead_horn> <Greek_omega>      : "á"  U1fa2
> <dead_horn> <dead_iota> <dead_grave> <Greek_omega>      : "á"  U1fa2
> <dead_horn> <dead_grave> <dead_iota> <Greek_omega>      : "á"  U1fa2
> <dead_grave> <dead_iota> <dead_horn> <Greek_omega>      : "á"  U1fa2
> <dead_grave> <dead_horn> <dead_iota> <Greek_omega>      : "á"  U1fa2
> 
> 6 ways to type it with dead keys (corresponding to the six
> possible combinations of the three dead keys; but dead keys
> always after the letter)
> and 6 ways to type it with Multi_key (you press "Multi_key", then
> the following keys in the given order).

  Note that, even Multi_key combinations always have the letter last,
so that, when a letter arrives, it is certain that the sequence is
complete. See my comments below.

> What you would like would be in fact:
> 
> <dead_horn> <dead_grave> <Greek_omega> <U0345> : "á"  U1fa2
> <dead_grave> <dead_horn> <Greek_omega> <U0345> : "á"  U1fa2
> 
> (that is, two dead keys, followed by two normal keys; a key sending
> Greek_omega and a key sending U0345 (COMBINING GREEK YPOGEGRAMMENI)
> 
> I haven't tested it but if it works, it could indeed be added for
> all the cases and a layout with <U0345> instead of <dead_iota>, if
> that is more intuitive to type.
> 
> > The keyboard map is therefore more than a map, it is a
> > fsm, a stateful-map.
> 
> That is not supported at all.
> If you need that, you need to develop an input method actually
> (like japanese or vietnamese use), that is, a program that interpretes
> what you type and produces a different input.
> 
> Yes there is something of that in console (but very limited) and
> in X11 (more powerfull), but it is always linear.
> 
> (also, I m' not sure if it is possible to have, for example,
> "<dead_horn> <dead_grave> <Greek_omega> <U0345>" and
> "dead_horn> <dead_grave> <Greek_omega>" sequences (that is, sequences
> that one is subset of another))

  You can't. The problem with that is that, if you wanted to type the
second sequence, the composition engine wouldn't know whether to stop
there and emit the symbol, or to wait for another symbol to complete
the sequence. So it waits. This could probably be fixed (partly): when
a symbol comes that causes the sequence to become invalid, the engine
could check the compose sequence just before the arrival of that
symbol, and emit the result. But this is not the current behaviour.

> > If I change keyboards in
> > midstream (using alt-a, for example), the fsm would
> > output the components of an unaccepted character
> > individually. How far will keymaps go?
> 
> You can't.
> pressing Alt-A means (or any other key) means you broke the sequence.
> in such case you simply lost what you typed in the incomplete sequence.

  Indeed.


-- 
Vasilis Vasaitis
"A man is well or woe as he thinks himself so."



--
Linux-UTF8:   i18n of Linux on all levels
Archive:      http://mail.nl.linux.org/linux-utf8/

Reply via email to