libretro / libretro/RetroArch

bidirectional text support

Open
#13,900 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug: persian text prs welcome
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

First and foremost consider this:

Retroarch UI does not support BiDirectional text. so menu items with both Persian and English text in localized UIs, are shown incorrectly.

Description

Retroarch menu items with bidirectional text which start with RTL languages (Persian, Arabic, Hebrew,...) should be shown in RTL. but it is always shown in LTR.

a bidirectional text is one that has words from both RTL and LTR languages in it. like a combination of Persian and English.

Expected behavior

Bidirectional text should be oriented cocrrectly.

bidi text should be shown in RTL. for instance, look at text below:

"تنظیمات MIDI را تغییر دهید."

correct render:
image

Actual behavior

bidirectional text that starts with RTL text, is shown incorrectly.
for this Example, incorrect render (screenshot from Retroarch):
image

Steps to reproduce the bug
  1. set Retroarch UI language to Persian
  2. look at any menu item with both Persian and English text on it.
    for instance, in Retroarch Version 1.10.30 in menu: ساماندهی -> صدا there is a bidirectional text in the MIDI menu item description. (using image below you can find that menu item.)
    image
Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.10.30 - snap version
Environment information
  • OS: Linux 5.13.0-30-generic 20.04.1-Ubuntu x86_64 GNU/Linux
  • packaging: snap Rev 1396

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 issue by setting the RetroArch UI language to Persian and opening the MIDI menu item described in the report, then trace the UI text-rendering and localization paths. Done means mixed Persian and English menu text beginning with RTL text renders in the expected RTL order.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
localization
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.