summaryrefslogtreecommitdiffstats
path: root/autogen.sh
diff options
context:
space:
mode:
authorOleg Oshmyan <chortos@inbox.lv>2020-10-18 03:24:25 +0300
committerOleg Oshmyan <chortos@inbox.lv>2020-10-19 20:36:18 +0300
commit80ce6378d572c230923bfc239f679e8604b8448a (patch)
treef4a70acac0f4abe6d8c22d31c0b050db11455b54 /autogen.sh
parentafd6dacd232810dc83f7eacebb251538f7d4148e (diff)
downloadlibass-80ce6378d572c230923bfc239f679e8604b8448a.tar.bz2
libass-80ce6378d572c230923bfc239f679e8604b8448a.tar.xz
shaper: don't mingle run ID and bidi embedding level
A libass-chosen shaping run boundary can coincide with a bidi embedding level boundary such that the differences in shaper_run_id and emblevel cancel out. For example: English עבריתEnglish again (with parentheses) (with no space after the Hebrew) has ass_shaper_find_runs split runs after the Hebrew, adding 1 to shape_run_id, while the RTL embed also ends in the same place, removing 1 from emblevel. As a result, two shape runs that should be separate merge together. In this example, this leads to HarfBuzz thinking that "English again (with parentheses)" is still right-to-left, so it flips the parenthesis glyphs. To avoid this, don't attempt to add these numbers together. Just require explicitly that both numbers stay constant, rather than their sum.
Diffstat (limited to 'autogen.sh')
0 files changed, 0 insertions, 0 deletions