Index: third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp |
diff --git a/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp b/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp |
index e5822beb80aafc9f2bec25eebb167531f5fd4e7e..20182a0461aff791bbb35d077f49c5fcf88689af 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp |
+++ b/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.cpp |
@@ -206,11 +206,16 @@ void SVGTextLayoutEngine::BeginTextPathLayout(SVGInlineFlowBox* flow_box) { |
return; |
float total_length = text_path_chunk_layout_builder.TotalLength(); |
- if (length_adjust == kSVGLengthAdjustSpacing) |
- text_path_spacing_ = (desired_text_length - total_length) / |
- text_path_chunk_layout_builder.TotalCharacters(); |
- else |
+ if (length_adjust == kSVGLengthAdjustSpacing) { |
+ text_path_spacing_ = 0; |
+ if (text_path_chunk_layout_builder.TotalCharacters() > 1) { |
+ text_path_spacing_ = desired_text_length - total_length; |
+ text_path_spacing_ /= |
+ text_path_chunk_layout_builder.TotalCharacters() - 1; |
+ } |
+ } else { |
text_path_scaling_ = desired_text_length / total_length; |
+ } |
} |
void SVGTextLayoutEngine::EndTextPathLayout() { |