plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

font.c (692B)


      1 #include	<u.h>
      2 #include	<libc.h>
      3 #include	<libg.h>
      4 #include	<bio.h>
      5 #include	"hdr.h"
      6 
      7 Subfont *
      8 bf(int n, int size, Bitmap *b, int *done)
      9 {
     10 	Fontchar *fc;
     11 	int i, j;
     12 	Subfont *f;
     13 
     14 	fc = (Fontchar *)malloc(sizeof(Fontchar)*(n+1));
     15 	if(fc == 0){
     16 		fprint(2, "%s: fontchar malloc(%d) failure\n", argv0, sizeof(Fontchar)*(n+1));
     17 		exits("fontchar malloc failure");
     18 	}
     19 	j = 0;
     20 	for(i = 0; i <= n; i++){
     21 		fc[i] = (Fontchar){j, 0, size, 0, size};
     22 		if(done[i])
     23 			j += size;
     24 		else
     25 			fc[i].width = 0;
     26 	}
     27 	fc[n] = (Fontchar){j, 0, size, 0, size};
     28 	f = subfalloc(n, size, size*7/8, fc, b, ~0, ~0);
     29 	if(f == 0){
     30 		fprint(2, "%s: falloc failure\n", argv0);
     31 		exits("falloc failure");
     32 	}
     33 	return(f);
     34 }