#include #include #define ONE '\xc0' #define ZERO '\xbf' int main (int argc, char *argv[]) { FILE *fp; char c; int b, i, s = 0, n = 0; if ((fp = fopen(argv[1], "r")) == NULL) { perror("fopen"); exit (1); } while ((c = fgetc(fp)) != EOF) { if (c == '\n') continue; if (n % 2) { if (c == ONE) b = 1; else if (c == ZERO) b = 0; else { printf("unknown glyph\n"); exit (1); } if (b) { s |= (1 << (7 - ((n % 16) / 2))); } } if (((n + 1) % 16) == 0) { printf("%c", s); s = 0; } n++; } fclose (fp); }