12345678910111213141516171819202122232425262728293031323334 |
- #include <u.h>
- #include <libc.h>
- #include <libg.h>
- #include <bio.h>
- #include "hdr.h"
- Subfont *
- bf(int n, int size, Bitmap *b, int *done)
- {
- Fontchar *fc;
- int i, j;
- Subfont *f;
- fc = (Fontchar *)malloc(sizeof(Fontchar)*(n+1));
- if(fc == 0){
- fprint(2, "%s: fontchar malloc(%d) failure\n", argv0, sizeof(Fontchar)*(n+1));
- exits("fontchar malloc failure");
- }
- j = 0;
- for(i = 0; i <= n; i++){
- fc[i] = (Fontchar){j, 0, size, 0, size};
- if(done[i])
- j += size;
- else
- fc[i].width = 0;
- }
- fc[n] = (Fontchar){j, 0, size, 0, size};
- f = subfalloc(n, size, size*7/8, fc, b, ~0, ~0);
- if(f == 0){
- fprint(2, "%s: falloc failure\n", argv0);
- exits("falloc failure");
- }
- return(f);
- }
|