On 12/12/2001 09:28:43 AM Marco Cimarosti wrote:

>What you cannot easily do with Keyman is visual order input - E.g. short 
i
>before consonant, repha ra after consonant.

Have you given it a try? Once you figure out what it means to have a short 
i with no consonant and what you want it to look like in that temporary 
state, you could probably get it to do it. I have used Keyman to create 
some input methods that did some similar things (though not for Devanagari 
script).


>Moreover, it is tricly to implement the deletion of the <danda>: when the
>user hits backspace near <0917> the keyboard script should rather add 
<094D,
>200D>.

That's easier than the short i input problem -- it's quite easy, in fact. 
The only limitation is that Keyman input methods are only aware of what is 
in the text context as long as you keep entering keystrokes without any 
intervening mouse clicks, arrow keys or change of focus. This will change 
once it supports Microsoft's Text Services framework, and as apps also 
support that (Office does now). That will allow Keyman to always be aware 
of what is in the text context, even when the user mouse clicks into 
existing text. This functionality is coming in the next version.


>Finally, there is no way to simulate placing the cursor between the <half
>ga> and the <danda> glyphs.

Well, Graphite could make it possible to create an implementation in which 
you could select the left half of the ga independently from the right 
half, except that there wouldn't be any character in the backing store 
that that could correspond to. That's a problem even in your proposed way 
of dealing with these things, isn't it? What this would require is for the 
rendering system to be able to report back to the app some selection range 
which the app could pass on to the input method -- and there would have to 
be some way to express that selection range that the input method could 
understand. Then the input method could recognise the state and have 
appropriate actions; e.g. if the user hits [Delete] it would insert < 
094D, 200D >.

Of course, we need to recognise that where there is this mismatch between 
the logical units that are presented to the user and the logical units 
that are actually in the backing store, we are inviting usability 
problems, no matter how much cleverness we try to put in.


- Peter


---------------------------------------------------------------------------
Peter Constable

Non-Roman Script Initiative, SIL International
7500 W. Camp Wisdom Rd., Dallas, TX 75236, USA
Tel: +1 972 708 7485
E-mail: <[EMAIL PROTECTED]>


Reply via email to