Set Language for String Processing?
Peter W A Wood
peterwawood at gmail.com
Tue May 6 07:26:10 EDT 2014
Hi Fraser
Thanks for the prompt reply.
On 6 May 2014, at 17:29, Fraser Gordon wrote:
> The uppercasing and lowercasing behaviour provided by the LiveCode engine is language-neutral (read: wrong for some languages). Internationalisation and localisation are areas that we are aware of but 7.0 does not include any way to change the locale for string processing operations.
Did you forget to type the "yet" at the end of the sentence ;-)
> Other oddities that people might encounter is that the toupper of "ß" (sharp-S) is itself and not the expected "SS" - some scripts became a little confused when changing the case of a string also changed its length.
>
> Regards,
> Fraser
After your mail I did check that 7.0 correctly handles the "banana skin" lower-to-upper codepoint - 0xFB04 - my simple test passes:
startTest "Unicode3"
put "ba" & numToCodepoint(0xFB04) & "e" into tUnicodeString
assertEqual "BAFFLE", the Upper of tUnicodeString
endTest
So it's only Language(Locale) specific case shifting that LiveCode 7.0 can't handle at the moment.
Regards
Peter
PS I was truly impressed to find that comparing pre-composed and decomposed characters worked without the need for the strings to be normalised. For example, this test passes:
startTest "Unicode1"
put numToCodepoint(0xE7) into tPrecomposed
put "c" & numToCodepoint(0x0327) into tDecomposed
assertEqual tPrecomposed, tDecomposed
endTest
More information about the use-livecode
mailing list