[JW Lua] FCString:CreateEnigmaStrings doesn't work on long unicode strings, but on short ones

Jari Williamsson jari.williamsson at mailbox.swipnet.se
Thu Jul 9 19:14:09 CEST 2015


On 2015-07-09 18:30, Jan Angermüller wrote:

> But why does it fail to convert THREE identical symbols in a row, while
> it succeeds when converting the same TWO identical symbols in a row. It
> is always the same UTF conversion.
> And why does it succeed again in converting the three identical symbols
> when they were preceded by an ascii symbol ? (e.g. char(36) .. 0xe050 ..
> 0xe050 .. 0xe050  works fine in a LuaString while  0xe050 .. 0xe050 ..
> 0xe050 doesn't)

This is OS specific. On the Mac, none of these conversion examples 
produces any UTF-8 string.

And when running on a debug build on Windows, the 
char(36)..0xe050..0xe050..0xe050 version followed by a LuaString 
conversion signaled heap corruption (even though a UTF-8 string was 
produced). I've written this down as a reproducible bug.

> What range do you mean exactly with "unicode text range" ? 0-128, 0-255,
> 0-1FFF, 0-DFFF or 0-FFFF ?

The SMuFL standard are symbols within the Private Use Area (E000-F8FF), 
so any conversion to other text formats might likely be inaccurate. The 
standard text ranges for Unicode are listed here:
http://www.unicode.org/charts/


Best regards,

Jari Williamsson





More information about the JWLua mailing list