summaryrefslogtreecommitdiffstats
path: root/libass/ass_drawing.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_drawing.c')
-rw-r--r--libass/ass_drawing.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libass/ass_drawing.c b/libass/ass_drawing.c
index 7833c10..93cc458 100644
--- a/libass/ass_drawing.c
+++ b/libass/ass_drawing.c
@@ -34,13 +34,13 @@
* \brief Get and prepare a FreeType glyph
*/
static void drawing_make_glyph(ASS_Drawing *drawing, void *fontconfig_priv,
- ASS_Font *font, ASS_Hinting hint)
+ ASS_Font *font)
{
FT_OutlineGlyph glyph;
// This is hacky...
glyph = (FT_OutlineGlyph) ass_font_get_glyph(fontconfig_priv, font,
- (uint32_t) ' ', hint, 0);
+ (uint32_t) ' ', 0, 0);
if (glyph) {
FT_Outline_Done(drawing->ftlibrary, &glyph->outline);
FT_Outline_New(drawing->ftlibrary, GLYPH_INITIAL_POINTS,
@@ -355,7 +355,7 @@ static void drawing_evaluate_curve(ASS_Drawing *drawing,
* \brief Create and initialize a new drawing and return it
*/
ASS_Drawing *ass_drawing_new(void *fontconfig_priv, ASS_Font *font,
- ASS_Hinting hint, FT_Library lib)
+ FT_Library lib)
{
ASS_Drawing *drawing;
@@ -364,12 +364,10 @@ ASS_Drawing *ass_drawing_new(void *fontconfig_priv, ASS_Font *font,
drawing->size = DRAWING_INITIAL_SIZE;
drawing->cbox.xMin = drawing->cbox.yMin = INT_MAX;
drawing->cbox.xMax = drawing->cbox.yMax = INT_MIN;
-
+ drawing->fontconfig_priv = fontconfig_priv;
+ drawing->font = font;
drawing->ftlibrary = lib;
- if (font) {
- drawing->library = font->library;
- drawing_make_glyph(drawing, fontconfig_priv, font, hint);
- }
+ drawing->library = font->library;
drawing->scale_x = 1.;
drawing->scale_y = 1.;
@@ -422,6 +420,8 @@ FT_OutlineGlyph *ass_drawing_parse(ASS_Drawing *drawing, int raw_mode)
ASS_DrawingToken *token;
FT_Vector pen = {0, 0};
+ if (drawing->font)
+ drawing_make_glyph(drawing, drawing->fontconfig_priv, drawing->font);
if (!drawing->glyph)
return NULL;