cancel
Showing results for 
Search instead for 
Did you mean: 

Exporting pdf with unicode, problem in Unix

Former Member
0 Kudos

Hi

When I export crystal report using jrc on windows as PDF, the fonts are also embedded and they open fine in all PDF readers. The font I am using is Arial Unicode.

But when I run in unix(Solaris) the Unicode fonts are not embedded. However Normal Arial font is embedded.

Adobe reader says japanesee laguage pack required, foxit misses some characters, PDFX Viewer shows all chars but wouldn't print properly.

Is there any workaround for this? how can i make it embed the font? or can I embed a font after exporting the pdf?

Thanks for your help.

Peter

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi

I have another font songti.ttf that is editable installed on our solaris.
its path is also indicated in jre/lib/fontconfig.properties.src under zh_CN locale
if i run graphicsenvironment.getavailablefontfamilynames() in java, i see this font there along with arial.
when i used these fonts pdf refers these font(no replacement) but still dont embedd.

If i copy the font to java/lib/jre it embeds the fonts. due to server architecture constraints I cant copy the font there. So can we copy in some other location and make jrc use this font? is there any variable in java or property in crconfig.xml that i can set? or since it is already available in awt can we add some code in java. appreciate your kind help.

Thanks very much

Former Member
0 Kudos

I'm unable to find a solution for this. please help or let me know if it is not possible.

jrc is embedding fonts placed in jre\lib\fonts folder but not fonts from a different location(system fonts) added to jre\lib\fontconfig.properties.src. I can see the font in AWT list of fonts by running graphicsenvironment.getavailablefontfamilynames() method.

Thanks

Former Member
0 Kudos

i tried using GraphicsEnvironment.registerFont in java. still no lock.

finally i copied jre to a an accessible place, copied font to lib/fonts and using this to run my classes.

Adam_Stone
Active Contributor
0 Kudos

I suspect the issue is because you do not have the Arial Unicode font on the Unix machine, or the copy of the font you do have, says that it is not embeddable.  If you look up the detail about that font, you will see it is a Microsoft font.

Former Member
0 Kudos

Hi Adam

thanks for replying.
actually i have arial fonts in x11/TrueType/fonts folder
i realized crystal is not embedding those fonts too but just referring to them(when i see properties>fonts in pdf)
for unicode fonts it is referring as SunDotum, dont know what font it is.

Suppose if i have the fonts, how do i make crystal embed those fonts in unix(solaris)? Where should i copy the fonts or what code changes should i make? I saw in the forum to copy the fonts to jre\fonts folder but that doesnt seem to help.

Thanks

Edit: I am using firefly(http://cle.linux.org.tw/fonts/FireFly/) opensource font for chineese characters, so licensing/being embeddable shouldnt be an issue

Adam_Stone
Active Contributor
0 Kudos

I downloaded the font you mentioned and looked at the Font Embeddability property.  It is set to Preview/Print.  I do not know if this is good enough as you could technically edit the PDF file.  Here is the description of the different values for Font Embeddability from Microsoft:

There are 4 levels of embedding permissions:

'Print and preview' fonts can be embedded in a document, provided the user reading the document cannot edit the content of the document.

'Editable' fonts can be embedded within content that can be edited by the user.

'Installable' fonts within a document may be permanently installed by the user reading the document or a client application. In practice, installable fonts are treated like editable fonts by most client applications.

'No embedding permissions' prevent fonts from being embedded in a document.

Former Member
0 Kudos

Hi Adam

Some success with embedding fonts.

I have arial fonts in solaris system fonts folder
/usr/X/lib/X11/fonts/TrueType
jrc didn't embed those fonts.

I have Lucida Typewriter fonts in java fonts
/usr/local/java/jdk1.6.0_06/jre/lib/fonts
jrc embedded these fonts.

So I guess copying fonts and updating fonts.dir should work. But we don't have permission to do this.

Can we place fonts in custom location and refer them with some variables or some other means, similar to refering jars, setting classpath, etc.?

Thanks very much