2009-06-29 19 views
6

He creado un archivo rptdesign usando BIRT IDE. El contenido de este archivo está en fuente Arial, cuando exporto el informe a PDF en Windows funciona bien.Fuente Arial requerida en PDF (BIRT pdf renderer, Linux)

I usa el viewerServlet predeterminado para crear informes. Pero cuando moví el informe a un sistema Linux, todos los contenidos del informe se mostraban en Times New Roman en lugar de Arial en el archivo PDF.

Entonces copiar el archivo Arial.ttf a/var/fuente/TrueType y añade la siguiente línea a la plataforma/plugins/org.eclipse.birt.report.engine.fonts_2.3.2.r232_20090202/fontsConfig.xml

<font-paths> 
     --------------- 
     --------------- 
     --------------- 
     <path path="/var/font/truetype" /> 
    </font-paths> 

Después de agregar esta línea, todos los contenidos vienen en fuente Arial, pero los contenidos en negrita aparecen comprimidos y se ven muy feos.

¿Alguien ha enfrentado este problema y tiene alguna solución?

Gracias Saludos, Arun

+0

No conozco su marco particular, pero ¿no ofrece la posibilidad de incrustar las fuentes usadas en el PDF? – balpha

Respuesta

0

Pruebe explícitamente indicando su camino hacia la fuente de esta manera:

<font-paths> 
    <path path="/var/font/truetype/arial.ttf" /> 
</font-paths> 

establecer esta propiedad (font-caminos) hacer que el directorio de fuentes predeterminadas para ser ignorado en favor de solo los caminos en este conjunto. Esto hará que Arial sea la única fuente disponible para su PDF. Para incluir las fuentes predeterminadas (TNR, Courier, etc.) agregue la ruta predeterminada (org.eclipse.birt.report.engine.fonts) debajo de los complementos de eclipse a las entradas de ruta de fuente también.

También puede optar por simplemente agregar Arial.ttf al directorio predeterminado y QUITAR TODAS LAS ENTRADAS de las rutas de fuentes y seleccionar el tipo de Arial de esa manera. De cualquier manera debería funcionar.

Buena suerte.

+0

Después de hacer esto, los caracteres en negrita aparecen muy audaces y comprimidos. Creo que es lo mismo que incluir la carpeta de fuentes. En lugar de cargar todas las fuentes, solo cargará la fuente Arial. –

+0

Arial.ttf tiene una variante audaz en la fuente misma. Siempre que se encuentre la clase de fuente, es el motor de PDF el que tiene problemas para manejar el peso en negrita. – MystikSpiral

0

¿Puede alguien decirme si hay algún problema con la fuente Arial en Linux, si los caracteres se establecen como negrita

Todo funciona bien para nosotros. A continuación es mi parche para fontsConfig.xml:

<font-aliases> 
    <mapping name="sans-serif" font-family="Arial" /> 
    ... 
</font-aliases> 
<font-paths> 
    <path path="fonts"/> 
</font-paths> 

Poner en arial.ttf carpeta de fuentes y archivos arial.xml.

+0

Hola, Gracias por su respuesta. Pero todavía no funciona para mí. He agregado los alias de fuentes y las rutas de fuentes en el archivo fontsConfig_pdf.xml. ¿Puede decirme cómo funciona el texto en negrita en sus informes, se ve bien? –

+0

Sí. Bold Arial se ve bien. ¿Tienes varios archivos fontsConfig? Te recomiendo (si es posible) dejar 1 archivo fontsConfig.xml y configurar todo en el archivo. – FoxyBOA

2

Aquí está mi archivo fontsConfig_pdf.xml

<font> 
<font-aliases> 
    <mapping name="sans-serif" font-family="Arial" /> 
    <mapping name="serif" font-family="Times-Roman" /> 
    <mapping name="monospace" font-family="Courier" /> 
</font-aliases> 
<font-encodings> 
    <encoding font-family="Times-Roman" encoding="Cp1252" /> 
    <encoding font-family="Helvetica" encoding="Cp1252" /> 
    <encoding font-family="Courier" encoding="Cp1252" /> 
    <encoding font-family="Zapfdingbats" encoding="Cp1252" /> 
    <encoding font-family="Symbol" encoding="Cp1252" /> 
    <encoding font-family="STSong-Light" encoding="UniGB-UCS2-H" /> 
    <encoding font-family="STSongStd-Light" encoding="UniGB-UCS2-H" /> 
    <encoding font-family="MHei-Medium" encoding="UniCNS-UCS2-H" /> 
    <encoding font-family="MSung-Light" encoding="UniCNS-UCS2-H" /> 
    <encoding font-family="MSungStd-Light" encoding="UniCNS-UCS2-H" /> 
    <encoding font-family="HeiseiMin-W3" encoding="UniJIS-UCS2-H" /> 
    <encoding font-family="HeiseiKakuGo-W5" encoding="UniJIS-UCS2-H" /> 
    <encoding font-family="KozMinPro-Regular" encoding="UniJIS-UCS2-H" /> 
    <encoding font-family="HYGoThic-Medium" encoding="UniKS-UCS2-H" /> 
    <encoding font-family="HYSMyeongJo-Medium" encoding="UniKS-UCS2-H" /> 
    <encoding font-family="HYSMyeongJoStd" encoding="UniKS-UCS2-H" /> 
</font-encodings> 
<font-paths> 
     <path path="/var/fonts/truetype"/> 
</font-paths> 
<composite-font name="all-fonts"> 
    <font font-family="Times-Roman" catalog="Western" /> 
    <font font-family="MSung-Light" catalog="Chinese" /> 
    <font font-family="HeiseiKakuGo-W5" catalog="Japanese" /> 
    <font font-family="HYGoThic-Medium" catalog="Korean" /> 
</composite-font> 
</font> 
0

pasé horas buscando esto:

export BIRT_FONT_PATH=/usr/share/fonts/truetype 

Ejecutar este y listo!

0

Entonces copiar el archivo Arial.ttf a/var/fuente/TrueType

Arial.ttf sólo contiene la versión normal de la fuente. Para negrita, cursiva y cursiva en negrita hay diferentes archivos (arialbd.ttf, etc.). Solo copie estos también.