diff options
Diffstat (limited to 'Source/WebCore/rendering/svg/SVGTextQuery.cpp')
-rw-r--r-- | Source/WebCore/rendering/svg/SVGTextQuery.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/WebCore/rendering/svg/SVGTextQuery.cpp b/Source/WebCore/rendering/svg/SVGTextQuery.cpp index 42d511b..1a4cdab 100644 --- a/Source/WebCore/rendering/svg/SVGTextQuery.cpp +++ b/Source/WebCore/rendering/svg/SVGTextQuery.cpp @@ -472,7 +472,10 @@ struct ExtentOfCharacterData : SVGTextQuery::Data { static inline void calculateGlyphBoundaries(SVGTextQuery::Data* queryData, const SVGTextFragment& fragment, int startPosition, FloatRect& extent) { - extent.setLocation(FloatPoint(fragment.x, fragment.y - queryData->textRenderer->style()->font().ascent())); + float scalingFactor = queryData->textRenderer->scalingFactor(); + ASSERT(scalingFactor); + + extent.setLocation(FloatPoint(fragment.x, fragment.y - queryData->textRenderer->scaledFont().fontMetrics().floatAscent() / scalingFactor)); if (startPosition) { SVGTextMetrics metrics = SVGTextMetrics::measureCharacterRange(queryData->textRenderer, fragment.positionListOffset, startPosition); |