1: #include "mkfont1.c"
2:
3: /*
4: this program takes 102 width values
5: (one per line) in the order provided bu Graphic
6: Systems and prepares a C-compileable width table.
7: */
8: char ibuf[512];
9: int id;
10: int width[102];
11: int ascii[102];
12: int zero;
13: int emw, hyw;
14: int xxx;
15:
16: main(argc,argv)
17: int argc;
18: char **argv;
19: {
20: register i, j;
21: register char *p;
22:
23: while((--argc > 0) && ((++argv)[0][0]=='-')){
24: switch(argv[0][1]){
25: default:
26: continue;
27: }
28: }
29: if(argc){
30: if((id=open(argv[0],0)) < 0){
31: printf("Cannot open: %s.\n",argv[0]);
32: exit(1);
33: }
34: }
35: j = read(id,ibuf,512);
36: p = ibuf;
37: for(i=0; i<102; i++){
38: width[i] = atoi(p);
39: while(*p++ != '\n');
40: }
41: for(i=0; i<102; i++){
42: if(font[i].name < 0177){
43: ascii[i] = font[i].name;
44: }else{
45: for(j=0; chtab[j] != 0; j =+ 2){
46: if(font[i].name == chtab[j])break;
47: }
48: ascii[i] = chtab[j+1] & 0377;
49: if(chtab[j] == 'hy')hyw = width[i];
50: if(chtab[j] == 'em')emw = width[i];
51: }
52: }
53: printf("char XXw[256-32] {\t/*XX*/\n");
54: for(i=040; i<256; i++){
55: if(i == 0377){
56: printf("0};\n");
57: break;
58: }
59: if(i == 0177){
60: printf("6,\t %s\n",nametab[i-040]);
61: continue;
62: }
63: if(i == 0226){
64: printf("3,\t %s\n",nametab[i-040]);
65: continue;
66: }
67: if(i == ' '){
68: printf("12,\t %s\n",nametab[i-040]);
69: continue;
70: }
71: if(i == '-'){
72: printf("%d,\t %s\n",hyw,nametab[i-040]);
73: continue;
74: }
75: for(j=0; j<102; j++){
76: if(ascii[j] == i)break;
77: }
78: if(j == 102){
79: printf("0,");
80: zero++;
81: if(nametab[i-040]){
82: printf("\t %s\n",nametab[i-040]);
83: zero = 0;
84: }else if(i < 0177){
85: printf("\t /*%c*/\n",i);
86: zero = 0;
87: }
88: if(zero && !((i+1)%8)){
89: printf("\n");
90: zero = 0;
91: }
92: }else{
93: if(zero){
94: zero = 0;
95: printf("\n");
96: }
97: printf("%d",width[j]);
98: if(font[j].ctval)printf("+0%d00, ",font[j].ctval);
99: else printf(",\t ");
100: printf("%s\n",nametab[i-040]);
101: }
102: }
103: }
Defined functions
main
defined in line
16;
never used
Defined variables
ascii
defined in line
11; used 3 times
emw
defined in line
13; used 1 times
hyw
defined in line
13; used 2 times
ibuf
defined in line
8; used 2 times
id
defined in line
9; used 2 times
width
defined in line
10; used 4 times
xxx
defined in line
14;
never used
zero
defined in line
12; used 7 times