Re: Possible to add new precomposed characters for local language in Togo?

From: Philippe Verdy <>
Date: Thu, 3 Nov 2016 23:56:13 +0100

2016-11-03 21:44 GMT+01:00 Doug Ewell <>:

> I think we are talking about two different issues here. It's important
> to keep these separate, to avoid talking past each other.
> Mats Blakstad wrote:
> > After managing to add the keyboard to XKB I started on a new venture
> > of trying to make a windows version of the keyboard using this:
> >
> > [link to Microsoft Keyboard Layout Creator]
> >
> > It is nearly impossible to replicate as it seems like you can only add
> > dead keys if they have a precomposed character.
> Mats is talking about the fact that a dead key combination (of any
> length) under Windows can generate only a single UTF-16 code unit.
> That's wrong. Windows can perfectly generate multiple code units (in fact
it does it for non BMP characters, including in MSKLC!) from its KLC tables
using the default system driver.

Only the GUI editor MSKLC cannot use this possibility and it does not
understand chained tables (note: you can perfectly assign another table
index instead of a character to the combination of a dead key state and
another dead key, so that you can type another key which will be mapped in
the combined state; the combined state can then accept the space bar to
force the output of the NFC form for SPACE+diacritic1+diacritic2, which
should be, if possible, a spacing-diacritic1 followed by a
combining-diacritic2, or the reverse if both diacritics have a non-zero
combining class but the second one has a lower combining clas than the
second one).

In summary MSKLC is unable to edit **visually** the combined state prodiced
by typing two dead keys. But the .klc file is compilable and works. It is
trivial to make such transform to generate the C source of the tables and
compile it to a driver, you should not need to know C/C++ to do that, and
the .klc source contianined the chained keys should be enough.
Received on Thu Nov 03 2016 - 17:57:09 CDT

This archive was generated by hypermail 2.2.0 : Thu Nov 03 2016 - 17:57:09 CDT