On Tue, Jan 4, 2011 at 8:24 AM, Mehmet Köse <[email protected]> wrote: > > utf8-string-downcase cannot convert "Latin Letter With Dot Above" > correctly. (U-0130, only Turkish has this letter afaik.) This one-line > patch fixes the problem for me:
Teşekkür ederim! I think this was an error from using the same code for upcase and downcase. > - ((#x0130) (if (lang? opt "tr" "az") #\I dotted-small-i)) > + ((#x0130) (if (lang? opt "tr" "az") #\i dotted-capital-i)) This is char-downcase, so both #\I and dotted-capital-i are wrong. I think it should be ((#x0130) (if (lang? opt "tr" "az") #\i dotted-small-i)) That is, in Turkish the dotted capital I always downcases to normal i. In other locales, dotted capital I isn't even a character, so it should follow the rules for the Unicode locale independent lowercasing, which require "dotted-small-i" to preserve canonical equivalence. "dotted-small-i" is just small i with a combining dot above, which when uppercased becomes capital I with combining dot above (without the combining dot it uppercases to normal capital I, losing the dot). I'll double check some of these cases and release a new version shortly. -- Alex _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
