可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I'm working on a Java project that uses Jasperreports. I worked several times in other projects using the same technology, and i had the same problem when trying to print a report in Unix environments.
My project uses:
- JBoss 4.2.3.GA
- Java 1.6
- Jasperreports 4.7.0
The exception thrown is:
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM. See the Javadoc for more details.
I found a common solution to solve this issue and ir really works:
sudo apt-get install msttcorefonts
However, I want to understand how Jasper works with fonts, and how it searches this fonts installed in Unix environments. Maybe a better question is: how JVM handles native fonts? Can anyone give me a detailed explanation on this subject? How are system fonts made available for the JVM in runtime?
回答1:
Java asks the OS to provide the fonts. How that works depends on the OS.
http://en.wikipedia.org/wiki/Arial states its is installed on MS-Windows and MAC OSX
回答2:
If you don't want to go through the hassle of downloading jars and what not, just go to software-center and click install Ubuntu restricted extras. This package will install not only MS Fonts but other supports for applications with restricted copyright.
This works for Ubuntu Systems.
回答3:
I was also facing the same issue on Jasper 5.0. I have followed the steps below:
- Place the
jasper-fonts.jar
; - Install the missing fonts in the linux;
- Restart the JBoss server.
回答4:
Update for year 2015:
Add this to (or uncomment in) /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
Then run this:
sudo apt-get update sudo apt-get install msttcorefonts
回答5:
for OpenSuse
validate the fonts is no aviable on SO fc-list | grep "Arial"
install the followin rpm sudo rpm -ivh msttcore-fonts-2.0-3.noarch.rpm
or Download from page:
http://www.mjmwired.net/resources/mjm-fedora-f11.html#ttf
Install the rpm
validate again fc-list | grep "Arial"
Restart your aplication server