summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authorOleg Oshmyan <chortos@inbox.lv>2020-08-17 01:01:50 +0300
committerOleg Oshmyan <chortos@inbox.lv>2020-09-19 17:51:11 +0300
commit962b1a39c10d64f1ddf7886d4c59ce45e576d55a (patch)
treeefc9148c74d98f825543f2315d7219b5b2667d0d /libass
parent236bc18d39c080853d1145c7b978fb8f47e31deb (diff)
downloadlibass-962b1a39c10d64f1ddf7886d4c59ce45e576d55a.tar.bz2
libass-962b1a39c10d64f1ddf7886d4c59ce45e576d55a.tar.xz
Add more invisible characters to ass_shaper_skip_characters
* Bidirectional isolates * Arabic letter mark * Invisible plus * Variation selectors * Mongolian control characters
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_shaper.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c
index 77425a5..ed557a0 100644
--- a/libass/ass_shaper.c
+++ b/libass/ass_shaper.c
@@ -878,7 +878,11 @@ static void ass_shaper_skip_characters(TextInfo *text_info)
// Skip direction override control characters
if ((glyphs[i].symbol <= 0x202e && glyphs[i].symbol >= 0x202a)
|| (glyphs[i].symbol <= 0x200f && glyphs[i].symbol >= 0x200b)
- || (glyphs[i].symbol <= 0x2063 && glyphs[i].symbol >= 0x2060)
+ || (glyphs[i].symbol <= 0x206f && glyphs[i].symbol >= 0x2060)
+ || (glyphs[i].symbol <= 0xfe0f && glyphs[i].symbol >= 0xfe00)
+ || (glyphs[i].symbol <= 0xe01ef && glyphs[i].symbol >= 0xe0100)
+ || (glyphs[i].symbol <= 0x180f && glyphs[i].symbol >= 0x180b)
+ || glyphs[i].symbol == 0x061c
|| glyphs[i].symbol == 0xfeff
|| glyphs[i].symbol == 0x00ad
|| glyphs[i].symbol == 0x034f) {