Designer doesn't support Chinese well

The fontconfig.properties file in my previous post maps the logical fonts to the windows included CJK fonts (identical to the default fontconfig.properties file that is included with the JRE in its src form, I just brought in those values to our fontconfig.properties). The noto fonts are there still but will fallback to OS default fonts for CJK glyphs.

All the bundled JRE’s will receive this file when the changes get brought into the code base along with the new JRE (11.0.7). By my estimation this will be Ignition version 8.0.13.

Now for some background:
This all came about because the lucida fonts were removed from the JDK due to licensing issues after java 1.8. This is still an ongoing issue but we have handled the change extremely well considering that without bundling these fonts and providing our own custom fontconfig.properties file many languages would simply be unsupported.

Azul provides a compatibility pack to assist with this but its not licensed for redistribution due to the underlying restrictions on the lucida fonts. Eventually this will likely be fully addressed in the OpenJDK but as of right now, we cover a HUGE amount of languages with the current configurations using just the bundled fonts and standard OS defaults:


(I have highlighted the additions added with the fontconfig.properties file I uploaded)
fonti18n.zip (58.0 KB)

You can observe with the provided project export that these characters originally don’t appear with the existing configuration. Once you replace the fontconfig.properties file in %USER_HOME%/.ignition/cache/runtimes/11.0.6/conf/fonts with the one I provided you should see those characters appear unless you are in a non-standard install of windows. In that case you will have to install the fonts listed in that file.

P.S. There is a ticket open to add the ability to add and adjust these font configurations more easily on the gateway (currently, the JREs are there under lib/runtime so you can do whatever you like with them) which clients will pull and update on launch to minimize any headache of dealing with this on the client side, but there hasn’t been a huge push to implement at this time because our current setup handles things quite nicely.