diff options
Diffstat (limited to 'libass')
-rw-r--r-- | libass/ass_bitmap.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index 98c8d744..f2146519 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -166,8 +166,14 @@ Bitmap *outline_to_bitmap(ASS_Library *library, FT_Library ftlib, FT_Bitmap bitmap; FT_Outline_Get_CBox(outline, &bbox); - if (bbox.xMin == bbox.xMax || bbox.yMin == bbox.yMax) - return NULL; + if (bbox.xMin >= bbox.xMax || bbox.yMin >= bbox.yMax) { + Bitmap *bm = malloc(sizeof(Bitmap)); + bm->buffer = NULL; + bm->w = bm->h = 0; + bm->stride = 0; + bm->left = bm->top = 0; + return bm; + } // move glyph to origin (0, 0) bbox.xMin &= ~63; |