aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj/convert/gen-from-JIS.c
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/gcj/convert/gen-from-JIS.c')
-rw-r--r--libjava/gnu/gcj/convert/gen-from-JIS.c37
1 files changed, 27 insertions, 10 deletions
diff --git a/libjava/gnu/gcj/convert/gen-from-JIS.c b/libjava/gnu/gcj/convert/gen-from-JIS.c
index c49b8945ec3..4df25bc5444 100644
--- a/libjava/gnu/gcj/convert/gen-from-JIS.c
+++ b/libjava/gnu/gcj/convert/gen-from-JIS.c
@@ -16,6 +16,11 @@ struct chval
#define MAP(B1, B2, C) { B1, B2, C },
+struct chval chtab_0201[] = {
+#include "JIS0201.h"
+ { 255, 255, 0}
+};
+
struct chval chtab_0208[] = {
#include "JIS0208.h"
{ 255, 255, 0}
@@ -50,9 +55,9 @@ int
main(int argc, char** argv)
{
FILE *out = stdout;
- unsigned min1 = 256, max1 = 0, min2 = 256, max2 = 0, count = 0;
- unsigned short low1_uc = 0xFFFF, high1_uc = 0;
- unsigned short low2_uc = 0xFFFF, high2_uc = 0;
+ int min1 = 256, max1 = 0, min2 = 256, max2 = 0, count = 0;
+ int low1_uc = 0xFFFF, high1_uc = 0;
+ int low2_uc = 0xFFFF, high2_uc = 0;
int i; int row, col;
if (strcmp (argv[1], "JIS0208") == 0)
chtab = chtab_0208;
@@ -61,14 +66,26 @@ main(int argc, char** argv)
else if (strcmp (argv[1], "toJIS") == 0)
{
int i;
- int count = sizeof(sorted)/sizeof(struct chval);
- qsort (sorted, count, sizeof(struct chval),
- compare);
- for (i = 0; i < count; i++)
+ for (i = 0; chtab_0201[i].b1 != 255; i++)
+ {
+ enter(chtab_0201[i].uc, chtab_0201[i].b2);
+ }
+ for (i = 0; i < 0x20; i++)
+ {
+ enter (i, i);
+ }
+ enter (127, 127);
+ for (i = 0; chtab_0208[i].b1 != 255; i++)
+ {
+ enter(chtab_0208[i].uc,
+ (chtab_0208[i].b1 << 8) | chtab_0208[i].b2);
+ }
+ for (i = 0; chtab_0212[i].b1 != 255; i++)
{
- fprintf (out, " 0x%04x -> 0x%02x, 0x%02x\n",
- sorted[i].uc, sorted[i].b1, sorted[i].b2);
+ enter(chtab_0212[i].uc,
+ 0x8000 | (chtab_0212[i].b1 << 8) | chtab_0212[i].b2);
}
+ print_table ("Unicode_to_JIS", stdout);
exit(0);
}
else
@@ -111,7 +128,7 @@ main(int argc, char** argv)
{
if (row == chtab[i].b1 && col == chtab[i].b2)
{
- unsigned uc = chtab[i].uc;
+ int uc = chtab[i].uc;
if (uc < 0x2000)
{
if (uc > high1_uc)