Turkish Character Display Problem on Android; Letters "i" turn into "ı"
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
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 )
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the linked semcak1/android-gestafont-issue reproducer with React Native 0.73.5 on Android, comparing English and Turkish device languages using the provided Gesta font. Investigate the Android-specific rendering path before proposing a change. Done means the letter "i" displays correctly in Turkish without regressing the English-language result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100