Comment 7 for bug 1170785

Revision history for this message
David Mathog (mathog) wrote :

The problem is in Layout-TNG-Compute.cpp, where kerning was implicitly assumed to be LTR. There are several other
unrelated changes in my version of that file at the moment so a patch would be confusing. However, the change to fix this
is easy, In _measureUnbrokenSpan change this:

        if (span->start.iter_span->dx._set && span->start.char_byte == 0){
            span->width += span->start.iter_span->dx.computed;

to this:

        if (span->start.iter_span->dx._set && span->start.char_byte == 0){
            if(para.direction == RIGHT_TO_LEFT){ span->width -= span->start.iter_span->dx.computed; }
            else { span->width += span->start.iter_span->dx.computed; }