]>
git.saurik.com Git - wxWidgets.git/blob - misc/unictabl/mk_ctable.c
13 int cmpt(const void *i1
, const void *i2
)
15 unsigned short u1
= ((charsetItem
*)i1
) -> u
;
16 unsigned short u2
= ((charsetItem
*)i2
) -> u
;
22 int main(int argc
, char *argv
[])
26 charsetItem table
[256];
28 for (i
= 0; i
< 256; i
++) { table
[i
].c
= i
, table
[i
].u
= 0; /* unknown */}
32 scanf("%i\t%i\n", &enc
, &unic
);
35 if (enc
< 128 && enc
!= unic
)
36 fprintf(stderr
, "7bit ASCII incompatibilit (%s): %i->%i\n",
44 " * %s to Unicode recoding table\n"
45 " * based on file %s by Unicode Consortium\n"
47 "static const wxUint16 encoding_table__%s[128] = {",
48 argv
[2], argv
[1], argv
[2]);
50 for (i
= 128; i
< 256; i
++)
54 printf(" 0x%04X%c", table
[i
].u
, (i
== 255) ? '\n' : ',');
58 qsort(table
+ 128, 128, sizeof(table
[0]), cmpt
);
62 NO, WE DON'T NEED REVERSE TABLE, WE CAN BUILD IT AT RUNTIME
63 (won't take that much time, after all you don't init
64 conversion so often...)
67 "static wxUint16 encoding_table_rev__%s[128] = {",
70 for (i = 128; i < 256; i++)
74 printf("{c:0x%02X,u:0x%04X}%c ", table[i].c, table[i].u, (i == 255) ? '\n' : ',');