-
-
Notifications
You must be signed in to change notification settings - Fork 112
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
fix(developer): use U+0001 for deadkey markers in the debugger #13336
base: fix/developer/13292-handle-line-breaks-in-debugger
Are you sure you want to change the base?
Conversation
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
User Test ResultsTest specification and instructions Test Artifacts
|
@@ -31,6 +31,7 @@ inherited frmLdmlKeyboardDebug: TfrmLdmlKeyboardDebug | |||
Font.Name = 'Arial' | |||
Font.Style = [] | |||
ParentFont = False | |||
PlainText = True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this so RichEdit displays U+0001?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this doesn't have any direct impact. It was inserted automatically by the Delphi development environment; it's probably not important but it matches what we specified for the component at design time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
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
User Testing
TEST_DEADKEYS: In the keyboard debugger, select a keyboard that includes deadkeys (such as sil_bengali_phonetic). Try typing keys that generate deadkeys, and verify that they display as a square box and are highlighted in the character grid below. Make sure that the deadkey rules function correctly e.g. type qa in sil_bengali_phonetic. Also try backspacing a deadkey -- both the deadkey and the preceding character should be deleted with a single keystroke (as normally, deadkeys are not visible to the end user).