mirror of https://github.com/apache/poi.git
Fix handling missing font libraries to again not throw on some types of exception
The previous change broke this handling by always re-throwing "Fatal" exceptions. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1915482 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e696053e23
commit
209e8fc659
|
@ -353,8 +353,18 @@ public class SheetUtil {
|
|||
TextLayout layout = new TextLayout(str.getIterator(), fontRenderContext);
|
||||
return layout.getAdvance();
|
||||
} catch (Throwable t) {
|
||||
// fatal exceptions will always be rethrown
|
||||
if (!ExceptionUtil.isFatal(t) && ignoreMissingFontSystem) {
|
||||
// ignore exception and return a default char width if
|
||||
// the ignore-feature is enabled and the exception indicates that
|
||||
// the underlying font system is not available
|
||||
if (ignoreMissingFontSystem && (
|
||||
// the three types of exception usually indicate here that the font
|
||||
// system is not fully installed, i.e. system libraries missing or
|
||||
// some JDK classes cannot be loaded
|
||||
t instanceof UnsatisfiedLinkError ||
|
||||
t instanceof NoClassDefFoundError ||
|
||||
t instanceof InternalError ||
|
||||
// other fatal exceptions will always be rethrown
|
||||
!ExceptionUtil.isFatal(t))) {
|
||||
return DEFAULT_CHAR_WIDTH;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue