Interdata_v6/usr/source/troff/fonts/mkfont.c
#include "mkfont1.c"
char ibuf[512];
int id;
int width[102];
int ascii[102];
int zero;
int emw, hyw;
int xxx;
main(argc,argv)
int argc;
char **argv;
{
register i, j;
register char *p;
while((--argc > 0) && ((++argv)[0][0]=='-')){
switch(argv[0][1]){
default:
continue;
}
}
if(argc){
if((id=open(argv[0],0)) < 0){
printf("Cannot open: %s.\n",argv[0]);
exit(1);
}
}
j = read(id,ibuf,512);
p = ibuf;
for(i=0; i<102; i++){
width[i] = atoi(p);
while(*p++ != '\n');
}
for(i=0; i<102; i++){
if(font[i].name < 0177){
ascii[i] = font[i].name;
}else{
for(j=0; chtab[j] != 0; j =+ 2){
if(font[i].name == chtab[j])break;
}
ascii[i] = chtab[j+1] & 0377;
if(chtab[j] == 'hy')hyw = width[i];
if(chtab[j] == 'em')emw = width[i];
}
}
printf("char XXw[256-32] {\t/*XX*/\n");
for(i=040; i<256; i++){
if(i == 0377){
printf("0};\n");
break;
}
if(i == 0177){
printf("6,\t %s\n",nametab[i-040]);
continue;
}
if(i == 0226){
printf("3,\t %s\n",nametab[i-040]);
continue;
}
if(i == ' '){
printf("12,\t %s\n",nametab[i-040]);
continue;
}
if(i == '-'){
printf("%d,\t %s\n",hyw,nametab[i-040]);
continue;
}
for(j=0; j<102; j++){
if(ascii[j] == i)break;
}
if(j == 102){
printf("0,");
zero++;
if(nametab[i-040]){
printf("\t %s\n",nametab[i-040]);
zero = 0;
}else if(i < 0177){
printf("\t /*%c*/\n",i);
zero = 0;
}
if(zero && !((i+1)%8)){
printf("\n");
zero = 0;
}
}else{
if(zero){
zero = 0;
printf("\n");
}
printf("%d",width[j]);
if(font[j].ctval)printf("+0%d00, ",font[j].ctval);
else printf(",\t ");
printf("%s\n",nametab[i-040]);
}
}
}