java.lang.Error:可能的致命错误:未找到字体

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14066525/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-31 14:57:06  来源:igfitidea点击:

java.lang.Error: Probable fatal error:No fonts found

javafonts

提问by Dhiren

I am using same code of jfreechart in linux and windows with zkoss.

我在 linux 和 windows 中使用相同的 jfreechart 代码和 zkoss。

When i run same code in windows it runs fine, but in linux it gives font related error as under....

当我在 Windows 中运行相同的代码时它运行良好,但在 linux 中它给出了与字体相关的错误如下....

Can anyone please suggest me how can i resolve this issue permanently ?

任何人都可以建议我如何永久解决此问题?

java.lang.Error: Probable fatal error:No fonts found.

java.lang.Error:可能的致命错误:未找到字体。

sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1087)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1070)
sun.font.FontManager.initialiseDeferredFont(FontManager.java:959)
sun.font.FontManager.findOtherDeferredFont(FontManager.java:898)
sun.font.FontManager.findDeferredFont(FontManager.java:915)
sun.font.FontManager.findFont2D(FontManager.java:1903)
sun.font.FontManager.findFont2D(FontManager.java:1864)
java.awt.Font.getFont2D(Font.java:477)
sun.font.FontManager.getFont2D(Native Method)
sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:356)
sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:349)
sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:301)
sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:787)
org.jfree.text.TextFragment.calculateDimensions(TextFragment.java:229)
org.jfree.text.TextLine.calculateDimensions(TextLine.java:190)
org.jfree.text.TextBlock.calculateDimensions(TextBlock.java:171)
org.jfree.chart.block.LabelBlock.arrange(LabelBlock.java:316)
org.jfree.chart.block.BorderArrangement.arrangeNN(BorderArrangement.java:210)
org.jfree.chart.block.BorderArrangement.arrange(BorderArrangement.java:137)
org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:179)
org.jfree.chart.block.CenterArrangement.arrangeNN(CenterArrangement.java:284)
org.jfree.chart.block.CenterArrangement.arrange(CenterArrangement.java:98)
org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:179)
org.jfree.chart.block.FlowArrangement.arrangeNN(FlowArrangement.java:365)
org.jfree.chart.block.FlowArrangement.arrangeRR(FlowArrangement.java:283)
org.jfree.chart.block.FlowArrangement.arrange(FlowArrangement.java:158)
org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:179)
org.jfree.chart.title.LegendTitle.arrange(LegendTitle.java:501)
org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1330)
org.jfree.chart.JFreeChart.draw(JFreeChart.java:1220)

回答by Yu Jiaao

under Ubuntu you can install fonts by

在 Ubuntu 下,您可以通过以下方式安装字体

    sudo apt-get install ttf-dejavu

or if you use CentOS, you can install fonts by

或者如果您使用 CentOS,您可以通过以下方式安装字体

    yum install dejavu*

回答by vels4j

It seems problem in open jdk. Here is a linkgiven solution for fixing this issue in open jdk. If no issues using sun jdk, please try installing sun jdk.

打开 jdk 似乎有问题。这是在开放 jdk 中解决此问题的解决方案的链接。如果使用 sun jdk 没有问题,请尝试安装 sun jdk。

回答by EnricoF

In my case (debian wheezy) installing the dejavu font does not solve the problem.

在我的情况下(debian wheezy)安装 dejavu 字体并不能解决问题。

I have solved after installing the fontconfig package

安装fontconfig包后我已经解决了

sudo apt-get install fontconfig

sudo apt-get install fontconfig

回答by Fiskegubbe

Debian 9 Stretch Install Fonts: sudo apt-get install ttf-dejavu Install fontconfig: sudo apt-get install fontconfig Rebuild the font cache: fc-cache -f -v Restart Tomcat

Debian 9 Stretch 安装字体:sudo apt-get install ttf-dejavu 安装 fontconfig:sudo apt-get install fontconfig 重建字体缓存:fc-cache -f -v 重启 Tomcat

Works

作品

回答by Muhammad Imran Tariq

Try putting same Windowsfonts that are required for the application in Linuxfonts directory.

尝试将Windows应用程序所需的相同字体放在Linuxfonts 目录中。