#include <Char.hh>
typedef struct TableEntry
{
Char16 normal;
Char32 variant;
} TableEntry;
static TableEntry table[] =
{
{ 0, 0 }
};
#include <cstdio>
int
main()
{
unsigned i = 0;
while (table[i].normal != 0)
{
unsigned i0 = i;
while (table[i].normal == table[i + 1].normal - 1) i++;
if (i0 == i)
printf(" if (ch == 0x%04X) return 0x%04X;\n", table[i].normal, table[i].variant);
else
printf(" if (ch >= 0x%04X && ch <= 0x%04X) return table[ch - 0x%04X].variant;\n", table[i0].normal, table[i].normal, table[i0].normal - i0);
i++;
}
return 0;
}
{ 0x, 0x },