URI:
       twritesubfont.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       twritesubfont.c (689B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <draw.h>
            4 
            5 static
            6 void
            7 packinfo(Fontchar *fc, uchar *p, int n)
            8 {
            9         int j;
           10 
           11         for(j=0;  j<=n;  j++){
           12                 p[0] = fc->x;
           13                 p[1] = fc->x>>8;
           14                 p[2] = fc->top;
           15                 p[3] = fc->bottom;
           16                 p[4] = fc->left;
           17                 p[5] = fc->width;
           18                 fc++;
           19                 p += 6;
           20         }
           21 }
           22 
           23 int
           24 writesubfont(int fd, Subfont *f)
           25 {
           26         char hdr[3*12+1];
           27         uchar *data;
           28         int nb;
           29 
           30         sprint(hdr, "%11d %11d %11d ", f->n, f->height, f->ascent);
           31         if(write(fd, hdr, 3*12) != 3*12){
           32    Err:
           33                 werrstr("writesubfont: bad write: %r");
           34                 return -1;
           35         }
           36         nb = 6*(f->n+1);
           37         data = malloc(nb);
           38         if(data == nil)
           39                 return -1;
           40         packinfo(f->info, data, f->n);
           41         if(write(fd, data, nb) != nb)
           42                 goto Err;
           43         free(data);
           44         return 0;
           45 }