Skip to content

Arabic Text Rendering: Disconnected and Reversed Characters in Chat #915

@StrikeLap

Description

@StrikeLap

Description

The client has started to accept Arabic character input, but the rendering is incorrect. Arabic text is currently displayed as isolated, disconnected glyphs, and the character order is reversed (Left-to-Right instead of Right-to-Left). This makes the text unreadable for Arabic-speaking users.

XNA Client Version

2.12.17.0 (Cnc Client Version 9.0.6)

Steps To Reproduce

  1. Open the client and enter any chat room or lobby.
  2. Change your keyboard input to Arabic.
  3. Type a common Arabic word like مرحبا (Hello).
  4. Observe the text in the chat input field or after sending it to the chat log.

Expected Behaviour

The Arabic text should be rendered correctly using the Arabic Shaping algorithm, where letters connect to one another based on their position in the word. Additionally, the text should follow the Right-to-Left (RTL) direction. Example: It should look like مرحبا.

Actual Behaviour

The characters appear in the wrong order and are not connected. Example: مرحبا appears as ا ب ح ر م.

Additional Context

This issue is typical when the rendering engine lacks support for Complex Text Layout (CTL) and Bidirectional (BiDi) text. I have attached a screenshot showing the issue in the chat:

Image

Checklist

  • The issue happens on the latest official version of XNA Client and wasn't fixed yet.
  • I agree to elaborate the details if requested and provide thorough testing if the bugfix is implemented.
  • I added a very descriptive title to this issue.
  • I used the GitHub search and read the issue list to find a similar issue and didn't find it.
  • I have attached as much information as possible (screenshots, gifs, videos, client logs, etc).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions