Here is small example of one IR with only one column that shown in content all Croatian national characters: this one. Problem is more than obvious.
Regardless there are some instructions which said that proper "fop.xml" should be edited with some content, this approach didn't work in mine example.
The SolutionOn my Windows PC, I have for example the Arial font that contains the Croatian characters. Solution is a little bit more complex and described in next steps.
- Open file
\apex\core\reports3.sql (this contains the 'generic XSL-FO definition' that should be modified)
- Save that file it under new name reports3_new.sql (preserve original for any kind of problem later)
- find the part with "#BODY_FONT_FAMILY#" and replace with "Arial"
Here is small example for body definition. Original part
12.0pt #BODY_FONT_FAMILY# false #BODY_FONT_SIZE#pt #BODY_FONT_WEIGHT# 12.0pt Arial false #BODY_FONT_SIZE#pt #BODY_FONT_WEIGHT#
- start SQLplus and connect as APEX_040200 user (or add APEX_040200 in previously edited package specification and connect any privileged user)
- Now recompile the changed file of step 2
- Recompile package & package body APEX_040200.wwv_render_report3
- In defaults.xml add entry which points to new "fop.xml" file. In mine case this is:
- In fop.xml, on mentioned location, place next content:
flate C:\WINDOWS\FONTS false
- Restart the APEX Listener
The EndAs I was informed, this workaround should be fully implemented in next Apex 5.0 when such a workaround should not be necessary.
Hope this helps someone.