Possible to add new precomposed characters for local language in Togo?
verdy_p at wanadoo.fr
Thu Nov 3 17:56:13 CDT 2016
2016-11-03 21:44 GMT+01:00 Doug Ewell <doug at ewellic.org>:
> 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
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Unicode