[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MCL and accents



The string functions behave in a strange way with the extended ascii
character set.  I don't know if CLTL2 has standardized on these, but for
example doing a string-upcase on gigi (this is a 4 letter word : g - e with
accute accent - g - e with accute accent) returns G3G3 instead of GEGE. 
MCL seems to simply add an offset to "uppercase".  This is ok with low
ascii, but the rules for "upper-casing" extended ascii are more complex.

When you hold the shift key on a french keyboard and type an e with accute
accent, you get 2 (not 3!!).

When you press shift lock on a french keyboard and type an e with accute
accent, you get E.  This is what uppercase should be.

Also when you combine upcase and downcase, you should get your first string
back:

? (string-downcase (string-upcase "gigi"))  ;<- this has 2 accute accents
"g3g3"  <- instead of 2 accute accents
? 

Hope this is clear enough...  It's not easy to explain this knowing that
accents will probably be lost thru mail...

Vincent

--
Keunen Vincent
R&D, Software Engineer
keunen@montefiore.ulg.ac.be
tel: +32 41 407282
fax: +32 41 481170