Closed Bug 606022 Opened 10 years ago Closed 10 years ago

"ASSERTION: Cannot draw partial ligatures without a dirty rect" with astral han in svg:text

Categories

(Core :: SVG, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached image testcase
###!!! ASSERTION: Cannot draw partial ligatures without a dirty rect: 'Error', file gfx/thebes/gfxFont.cpp, line 3129
Sounds like the SVG text-drawing code is iterating over the text in 16-bit code units, without checking for surrogate pairs.

(Actually, for better results it should probably iterate by default grapheme clusters rather than by characters, so that e.g. diacritics stay properly associated with their base letters. Hmm.... yes, note the comment "should make this iterate clusters instead" at http://mxr.mozilla.org/mozilla-central/source/layout/svg/base/src/nsSVGGlyphFrame.cpp#87.)
Depends on: 621918
The testcase doesn't assert in trunk (it also doesn't display anything, but that seems to be because the text is outside the viewport).

Fixed by bug 621918.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
This is a nice showcase for Jonathan's and my recent SVG fixes.
You need to log in before you can comment on or make changes to this bug.