Dotted and dotless i are not handled properly for Turkic languages #10753

Closed
opened 2026-01-31 02:29:19 +00:00 by claunia · 6 comments
Owner

Originally created by @gokcehan on GitHub (Sep 24, 2020).

Environment

Windows build number: Microsoft Windows [Version 10.0.19041.508]
Windows Terminal version (if applicable): 1.2.2381.0

Any other software?

Steps to reproduce

  1. Change keyboard input language to Turkish Q
  2. Type ı on the keyboard (i key in English layout)
  3. Type İ on the keyboard (Shift+' key in English layout)

Expected behavior

It should type ıİ in the terminal

Actual behavior

It types i in the terminal

The above description may not be the best way to describe this issue. We have this confusing language feature in my native language Turkish as well as other Turkic languages. We have two separate characters for i for dotted and dotless versions. As you know fonts draw regular i with a dot when it is lowercase (i.e. i) and without a dot when it is uppercase (i.e. I). Therefore unicode conforming applications need to change the character value when the case is changed and the locale is Turkish. Examples below:

istanbul <-> ISTANBUL   (incorrect)
istanbul <-> İSTANBUL   (correct)
ıstanbul <-> ISTANBUL   (also correct but that is not the name of our city)

I would not mind this much but windows terminal shows ı as i which can be confusing when you forget to change your keyboard layout. Also hitting uppercase İ does not seem to type anything to the terminal which is kind of weird.

This issue happens in Windows terminal and powershell terminal, but cmd.exe terminal and most other applications like notepad seems to handle this properly.

Some related links below:

https://en.wikipedia.org/wiki/Dotted_and_dotless_I
https://unicode.org/faq/casemap_charprop.html

Originally created by @gokcehan on GitHub (Sep 24, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Windows build number: Microsoft Windows [Version 10.0.19041.508] Windows Terminal version (if applicable): 1.2.2381.0 Any other software? ``` # Steps to reproduce 1. Change keyboard input language to Turkish Q 2. Type `ı` on the keyboard (<kbd>i</kbd> key in English layout) 3. Type `İ` on the keyboard (<kbd>Shift+'</kbd> key in English layout) # Expected behavior It should type `ıİ` in the terminal # Actual behavior It types `i` in the terminal The above description may not be the best way to describe this issue. We have this confusing language feature in my native language Turkish as well as other Turkic languages. We have two separate characters for `i` for dotted and dotless versions. As you know fonts draw regular `i` with a dot when it is lowercase (i.e. `i`) and without a dot when it is uppercase (i.e. `I`). Therefore unicode conforming applications need to change the character value when the case is changed and the locale is Turkish. Examples below: ``` istanbul <-> ISTANBUL (incorrect) istanbul <-> İSTANBUL (correct) ıstanbul <-> ISTANBUL (also correct but that is not the name of our city) ``` I would not mind this much but windows terminal shows `ı` as `i` which can be confusing when you forget to change your keyboard layout. Also hitting uppercase `İ` does not seem to type anything to the terminal which is kind of weird. This issue happens in Windows terminal and powershell terminal, but cmd.exe terminal and most other applications like notepad seems to handle this properly. Some related links below: https://en.wikipedia.org/wiki/Dotted_and_dotless_I https://unicode.org/faq/casemap_charprop.html
claunia added the Needs-TriageNeeds-Tag-Fix labels 2026-01-31 02:29:20 +00:00
Author
Owner

@DHowett commented on GitHub (Sep 24, 2020):

If you use “command prompt” (cmd) inside Windows Terminal, what happens?

Terminal is a way for you to interact with many different text-mode applications; it will be important to identify if this is a client-specific issue.

@DHowett commented on GitHub (Sep 24, 2020): If you use “command prompt” (cmd) inside Windows Terminal, what happens? Terminal is a way for you to interact with many different text-mode applications; it will be important to identify if this is a client-specific issue.
Author
Owner

@gokcehan commented on GitHub (Sep 24, 2020):

@DHowett Oh, I haven't thought about it. Indeed, there is no problem when I run cmd.exe inside windows terminal. So this seems like a powershell issue and not related to windows terminal. Should I report this to somewhere else then?

@gokcehan commented on GitHub (Sep 24, 2020): @DHowett Oh, I haven't thought about it. Indeed, there is no problem when I run `cmd.exe` inside windows terminal. So this seems like a powershell issue and not related to windows terminal. Should I report this to somewhere else then?
Author
Owner

@cborac commented on GitHub (Sep 24, 2020):

I dont have the problem tho
@cborac commented on GitHub (Sep 24, 2020): <img src="https://i.sardonyx.studio/😀😩🐸😛🤭🤡🐲😫"> I dont have the problem tho
Author
Owner

@DHowett commented on GitHub (Sep 24, 2020):

@Sardonyx78 excellent background image choice!

@gokcehan interesting! Before I suggest filing the bug elsewhere... one more question: in PowerShell (inside Terminal), does it work when you Remove-Module PSReadline?

@DHowett commented on GitHub (Sep 24, 2020): @Sardonyx78 excellent background image choice! @gokcehan interesting! Before I suggest filing the bug elsewhere... one more question: in PowerShell (inside Terminal), does it work when you `Remove-Module PSReadline`?
Author
Owner

@gokcehan commented on GitHub (Sep 24, 2020):

@DHowett Yes, I can confirm running Remove-Module PSReadline fixes the problem.

@gokcehan commented on GitHub (Sep 24, 2020): @DHowett Yes, I can confirm running `Remove-Module PSReadline` fixes the problem.
Author
Owner

@DHowett commented on GitHub (Sep 24, 2020):

Excellent! In that case, the appropriate place to file this issue is https://github.com/powershell/psreadline.

Thanks!

@DHowett commented on GitHub (Sep 24, 2020): Excellent! In that case, the appropriate place to file this issue is https://github.com/powershell/psreadline. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#10753