bug(windows): compatibility issue with Paratext and Khmer script
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
### Describe the bug
Community site: https://community.software.sil.org/t/keyman-interaction-with-paratext-spellcheck/9960
> This relates to Keyman’s enforcement of shifter-coeung order in Khmer script, in relation to spell checking in Paratext. The intended behavior is that whenever shifter ៉ or ៊ is followed by combiner ្ followed by a consonant, the shifter moves to the end (really the earlier instance is deleted and a new instance added). This works just fine – except in Paratext.
>
> In Paratext, if “Display Spelling Errors” is turned on, and if I’m typing a bit slowly, then after I’ve typed a consonant followed by the shifter, Paratext identifies this as a spelling error (since there is no such word as just this consonant + shifter). PT sticks its squiggly underline in, while I’m typing the next character, the combiner, followed by the next consonant. At this point, the Keyman Enforcer-of-Order kicks in and tries to do the replacement, but instead of deleting the shifter from the wrong position, it simply adds another shifter after the second consonant. Here’s what it looks like:
>
> I type: ឝ ៉ ្ ន
> I get:
> 
> Screenshot 2025-03-26 at 1.50.24 PM
>
> It type: ឞ ៊ ្ រ
> I get:
> 
> Screenshot 2025-03-26 at 1.51.11 PM
>
> If I’m typing fast enough, I can stay ahead of spell checker, but I can’t always type fast enough. Or I could turn off spell checker, but then what good does it do me?
>
> This isn’t the first probablem I’ve encountered with Display Spelling Errors in Paratext. Two years ago I reported another issue in which focus is lost while typing a cross reference, if the squiggly shows up before I finish typing a valid reference. (PTXS-40048) The issue was “deemed minor.” Is this related? I’m reporting here instead of to Paratext since I suspect that this would be another “minor” issue.
>
> (I can fix the problem with autocorrect, I think, but I’d rather not.)
### Reproduce the bug
Context from user:
1. Enable "Display Spelling Errors"
2. Type slowly; first, a consonant followed by the shifter (Paratext identifies this as a spelling error since there is no such word as just this consonant + shifter)
3. Next, type the combiner, followed by the next consonant
4. Result in the screenshots above
### Expected behavior
A normal output of the Khmer word.
### Related issues
_No response_
### Keyman apps
- [ ] Keyman for Android
- [ ] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [ ] Keyman for macOS
- [x] Keyman for Windows
- [ ] Keyman Developer
- [ ] KeymanWeb
- [ ] Other - give details at bottom of form
### Keyman version
_No response_
### Operating system
_No response_
### Device
_No response_
### Target application
_No response_
### Browser
_No response_
### Keyboard name
_No response_
### Keyboard version
_No response_
### Language name
_No response_
### Additional context
The upcoming additional information are:
* Keyman version
* Keyboards
* OS
* Issue replication status
Contributor guide
Assessment
This issue has not been assessed yet.