annotate libvo/font_load.h @ 28063:a318969a4f45

Set the base size window manager hint, otherwise some subtract the minimum size of 4x4 from the numbers displayed to the user which might be confusing. Based on patch by Bert Wesarg [bert wesarg googlemail com].
author reimar
date Fri, 05 Dec 2008 19:01:49 +0000
parents 4876c89bafdd
children 56868e6fb340
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
1 #ifndef MPLAYER_FONT_LOAD_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
2 #define MPLAYER_FONT_LOAD_H
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
3
27393
4876c89bafdd Rename font-related preprocessor directives.
diego
parents: 27013
diff changeset
4 #ifdef CONFIG_FREETYPE
11500
b4fcb6c47942 freetype build fix
henry
parents: 8635
diff changeset
5 #include <ft2build.h>
b4fcb6c47942 freetype build fix
henry
parents: 8635
diff changeset
6 #include FT_FREETYPE_H
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
7 #endif
213
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
8
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
9 typedef struct {
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
10 unsigned char *bmp;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
11 unsigned char *pal;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
12 int w,h,c;
27393
4876c89bafdd Rename font-related preprocessor directives.
diego
parents: 27013
diff changeset
13 #ifdef CONFIG_FREETYPE
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
14 int charwidth,charheight,pen,baseline,padding;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
15 int current_count, current_alloc;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
16 #endif
213
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
17 } raw_file;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
18
27013
1c35679cdd65 Give name to font_desc struct, patch by Bryan Henderson, giraffedata gmail com.
diego
parents: 26029
diff changeset
19 typedef struct font_desc {
27393
4876c89bafdd Rename font-related preprocessor directives.
diego
parents: 27013
diff changeset
20 #ifdef CONFIG_FREETYPE
7140
b9ce54c7f30f add Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz> freetype patch
pontscho
parents: 7122
diff changeset
21 int dynamic;
b9ce54c7f30f add Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz> freetype patch
pontscho
parents: 7122
diff changeset
22 #endif
214
09d0f437b817 desc fileformat changes
arpi_esp
parents: 213
diff changeset
23 char *name;
1353
c3e3b0ae4d06 Applied DATADIR patch by Vladimir Kushnir
arpi
parents: 706
diff changeset
24 char *fpath;
213
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
25 int spacewidth;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
26 int charspace;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
27 int height;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
28 // char *fname_a;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
29 // char *fname_b;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
30 raw_file* pic_a[16];
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
31 raw_file* pic_b[16];
706
8a7666a78f83 better .smi support and display two-byte characters- patch by Sunjin Yang
arpi_esp
parents: 339
diff changeset
32 short font[65536];
5928
48e91dc9534b .raw width>=65536 support by Georgi Georgiev <chutz@chubaka.homeip.net>
arpi
parents: 5294
diff changeset
33 int start[65536]; // short is not enough for unicode fonts
706
8a7666a78f83 better .smi support and display two-byte characters- patch by Sunjin Yang
arpi_esp
parents: 339
diff changeset
34 short width[65536];
8635
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 7165
diff changeset
35 int freetype;
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
36
27393
4876c89bafdd Rename font-related preprocessor directives.
diego
parents: 27013
diff changeset
37 #ifdef CONFIG_FREETYPE
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
38 int face_cnt;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
39
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
40 FT_Face faces[16];
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
41 FT_UInt glyph_index[65536];
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
42
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
43 int max_width, max_height;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
44
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
45 struct
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
46 {
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
47 int g_r;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
48 int o_r;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
49 int g_w;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
50 int o_w;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
51 int o_size;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
52 unsigned volume;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
53
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
54 unsigned *g;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
55 unsigned *gt2;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
56 unsigned *om;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
57 unsigned char *omt;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
58 unsigned short *tmp;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
59 } tables;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
60 #endif
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
61
213
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
62 } font_desc_t;
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents:
diff changeset
63
5294
4e64fca268e9 moved font_laod.h
arpi
parents: 1353
diff changeset
64 extern font_desc_t* vo_font;
23338
2a66d95355f0 add new -subfont option, that allows having a different font for OSD (controls and menu) and subtitles
ben
parents: 19847
diff changeset
65 extern font_desc_t* sub_font;
5294
4e64fca268e9 moved font_laod.h
arpi
parents: 1353
diff changeset
66
27393
4876c89bafdd Rename font-related preprocessor directives.
diego
parents: 27013
diff changeset
67 #ifdef CONFIG_FREETYPE
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
68
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
69 extern char *subtitle_font_encoding;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
70 extern float text_font_scale_factor;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
71 extern float osd_font_scale_factor;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
72 extern float subtitle_font_radius;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
73 extern float subtitle_font_thickness;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
74 extern int subtitle_autoscale;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
75
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
76 extern int vo_image_width;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
77 extern int vo_image_height;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
78
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
79 extern int force_load_font;
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
80
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 11500
diff changeset
81 int init_freetype(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 11500
diff changeset
82 int done_freetype(void);
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
83
25851
9ebd00825df2 Allow independent scaling of vo_font and sub_font.
reimar
parents: 25546
diff changeset
84 font_desc_t* read_font_desc_ft(const char* fname,int movie_width, int movie_height, float font_scale_factor);
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
85 void free_font_desc(font_desc_t *desc);
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
86
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
87 void render_one_glyph(font_desc_t *desc, int c);
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
88 int kerning(font_desc_t *desc, int prevc, int c);
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
89
25851
9ebd00825df2 Allow independent scaling of vo_font and sub_font.
reimar
parents: 25546
diff changeset
90 void load_font_ft(int width, int height, font_desc_t **desc, const char *name, float font_scale_factor);
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
91
19847
d7c2e093e406 Make blur() public. Will be used in libass.
eugeni
parents: 18980
diff changeset
92 void blur(unsigned char *buffer, unsigned short *tmp2, int width, int height,
d7c2e093e406 Make blur() public. Will be used in libass.
eugeni
parents: 18980
diff changeset
93 int stride, int *m2, int r, int mwidth);
d7c2e093e406 Make blur() public. Will be used in libass.
eugeni
parents: 18980
diff changeset
94
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
95 #else
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
96
8635
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 7165
diff changeset
97 static void render_one_glyph(font_desc_t *desc, int c) {}
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 7165
diff changeset
98 static int kerning(font_desc_t *desc, int prevc, int c) { return 0; }
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 7165
diff changeset
99
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 7165
diff changeset
100 #endif
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 7165
diff changeset
101
339
e7e89cd4169f printf's only if verbose>1
arpi_esp
parents: 215
diff changeset
102 raw_file* load_raw(char *name,int verbose);
18980
ed69754aa58d Marks several string parameters as const when they are not modified in the function, Patch by Stefan Huehner, stefan AT huehner-org
reynaldo
parents: 17566
diff changeset
103 font_desc_t* read_font_desc(const char* fname,float factor,int verbose);
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 5928
diff changeset
104
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25869
diff changeset
105 #endif /* MPLAYER_FONT_LOAD_H */