Android RTL Rendering Mathematical Symbols and Number Groups Backwards
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 35/100
- Issue 類型
- 缺陷
- 描述清晰度
- 需要釐清
- 活躍度
- 停滯
- 技術堆疊
- android, react-native
研究方向
執行必要的 Expo 54 reproducer,並將其 Android RTL 輸出與 Expo 52 範例進行比較,重點關注 React Native 0.76.9 與 0.79.5/0.81.5 的差異。完成的標準是確定 Android 是否能夠符合先前對數學符號和數字群組的 LTR 處理,或提供有文件說明的 opt-out,而不要求為每個值加入 \u200E 字元。
由索引模型根據 Issue 內容生成。
描述
Description
Since upgrading to Expo 53/54, we are seeing a big change in how numbers are rendered in Arabic mode (RTL) on Android.
Here are some examples of differences we're seeing (tested on both Expo 53 and Expo 54 using 0.79.5 and 0.81.5 respectively)
Expo 52 (RN 0.76.9): -123.456
Expo 53 (RN 0.79.5): 123.456-
Expo 54 (RN 0.81.5): 123.456-
Expo 52 (RN 0.76.9): +455.234
Expo 53 (RN 0.79.5): 455.234+
Expo 54 (RN 0.81.5): 455.234+
Expo 52 (RN 0.76.9): 12 - 13 = 25
Expo 53 (RN 0.79.5): 25 = 13 - 12
Expo 54 (RN 0.81.5): 25 = 13 - 12
I'm unable to find any documentation regarding this change which is not being applied on iOS (causing a lot of differences between the two devices). Please see the attached screenshots for more details.
Expo 52 repo: https://github.com/steinalex/expo-52-arabic-numbers
Expo 54 repo: https://github.com/steinalex/expo-54-arabic-numbers
Is there a way to opt out of this on Android and always render numbers with mathematical symbols in LTR mode?
The only way around it so far is to manually inject the LRT unicode character '\u200E' everywhere, but that's not a viable solution for our very large project.
Whilst I'm using Expo templates to help generate a minimal example, I do not believe this is an Expo specific issue.
Steps to reproduce
- Install the minimal retro
- Observe the difference in the numbers being rendered between React Native versions
React Native Version
0.79.5+
Affected Platforms
Runtime - Android
Output of npx @react-native-community/cli info
System:
OS: macOS 15.7.1
CPU: (10) arm64 Apple M1 Pro
Memory: 156.45 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.17.1
path: /Users/alex.stein/.asdf/installs/nodejs/22.17.1/bin/node
Yarn:
version: 1.22.19
path: /Users/alex.stein/.asdf/shims/yarn
npm:
version: 10.9.2
path: /Users/alex.stein/.asdf/plugins/nodejs/shims/npm
Watchman:
version: 2025.03.10.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.1
- iOS 26.1
- macOS 26.1
- tvOS 26.1
- visionOS 26.1
- watchOS 26.1
Android SDK: Not Found
IDEs:
Android Studio: 2024.3 AI-243.24978.46.2431.13208083
Xcode:
version: 26.1.1/17B100
path: /usr/bin/xcodebuild
Languages:
Java:
version: 11.0.16.1
path: /Users/alex.stein/.asdf/shims/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.5
wanted: 0.81.5
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Stacktrace or Logs
N/A
MANDATORY Reproducer
https://github.com/steinalex/expo-54-arabic-numbers
Screenshots and Videos
| Expo 52 (Android) | Expo 54 (Android) |
|---|---|
- 主要語言
- C++
- 星號
- 127k
- 分支
- 25.3k
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
react/react-native 的其他 Issue
-
Needs: Author Feedback Needs: Repro
難度 2/5 1-3 小時 新手友好度 76/100
react/react-native#58952 · 1 則留言 ·
維護者通常 1 天內回覆
-
Needs: Attention Needs: Repro
難度 2/5 1-3 小時 新手友好度 78/100
react/react-native#58904 · 2 則留言 ·
維護者通常 1 天內回覆
-
Needs: Author Feedback Needs: Repro
難度 2/5 1-3 小時 新手友好度 75/100
react/react-native#58659 · 2 則留言 ·
維護者通常 1 天內回覆
-
Needs: Author Feedback Needs: Repro
難度 1/5 1 小時以內 新手友好度 92/100
react/react-native#58621 · 1 則留言 ·
維護者通常 1 天內回覆
-
Add TypeScript declaration for the performance global可能已有人在做 @Cedric921 於 5 天前認領。 未關閉Needs: Attention Needs: Repro
難度 2/5 1-3 小時 新手友好度 85/100
react/react-native#58610 · 4 則留言 ·
維護者通常 1 天內回覆
查看 react/react-native 的全部 Issue
相似的 Issue
-
upstream update
難度 2/5 1-3 小時 新手友好度 65/100
conan-io/conan-center-index#31142 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
-
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 84/100
NVIDIA/DeepStream#78 ·