Lars Ingebrigtsen writes: > Stefan Kangas writes: > >> Do we have an alternative to downcase, or should we just ensure that >> it uses a standard case-table? Could that lead to any other problems? > > But then non-ASCII characters wouldn't downcase correctly. :-) > > Since we're just trying to be backwards compatible, perhaps it would > make sense to try downcase twice -- once with the current case-table and > once with the standard one and see whether either matches? So I've tried this approach in the attached patch, but I couldn't get it to work. I'm probably doing something wrong, given that I've never so much as glanced at language environments and case tables before this. Eli Zaretskii writes: > We could use the equivalent of > > (get-char-code-property ?I 'lowercase) > > If the above returns nil, it means the lower-case variant is the > character itself. > > In C, this means to use uniprop_table, like bidi.c and casefiddle.c > do. This accesses the database generated from UnicodeData.txt. I didn't try this approach, mostly because it sounds more difficult to implement than what Lars said. I think? Wouldn't it amount to basically re-implementing Fdowncase? Sorry, I didn't look too closely at this. Perhaps this would be the better approach. If anyone has any preferences or further ideas here, that would be much appreciated, otherwise I'll keep investigating. The attached patch is what I have so far. It's obviously not yet finished, but all tests pass except for the one for "I->i" conversion in the Turkish language environment.