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 an attachment (id=167292)
report with non-ascii characters
created an attachment (id=167293)
genereated postscript result
created an attachment (id=167294)
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.