From: Grigori Goronzy Date: Fri, 18 May 2012 23:01:30 +0000 (+0200) Subject: shaper: fix control character filtering X-Git-Tag: 0.10.1~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=de409235f4a32f6dfa6ab73eeb4bcd8d3b679387;p=libass shaper: fix control character filtering Correct off-by-one error and add 0x200c-0x200f range. This range is compromised of explicit direction and join marks. Fixes issue 54 Fixes issue 55 --- diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c index cf563ad..27c1dad 100644 --- a/libass/ass_shaper.c +++ b/libass/ass_shaper.c @@ -640,7 +640,8 @@ void ass_shaper_shape(ASS_Shaper *shaper, TextInfo *text_info) // Skip direction override control characters // NOTE: Behdad said HarfBuzz is supposed to remove these, but this hasn't // been implemented yet - if (glyphs[i].symbol <= 0x202F && glyphs[i].symbol >= 0x202a) { + if ((glyphs[i].symbol <= 0x202e && glyphs[i].symbol >= 0x202a) + || (glyphs[i].symbol <= 0x200f && glyphs[i].symbol >= 0x200c)) { glyphs[i].symbol = 0; glyphs[i].skip++; }