-
Try this:
diff --git a/libs/flake/text/KoFontRegistry.cpp b/libs/flake/text/KoFontRegistry.cpp index 72bc9f7f10..fae75e87bf 100644 --- a/libs/flake/text/KoFontRegistry.cpp +++ b/libs/flake/text/KoFontRegistry.cpp @@ -741,6 +741,7 @@ KoSvgText::FontMetrics KoFontRegistry::fontMetricsForCSSValues(KoCSSFontInfo inf yRes, disableFontMatching, language); + if (faces.empty()) return metrics; metrics = KoFontRegistry::generateFontMetrics(faces.front(), isHorizontal); d->fontMetrics().insert(suggestedHash, metrics); }
-
May also need:
diff --git a/libs/flake/text/KoSvgTextProperties.cpp b/libs/flake/text/KoSvgTextProperties.cpp index 639a0bbd79..75b26fc326 100644 --- a/libs/flake/text/KoSvgTextProperties.cpp +++ b/libs/flake/text/KoSvgTextProperties.cpp @@ -1034,7 +1034,10 @@ qreal KoSvgTextProperties::xHeight() const const qreal fontSizeVal = fontSize().value; const bool isHorizontal = propertyOrDefault(WritingModeId).toInt() == KoSvgText::HorizontalTB; const KoSvgText::FontMetrics metrics = KoFontRegistry::instance()->fontMetricsForCSSValues(info, isHorizontal); - return double((metrics.xHeight*-1)/metrics.fontSize) * fontSizeVal; + if (metrics.xHeight > 0 && metrics.fontSize > 0) { + return double((metrics.xHeight*-1)/metrics.fontSize) * fontSizeVal; + } + return fontSizeVal*0.5; }
To avoid division by 0.
Please register or sign in to comment