On 08 Aug 2015, at 16:39, Eli Zaretskii  wrote:

> The Windows WCHAR is a 16-bit data type. What Windows documentation
> calls "Unicode characters" are Unicode codepoints encoded in UTF-16.

I turn out to be unable to use Unicode codepoints encoded in UTF-16 in the C 
source of the keyboard driver. When in the static ALLOC_SECTION_LDATA 
VK_TO_WCHARS9 aVkToWch9[], I use
[...],(0xd835,0xdcea),(0xd835,0xdcd0),[...]
I get the error “initializer is not a constant”, and when I simply use
[...],0xd835 0xdcea,0xd835 0xdcd0,[...]
I get the syntax error “constant” with a cascade of comma errors.

I note that the MSKLC converts to ligatures of a surrogates pair any SMP 
character mapped on a key, and that it cannot admit any SMP character in a dead 
list.
Such an MSKLC layout with U+1D4EA 𝓪 and U+1D4D0 𝓐 works on the built-in 
Notepad, while Word displays .notdef boxes that convert to code points and then 
to glyphs using Alt+C twice. About LibreOffice and Notepad++, they are unable 
to display these characters even when pasted from Word or Notepad.

Please donʼt dismiss this issue towards other mailing lists or fora, because on 
such topics it is very hard out there to get any useful answer. And please 
donʼt lock it out of the Unicode Mailing List, because itʼs a Unicode 
implementation topic.

Best regards,

Marcel

Reply via email to