What I Want
I use Consolas
as the default font of my Notepad++, but I want better appearance of Chinese and Japanese characters and symbols when using Consolas
.
According to The MSDN article, I can link multiple fonts to Consolas
so it can display characters that it doesn't support on its own.
The Goal
- Display Latin characters using font
Consolas
- Display Chinese and Japanese characters using
Microsoft YaHei
- Display symbols that
YaHei
can't handle usingMeiryo
- Let system handle the rest characters that
Meiryo
can't display too
Steps to Achieve The Goal
- Add a
REG_MULTI_SZ
entryConsolas
inHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
Set the value of
Consolas
:MSYH.TTC,Microsoft YaHei,128,96 MSYH.TTC,Microsoft YaHei MEIRYO.TTC,Meiryo,128,85 MEIRYO.TTC,Meiryo
- Log off Windows, then log in again
Actual Result in Windows 7
- Latin characters (0-9,a-z,A-Z) and frequently used symbols (;:'", etc) are displayed using
Consolas
- Chinese and Japanese characters are displayed using
Microsoft YaHei
- Special symbols are displayed using
Meiryo
- Other characters and symbols none of fonts above supports are displayed using system defaults (idk what that is)
Actual Result in Windows 10
- Latin characters (0-9,a-z,A-Z) and frequently used symbols (;:'", etc) are displayed using
Consolas
- Chinese and Japanese characters are displayed using
Microsoft YaHei
- Special symbols are displayed using
Segoe UI Symbol
- Other characters and symbols none of fonts above supports are displayed using system defaults
Additional Info
(I need 10 rep to post more links and image, so please click the image link to view the test case result screenshot and copy/paste the url text to visit the site yourself)
Here is a test trying to understand the character coverage of fonts mentioned above (and more)
Tool used
- Notepad:
%WINDIR%/Notepad.exe
- BabelMap:
http://www.babelstone.co.uk/Software/BabelMap.html
Test string:
我风おA☃
我(\u6211): A character available in both Chinese and Japanese 风(\u98ce): A Chinese only character お(\u304a): A Japanese only character A(\u0041): A Latin character ☃(\u2603): A unicode symbol
Step to Test
- Download BabelMap, open it, then copy the test string into
Edit Buffer
- Select
Single Font
radio button - Check
Simple Rendering
checkbox - Select any font by click the dropbox right to the
Single Font
- Observe the character glyph in
Edit Buffer
- Setup fontlink for
Consolas
as mentioned above, log off/in to take effect - Open
Notepad.exe
, openFormat > Fonts
menu to set font toConsolas
- Paste test string in then observe it
Test Result
Test Result Explanation
Microsoft YaHei
can't display the snowman symbolMeiryo
don't have Chinese charactersSegoe UI Symbol
contains only symbolsYu Gothic
is similar toMeiryo
but looks differentConsolas
is designed only for Latin script.Text in
Notepad.exe
is displayed using 3 different fonts:我风お: Microsoft YaHei A: Consolas ☃: Segoe UI Symbol
You can tell that is surely the
Segoe UI Symbol
because those snowman are very different in different fontsHowever, in this case, we expected
Notepad.exe
display those characters using fonts like this:我风お: Microsoft YaHei A: Consolas ☃: Meiryo
Questions
- Why
Meiryo
we set in the fontlink registry is completely ignored? - How to achieve The Goal in Windows 10?
MEIRYO.TTC
missing from your Windows 10 installation?