From: "andrykonchin (Andrew Konchin)" Date: 2022-02-22T23:15:36+00:00 Subject: [ruby-core:107727] [Ruby master Bug#18590] String#downcase and CAPITAL LETTER I WITH DOT ABOVE Issue #18590 has been updated by andrykonchin (Andrew Konchin). Thank you for the suggestion. I am wondering whether `String#downcase` (when called without arguments) follows only Unicode case mapping rules (as stated in the [documentation]). Or also the folding ones. I would expect that a call of `String#downcase` without arguments uses the one-to-one case mapping rules, that are specified in the [UnicodeData.txt] file. [documentation]: https://ruby-doc.org/core-3.0.0/String.html#method-i-downcase [UnicodeData.txt]: https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt ---------------------------------------- Bug #18590: String#downcase and CAPITAL LETTER I WITH DOT ABOVE https://bugs.ruby-lang.org/issues/18590#change-96650 * Author: andrykonchin (Andrew Konchin) * Status: Assigned * Priority: Normal * Assignee: duerst (Martin D��rst) * ruby -v: 3.1.0p0 * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- Downcasing for "��" character works in an unexpected way: ```ruby '��'.downcase => "i��" ``` Expected result - downcasing should return "i". Instead, it returns small "i" and additional "dot" character: ```ruby '��'.downcase.chars => ["i", "��"] ``` According to the standard Unicode case mapping character '��'(0130) maps to lowercased 'i' (0069). ``` 0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069; ``` https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt -- https://bugs.ruby-lang.org/ Unsubscribe: