react / react/react-native

Turkish Character Display Problem on Android; Letters "i" turn into "ı"

Offen
#44,183 5 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Issue: Author Provided Repro Needs: Attention Needs: Version Info Platform: Android
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

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
  1. 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
  2. Open terminal and move to project root then run "npm run android" or "yarn android"
  3. If the device language is English, you will not see any mistakes in the fonts.
  4. Then go to Language Settings in Device ( Emulator or Real ), Settings -> System -> Languages
  5. Add Turkish language. And set it, ( move it up)
  6. Re run the app.
  7. 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 )
image

Result when device language is English ( CORRECT )
image

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den verlinkten semcak1/android-gestafont-issue-Reproduzierer mit React Native 0.73.5 auf Android auszuführen und die Gerätesprachen Englisch und Türkisch mit der bereitgestellten Gesta-Schriftart zu vergleichen. Untersuche den Android-spezifischen Rendering-Pfad, bevor du eine Änderung vorschlägst. Als erledigt gilt die Aufgabe, wenn der Buchstabe "i" auf Türkisch korrekt angezeigt wird, ohne das Ergebnis für die englische Sprache zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, react-native
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.