harfbuzz shaper should not modify character-clustering info due to diacritic within ligature. Bug 249159, r=smontagu

This commit is contained in:
Jonathan Kew 2012-05-07 12:18:24 -07:00
parent b9713f2189
commit 787945abe1

View File

@ -1187,7 +1187,6 @@ gfxHarfBuzzShaper::SetGlyphsFromRun(gfxContext *aContext,
while (glyphStart < PRInt32(numGlyphs)) {
bool inOrder = true;
PRInt32 charEnd = ginfo[glyphStart].cluster;
PRInt32 glyphEnd = glyphStart;
PRInt32 charLimit = wordLength;
@ -1232,9 +1231,6 @@ gfxHarfBuzzShaper::SetGlyphsFromRun(gfxContext *aContext,
allGlyphsAreWithinCluster = false;
break;
}
if (glyphCharIndex <= prevGlyphCharIndex) {
inOrder = false;
}
prevGlyphCharIndex = glyphCharIndex;
}
if (allGlyphsAreWithinCluster) {
@ -1369,8 +1365,7 @@ gfxHarfBuzzShaper::SetGlyphsFromRun(gfxContext *aContext,
while (++baseCharIndex != endCharIndex &&
baseCharIndex < PRInt32(wordLength)) {
gfxTextRun::CompressedGlyph g;
g.SetComplex(inOrder &&
aShapedWord->IsClusterStart(baseCharIndex),
g.SetComplex(aShapedWord->IsClusterStart(baseCharIndex),
false, 0);
aShapedWord->SetGlyphs(baseCharIndex, g, nsnull);
}