Peter_Constable@sil.org wrote:
> ...
> Else if U+0800 <= U <= U+D7FF, or if U+E000 <= U <= U+FFFF, then
> C1 = U \ x1000 + xE0
> C2 = (U mod x1000) \ x40 + x80
> C3 = U mod x40 + x80
> Else if U >= U+FFFF, then
This looks like it includes U+FFFF in two branches.
Well, you catch U+FFFF in the previous condition, but to make it cleaner you should change this to either > U+FFFF or >= U+10000.
> C1 = U \ x40000 + xF0
> C2 = (U mod x40000) \ x1000 + x80
> C3 = (U mod 100016) \ x40 + x80
C3 = (U mod 0x1000) \ x40 + x80
^^ ^^ (you knew that)
> C4 = U mod x40 + x80
> Else
> Error
> End if
markus
This archive was generated by hypermail 2.1.2 : Wed Nov 14 2001 - 18:15:04 EST