diff options
Diffstat (limited to 'chips/build_font.c')
-rw-r--r-- | chips/build_font.c | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/chips/build_font.c b/chips/build_font.c deleted file mode 100644 index 2542351e..00000000 --- a/chips/build_font.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * File: build_font.c - * Author: Alessandro Forin, Carnegie Mellon University - * Date: 10/90 - * - * - * Takes a font description file and generates a C source - * appropriate for use as kernel font on mips/vax boxes. - * This basically means encoding and mirroring the bitmaps. - */ - -#include <stdio.h> - -main(argc,argv) - char **argv; -{ - int fd; - FILE *fout; - int i, j, k, n, l; - int first, last; - char *fname = "kernel_font.data"; - char buf[16*9]; - int verbose = 0; - - if (argc > 1 && argv[1][0] == '+') - verbose++, argc--, argv++; - - first = 0; - last = 190; /* 8-bit ASCII, offset by 'space' */ - if (argc > 1) { - first = atoi(argv[1]); - last = first + 1; - } - if (argc > 2) - last = atoi(argv[2]) + 1; - if (argc > 3) - fname = argv[3]; - - fd = open(fname, 0, 0); - fout = fopen("kernel_font.c", "w"); - - fprintf(fout, "/* \n\ - * Mach Operating System\n\ - * Copyright (c) 1989 Carnegie-Mellon University\n\ - * All rights reserved. The CMU software License Agreement specifies\n\ - * the terms and conditions for use and redistribution.\n\ - */\n\ -/*\n\ - * THIS FILE WAS GENERATED BY %s FROM %s\n\ - * IF YOU NEED TO, BE SURE YOU EDIT THE REAL THING!\n\ - */\n\ -/*\n\ - * Object:\n\ - * kfont_7x14 EXPORTED array\n\ - *\n\ - * Kernel font for printable ASCII chars\n\ - *\n\ - * The smallest index in this array corresponds to a\n\ - * space. So, we start at 0x20 in the ascii table.\n\ - * Note that glyphs are mirrored (byteorder, I think)\n\ - * the commented bitmap shows how they really look like\n\ - */\n\ -\n\ -unsigned char kfont_7x14[] = {\n", argv[0], fname); - -skip_comments: - read(fd, buf, 1); - if (buf[0] == '#') { - do - read(fd, buf, 1); - while (buf[0] != '\n'); - goto skip_comments; - } - lseek(fd, -1, 1); /* put char back */ - - /* if must skip some */ - for (l = 0; l < first; l++) - read(fd, buf, 2+(9*15)); - - /* scan for real now */ - for (i = first; i < last; i++) { - /* read one full glyph */ - if (read(fd, buf, 2+(9*15)) < 0) - break; - if (verbose) - printf("Character '%c':\n\t", buf[0]); - /* index and char itself in comments */ - fprintf(fout, "/* %3x '%c' */\n", i, 0x20+i); - - /* encode and mirror each one of the 15 scanlines */ - for (n = 0; n < 15; n++) { - unsigned char cc[8], swap = 0; - /* 8 bits per scanline */ - for (k = 2+(n*9), j = 0; j < 8; k++, j++) { - if (verbose) - printf("%c", (buf[k] == '1') ? '@' : ' '); - swap = ((buf[k] - '0') << 7) | (swap >> 1); - cc[j] = buf[k]; - } - fprintf(fout,"\t/* %8s */\t%#2x,\n", cc, (unsigned char)swap); - if (verbose) - printf("\n\t"); - } - } - fprintf(fout, "};\n"); - fclose(fout); -} |