I am writing some functions to manipulate strings. A typical way to produce a character with a given character code is the
\lowercase primitive. The following code produces a character with code 234, and displays it to the terminal.
If I replace
345 above, then pdfTeX raises an error:
Invalid code (345), should be in the range 0..255. On the other hand, LuaTeX and XeTeX are happy up to
1114111, as expected from a Unicode-compliant engine.
Now, I want my macros to be as robust as possible. Is it always true that the maximum lccode is 255 in pdfTeX and 1114111 in LuaTeX and XeTeX? Or can a user prevent in any way the engine from using the full range, hence confusing my macros?