Smooth font rendering for Japanese characters
Solution 1
The problem is that traditional Japanese fonts (MS Gothic, MS PGothic, MS Mincho…) also include bitmap fonts in small sizes in addition to outline ones (typically for characters 22pt and less). These bitmaps cannot be applied any type of smoothing, so it results in a crazily ugly aliasing, eye hurting appearance. There are several solutions for this:
-
Mactype is an open source replacement (among others, but right now it's the most updated) for Windows font renderer based on FreeType. It will just skip those bitmaps and use the outlines to output smooth characters.
But currently Mactype cannot emulate DirectDraw calls, so some programs that use DirectDraw/DirectWrite (such as MS office 2013, IE7+, Firefox…) still have aliased fonts, but this is quite rare. On Google Chrome you need to disable DirectWrite to make it work
Update: The latest Mactype already has better DirectWrite support
More on this: How To Make Windows Fonts Look Like Mac Fonts
-
A better option is stripping all those bitmaps off according to this tutorial. You need some Japanese ability to read it but you can also read the rough translation from Google. The steps to do is quite long so please find it at the end. The result is:
-
No antialiasing with bitmap font (default for Japanese characters less than 23pt)
-
Cleartype after stripping bitmaps
-
Standard antialiasing after stripping bitmaps
-
No bitmap (outline), no antialiasing
-
No antialiasing with bitmap font (default for Japanese characters less than 23pt)
Steps to strip bitmaps from fonts:
-
Copy the fonts files you need to strip, for example msgothic.ttc, from
\Windows\Fonts
into a folder -
Download the
BREAKTTC
tool from MS TrueType SDK -
Open a command prompt in the folder you copied the fonts to and type
BREAKTTC msgothic.ttc
. After that you can see all the ttf files in the ttc are extracted as FONT00.ttf ~ FONTxx.ttf -
Now you to download the FontTools from Microsoft Typography. After that extract the
SBIT32
tool which is needed to remove the EBDT (Embedded bitmap data table). The command syntax is as belowSBIT32 -d <original font file> <metric file> [output file]
You need to run this for each bitmap sizes (typically from 7 to 22) to remove all bitmaps, which is rather clumsy if typing by hand. An automated script would be of great help.
@echo off copy %1 %2 >nul for /l %%i in ( 7,1,22 ) do ( echo PPEM %%i > mtemp.txt echo END >> mtemp.txt sbit32 -d %2 mtemp.txt ftemp.ttf del %2 ren ftemp.ttf %2 ) del mtemp.txt
Save the above content as
rmEBDT.bat
and run the following commands (3 for MS Gothic because we have 3 extracted ttf files)rmEBDT font00.ttf msgot2.ttf rmEBDT font01.ttf msgotp2.ttf rmEBDT font02.ttf msuigot2.ttf
-
Now we have stripped font files, we can rename those font names (which is independent from font file names), like to MS Gothic NB - No Bitmap, to use alongside with the old fonts, or just use the old name and replace the original ttc file, which is a little tricker.
Either way we need to pack them again to a ttc file in order to install back to Windows. Use the toolMAKETTC
which is in the same folder asBREAKTTC
or you can also find them here. RunMAKETTC <TTC output file name> <TTF file 1> <TTF file 2> ...
-
After getting the ttc file, if you have changed the font name you just directly copy them to
\Windows\Fonts
to register it as a new font and change the default font in UI, apps... to that font. If you want to use the old font name you must boot from another OS like Linux live USB or Windows PE because Windows always load MS Gothic at boot time.
Solution 2
This depends on the font. Different fonts have different characteristics, including different behavior in font smoothing. You might be using a font in the Mincho group, as they are commonly used as default fonts and they may have problems like this; Gothic fonts may work better on screen.
Solution 3
Meiryo, the default Japanese font for Windows Vista/7, as well as some other Japanese fonts contain bitmap (pixel) characters at small sizes.
Going back to your example, I was able to confirm this using Firefox:
-
ClearType (hinted) characters:
-
Smaller font-size; bitmap characters:
By default, Firefox uses the following settings for Japanese fonts:
So, the solution lies in using larger font sizes or replacing the default Japanese font uses in an application with one that supports hinted characters for all sizes (e.g. Arial Unicode).
To globally remap/substitute a font in Windows, you can modify or add Registry values under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
missingfaktor
Updated on September 18, 2022Comments
-
missingfaktor over 1 year
I am using Windows 7 and have set font smoothing to ClearType. However, Japanese characters display very roughly throughout the operating system. What can I do so they are rendered smoothly like other characters?
Here is a sample of what they currently look like:
-
Admin about 12 years@iglvzx, I use Chrome. But the problem is not limited to Chrome. Wordpad, Word etc behave the same.
-
Admin about 12 yearsOk. Thanks for clarifying. I will add this information to your question. :)
-
Admin over 9 yearsby the way, it is not the "hiragana" that remembered something, it is you who remembered the hiragana. the correct phrase is "ひらがなを覚えた"
-
-
missingfaktor about 12 yearsIn my example, you can notice that Kanji are rendered smoothly, while Kana aren't.
-
missingfaktor about 12 yearsHow do I switch my font style for Japanese characters alone?
-
iglvzx about 12 yearsI assume that is due to a minor discrepancy in font size or browser settings. I used Firefox, while your example is in Google Chrome.
-
HikeMike almost 11 yearsFive posts in three hours by a new user on this site recommending the same program. Looks too spammy. Please don't do that. Are you affiliated with the software developers in some way?
-
phuclv almost 11 yearsJust answer a question and then find out some related question so I answer them too. Is that prohibited?
-
HikeMike almost 11 yearsNo. Unfortunately there are spammers, and their behavior is basically identical, advertising their own software on a bunch of similar questions. Moderators then need to determine whether it's legitimate advice, or spam. We sometimes make mistakes though and consider enthusiasts to be spammers. The previous comment was more of a suggestion to prevent your posts from mistakenly getting deleted.
-
phuclv almost 8 yearsNo, Meiryo contains no bitmaps, as it was already designed for font smoothing, therefore it's always beautiful in any font sizes. You just need to change the default Japanese font to Meiryo. Only the old fonts with bitmaps are awful.
It was decided that a new Japanese font was needed, as the current ones (mainly MS Gothic and MS Mincho) are incompatible with Microsoft's ClearType subpixel rendering technology[citation needed]: Meiryo is intended to increase legibility of characters on LCD screens
-
phuclv almost 8 years
Unlike previous fonts designed for CJK environments, Meiryo contains no embedded bitmaps. To improve readability under small font sizes without using embedded bitmaps, TrueType hinting language was used for stroke-reduction. Similar technology was used on MingLiU and PMingLiU versions 5.03.
en.wikipedia.org/wiki/Meiryo#Characteristics -
v.oddou almost 7 yearsabsolutely, I've experienced that Meiryo actually fixes everything. I don't know why windows (even 10) in 2017 still uses 1990's tech by default and is happy with it.