10 #define WRITEF(...) { \
11 sprintf(buffer,__VA_ARGS__); \
12 write (1,buffer,strlen(buffer)); \
16 void op_point(pl_point
* point
){
17 WRITEF("\tOCT\t%06o\t",point
->p_data
);
18 // if (point->p_lift) WRITEF("LIFT PEN, ");
20 //WRITEF("MOVE TO (%i,%i)",point->p_x,point->p_y);
24 void op_glyph( pl_glyph
* glyph
){
26 if (glyph
->gl_comment
) WRITEF(" %s\n",glyph
->gl_comment
)
28 if (glyph
->gl_label
)WRITEF(glyph
->gl_label
);
29 WRITEF("\tDEC\t%i\tGLYPH NUMBER\n",glyph
->gl_number
);
30 WRITEF("\tDEC\t%i\tNO OF POINTS IN GLYPH INCLUDING MARGINS\n",glyph
->gl_size
);
32 for (i
=0; i
<glyph
->gl_size
;i
++) op_point(glyph
->gl_points
+i
);
36 void op_font( pl_font
* font
){
41 for (i
=0; i
<font
->f_size
;i
++)size
+=font
->f_glyphs
[i
].gl_size
;
45 "* %s - FONT FILE GENERATED BY FONTGEN\n"
51 "********************************************************************\n"
53 ,font
->f_label
,size
,size
);
55 WRITEF("\tSUBR\t%s,FNT\n",font
->f_label
);
56 WRITEF("\tREL\t\tTHIS IS A RELOCATEABLE OBJECT.\n");
59 "********************************************************************\n"
63 if (font
->f_comment
) WRITEF(" %s\n",font
->f_comment
)
66 // if (font->f_label)WRITEF(font->f_label);
67 WRITEF("\tDEC\t%i\tVERTICAL LINE SPACING FOR FONT\n",font
->f_offset
);
68 WRITEF("\tDAC\t**\tRESERVED FOR FUTURE USE\n");
69 WRITEF("\tDAC\t**\tRESERVED FOR FUTURE USE\n");
70 WRITEF("\tDAC\t**\tRESERVED FOR FUTURE USE\n");
72 for (i
=0; i
<font
->f_size
;i
++){
73 // WRITEF("Glyph:\n");
74 op_glyph(font
->f_glyphs
+i
);