*** 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_base;
52 int f_top;
53 int f_offset; /* Y offset to next line */
54 char * f_comment;
55 pl_glyph * f_glyphs;
56 } pl_font;
57
58 #define POINT(lift,x,y) {.p_data=0xffff &( (lift<<15)+(x<<8)+(y))}
59
60
61 extern pl_font hershey_fonts;
62 extern pl_font hp_convert(char ** fontdata, int scale);
63
64 extern void op_font (pl_font *);
65
66 extern pl_glyph find_glyph(int);
67 extern pl_font assemble_font(int first_id, int size, int glyph_ids[]);
68
69 extern char* charset0[];
70 extern char* charset1[];
71 extern char* charset2[];
72 extern char* charset3[];
73 extern char* charset4[];
74 extern char* charset5[];
75 extern char* charset6[];
76 extern char* charset7[];
77 extern char* charset173[];
78 extern char* charset205[];
79
80 extern void font_init(void);
81 extern pl_font font_cyrilc;
82 extern pl_font font_gothgbt;
83 extern pl_font font_gothgrt;
84 extern pl_font font_gothitt;
85 extern pl_font font_greekc;
86 extern pl_font font_greekcs;
87 extern pl_font font_greekp;
88 extern pl_font font_greeks;
89 extern pl_font font_italicc;
90 extern pl_font font_italiccs;
91 extern pl_font font_italict;
92 extern pl_font font_romanc;
93 extern pl_font font_romancs;
94 extern pl_font font_romand;
95 extern pl_font font_romanp;
96 extern pl_font font_romans;
97 extern pl_font font_romant;
98 extern pl_font font_scriptc;
99 extern pl_font font_scripts;
100
101
102
103 extern pl_font font_astrology;
104 extern pl_font font_cursive;
105 extern pl_font font_cyrilc_1;
106 extern pl_font font_cyrillic;
107 extern pl_font font_futural;
108 extern pl_font font_futuram;
109 extern pl_font font_gothgbt;
110 extern pl_font font_gothgrt;
111 extern pl_font font_gothiceng;
112 extern pl_font font_gothicger;
113 extern pl_font font_gothicita;
114 extern pl_font font_gothitt;
115 extern pl_font font_greekc;
116 extern pl_font font_greek;
117 extern pl_font font_greeks;
118 extern pl_font font_japanese;
119 extern pl_font font_markers;
120 extern pl_font font_mathlow;
121 extern pl_font font_mathupp;
122 extern pl_font font_meteorology;
123 extern pl_font font_music;
124 extern pl_font font_rowmand;
125 extern pl_font font_rowmans;
126 extern pl_font font_rowmant;
127 extern pl_font font_scriptc;
128 extern pl_font font_scripts;
129 extern pl_font font_symbolic;
130 extern pl_font font_timesg;
131 extern pl_font font_timesib;
132 extern pl_font font_timesi;
133 extern pl_font font_timesrb;
134 extern pl_font font_timesr;
135
136 #endif