Designer doesn't support Chinese well

I jsut restore a v7.9 backup. It seems that Designer doesn’t support Chinese well. I’ve already configured Translation correctly in v7.9, but it shows blank. These are the screenshots:

Is there anywhere configuring appearance language of the Designer?

Here is information about my computer:
OS: Windows 10 pro 64 bit 1809
Locale: zh-CN
Language of OS: Chinese (Simplified)
Version of Igniton: 8.0.0-beta0 (b2019031202)

When you see a box like that instead of a character, it’s a font issue – the computer understands the character, but the font doesn’t know how to display it.

We recently updated the built in fonts for the designer, and I thought this was taken care of. I’ll ping one of my co-workers when he gets in to the office and see what his thoughts are on this.

I think it required you to download the client/designer launcher again?

If you haven't done that recently give it a shot.

Ah, good thought. Definitely try that.

also, just for clarification, do these characters show up fine on 7.9? If so, are you using Oracles JRE? We bundle a ton of fallback fonts with the runtime we ship, however we do not include CJK versions due to the file size for each individual font. for Locales that require these glyphs you will likely have to install those fonts HERE.

Yes, they show up fine on 7.9 with Oracles JRE1.8.0_201.

I downloaded NotoSansCJKsc fonts and installed them by double-click. But the problem still exists. And I restarted the gateway service, uninstalled and reinstalled the designer launcher, uninstalled and reinstalled Ignition 8.0. But it still didn't work.

I think maybe I should put these font files in a directory instead of just installing them. So I found a directory named "C:\Program Files\Inductive Automation\Ignition\lib\runtime\jre-win\lib\fonts" where contains serveral .ttf files as well as the directory "C:\Program Files\Inductive Automation\Ignition\lib\runtime\jre-win\lib\fonts\fallback". I'm not sure if I should put the NotoSansCJKsc fonts there because I found it still didn't work when I did this.

One more thing, what I download is the otf edition as there is no ttf edition for the NotoSansCJKsc fonts. So I'm totally confused.

1 Like

ok a couple of things here.

  1. the directory route will work, however you need to put the fonts into the jre-{OS} zip or tar. these zips/tars are the files that are retrieved by a client/designer when targeting a gateway. Also, you will have to clear out the cache for a previously downloaded version of the runtime that is in .ignition/cache/resources/runtimes on machines you want to launch the designer/client from.
  2. To get these fonts to render without having to explicitly choose these fonts make sure you put them in the lib/core/fonts/fallback directory in the zip or tar. the JVM will search all the fonts in this directory to render characters that the selected font can’t render. You will notice a lot of additional fonts in there to support additional languages already.
  3. OTF fonts should work fine

Eventually we would like to add a more seamless font management solution that puts the user more in control of their default and fallback fonts, but this is a good middle ground until then.

Thanks,
Jonathan C

4 Likes

Really appreciate your help, it does work finally.

2 Likes

hi kyle,
I have the same situation as you, could you share your solution?

Hi, ivenwen. Just like jcoffman saying, you should first unzip C:\Program Files\Inductive Automation\Ignition\lib\runtime\jre-win.zip , then put your fonts to the folder \lib\fonts\fallback\. After that, you should zip the whole jre-win folder and copy the zip file to the directory C:\Program Files\Inductive Automation\Ignition\lib\runtime\ and replace the original jre-win.zip.

2 Likes

Hi, are you Chinese, I have tried as you do, but the promble still exist, can I connect you with QQ or Wechat, I appreciate your help.

@liuwf2139
Note that if you go through this route, on ALL of your clients that have previously connected to the gateway to launch a designer or a Vision Client you must delete the cached runtime in %USER_HOME%\.ignition\cache\resources\runtimes

1 Like

@jcoffman
Thank you, you are right, I didn’t delete the cache beacuse I don’t where is the route. Now I do as you told me and I have succeed.

3 Likes

Thanks Kyle,It works now.

Hello,

I am trying to do the exact same thing and it kinda works. I found I need to replace the jre files in
C:\Users\IAL\AppData\Roaming\Inductive Automation\Designer Launcher\jre
with JDK 11 files from Oracle to be able to launch the designer after adding the CJK files in the suggested folder locations. If I don’t replace those jre files the designer launcher would just keep on trying but never launch.

However, after replacing the jre files the designer launcher becomes a little unstable, i.e. I can’t open up multiple designer windows and sometimes the designer launcher doesn’t respond.

Is there the need to replace those jre files? or have I done something incorrectly?
Also would it affect the operation of the gateway/project by replacing the jre files in the folder location mentioned above?

Many thanks.

@aaron1 this doesn’t sound quite right. The jre that is included in the launchers is used expressly in the launchers themselves, not for the actual launched designer or vision client. If you place CJK fonts in the appropriate JRE zips/tars on the gateway and clear out the client/designer runtime cache (.ignition/cache/runtimes) the next launch should download the updated runtimes from the gateway which is what will be used for the designer and client.

1 Like

Hi @jcoffman,

Thanks a lot for your reply. I’ve tried this a few more times on a couple of different OS (Windows 7 64bit and Windows 10 64bit) and the same thing happens. The Chinese characters are displaying correctly which is great. But I still had to replace the jre files in C:\Users\AppData\Roaming\Inductive Automation\Designer Launcher\jre with Oracle JDK 11 to get the designer launcher to actually launch. Also now before I start the designer launcher each single time, I need to delete the runtime cache first otherwise the launcher wouldn’t respond.

If I don’t replace the jre files with Oracle ones and try to launch, the launcher would still download the unpack the files, but when it reaches 100% unpacking, it would crash and start the process all over again then just keep doing that in a loop but never able to start the designer. I did see an error come up once saying something about Open JDK and that’s why I tried it with the Oracle jre files.

At the moment this is not too big of an issue as we just need to remember to clear the runtime cache before launching the designer during development. The vision clients aren’t really displaying any Chinese characters at this stage, it’s only a final report that we produce at the end of each production need to contain some Chinese characters. But it would be nice to get to the bottom of this as it could potentially affect the client launcher later on down the track.

Below are the exact steps I did to get the Chinese characters to display:

  1. Downloaded the characters from Google Noto Fonts ( Noto Sans CJK SC) and installed all fonts in the package in Windows.
  2. Made another copy of C:\Program Files\Inductive Automation\Ignition\lib\runtime\jre-win.zip. Upzip it. Copied the fonts into lib/core/fonts/fallback directory. Zip up the new jre-win and replace the original jre-win with this new one.
    3)Uninstall designer launcher and delete the runtime cache. Download the designer launcher again and re-install it.
    4)This is where I need to replace the jre files with Oracle ones before I actually launch the projects otherwise the launcher doesn’t work.

Environment: Tested on Windows 10 and 7 64 bit. Igntion Gateway 8.0.1 (b2019050708)

Thanks a lot for your time and support. Really appreciate it.

@aaron1 Something isn’t adding up here. I would recommend reaching out to support to better determine what the breakdown is with getting the launchers to respond. You definitely should not have to clear the runtime cache on your client machine before each launch.

1 Like

I’m following along with this pretty well but struggling to find these directories for a system that has Linux as the Gateway. Any help?

/usr/local/bin/ignition/ or /var/lib/ignition/ are the usual locations.

2 Likes