Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug(developer): dk(n) inserts a space into the debugger instead of a deadkey marker #13293

Open
mcdurdin opened this issue Feb 20, 2025 · 1 comment · May be fixed by #13336
Open

bug(developer): dk(n) inserts a space into the debugger instead of a deadkey marker #13293

mcdurdin opened this issue Feb 20, 2025 · 1 comment · May be fixed by #13336
Assignees
Milestone

Comments

@mcdurdin
Copy link
Member

Note that the deadkey appears in the Deadkey Debug View, but U+0020 is inserted into the document, and rules with dk() in context do not fire when they should.

20250220-0622-17.6274415.mp4

Testing in Keyman for Windows shows that Keyman Core is working correctly

Keyman Developer 18.0.190-beta

Tested with this keyboard:

store(&VERSION) '10.0'
store(&NAME) 'dktest'
store(&COPYRIGHT) 'Copyright ©'
store(&KEYBOARDVERSION) '1.0'
store(&TARGETS) 'any'

begin Unicode > use(main)

group(main) using keys

+ 'a' > dk(small_to)
dk(small_to) + 'b'> 'foo'
@mcdurdin mcdurdin added this to the B18S3 milestone Feb 20, 2025
@mcdurdin mcdurdin self-assigned this Feb 20, 2025
@mcdurdin
Copy link
Member Author

This is due to the change to richedit control which fixes numerous rendering issues. However it does not allow insertion of U+FFFC.

mcdurdin added a commit that referenced this issue Feb 24, 2025
Previously, we used U+FFFC as a marker in the debugger (for deadkeys and
LDML keyboard markers), which displayed as the letters OBJ in a small
dotted square. However, we switched the underlying component to
RichEdit, in order to better support rendering of many scripts (EDIT has
some problems). The RichEdit control silently converts U+FFFC to U+0020.
I switched to U+0001 as this is handled better, but has an unfortunate
missing-glyph marker.

In the future, it would be better to use a non-character marker
(leveraging RichEdit), but this is a much more complex change, and this
fix at least matches previous functionality.

Fixes: #13293
@mcdurdin mcdurdin moved this to In Progress in Keyman Feb 24, 2025
@mcdurdin mcdurdin modified the milestones: B18S3, B18S2 Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

1 participant