RFC: bug 5619

From: Tomas Frydrych (tomasfrydrych@yahoo.co.uk)
Date: Sat Oct 25 2003 - 15:55:23 EDT

  • Next message: Dom Lachowicz: "Re: RFC: bug 5619"

    Bug 5619 (and several duplicates) concerns non-joining of Arabic
    letters: where in the script letters are supposed to be joined
    without a gap, we now have small white gaps between them; this did
    not use to be the case up to 1.99.1, and is caused by rounding errors
    in the graphics classes. It is a fairly serious problem, which I
    think needs to be addressed, but that will require revisiting some of
    the old issues.

    I think the only solution to this particular problem is to ensure
    that the lu->du conversion rounds down. This would not affect zooming
    as long as the zoom factor is applied _after_ the rounding, not
    before it, but unfortunately, systematic truncation of character
    widths leads to serious cumulative errors over the width of a line,
    which we are well familiar with from the past, and which need to be
    avoided.

    So I have the following suggestion: we systematically truncate
    character widths and then compensate for the cumulative error by
    inflating spaces on the line. We basically have the mechanism in
    place, since that is how we do justification, and so relatively
    little code should be needed for this.

    (The only other solution I can think of is to avoid upwards rounding
    selectivly for such characters with which it matters. While it would
    be doable, it would me much more messy and computationally
    intensive.)

    Anyway, I would appreciate some comments or alternative solutions.

    Tomas



    This archive was generated by hypermail 2.1.4 : Sat Oct 25 2003 - 15:58:25 EDT