From b8b59fa2fccc8f7a949a523d99da3f0cd416971b Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Mon, 25 Jul 2011 00:00:53 +0200 Subject: [PATCH] Disable reordering of non-spacing marks 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c index 9ef5fd5..c018325 100644 --- a/libass/ass_shaper.c +++ b/libass/ass_shaper.c @@ -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); -- 2.40.0