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

Defined functions

main defined in line 20; never used

Defined variables

ascii defined in line 15; used 3 times
emw defined in line 17; used 1 times
  • in line 54
hyw defined in line 17; used 2 times
ibuf defined in line 12; used 2 times
id defined in line 13; used 2 times
sccsid defined in line 2; never used
width defined in line 14; used 4 times
xxx defined in line 18; never used
zero defined in line 16; used 7 times
Last modified: 1988-02-16
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1645
Valid CSS Valid XHTML 1.0 Strict