There exist different standards to represent characters. In LME, characters are stored as 16-bit unsigned integer numbers. The mapping between these codes and the actual characters they represent depends on the application and the operating system. Currently, on macOS, Windows and Linux, Sysquake uses the UTF-16 character encoding (i.e. Unicode characters encoded in one or two 16-bit words).
To make the exchange of files possible without manual conversion, all text files used by LME applications can have their character set specified explicitly. In Sysquake, this includes library files (.lml), SQ files (.sq), and SQ data files (.sqd). Versions of Sysquake using Unicode (currently macOS and Linux) convert automatically files with a charset specification.
The character set specification is a comment line with the following format:
Spaces between the comment mark and the keyword charset are ignored. The comment line must be the first or the second line of the text file. The character set charsetname must be one of the following:
|ascii or usascii||ASCII|
|utf-8 or utf8||UTF-8 (unicode)|
|iso-8859-1 or iso-latin-1||ISO-Latin-1 (Windows 1252)|
|macintosh or macosroman||Mac OS Classic|
Here are advices about the use of character set specifications, both for the current transition phase where Sysquake for Windows does not use Unicode and for the future.
If you need only ASCII (typically because you work in English, or for files without text or where unaccented letters are acceptable), do not add any character set specification (ASCII is a subset of all supported character sets) or add charset=ascii as an indication that the file should contain only 7-bit characters.
If you need accented characters found in western European languages, use ISO-8859-1 with an explicit character set specification on Windows and other platforms if you need cross-platform compatibility, or any character set with a character set specification otherwise.
If you need another native character set on Windows, do not add any character set specification, and switch to UTF-8 as soon as a unicode version of Sysquake becomes available.