Click here to Skip to main content
15,884,298 members
Articles / Multimedia / GDI+
Tip/Trick

Fixing Inconsistent Stroke Width of Chinese Characters

Rate me:
Please Sign up or sign in to vote.
5.00/5 (3 votes)
29 Jan 2018CPOL 9.7K   1
Fixing Inconsistent Stroke Width of Chinese Characters

Windows has problems displaying Chinese font since Windows 98. And this inconsistent stroke width problem persists even today on Windows 10! Anyone using GDI/GDI+ technologies to display Chinese font, is likely to encounter this problem. I have seen this problem on posters and movie subtitles. This problem comes about using non-Chinese font such as Arial to display Chinese font. When the underlying font does not contain the glyph, Windows Uniscribe use a fallback mechanism to find the glyph from other font. Underneath, GDI/GDI+ make use of Uniscribe to display font. This may not be a problem on Chinese OS where the default font is Chinese type. The screenshot of Notepad reveals the problem.

Image 1

The fix is to select a proper Chinese font to match language (Simplified/Traditional) to display Chinese characters. After changing to SimHei font, the stroke width is consistent.

Image 2

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Singapore Singapore
Shao Voon is from Singapore. His interest lies primarily in computer graphics, software optimization, concurrency, security, and Agile methodologies.

In recent years, he shifted focus to software safety research. His hobby is writing a free C++ DirectX photo slideshow application which can be viewed here.

Comments and Discussions

 
PraiseUseful Pin
Akshay Dalvi 202328-Mar-23 22:50
Akshay Dalvi 202328-Mar-23 22:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.