*** empty log message ***
[h316.git] / pc-tools / fontgen / src / fontgen.h
1
2
3 #ifndef FONTGEN_H
4 #define FONTGEN_H
5
6 #define DEBUG
7
8 #ifdef DEBUG
9 #define DBG(...) printf("DBG:" __VA_ARGS__)
10 #else
11 #define DBG(...)
12 #endif
13
14
15 #ifdef BUILD_LITTLE_ENDIAN
16 #define PL_POINT_DEFINED
17 typedef union {
18 struct{
19 unsigned short p_y : 8;
20 unsigned short p_x : 7;
21 unsigned short p_lift: 1;
22 };
23 unsigned short p_data: 16;
24 } pl_point;
25 #endif
26
27 #ifdef BUILD_BIG_ENDIAN
28 #define PL_POINT_DEFINED
29 typedef union {
30 struct{
31 unsigned short p_lift: 1;
32 unsigned short p_x : 7;
33 unsigned short p_y : 8;
34 };
35 unsigned short p_data: 16;
36 } pl_point;
37 #endif
38
39 typedef struct {
40 int gl_number;
41 int gl_size;
42 int gl_offset;
43 char * gl_label;
44 char * gl_comment;
45 pl_point * gl_points;
46 } pl_glyph;
47
48 typedef struct {
49 char * f_label;
50 int f_size; /* Number of glyphs */
51 int f_offset; /* Y offset to next line */
52 char * f_comment;
53 pl_glyph * f_glyphs;
54 } pl_font;
55
56 #define POINT(lift,x,y) {.p_data=0xffff &( (lift<<15)+(x<<8)+(y))}
57
58
59 extern pl_font hershey_fonts;
60
61 extern void op_font (pl_font *);
62
63 extern pl_glyph find_glyph(int);
64 extern pl_font assemble_font(int first_id, int size, int glyph_ids[]);
65
66 extern void font_init(void);
67 extern pl_font font_cyrilc;
68 extern pl_font font_gothgbt;
69 extern pl_font font_gothgrt;
70 extern pl_font font_gothitt;
71 extern pl_font font_greekc;
72 extern pl_font font_greekcs;
73 extern pl_font font_greekp;
74 extern pl_font font_greeks;
75 extern pl_font font_italicc;
76 extern pl_font font_italiccs;
77 extern pl_font font_italict;
78 extern pl_font font_romanc;
79 extern pl_font font_romancs;
80 extern pl_font font_romand;
81 extern pl_font font_romanp;
82 extern pl_font font_romans;
83 extern pl_font font_romant;
84 extern pl_font font_scriptc;
85 extern pl_font font_scripts;
86
87 #endif