Fix Persian and Arabic Rendering in the VS Code Integrated Terminal
- 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
Assessment
This issue has not been assessed yet.