| Index: Source/core/rendering/svg/SVGTextLayoutEngineSpacing.cpp
|
| diff --git a/Source/core/rendering/svg/SVGTextLayoutEngineSpacing.cpp b/Source/core/rendering/svg/SVGTextLayoutEngineSpacing.cpp
|
| index 282d5bc4eacd332a129f1c80a34e63a6b299c73c..39683386a79e18f7194c3d6f3fbc7cbf18e08e61 100644
|
| --- a/Source/core/rendering/svg/SVGTextLayoutEngineSpacing.cpp
|
| +++ b/Source/core/rendering/svg/SVGTextLayoutEngineSpacing.cpp
|
| @@ -37,15 +37,18 @@ namespace WebCore {
|
| SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing(const Font& font)
|
| : m_font(font)
|
| , m_lastCharacter(0)
|
| +#if ENABLE(SVG_FONTS)
|
| + , m_lastGlyph(0)
|
| +#endif
|
| {
|
| }
|
|
|
| -float SVGTextLayoutEngineSpacing::calculateSVGKerning(bool isVerticalText, const SVGTextMetrics::Glyph& currentGlyph)
|
| +float SVGTextLayoutEngineSpacing::calculateSVGKerning(bool isVerticalText, Glyph currentGlyph)
|
| {
|
| #if ENABLE(SVG_FONTS)
|
| const SimpleFontData* fontData = m_font.primaryFont();
|
| if (!fontData->isSVGFont()) {
|
| - m_lastGlyph.isValid = false;
|
| + m_lastGlyph = 0;
|
| return 0;
|
| }
|
|
|
| @@ -59,24 +62,24 @@ float SVGTextLayoutEngineSpacing::calculateSVGKerning(bool isVerticalText, const
|
|
|
| SVGFontElement* svgFont = svgFontFace->associatedFontElement();
|
| if (!svgFont) {
|
| - m_lastGlyph.isValid = false;
|
| + m_lastGlyph = 0;
|
| return 0;
|
| }
|
|
|
| float kerning = 0;
|
| - if (m_lastGlyph.isValid) {
|
| + if (m_lastGlyph) {
|
| if (isVerticalText)
|
| - kerning = svgFont->verticalKerningForPairOfStringsAndGlyphs(m_lastGlyph.unicodeString, m_lastGlyph.name, currentGlyph.unicodeString, currentGlyph.name);
|
| + kerning = svgFont->verticalKerningForPairOfGlyphs(m_lastGlyph, currentGlyph);
|
| else
|
| - kerning = svgFont->horizontalKerningForPairOfStringsAndGlyphs(m_lastGlyph.unicodeString, m_lastGlyph.name, currentGlyph.unicodeString, currentGlyph.name);
|
| + kerning = svgFont->horizontalKerningForPairOfGlyphs(m_lastGlyph, currentGlyph);
|
| +
|
| + kerning *= m_font.fontDescription().computedSize() / m_font.fontMetrics().unitsPerEm();
|
| }
|
|
|
| m_lastGlyph = currentGlyph;
|
| - m_lastGlyph.isValid = true;
|
| - kerning *= m_font.fontDescription().computedSize() / m_font.fontMetrics().unitsPerEm();
|
| return kerning;
|
| #else
|
| - return false;
|
| + return 0;
|
| #endif
|
| }
|
|
|
|
|