*** empty log message ***
[h316.git] / pc-tools / fontgen / src / fontgen.h
CommitLineData
b17cb324 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
17typedef 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
29typedef 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
39typedef 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
48typedef struct {
49 char * f_label;
50 int f_size; /* Number of glyphs */
8dc281af 51 int f_base;
52 int f_top;
53 int f_offset; /* Y offset to next line */
b17cb324 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
61extern pl_font hershey_fonts;
8dc281af 62extern pl_font hp_convert(char ** fontdata, int scale);
b17cb324 63
64extern void op_font (pl_font *);
65
66extern pl_glyph find_glyph(int);
67extern pl_font assemble_font(int first_id, int size, int glyph_ids[]);
68
8dc281af 69extern char* charset0[];
70extern char* charset1[];
71extern char* charset2[];
72extern char* charset3[];
73extern char* charset4[];
74extern char* charset5[];
75extern char* charset6[];
76extern char* charset7[];
77extern char* charset173[];
78extern char* charset205[];
79
b17cb324 80extern void font_init(void);
81extern pl_font font_cyrilc;
82extern pl_font font_gothgbt;
83extern pl_font font_gothgrt;
84extern pl_font font_gothitt;
85extern pl_font font_greekc;
86extern pl_font font_greekcs;
87extern pl_font font_greekp;
88extern pl_font font_greeks;
89extern pl_font font_italicc;
90extern pl_font font_italiccs;
91extern pl_font font_italict;
92extern pl_font font_romanc;
93extern pl_font font_romancs;
94extern pl_font font_romand;
95extern pl_font font_romanp;
96extern pl_font font_romans;
97extern pl_font font_romant;
98extern pl_font font_scriptc;
99extern pl_font font_scripts;
100
8dc281af 101
102
103extern pl_font font_astrology;
104extern pl_font font_cursive;
105extern pl_font font_cyrilc_1;
106extern pl_font font_cyrillic;
107extern pl_font font_futural;
108extern pl_font font_futuram;
109extern pl_font font_gothgbt;
110extern pl_font font_gothgrt;
111extern pl_font font_gothiceng;
112extern pl_font font_gothicger;
113extern pl_font font_gothicita;
114extern pl_font font_gothitt;
115extern pl_font font_greekc;
116extern pl_font font_greek;
117extern pl_font font_greeks;
118extern pl_font font_japanese;
119extern pl_font font_markers;
120extern pl_font font_mathlow;
121extern pl_font font_mathupp;
122extern pl_font font_meteorology;
123extern pl_font font_music;
124extern pl_font font_rowmand;
125extern pl_font font_rowmans;
126extern pl_font font_rowmant;
127extern pl_font font_scriptc;
128extern pl_font font_scripts;
129extern pl_font font_symbolic;
130extern pl_font font_timesg;
131extern pl_font font_timesib;
132extern pl_font font_timesi;
133extern pl_font font_timesrb;
134extern pl_font font_timesr;
135
b17cb324 136#endif