17dd7cddfSDavid du Colombier #include <u.h>
27dd7cddfSDavid du Colombier #include <libc.h>
37dd7cddfSDavid du Colombier #include <draw.h>
47dd7cddfSDavid du Colombier
57dd7cddfSDavid du Colombier Subfont*
allocsubfont(char * name,int n,int height,int ascent,Fontchar * info,Image * i)67dd7cddfSDavid du Colombier allocsubfont(char *name, int n, int height, int ascent, Fontchar *info, Image *i)
77dd7cddfSDavid du Colombier {
87dd7cddfSDavid du Colombier Subfont *f;
97dd7cddfSDavid du Colombier
107dd7cddfSDavid du Colombier assert(height != 0 /* allocsubfont */);
117dd7cddfSDavid du Colombier
127dd7cddfSDavid du Colombier f = malloc(sizeof(Subfont));
137dd7cddfSDavid du Colombier if(f == 0)
147dd7cddfSDavid du Colombier return 0;
157dd7cddfSDavid du Colombier f->n = n;
167dd7cddfSDavid du Colombier f->height = height;
177dd7cddfSDavid du Colombier f->ascent = ascent;
187dd7cddfSDavid du Colombier f->info = info;
197dd7cddfSDavid du Colombier f->bits = i;
20*80ee5cbfSDavid du Colombier f->ref = 1;
217dd7cddfSDavid du Colombier if(name){
227dd7cddfSDavid du Colombier f->name = strdup(name);
237dd7cddfSDavid du Colombier if(lookupsubfont(i->display, name) == 0)
247dd7cddfSDavid du Colombier installsubfont(name, f);
257dd7cddfSDavid du Colombier }else
267dd7cddfSDavid du Colombier f->name = 0;
277dd7cddfSDavid du Colombier return f;
287dd7cddfSDavid du Colombier }
29