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