Hollywood 7.0 finally introduces full Unicode support. Before Hollywood 7.0 the program was limited to ISO 8859-1 on Windows, Linux, and macOS, and to the system's default charset on AmigaOS and compatible systems. Hollywood 7.0 now comes with full Unicode support which is implemented using the UTF-8 character encoding. Thus, starting with Hollywood 7.0, all your scripts should be saved in the UTF-8 character encoding, either with or without BOM.
All text stored inside strings will now be stored as UTF-8 and all the functions in the string and text libraries will now expect UTF-8 formatted text by default. It is possible to put Hollywood in legacy mode, i.e. to force it to use ISO 8859-1 or the system's default charset on AmigaOS, by using the ‘-encoding’ console argument or its counterpart in the @OPTIONS preprocessor command, but this is not recommended because in legacy mode, your script isn't guaranteed to run flawlessly on different locales.
All string and text library functions that need to operate on characters within strings
accept an optional encoding parameter which allows you to set the character encoding the
string uses. Normally, it is not necessary to use this optional encoding parameter because
it is highly recommended to always use UTF-8. In some cases, however, it might be handy
to be able to have string and text functions operate on encodings different from UTF-8.
This is especially so if you need to operate on raw binary data stored in a string. In
that case, you can just pass the
#ENCODING_RAW constant to the respective functions to
tell them that you wish to operate on the raw binary data inside the string instead of
characters stored in UTF-8 encoding. The string functions won't perform any integrity
checks on the string that is passed to them and will just operate on the raw binary data
stored inside the string.
To change the default character encoding for the string and text libraries, you can use
the SetDefaultEncoding() function. See SetDefaultEncoding for details.
However, this is normally not needed and you should just keep
#ENCODING_UTF8 as the default
If you need to listen to non-English keys, you have to use the new
VanillaKey event handler
VanillaKey supports the complete
Unicode range of characters whereas
OnKeyUp only support control keys and
standard English keys. See InstallEventHandler for details.
In the course of the transition to Unicode in Hollywood 7.0 there might be some compatibility issues with older scripts. All potential issues are discussed in the compatibility section. See Compatibility for details.
Finally, please note that Hollywood's text renderer currently only supports traditional text, i.e. text that is laid out from left to right on horizontal lines. The text renderer currently doesn't support text that runs from right to left or vertical text.