Some tools provide function of exporting PDF. Most of these are not i18n friendly (not render non-latin character properly). Some of these tools use Apache FOP to render PDF via XSLT and XSL-FO. Yet, a pdf with special characters (Chinese, in my case) would not shown properly. By default, PDF files support 14 fonts which doesn't contain Asian chars. Every Asian chars is replaced by '#'.
So, I think it's very important to allow administrator to set a "default font" to show this chars, may be an entry in sakai.properties would meet the need.
I seach the code and find 4 tools use Apache FOP: calendar, wiki, site-manage and sitestats. And fix site-manage and calendar tool in local repository.
Follows are the main change:
1. Use FOP 1.0 instead of previous FOP versions (like 0.20.5). This will bring the new feature of detect System fonts automatically. With out this feature, admin must compile a xml file to represent font (like calendar tool used to be).
2. Use a dummy font "DEFAULT_FONT" as "font-family" at <fo:root> in XSL file. This value would be replaced by a custom value "fop.pdf.default.font" in sakai.properties. If this value is not set, then the default PDF font "Helvetica" will be used. So, this change wouldn't affect the latin-1 users and even the entry is optional if latin1 is enough.
3. Modify the XSL file to meet FOP 1.0 which check XSL file more strictly than previous versions
Now, I have made the four tools I mentioned before to work properly in Chinese. I'll create 4 sub-task to make the bug more clearly.