From: Tomas Frydrych (tomasfrydrych@yahoo.co.uk)
Date: Sat Oct 25 2003 - 15:55:23 EDT
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