microsoft / microsoft/terminal

Support Right to Left (RTL) text

Open
#538 37 comments 47 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Rendering Help Wanted Issue-Feature Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

[!NOTE]
This issue is not eligible for LLM, Agentic, Copilot, AI, Claude, Opencode, Anthropic contributions. Users who submit pull requests authored solely by any of these tools will be discovered and banned.

  • What you're doing and what's happening: When writing some right-to-left characters (Farsi, Arabic, ...) after some left-to-right characters, the rtl text goes from the cursor position into the left, causing it to be mixed with the ltr text written before.

  • Steps to reproduce: Open a Windows Terminal window. write some english characters, like abcdef. Then write some Farsi/Arabic text, like:

      سلام
    

    Notice that the Farsi text goes inside the english text.

  • Screenshot:

image

  • what should be happening instead: As console is generally left to right, the rtl text should begin more on the right (cursor should go to right), and it should end exactly when the ltr text ended. See how Notepad (correctly) handles this situation:

image

  • Windows build number: 10.0.18362.86

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are named. Reproduce the behavior in a Windows Terminal window by typing English followed by Farsi or Arabic, then investigate the terminal's text input and rendering path; done means RTL text starts to the right without mixing into the preceding LTR text, matching the Notepad example.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.