]> granicus.if.org Git - libass/commitdiff
Disable reordering of non-spacing marks
authorGrigori Goronzy <greg@blackbox>
Sun, 24 Jul 2011 22:00:53 +0000 (00:00 +0200)
committerGrigori Goronzy <greg@blackbox>
Sun, 24 Jul 2011 22:00:53 +0000 (00:00 +0200)
FriBidi's line reordering algorithm reorders non-spacing marks
(diacritics, etc.) to come after the base character by default. This
doesn't work particularly well with our layout model and leads to
wrongly positioned marks in some cases with HarfBuzz and all cases
with FriBidi shaping.

libass/ass_shaper.c

index 9ef5fd5ee5ce97fd10ec37f3be1f611415eb8bf8..c01832577209fa89d42502b81d6b098255c1be3f 100644 (file)
@@ -436,7 +436,7 @@ FriBidiStrIndex *ass_shaper_reorder(ASS_Shaper *shaper, TextInfo *text_info)
 
         // FIXME: we should actually specify
         // the correct paragraph base direction
-        level = fribidi_reorder_line(FRIBIDI_FLAGS_DEFAULT,
+        level = fribidi_reorder_line(0,
                 shaper->ctypes + line->offset, line->len, 0, dir,
                 shaper->emblevels + line->offset, NULL,
                 shaper->cmap + line->offset);