Changeset 124654 in webkit
- Timestamp:
- Aug 3, 2012, 2:30:06 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r124648 r124654 1 2012-08-03 Dan Bernstein <mitz@apple.com> 2 3 REGRESSION (Safari 5.1 - 6): Cannot correctly display Traditional Mongolian Script 4 https://bugs.webkit.org/show_bug.cgi?id=92864 5 6 Reviewed by Sam Weinig. 7 8 * platform/mac/fast/text/combining-character-sequence-vertical-expected.html: Added. 9 * platform/mac/fast/text/combining-character-sequence-vertical.html: Added. 10 1 11 2012-08-03 Dmitry Titov <dimich@chromium.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r124653 r124654 1 2012-08-03 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/12005188> REGRESSION (Safari 5.1 - 6): Cannot correctly display Traditional Mongolian Script 4 https://bugs.webkit.org/show_bug.cgi?id=92864 5 6 Reviewed by Sam Weinig. 7 8 Test: platform/mac/fast/text/combining-character-sequence-vertical.html 9 10 * platform/graphics/SimpleFontData.cpp: 11 (WebCore::SimpleFontData::glyphForCharacter): Added this helper function. 12 * platform/graphics/SimpleFontData.h: 13 (SimpleFontData): Declared glyphDataForCharacter. 14 * platform/graphics/mac/FontComplexTextMac.cpp: 15 (WebCore::Font::fontDataForCombiningCharacterSequence): Added logic to use the appropriate 16 variant of each font in the fallback list, which mimcs the equivalent logic in 17 glyphDataAndPageForCharacter(). 18 1 19 2012-08-03 Kenneth Russell <kbr@google.com> 2 20 -
trunk/Source/WebCore/platform/graphics/SimpleFontData.cpp
r112816 r124654 149 149 } 150 150 151 Glyph SimpleFontData::glyphForCharacter(UChar32 character) const 152 { 153 GlyphPageTreeNode* node = GlyphPageTreeNode::getRootChild(this, character / GlyphPage::size); 154 return node->page() ? node->page()->glyphAt(character % GlyphPage::size) : 0; 155 } 156 151 157 bool SimpleFontData::isSegmented() const 152 158 { -
trunk/Source/WebCore/platform/graphics/SimpleFontData.h
r124397 r124654 154 154 virtual bool containsCharacters(const UChar*, int length) const; 155 155 156 Glyph glyphForCharacter(UChar32) const; 157 156 158 void determinePitch(); 157 159 Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitch; } -
trunk/Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp
r123991 r124654 186 186 for (const FontData* fontData = fontDataAt(0); fontData; fontData = fontDataAt(++i)) { 187 187 const SimpleFontData* simpleFontData = fontData->fontDataForCharacter(baseCharacter); 188 if (variant != NormalVariant) { 188 if (variant == NormalVariant) { 189 if (simpleFontData->platformData().orientation() == Vertical) { 190 if (isCJKIdeographOrSymbol(baseCharacter) && !simpleFontData->hasVerticalGlyphs()) { 191 variant = BrokenIdeographVariant; 192 simpleFontData = simpleFontData->brokenIdeographFontData(); 193 } else if (m_fontDescription.textOrientation() == TextOrientationVerticalRight) { 194 SimpleFontData* verticalRightFontData = simpleFontData->verticalRightOrientationFontData(); 195 Glyph verticalRightGlyph = verticalRightFontData->glyphForCharacter(baseCharacter); 196 if (verticalRightGlyph == baseCharacterGlyphData.glyph) 197 simpleFontData = verticalRightFontData; 198 } else { 199 SimpleFontData* uprightFontData = simpleFontData->uprightOrientationFontData(); 200 Glyph uprightGlyph = uprightFontData->glyphForCharacter(baseCharacter); 201 if (uprightGlyph != baseCharacterGlyphData.glyph) 202 simpleFontData = uprightFontData; 203 } 204 } 205 } else { 189 206 if (const SimpleFontData* variantFontData = simpleFontData->variantFontData(m_fontDescription, variant)) 190 207 simpleFontData = variantFontData;
Note:
See TracChangeset
for help on using the changeset viewer.