Editing Sinhala and Similar Scripts

Marc Durdin marc at keyman.com
Mon Mar 24 17:37:59 CDT 2014

Richard Wordingham wrote:
> On Sun, 23 Mar 2014 22:46:49 +0000
> Marc Durdin <marc at keyman.com> wrote:
> > All the Keyman products -- on Windows, web, iOS and Android, as well
> > as KMFL, which is a port of Keyman, work on the principle of modifying
> > the text buffer directly.
> I had been going to remark that they couldn't do that directly, but further
> research showed that Text Services Framework and GTK+ both allow it to be
> done in fact as opposed to merely in principle.  (Does this mean that the
> Keyman substitution rules follow the principle of canonical equivalence?)

Currently, KMFL and Keyman do no normalization of text, treating it as a raw Unicode character stream -- catering for this is up to the input method.

Keyman works directly with the text store in the web, iOS and Android versions, and where possible on Windows -- which in practice means the very few applications that have enough support for Text Services Framework, including, for example, MS Word, SIL FLEx, and the RichEdit control.  Otherwise it works in a fallback mode where it retains the last sequence of characters typed in a cache until an intervening event causes it to flush its cache.  Not perfect, but covers the vast majority of cases without issue (as in, less than one support case per month...)

>It seems to me that at
> least where fallbacks are used, the backing store that KMFL wishes to delete
> must be in the state in which KMFL placed it
> - intervening normalisation will corrupt the input.  Is there an explicit
> statement of this anywhere?

Yes, this is true for both Keyman and KMFL when working in fallback modes.  In practice, it's rarely a problem.


More information about the Unicode mailing list