Skip to content
  • 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.

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment