Skip to content

Japanese IME doesn't preserve the text that it overwrites #6186

@j4james

Description

@j4james

Environment

Windows build number: Version 10.0.18362.720
Windows Terminal version (if applicable): Commit 2af722b

Steps to reproduce

  1. Install the Japanese language pack.
  2. Open a cmd shell in conhost (built from source).
  3. Open the Properties dialog and change the font to MS Gothic.
  4. Switch the input language to Japanese Microsoft IME.
  5. Make sure the IME option is initially Half-Width Alphanumeric.
  6. Type abcdefgh
  7. Move the cursor back to the start of the line.
  8. Switch the IME option to Hiragana.
  9. Type sushi then press Esc to close the IME.
  10. Press Esc again to cancel the added text.

Expected behavior

In the process of typing sushi, the latin characters abcdef will be temporarily overwritten, but after step 9, I'd expect the ef restored, and only the abcd overwritten with すし. After step 10, I'd expect to see all the latin characters restored.

This is what those two steps looks like in the cmd shell in my current version of Windows.

image

Actual behavior

After step 9, the ef characters have been replaced with blanks, and after step 10 they're still blank.

image

What is weird is that I tried reverting the code back to the first public commit and it still seems to have that problem. I would have thought the cmd shell that shipped with Windows was much more recent than that. So I don't know if maybe it's just something about the build process that I'm getting wrong.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-InputRelated to input processing (key presses, mouse, etc.)Area-RenderingText rendering, emoji, complex glyph & font-fallback issuesArea-i18nInternationalization issues (e.g.: non-US input handling doesn't work)In-PRThis issue has a related PRIssue-BugIt either shouldn't be doing this or needs an investigation.Needs-Tag-FixDoesn't match tag requirementsPriority-2A description (P2)Product-ConhostFor issues in the Console codebase

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions