microsoft / microsoft/vscode

Fix Persian and Arabic Rendering in the VS Code Integrated Terminal

Open
#327,965 0 comments 0 reactions 1 assignee Claimed by @anthonykim1 View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

# Fix Persian and Arabic Rendering in the VS Code Integrated Terminal

Does this issue occur when all extensions are disabled?: Yes

- VS Code Version: 1.130.0
- OS Version: macOS (Apple Silicon)

## Description

The VS Code integrated terminal does not properly render Persian (Farsi) and Arabic text.

Persian and Arabic languages require proper RTL (right-to-left) and BiDi (bidirectional) text handling, but the integrated terminal currently has several rendering issues.

## Steps to Reproduce:

1. Open VS Code integrated terminal.
2. Run:

```bash
echo "سلام دنیا"
```

3. Observe the output.

## Actual Behavior:

- Persian and Arabic characters are not rendered correctly.
- Characters may appear disconnected or in the wrong order.
- RTL text direction is not handled properly.
- Mixed Persian/Arabic and English text is displayed incorrectly.
- Cursor position does not always match the visual position of the text.
- Text selection and copy/paste behavior can become inconsistent.

## Expected Behavior:

The integrated terminal should correctly render RTL languages such as Persian and Arabic, including:

- Proper character shaping.
- Correct right-to-left text direction.
- Correct handling of mixed RTL/LTR content.
- Accurate cursor movement and text selection.

## Additional Information:

Tested with UTF-8 locale:

LANG=C.UTF-8
LC_CTYPE=C.UTF-8

The problem is not related to encoding.

Extensions that implement an RTL rendering layer can partially solve the issue, suggesting that the main limitation is related to the terminal rendering engine.

It would be great to have native RTL and Arabic shaping support in the VS Code integrated terminal.

Thank you for your work on improving the terminal experience.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.