Bug 467104

Summary: Change Case Error in Turkish
Product: [Frameworks and Libraries] frameworks-ktexteditor Reporter: Emir SARI <emir_sari>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: christoph, waqar.17a
Priority: NOR    
Version First Reported In: 5.103.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Emir SARI 2023-03-09 11:30:19 UTC
In Turkish, the capital form of the letter i is İ (with a dot on top). Also, there is another dotless ı, which is capitalised as I. This causes errors while changing case.

For instance, the small case version of the word YILDIZ should be "yıldız", not "yildiz".

As additional info, converting an all caps word into small caps leaves some artifacts, for instance small-casing "VAMPİR", gives the output "vampi̇r" (there is an additional here-invisible character between i and r.
Comment 1 Waqar Ahmed 2023-03-10 06:11:48 UTC
Can confirm the issue.

We can fix this by using QLocale::toLower / QLocale::toUpper,
Comment 2 Christoph Cullmann 2023-03-11 15:27:21 UTC
Git commit f1b56d0f47af2c90e129cf27eafe978812f22ef0 by Christoph Cullmann.
Committed on 11/03/2023 at 15:27.
Pushed by cullmann into branch 'master'.

honor locale for upper/lower casing

M  +5    -2    src/document/katedocument.cpp

https://invent.kde.org/frameworks/ktexteditor/commit/f1b56d0f47af2c90e129cf27eafe978812f22ef0
Comment 3 Emir SARI 2023-03-11 15:39:13 UTC
Thank you!
Comment 4 Christoph Cullmann 2023-03-11 15:57:13 UTC
Git commit 0b73f31daefdd047d04616efb41fc28698a663b3 by Christoph Cullmann.
Committed on 11/03/2023 at 15:56.
Pushed by cullmann into branch 'master'.

allow that specific locale is set

M  +2    -2    src/document/katedocument.cpp

https://invent.kde.org/frameworks/ktexteditor/commit/0b73f31daefdd047d04616efb41fc28698a663b3
Comment 5 Christoph Cullmann 2023-03-11 15:57:43 UTC
(In reply to Emir SARI from comment #3)
> Thank you!

No problem, thanks for reporting :)