-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Character Overlap during Korean IME Composition #4963
Comments
A data point: pasting in the same character sequence from the clipboard did not cause such an effect when I tried it, out of curiosity. I didn't try a Hangeul input method, though. |
@jdebp Thanks for the additional comments! This problem is reproduced in the process of combining IME Hangul characters, so it is difficult to reproduce it by copying the clipboard. |
If you test by typing the letters ㅌ, ㅔ, ㅅ, ㅡ, ㅌ, ㅡ in order, you can check the problem. |
So at first glance, it seems like the What's funny is that while debugging this by building it in Visual Studio and running it with the debugger, my breakpoints slow the events down enough that sometimes the Terminal updates its cursor before the @KennethanCeyer I think the fix might be simple, depending on how difficult it is to figure out when we should be re-drawing where the |
@leonMSFT |
Hi @KennethanCeyer, just checking in to see where you're at with this bug, if you haven't had too many chances to make much progress on it, I could pick up from where you left off. Otherwise if you're close to a PR disregard me! 😄 I'm just tracking this bug more closely than others because it's marked as a P1 bug. |
@leonMSFT |
Please don’t apologize! You were definitely not a blocker, as I was working on some other bugs in the meantime anyway. I was happy to let you take a look at the bug since you expressed some interest 🙂 I just figured I would check in to see how you were doing and perhaps offer my assistance. Thank you for reporting the bug and looking into it and providing your findings in the meantime though, I really appreciate it! 👍🏻 |
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR will allow TSFInputControl to redraw its Canvas and TextBlock in response to when the Terminal cursor position updates. This will fix the issue where during Korean composition, the first symbol of the next composition will appear on top of the previous composed character. Since the Terminal Cursor updates a lot, I've added some checks to see if the TSFInputControl really needs to redraw. This will also decrease the number of actual redraws since we receive a bunch of `LayoutRequested` events when there's no difference between them. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] Closes #4963 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Tests added/passed <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Startup, teardown, CJK IME gibberish testing, making sure the IME block shows up in the right place.
🎉This issue was addressed in #5135, which has now been successfully released as Handy links: |
I also found the bug reproducible in |
Seems fixed in 1.12.10982.0. Previous: chars overlapped and stayed there. |
Environment
Windows version
Terminal version
Steps to reproduce
"테스트"
(It means test in Korean)Expected behavior
Rather than a long explanation, I'd rather attach the behavior of another operating system terminal.
In the case of MacOS, the cursor is positioned under the letter being combined during the Korean language composition process, and there is no collision of letters.
In the Ubuntu 18.04 X Window system environment, if the same operation is performed in the terminal, You can expect that Hangul characters are under the composition process in a cursor shape. And the Hangul characters do not overlap.
Actual behavior
In
Version: 0.10.761.0
, there is a problem that the Korean characters are overlapped as shown in the picture above.If this problem is expected to be relatively minor by the core development team, please give a hint to the source code that is expected to be a problem so that I can give you a PR.
The text was updated successfully, but these errors were encountered: