34#define UNISTART 0x3400
52 int bbxx, bbxy, bbxxoff, bbxyoff;
58 while (fgets (inbuf,
MAXBUF - 1, stdin) != NULL) {
59 if (strncmp (inbuf,
"ENCODING ", 9) == 0) {
60 sscanf (&inbuf[9],
"%d", &thispoint);
65 if ((thispoint >= 0x2E80 && thispoint <= 0x2EFF) ||
66 (thispoint >= 0x2F00 && thispoint <= 0x2FDF) ||
67 (thispoint >= 0x2FF0 && thispoint <= 0x2FFF) ||
68 (thispoint >= 0x3001 && thispoint <= 0x303F) ||
69 (thispoint >= 0x3100 && thispoint <= 0x312F) ||
70 (thispoint >= 0x31A0 && thispoint <= 0x31BF) ||
71 (thispoint >= 0x31C0 && thispoint <= 0x31EF) ||
72 (thispoint >= 0x3400 && thispoint <= 0x4DBF) ||
73 (thispoint >= 0x4E00 && thispoint <= 0x9FCF) ||
74 (thispoint >= 0xF900 && thispoint <= 0xFAFF))
76 while (fgets (inbuf,
MAXBUF - 1, stdin) != NULL &&
77 strncmp (inbuf,
"BBX ", 4) != 0);
79 sscanf (&inbuf[4],
"%d %d %d %d", &bbxx, &bbxy, &bbxxoff, &bbxyoff);
80 while (fgets (inbuf,
MAXBUF - 1, stdin) != NULL &&
81 strncmp (inbuf,
"BITMAP", 6) != 0);
82 fprintf (stdout,
"%04X:", thispoint);
85 startrow = descent + bbxyoff + bbxy;
88 for (i = 16; i > startrow; i--) {
89 fprintf (stdout,
"0000");
92 while (fgets (inbuf,
MAXBUF - 1, stdin) != NULL &&
93 strncmp (inbuf,
"END", 3) != 0) {
94 sscanf (inbuf,
"%X", &rowout);
96 if (bbxx <= 8) rowout <<= 8;
98 fprintf (stdout,
"%04X", rowout);
103 while (digitsout < 64) {
104 fprintf (stdout,
"0000");
107 fprintf (stdout,
"\n");
#define MAXBUF
Maximum allowable input file line length - 1.
int main()
The main function.