Turkish Character Display Problem on Android; Letters "i" turn into "ı"
まだ誰も着手していません。
- 主要言語
- C++
- スター
- 127k
- フォーク
- 25.3k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 4
説明
Description
I am developing an application with react native.
I have a language font file called Gesta. It supports the Turkish language.
I do not encounter any problems on the iOS side
On the android side
If the language of the device is English, the fonts are displayed properly.
If the language of the device is Turkish, the letters "i" turn into the letter "ı". I want to see each letter as it is, how can I correct this?
Steps to reproduce
- Add Gesta fonts to react-native
download font by this link - > Gesta-Regular.ttf.zip
to add the font to project look at this. - > https://dharasapariya.medium.com/a-guide-on-using-custom-fonts-in-react-native-android-6ef20d88c75f - Open terminal and move to project root then run "npm run android" or "yarn android"
- If the device language is English, you will not see any mistakes in the fonts.
- Then go to Language Settings in Device ( Emulator or Real ), Settings -> System -> Languages
- Add Turkish language. And set it, ( move it up)
- Re run the app.
- You will see "i" letters turn into "ı".
React Native Version
0.73.5
Affected Platforms
Runtime - Android
Output of npx react-native info
System:
OS: macOS 14.4.1
CPU: (12) arm64 Apple M2 Pro
Memory: 72.73 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 16.20.2 - /var/folders/wj/qz_yjcdx7fd99qb06y7dt_f9k6zxbt/T/yarn--1713796063065-0.18942484615667166/node
Yarn: 1.22.21 - /var/folders/wj/qz_yjcdx7fd99qb06y7dt_f9k6zxbt/T/yarn--1713796063065-0.18942484615667166/yarn
npm: 8.19.4 - ~/.nvm/versions/node/v16.20.2/bin/npm
Watchman: 2024.01.22.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.15.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2
Android SDK: Not Found
IDEs:
Android Studio: 2023.1 AI-231.9392.1.2311.11330709
Xcode: 15.2/15C500b - /usr/bin/xcodebuild
Languages:
Java: 17.0.10 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: 0.73.5 => 0.73.5
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
Stacktrace or Logs
no logs
Reproducer
Screenshots and Videos
Result when device language is Turkish ( WRONG )
Result when device language is English ( CORRECT )
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、リンクされている semcak1/android-gestafont-issue の reproducer を React Native 0.73.5 で Android 上で実行し、提供された Gesta フォントを使用して、デバイスの言語を英語とトルコ語にした場合を比較します。変更を提案する前に、Android 固有のレンダリングパスを調査してください。トルコ語で文字 "i" が正しく表示され、英語の場合の結果にリグレッションが発生しなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, react-native
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100