Font 'Arial' is not available to the JVM

匿名 (未验证) 提交于 2019-12-03 02:52:02

问题:

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:

  1. Place the jasper-fonts.jar;
  2. Install the missing fonts in the linux;
  3. 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



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!