Merge tag 'trace-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / include / linux / font.h
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 FONT_EXTRA_WORDS 4
72
73 struct font_data {
74         unsigned int extra[FONT_EXTRA_WORDS];
75         const unsigned char data[];
76 } __packed;
77
78 #endif /* _VIDEO_FONT_H */