Raymond,
Some time ago I did an experiment along the lines of changing some magic definitions (both in Character and in Scanner) to allow for all of umlauts diacritics etc. It's *really* simple ... and it works too ;-)
[BTW, if you're interested I think I can still dig out the code]
Andreas I'm not an expert yet in Squeak but if this is not too much work for you, I will appreciate this code even if it was to begin to understand what are the issues.
See attached code. It basically introduces a character classification table that defines for each character whether it's a (lower or upper case) letter plus the appropriate corresponding character (since they're spread out over many places). Here are a few things that now work (based on German since that's my native language ;-)
$Ü isLetter => true $Ü isUppercase => true $Ü asLowercase => $ü
etc. etc. etc. See Character>>initializeClassificationTable. BTW, I might have gotten a few things wrong so fixes are appreciated. And with these changes the system will gladly accept those characters wherever you'd like to use them in your code. And it fixes the annoying selection issue that you noticed.
Cheers, - Andreas
squeak-dev@lists.squeakfoundation.org