%%% Unicode engine detection with ASCII

We want to test whether we are using an engine like Lua\TeX\ or Xe\TeX\ that
supports Unicode. The 2009 pearl by Arthur Reutenauer is very nice and compact,
but it needs a proper UTF-8 character. Here is another test that uses only ASCII.

\beginverbatim
\newif\ifunicodeengine
\begingroup
\catcode`\^=7 \catcode30=12 % just in case: 30 is `\^^^
\def\gobble#1{}
\edef\next{\gobble^^^^0021}
\expandafter\endgroup
\ifx\next\empty\unicodeenginetrue\else\unicodeenginefalse\fi
\endverbatim

With an 8-bit engine, \type{\gobble} will swallow only \verb|^^^| (ASCII 30), leaving
\type{\next} expand to \verb|^0021|, while Lua\TeX\ and Xe\TeX\ have the extended 
\verb|^^^^| convention that will make \type{\gobble} eat up \verb|^^^^0021|, 
leaving \type{\next} expand to nothing. We just hope that! (ASCII 0x21) has not category
code 9 or 14! And that \type{\empty} is still empty.
