lunes, 13 de abril de 2009

Problema texto largo en jasperreports y linux

Les cuento que en la aplicacion que desarrollo tengo unos reportes y usamos jasperreports3.0 para generar archivos pdf, bien teniamos un problema con estos reportes en un campo de texto que podia ser corto o muy largo, el problema es que a veces el texto se cortaba, en windows funcionaba muy bien, todo el texto se mostraba perfecto, pero en linux no, entonces escribi a jasperreport.org y me contestaro que se debia a un problema con las fuentes, en este campo la fuente definida es Arial y en windows esta fuente trabaja muy bien pues es nativa de este sisteama operativo pero en linux no la tiene ya que es una fuente propietaria, y bueno para esto installe la fuente Arial en linux y el problema se soluciono.

Para saber mas acerca de este bug pueden leer en este FAQ de jasper, en la parte donde dice:

Why is my text not displayed correctly in PDF?

Para instalar la fuente arial segui los siguientes pasos (el servidor linux que usamos es un red hat enterprise 5):

1.- Crear una carpeta en la ruta /usr/share/fonts
mkdir windowsfonts

2.- Copiar las fuentes Arial de la carpeta c:\WINDOWS\fonts a la carpeta creada en el punto 1 (windowsfonts)

3.- Cambiar el propietario y los permisos de las fuentes que se copiaron
Ejecutar :
cd /usr/share/fonts/windowsfonts
chown root.root *.tff
chmod 644 *.ttf

4.- Ejecutar el commando mkfontdir dentro de la carpeta que contiene las fuentes (windowsfonts)

5.- Cambiar al directorio padre (fonts), ejecutando cd ..

6.- Ejecutar el comando fc-cache windowsfonts

Para mas referencias sobre installar la fuente arial aqui estan estos links:

http://linuxhelp.blogspot.com/2005/12/adding-windows-fonts-in-linux.html

Este es de redhat
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.2/html/Deployment_Guide/s3-x-fonts-fontconfig-add.html


No hay comentarios: