Revela
e786604228
Add Arabic text shaping support for chat functionality
...
This commit introduces Arabic text shaping in the chat application by adding `ArabicShaping.cpp` and `ArabicShaping.h` for handling contextual forms and visual reordering.
The rendering logic in `ChatScreen.cpp` is updated to utilize this new functionality, adjusting cursor positions accordingly. Other UI components, including `UIControl_Base.cpp`, `UIControl_Label.cpp`, and `UIControl_SaveList.cpp`, are modified to ensure proper display of Arabic text.
Additionally, `Font.cpp` is enhanced with methods for efficient rendering of pre-shaped text.
2026-03-17 17:08:58 -05:00
..
2026-03-02 17:37:16 +07:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-17 17:08:58 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-17 17:08:58 -05:00
2026-03-17 17:08:58 -05:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-13 06:56:46 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-13 11:11:21 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-02 17:37:16 +07:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00