Closed darcywong00 closed 7 months ago
I suggest we address this with Keyman Core refactor rather than trying to fix the existing core.
KMN file in attached zip. brahmi.zip
Is this addressed in 15.0 with #5012?
I just got an email from a user asking if there's a workaround in the meantime.
Is this addressed in 15.0 with #5012?
Yes, that's the plan.
I just got an email from a user asking if there's a workaround in the meantime.
Not really, sorry.
This still exists after the move to Keyman Core. I created a kmp file for the attached kmn, and was able to reproduce the issue in several compliant apps like Pages, TextEdit and Stickies.
It is not a problem in non-compliant apps because they are unable to read the context from the application. So for compliant apps Keyman is misleading Core by passing an incorrect context string when the context read from the app contains SMP characters.
This is actually not caused by setting the context incorrectly. This only occurs for compliant apps when inserting and replacing a SMP character.
When Keyman processes a keystroke that replaces the previous SMP character with a new one, it replaces only half of the previous character, leaving the text corrupted. This will produce unexpected results that may vary depending on the app being used.
Note that this only occurs for compliant apps, like Pages or Stickies. This can be reproduced with the Brahmi Inscript keyboard because it outputs the same characters as the one reported by the original user.
Reported by @sewhite on the community site using Keyman 11.0.220
group(main) using keys
c combining vowels any(cons) + [K_A] > index(cons,1) ‘𑀸’ c sign aa