2012-09-14 405 views
5

Estoy trabajando en un proyecto Java que utiliza Jasperreports. Trabajé varias veces en otros proyectos utilizando la misma tecnología, y tuve el mismo problema al tratar de imprimir un informe en entornos Unix.La fuente 'Arial' no está disponible para JVM

Mi proyecto utiliza:

  • JBoss 4.2.3.GA
  • Java 1.6
  • JasperReports 4.7.0

La excepción lanzada es:

net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM. See the Javadoc for more details. 

Encontré una solución común para resolver este problema e IR y funciona de verdad:

sudo apt-get install msttcorefonts 

Sin embargo, quiero entender cómo Jasper trabaja con fuentes, y cómo se busca instaladas en entornos Unix esta fuentes. Quizás una pregunta mejor es: ¿cómo maneja JVM las fuentes nativas? ¿Alguien puede darme una explicación detallada sobre este tema? ¿Cómo están disponibles las fuentes del sistema para la JVM en tiempo de ejecución?

+2

debería leer [extensiones de fuente] (http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/sample.reference/fonts/index.html) mecanismo. También puede encontrar más detalles en * JasperReports Ultimate Guide *. Para una mejor comprensión, puede explorar los archivos fuente del * motor JR * –

+0

¿Hay alguna fuente para esto en los documentos JVM? – gdfbarbosa

+0

¿Qué quieres decir? –

Respuesta

4

Java solicita al sistema operativo que proporcione las fuentes. Cómo funciona eso depende del sistema operativo.

http://en.wikipedia.org/wiki/Arial sus Estados está instalado en MS-Windows y MAC OSX

0

también estaba enfrentando el mismo problema en Jasper 5.0. He seguido los pasos a continuación:

  1. Coloque el jasper-fonts.jar;
  2. Instale las fuentes que faltan en el Linux;
  3. Reinicia el servidor JBoss.
+0

¿Funcionó? ¿De dónde viene jasper-fonts.jar? – Gustavo

0

Actualización para el año 2015:

añadir esto a (o elimine el comentario en) /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 

A continuación, ejecute la siguiente:

sudo apt-get update 
sudo apt-get install msttcorefonts 
2

Si no desea pasar por la molestia de descargar tarros y lo que no, simplemente vaya al centro de software y haga clic en instalar extras de Ubuntu. Este paquete instalará no solo MS Fonts, sino otros soportes para aplicaciones con derechos de autor restringidos.

Esto funciona para Ubuntu Systems.

0

para OpenSuse

validar las fuentes no es aviable en SO fc-list | grep "Arial"

instala el siguiente rpm sudo rpm -ivh msttcore-fonts-2.0-3.noarch.rpm

o descargar de la página:

http://www.mjmwired.net/resources/mjm-fedora-f11.html#ttf

instalar el RPM

validar de nuevo fc-list | grep "Arial"

reiniciar su servidor aplicacion

Cuestiones relacionadas