diff options
author | greg <greg@blackbox> | 2009-06-19 07:34:03 +0200 |
---|---|---|
committer | greg <greg@blackbox> | 2009-06-20 03:38:00 +0200 |
commit | 49bf5a419a286d70b3a82f4a60059849ed2c536a (patch) | |
tree | 88a1aafba07b87d9e2eca652c379b109735ac063 /libass | |
parent | 9c1ff393d29aee7b64be2f5c526886819abfc7ec (diff) | |
download | libass-49bf5a419a286d70b3a82f4a60059849ed2c536a.tar.bz2 libass-49bf5a419a286d70b3a82f4a60059849ed2c536a.tar.xz |
Add hack to support empty lines of text
Consecutive forced breaks (\N\N) can be used to create empty lines of
text in other renderers. This doesn't work with the current text
layouter (wrap_lines_smart). This hack inserts a space glyph between two
consecutive forced breaks to get around this limitation.
Diffstat (limited to 'libass')
-rw-r--r-- | libass/ass_render.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index f2a34b2..870623e 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -2224,6 +2224,14 @@ ass_render_event(ass_renderer_t *render_priv, ass_event_t *event, if (code == 0) break; + // Insert space between two forced breaks to create empty lines + // FIXME: should probably be done in wrap_lines_smart, + // this is a hack + if (previous == '\n' && code == '\n') { + code = ' '; + p -= 2; + } + if (text_info->length >= text_info->max_glyphs) { // Raise maximum number of glyphs text_info->max_glyphs *= 2; |