1*37da2899SCharles.Forsyth #include "lib9.h"
2*37da2899SCharles.Forsyth #include "draw.h"
3*37da2899SCharles.Forsyth
4*37da2899SCharles.Forsyth Subfont*
allocsubfont(char * name,int n,int height,int ascent,Fontchar * info,Image * i)5*37da2899SCharles.Forsyth allocsubfont(char *name, int n, int height, int ascent, Fontchar *info, Image *i)
6*37da2899SCharles.Forsyth {
7*37da2899SCharles.Forsyth Subfont *f;
8*37da2899SCharles.Forsyth
9*37da2899SCharles.Forsyth assert(height != 0 /* allocsubfont */);
10*37da2899SCharles.Forsyth
11*37da2899SCharles.Forsyth f = malloc(sizeof(Subfont));
12*37da2899SCharles.Forsyth if(f == 0)
13*37da2899SCharles.Forsyth return 0;
14*37da2899SCharles.Forsyth f->n = n;
15*37da2899SCharles.Forsyth f->height = height;
16*37da2899SCharles.Forsyth f->ascent = ascent;
17*37da2899SCharles.Forsyth f->info = info;
18*37da2899SCharles.Forsyth f->bits = i;
19*37da2899SCharles.Forsyth f->ref = 1;
20*37da2899SCharles.Forsyth if(name){
21*37da2899SCharles.Forsyth f->name = strdup(name);
22*37da2899SCharles.Forsyth if(lookupsubfont(i->display, name) == 0)
23*37da2899SCharles.Forsyth installsubfont(name, f);
24*37da2899SCharles.Forsyth }else
25*37da2899SCharles.Forsyth f->name = 0;
26*37da2899SCharles.Forsyth return f;
27*37da2899SCharles.Forsyth }
28