[FriBidi] fribidi_reorder_runs()

Eli Zaretskii eliz at gnu.org
Wed Feb 8 18:02:49 UTC 2017


> Cc: fribidi at lists.freedesktop.org
> From: Eduardo CastiƱeyra <eduardo at brainstorm3d.com>
> Date: Wed, 8 Feb 2017 16:59:04 +0100
> 
> On 2/7/2017 5:19 PM, Eli Zaretskii wrote:
> >> From: Eduardo CastiƱeyra <eduardo at brainstorm3d.com>
> >> Date: Tue, 7 Feb 2017 16:39:01 +0100
> >>
> >> It turned out that our incorrect way to integrate fribidi and harfbuzz
> >> (let fribidi reorder all the characters and shape as full LTR in
> >> harfbuzz) is "surprisingly" causing problems.
> >>
> >> The problem is mainly with the parenthesis. It looks like the shaper
> >> should flip the direction of the parenthesis when it belongs to a RTL run.
> > Shouldn't reordering mirror parentheses if their level is even?
> 
> AFAIK, parenthesis are neutral, they inherit the direction of the text 
> surrounding them

Yes, and if the surrounding text is RTL, the parentheses should be
mirrored as part of reordering.  See L4 in the UBA (a.k.a. "UAX#9")
description.  It says:

  A character is depicted by a mirrored glyph if and only if (a) the
  resolved directionality of that character is R, and (b) the
  Bidi_Mirrored property value of that character is Yes.



More information about the fribidi mailing list