[Touch HD Windows Mobile ROM Development] RobRedbeard:
Chinese Font Display Chinese Fontlink gb2312 unicode wince.nls regional settings

I forgot about that cab. I switched memory cards and actually installed Chinese fonts on this ROM using a cab designed for Dutty 1.7 ( March 2009!). After that I updated the font link to include the new HTC menu font. That's it.

Here's my general instructions for you, but really written for anyone who finds this in a search later:

If you can't display any non-Roman font, there are two possibilities -

Problem 1) the font isn't installed and linked to the same font your program wants to use, or

Problem 22) your program isn't Unicode, and is using an old-style regional Double Byte encoding (GB2312).

Instructions to fix the above problems:

Problem 1:

Install your font.

There is some confusion as to whether fonts should be copied to \Windows or \Windows\Fonts. The traditional way before was for the latter and I still see a lot of instructions that say this. I install Japanese in my Windows\Fonts directory and MSYH.ttf in my \Windows directory. Both work for me.

2 - Edit your registry so that when your program tries to use whatever font the programmer thought it should, that it will also look through your font (in my case, MSYH.ttf) for the needed character.

2A) Set FontAlias entries. These tell your system that whenever one of those fonts is asked for (by your software) that it ought to actually give it the other font. Below are the entries for Simplified Chinese (SC_Song). Note that we're setting everything to point to Tahoma. After this we'll fontlink our foreign font with Tahoma so that Tahoma can be used as a single font for any languages we want.

REGEDIT4

[HKEY_LOCAL_MACHINE\System\GDI\V1\FontAlias]
"Tahoma:-9"="Tahoma:13"
"Tahoma:-11"="Tahoma:13"
"version"=dword:0009000C
"SC_Song:14"="Tahoma:14"
"SC_Song:10"="Tahoma:13"
"SC_Song:12"="Tahoma:14"
"SC_Song:18"="Tahoma:14"
"SC_Song:16"="Tahoma:14"
"SC_Song:15"="Tahoma:14"
"MS Shell Dlg:8"="Tahoma:13"
"System:14"="Tahoma:13"
"System:8"="Tahoma:13"
"Tahoma:16"="Tahoma:13"
"Tahoma:14"="Tahoma:13"
"MS Sans Serif:-13"="Tahoma:13"
"Arial:-14"="Tahoma:13"
"Tahoma:17"="Tahoma:14"
"Tahoma:18"="Tahoma:14"
"Tahoma:20"="Tahoma:14"
"Tahoma:-10"="Tahoma:13"

2B) Set the FontLink entries. This way we can link any foreign font we want to Tahoma and use it as a single solution for all our font needs.

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\FontLink\SystemLink]
"MSYH"="\\Windows\\msyh.ttf,MSYH"
"HelveticaNeue LT 55 Roman"="\\Windows\\msyh.ttf,MSYH;\\windows\\tahoma.ttf,Tahoma;\\windows\\tahoma.ttf,Tahoma"
"Helvetica Neue OTS"="\\Windows\\msyh.ttf,MSYH;\\windows\\tahoma.ttf,Tahoma;\\windows\\tahoma.ttf,Tahoma"
"HelveticaNeue LT 35 Thin"="\\Windows\\msyh.ttf,MSYH;\\windows\\tahoma.ttf,Tahoma;\\windows\\tahoma.ttf,Tahoma"
"Courier New"="\\windows\\tahoma.ttf,Tahoma"
"Courier"="\\windows\\tahoma.ttf,Tahoma"
"Arial"="\\windows\\tahoma.ttf,Tahoma"
"Nina"="\\windows\\tahoma.ttf,Tahoma"
"MS Sans Serif"="\\windows\\tahoma.ttf,Tahoma"
"Tahoma"="\\Windows\\msyh.ttf,MSYH;\\windows\\tahoma.ttf,Tahoma"
"Segoe UI"="\\windows\\tahoma.ttf,Tahoma"
"Segoe condensed"="\\windows\\tahoma.ttf,Tahoma"
"Segoe"="\\windows\\tahoma.ttf,Tahoma"
"Times New Roman"="\\windows\\tahoma.ttf,Tahoma"
"Symbol"="\\windows\\tahoma.ttf,Tahoma"
"PMingLiu"="\\Windows\\tahoma.ttf,Tahoma"
"NSimSun"="\\Windows\\tahoma.ttf,Tahoma"
"Kingsoft Phonetic Plain"="\\Windows\\msyh.ttf,MSYH"
"Unisun"="\\Windows\\msyh.ttf,MSYH"
"SIMSUN"="\\windows\\tahoma.ttf,Tahoma"
"SC_Song"="\\windows\\tahoma.ttf,Tahoma"

Problem 2

Symptoms of problem two are that you run something like 阿里巴巴 支付宝 (a PPC program for the Chinese paypal clone, Alipay) and some Chinese displays but some areas don't (that program sloppily mixes Unicode and GB2312 encodings).

Another symptom is that some of your e-mail shows Chinese (from Unicode senders) and some of it is gibberish (from lame, GB2312 senders).

You need to install a WinCE.NLS that supports Chinese regional settings. This will make the system interpret GB2312 text properly, but at the cost of having to use Chinese date and currency formats (which you might not mind, if you're Chinese).

Copy the attached wince.nls to your \Windows directory. I highly recommend using TotalCommander to do this copy (free software).

If you already downloaded your e-mail, you'll need to delete the account from your PPC, soft reset, then re-setup that account. Now all your mail looks right.

Note: the above are all particular to Simplified Chinese support, including that wince.nls. I have another wince.nls that includes EVERY Asian country and 5 different Chinese language regions, but it's 2.1MB so I can't attach it here. If you need it, contact me.

Rob