5

I'm trying to upgrade BIRT to the latest runtime 3.7. Looks like that it's impossible to customize PDF fonts! In previous versions it were done in org.eclipse.birt.report.engine.fonts*/fontsConfig*.xml files.

In 3.7 fontsConfig*.xml files are embedded in BIRT runtime jar file(in my case it's org.eclipse.birt.runtime_3.7.1.v20110913-1734.jar). The jar file is signed, think it's necessary for OSGI. So if you change anything in jar, JRE throw checksum error on loading the file. If you remove the signing info, OSGI will not load it (NPE).

Any ideas how could I customize my pdf fonts without rebuilding BIRT runtime?

By the way, I suspect that the same issue presents for jdbc drivers. Above mentioned jar file contains drivers folder. Suspect that it's a stub for jdbc drivers from plugin org.eclipse.birt.report.data.oda.jdbc*.

Several years ago I asked a question regarding adding PDF fonts from BIRT runtime. It's still unanswered BIRT: pdf emitter, load/use fonts from relative path or from jar files

UPDATE:

  1. regarding pdf fonts, found open bug unresolved in 3.7.1 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=347431
  2. According to http://wiki.eclipse.org/Birt_3.7_Migration_Guide#JDBC_Drivers, jdbc drivres must be in classpath
Community
  • 1
  • 1
FoxyBOA
  • 5,788
  • 8
  • 48
  • 82
  • The issue was fixed in 3.7.2. Works fine for me :) – FoxyBOA Jul 30 '12 at 09:50
  • Great solution with configuring fonts on iText directly is here http://stackoverflow.com/questions/23021711/how-to-configure-birt-report-engine-to-use-fonts-directly-from-the-applications – Lukasz Frankowski Jan 17 '15 at 19:10

1 Answers1

3

It's not the cleanest way to go, but it's possible to edit them inside the jar file. You can remove the signature by deleting META-INF/ECLIPSEF.SF and removing everything from META-INF/MANIFEST.MF that goes after it's main section (filenames and digests...alternatively, remove just sections of the config files). It's not required to have the jar signed (I suppose it depends on security manager's settings, but under default settings it runs fine).

schmeedy
  • 316
  • 2
  • 7