Community
Participate
Working Groups
Build Identifier: 20090920-1017 Non-ASCII characters are not encoded according to the Postscript specification if used with a standard Postscript font. With a non-standard font they are rendered correctly. The problem seems to lie in the method org.eclipse.birt.report.engine.emitter.postscript.PostscriptWriter.applyIntrinsicFont(String, int, float, String), which does not take encoding into account. For a standard (intrinsic) font it generates something like this: /Helvetica 18.0 usefont 0.0 0.0 0.0 18.54 721.476 0.0 0.0 (abc זרו - sans serif) false drawstring For a non-standard font the output is a font definition (I think) and an encoded text: /Century 18.0 usefont 0.0 0.0 0.0 18.54 695.505 0.0 0.0 <004400450046000300a000a1006e000300100003002600480051005700580055005c> false drawstring Reproducible: Always Steps to Reproduce: 1. Create a simple report and add a label that contains non-ASCII charaters (e.g. "זרו") and use a standard font, e.g., sans-serif (which becomes Helvetica). Create another label in the same way, but with a non-standard font. An example is attached 2. Render the report as postscript 3. View or print the file. The non-ASCII characters are not rendered correctly with the standard font
Created attachment 167292 [details] Report with non-ASCII characters
Created attachment 167293 [details] Genereated postscript result
Created attachment 167294 [details] Snapshot from GSView
This is caused by the incorrect font mapping of Sans-serif, which should be mapped to a true type font, otherwise, the non-ascii characters can't be displayed. Standard fonts can't be used to display non-ascii characters. It was fixed with bug 308780. *** This bug has been marked as a duplicate of bug 308780 ***