From 274a7e24f372cb15ed78cf097522fd32794fafd9 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Thu, 25 Jan 2024 10:03:29 +0000 Subject: [PATCH] [github-578] allow any non-fatal exception when setting up fonts to indicate that the fonts are probably not installed. This closes #578 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1915397 13f79535-47bb-0310-9956-ffa450edef68 --- poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java b/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java index 57ee821c5d..6d7bc7f8e0 100644 --- a/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java +++ b/poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java @@ -38,6 +38,7 @@ import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.ExceptionUtil; import org.apache.poi.util.Internal; @@ -351,12 +352,13 @@ public class SheetUtil { try { TextLayout layout = new TextLayout(str.getIterator(), fontRenderContext); return layout.getAdvance(); - } catch (UnsatisfiedLinkError | NoClassDefFoundError | InternalError e) { - if (ignoreMissingFontSystem) { + } catch (Throwable t) { + // fatal exceptions will always be rethrown + if (!ExceptionUtil.isFatal(t) && ignoreMissingFontSystem) { return DEFAULT_CHAR_WIDTH; } - throw e; + throw t; } } -- 2.39.5