Changeset 121645 in webkit
- Timestamp:
- Jul 1, 2012 5:08:47 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r121643 r121645 1 2012-07-01 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/11785743> [mac] Non-BMP characters in vertical text appear as missing glyphs 4 https://bugs.webkit.org/show_bug.cgi?id=90349 5 6 Reviewed by Dean Jackson. 7 8 * platform/mac/fast/text/vertical-surrogate-pair.html: Added. 9 * platform/mac/platform/mac/fast/text/vertical-surrogate-pair-expected.png: Added. 10 * platform/mac/platform/mac/fast/text/vertical-surrogate-pair-expected.txt: Added. 11 1 12 2012-07-01 Kenichi Ishibashi <bashi@chromium.org> 2 13 -
trunk/Source/WebCore/ChangeLog
r121643 r121645 1 2012-07-01 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/11785743> [mac] Non-BMP characters in vertical text appear as missing glyphs 4 https://bugs.webkit.org/show_bug.cgi?id=90349 5 6 Reviewed by Dean Jackson. 7 8 Test: platform/mac/fast/text/vertical-surrogate-pair.html 9 10 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 11 (WebCore::GlyphPage::fill): When calling wkGetVerticalGlyphsForCharacters or 12 CTFontGetGlyphsForCharacters with a buffer consisting of surrogate pair, account for those 13 functions’ behavior of placing glyphs at indices corresponding to the first character of 14 each pair. 15 1 16 2012-07-01 Kenichi Ishibashi <bashi@chromium.org> 2 17 -
trunk/Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp
r112816 r121645 69 69 } else if (!fontData->platformData().isCompositeFontReference() && ((fontData->platformData().widthVariant() == RegularWidth) ? wkGetVerticalGlyphsForCharacters(fontData->platformData().ctFont(), buffer, glyphs.data(), bufferLength) 70 70 : CTFontGetGlyphsForCharacters(fontData->platformData().ctFont(), buffer, glyphs.data(), bufferLength))) { 71 // When buffer consists of surrogate pairs, wkGetVerticalGlyphsForCharacters and CTFontGetGlyphsForCharacters 72 // place the glyphs at indices corresponding to the first character of each pair. 73 unsigned glyphStep = bufferLength / length; 71 74 for (unsigned i = 0; i < length; ++i) { 72 if (!glyphs[i ])75 if (!glyphs[i * glyphStep]) 73 76 setGlyphDataForIndex(offset + i, 0, 0); 74 77 else { 75 setGlyphDataForIndex(offset + i, glyphs[i ], fontData);78 setGlyphDataForIndex(offset + i, glyphs[i * glyphStep], fontData); 76 79 haveGlyphs = true; 77 80 }
Note: See TracChangeset
for help on using the changeset viewer.