1 | /* |
2 | * font.h -- `Soft' font definitions |
3 | * |
4 | * Created 1995 by Geert Uytterhoeven |
5 | * |
6 | * This file is subject to the terms and conditions of the GNU General Public |
7 | * License. See the file COPYING in the main directory of this archive |
8 | * for more details. |
9 | */ |
10 | |
11 | #ifndef _VIDEO_FONT_H |
12 | #define _VIDEO_FONT_H |
13 | |
14 | #include <linux/types.h> |
15 | |
16 | struct font_desc { |
17 | int idx; |
18 | const char *name; |
19 | unsigned int width, height; |
20 | unsigned int charcount; |
21 | const void *data; |
22 | int pref; |
23 | }; |
24 | |
25 | #define VGA8x8_IDX 0 |
26 | #define VGA8x16_IDX 1 |
27 | #define PEARL8x8_IDX 2 |
28 | #define VGA6x11_IDX 3 |
29 | #define FONT7x14_IDX 4 |
30 | #define FONT10x18_IDX 5 |
31 | #define SUN8x16_IDX 6 |
32 | #define SUN12x22_IDX 7 |
33 | #define ACORN8x8_IDX 8 |
34 | #define MINI4x6_IDX 9 |
35 | #define FONT6x10_IDX 10 |
36 | #define TER16x32_IDX 11 |
37 | #define FONT6x8_IDX 12 |
38 | |
39 | extern const struct font_desc font_vga_8x8, |
40 | font_vga_8x16, |
41 | font_pearl_8x8, |
42 | font_vga_6x11, |
43 | font_7x14, |
44 | font_10x18, |
45 | font_sun_8x16, |
46 | font_sun_12x22, |
47 | font_acorn_8x8, |
48 | font_mini_4x6, |
49 | font_6x10, |
50 | font_ter_16x32, |
51 | font_6x8; |
52 | |
53 | /* Find a font with a specific name */ |
54 | |
55 | extern const struct font_desc *find_font(const char *name); |
56 | |
57 | /* Get the default font for a specific screen size */ |
58 | |
59 | extern const struct font_desc *get_default_font(int xres, int yres, |
60 | u32 font_w, u32 font_h); |
61 | |
62 | /* Max. length for the name of a predefined font */ |
63 | #define MAX_FONT_NAME 32 |
64 | |
65 | /* Extra word getters */ |
66 | #define REFCOUNT(fd) (((int *)(fd))[-1]) |
67 | #define FNTSIZE(fd) (((int *)(fd))[-2]) |
68 | #define FNTCHARCNT(fd) (((int *)(fd))[-3]) |
69 | #define FNTSUM(fd) (((int *)(fd))[-4]) |
70 | |
71 | #define 4 |
72 | |
73 | struct font_data { |
74 | unsigned int [FONT_EXTRA_WORDS]; |
75 | const unsigned char data[]; |
76 | } __packed; |
77 | |
78 | #endif /* _VIDEO_FONT_H */ |
79 | |