Bug of the week: Error with Font Mapping Hebrew in JRE 1.6

March 20, 2012

My annoying bug of the week came when I tried to fix the font mapping of our Forms 11g upgraded system. During the 11g upgrade, we moved from Jnitiator to JRE and since we are a Hebrew application all the font switched to David. I did everything according to the letter – mapfonts = yes change the fonts in the fontconfig.properties.src but it seemed no matter what I did the font in JRE 1.6 was David instead of the font assigned in the application or in the registry.dat file.

UNTIL I found this Oracle support note
After Upgrading to Either JRE 1.5.0_XX or 1.6.0_XX the Default Font for Hebrew Characters has Changed from “Arial” to “David” [ID 972975.1]

The work around is quite simple but a bit annoying:

1) Copy fontconfig.properties.src and rename to fontconfig.properties

2) Edit the fontconfig.properties file and make the font changes, to map Hebrew font to regular font and not David for example one change…

serif.bold.hebrew=David Bold
serif.bolditalic.hebrew=David Bold
serif.bold.hebrew=Arial Bold
serif.bolditalic.hebrew=Arial Bold

3) Save the file and voila! When you run your application the font will be like it was.

4) In order to make this painless for your end users, you need to create a new silent install file that also copies the fontconfig.properties to the “%PROGRAMFILES%Javajre6lib

It can look something like this:


c:tempjre-6u30-windows-i586-s.exe /s

copy /Y “<netwrok drive where file is stored>fontconfig.properties” “%PROGRAMFILES%Javajre6lib”

Good Luck and let me know if you have any problems!