<p dir="ltr">> The luatex code contains the lines (in unistring.w)<br>
> <br>
> if (val == 0xFFFD)<br>
>         utf_error();<br>
>     return (val);<br>
> <br>
> in a function str2uni. I didn't really try to understand the code<br>
> but it looks as if 0xFFFD is used as "invalid marker":</p>
<p dir="ltr">Interesting.  This is not actually correct, U+FFFD is a valid Unicode character; it would be better to use U+FFFE or U+FFFF for that.</p>
<p dir="ltr">Note that U+FFFD is the recommended character to use when a character can't be recognised while converting to Unicode from another encoding, so its presence is usually a sign that something went wrong upstream, but I assume Manfred is aware of that.</p>
<p dir="ltr">> The comment in the code says <br>
> <br>
> /* the 5- and 6-byte UTF-8 sequences generate integers <br>
> <br>
> that are outside of the valid UCS range, and therefore<br>
> <br>
> unsupported <br>
>          */</p>
<p dir="ltr">That's correct, the longest valid UTF-8 sequence is 4 bytes.</p>
<p dir="ltr">Best,</p>
<p dir="ltr">Arthur</p>