Implementing SMP on a UTF-16 OS (was: Windows keyboard restrictions)

Marcel Schneider charupdate at
Mon Aug 10 14:46:39 CDT 2015

Hi Max,

On 10 Aug 2015, at 20:25, Max Truxa  wrote:

> IMO this mailing list is not the right place for questions about C syntax, is it not?

Indeed it isn't. Would it not be about Unicode implementation, I wouldn't have sent it to the Unicode Mailing List. 
Whatever language, it's about getting SMP characters into the place where the OS stores the keyboard layout. I stick with the idea that this mustn't stay limited to the BMP. IMHO the ligatures made of a surrogates pair in MSKLC keyboards are a sort of workaround, while something isn't really fit for UTF-16. The idea wasn't to throttle the OS down to BMP, was it? The SMP simply didn't exist yet. Now it does, things get screwed up.

> Correct syntax would be: [...] 0xD835, 0xDCEA, 0xD835, 0xDCD0, [...]

The problem with the commas here is that they don't only separate, they increment the modification number. The trailing surrogate must stay together with the leading one on the same shift state.

As I say, it's got screwed up. However, I'll try with just removing the parentheses, hoping that the surrogates will be automatically grouped together.

By contrast, I've the good news to bring in that the test SMP keyboard layout works on Word 2013. When I press the key with U+1D4EA and U+1D4D0, the glyphs are directly inserted. So there's one less problem.

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Unicode mailing list