diff options
author | Oleg Oshmyan <chortos@inbox.lv> | 2020-10-18 02:07:01 +0300 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2020-10-19 20:36:18 +0300 |
commit | fc97f85383958b6a11bbc5f9e31afaea06b04dce (patch) | |
tree | 68467ecf95eed10a12a80a2b9ebde18b20471252 | |
parent | 7e4bc69299eed2235cbf61d82c915e8b79af75fd (diff) | |
download | libass-fc97f85383958b6a11bbc5f9e31afaea06b04dce.tar.bz2 libass-fc97f85383958b6a11bbc5f9e31afaea06b04dce.tar.xz |
shaper: handle U+FFFC characters that occur in text
U+FFFC can not only come from drawings but also be actually contained
in the source text. In that case, handle it like any other character.
This doesn't distinguish source-text U+FFFC from drawings
whose strdup failed. But the whole rest of the pipeline
treats those drawings as plain U+FFFC characters, too.
-rw-r--r-- | libass/ass_shaper.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c index ed557a0..d9fd590 100644 --- a/libass/ass_shaper.c +++ b/libass/ass_shaper.c @@ -781,7 +781,7 @@ void ass_shaper_find_runs(ASS_Shaper *shaper, ASS_Renderer *render_priv, GlyphInfo *last = glyphs + i - 1; GlyphInfo *info = glyphs + i; // skip drawings - if (info->symbol == 0xfffc) + if (info->drawing_text) continue; // set size and get glyph index ass_font_get_index(render_priv->fontselect, info->font, |