Mercurial > mplayer.hg
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 |
rev | line source |
---|---|
26029 | 1 #ifndef MPLAYER_FONT_LOAD_H |
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 | 4 #ifdef CONFIG_FREETYPE |
11500 | 5 #include <ft2build.h> |
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 | 8 |
9 typedef struct { | |
10 unsigned char *bmp; | |
11 unsigned char *pal; | |
12 int w,h,c; | |
27393 | 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 | 17 } raw_file; |
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 | 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 | 23 char *name; |
1353 | 24 char *fpath; |
213 | 25 int spacewidth; |
26 int charspace; | |
27 int height; | |
28 // char *fname_a; | |
29 // char *fname_b; | |
30 raw_file* pic_a[16]; | |
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 | 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 | 62 } font_desc_t; |
63 | |
5294 | 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 | 66 |
27393 | 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 | 92 void blur(unsigned char *buffer, unsigned short *tmp2, int width, int height, |
93 int stride, int *m2, int r, int mwidth); | |
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 | 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 | 105 #endif /* MPLAYER_FONT_LOAD_H */ |