Mercurial > mplayer.hg
annotate libass/ass_font.h @ 34741:6cfaa555bec1
libmad: set i_bps only if it is not already set.
Since that value is only based on the very first MP3 frame,
it is very likely to be much less accurate than any existing
value from a demuxer.
Patch by Benot Thbaudeau.
Signed-off-by: "Benot Thbaudeau" <benoit.thebaudeau@advansee.com>
author | reimar |
---|---|
date | Sat, 24 Mar 2012 19:22:16 +0000 |
parents | 6e7f60f6f9d4 |
children |
rev | line source |
---|---|
21277 | 1 /* |
26723 | 2 * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
3 * | |
26738
588ce97b44f2
Speak of libass instead of MPlayer in the libass license headers.
diego
parents:
26723
diff
changeset
|
4 * This file is part of libass. |
26723 | 5 * |
34011 | 6 * Permission to use, copy, modify, and distribute this software for any |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
26723 | 9 * |
34011 | 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
26723 | 17 */ |
21277 | 18 |
25897
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
19 #ifndef LIBASS_FONT_H |
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25535
diff
changeset
|
20 #define LIBASS_FONT_H |
21277 | 21 |
26138
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
22 #include <stdint.h> |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
23 #include <ft2build.h> |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
24 #include FT_GLYPH_H |
34295 | 25 #include FT_OUTLINE_H |
26 | |
26138
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
27 #include "ass.h" |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
28 #include "ass_types.h" |
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
29 |
34295 | 30 #define VERTICAL_LOWER_BOUND 0x02f1 |
31 | |
30200 | 32 #define ASS_FONT_MAX_FACES 10 |
33 #define DECO_UNDERLINE 1 | |
34 #define DECO_STRIKETHROUGH 2 | |
21321
7b7627ff1937
Move ass_font_desc_t and ass_font_t declarations to ass_font.h.
eugeni
parents:
21317
diff
changeset
|
35 |
34295 | 36 typedef struct ass_shaper_font_data ASS_ShaperFontData; |
37 | |
30200 | 38 typedef struct { |
39 char *family; | |
40 unsigned bold; | |
41 unsigned italic; | |
42 int treat_family_as_pattern; | |
31853 | 43 int vertical; // @font vertical layout |
30200 | 44 } ASS_FontDesc; |
21619
b4b51eb2904f
Keep reselected fonts in an array, adding new ones to the end. Glyph
eugeni
parents:
21618
diff
changeset
|
45 |
30200 | 46 typedef struct { |
47 ASS_FontDesc desc; | |
48 ASS_Library *library; | |
49 FT_Library ftlibrary; | |
50 FT_Face faces[ASS_FONT_MAX_FACES]; | |
34295 | 51 ASS_ShaperFontData *shaper_priv; |
30200 | 52 int n_faces; |
53 double scale_x, scale_y; // current transform | |
54 FT_Vector v; // current shift | |
55 double size; | |
56 } ASS_Font; | |
21277 | 57 |
34295 | 58 #include "ass_cache.h" |
59 | |
60 ASS_Font *ass_font_new(Cache *font_cache, ASS_Library *library, | |
30200 | 61 FT_Library ftlibrary, void *fc_priv, |
62 ASS_FontDesc *desc); | |
63 void ass_font_set_transform(ASS_Font *font, double scale_x, | |
64 double scale_y, FT_Vector *v); | |
34295 | 65 void ass_face_set_size(FT_Face face, double size); |
30200 | 66 void ass_font_set_size(ASS_Font *font, double size); |
67 void ass_font_get_asc_desc(ASS_Font *font, uint32_t ch, int *asc, | |
68 int *desc); | |
34295 | 69 int ass_font_get_index(void *fcpriv, ASS_Font *font, uint32_t symbol, |
70 int *face_index, int *glyph_index); | |
30200 | 71 FT_Glyph ass_font_get_glyph(void *fontconfig_priv, ASS_Font *font, |
34295 | 72 uint32_t ch, int face_index, int index, |
73 ASS_Hinting hinting, int deco); | |
30200 | 74 FT_Vector ass_font_get_kerning(ASS_Font *font, uint32_t c1, uint32_t c2); |
75 void ass_font_free(ASS_Font *font); | |
34295 | 76 void fix_freetype_stroker(FT_Outline *outline, int border_x, int border_y); |
77 void outline_copy(FT_Library lib, FT_Outline *source, FT_Outline **dest); | |
78 void outline_free(FT_Library lib, FT_Outline *outline); | |
21277 | 79 |
30200 | 80 #endif /* LIBASS_FONT_H */ |