Comment 14 for bug 1224486

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

I'm going around in circles on this one. Maybe new eyes can spot the issue.

In tests setting up a r11738 revision and then changing everything except Layout-TNG-Computer.cpp to r11739 produced a version that I could not get to crash, and where the cursor moved appropriately in flowed text. So the problem seems to be at least primarily in Layout-TNG-Compute.cpp, and specifically, in _outputLine() in that file. (Reverting the rest of it to r11739 did not introduce the bug.)

The modifications I made to outputLine() to handle Hebrew (and other languages') diacritical marks is apparently incompatible with the flowed text implementation. The current Trunk version of the code in this file dates from r11739 of branch lp988601. It does normal text correctly, and it handles the attached diacritical mark example correctly. r11738 of branch lp988601 does normal text and flowed text correctly, but it does the wrong thing with the diacritical marks, advancing on each of those glyphs when it should not be doing so. If somebody can figure out how to fold that in without breaking flowed text, more power to you!

The attached example is Hebrew with vowels (diacritical marks). The rightmost character, that looks like a sideways 3 should have a dot in its upper right corner and a mark beneath it. It looks more or less like it should if viewed in Firefox, except the exclamation mark is on the wrong side.