notofonts / noto-cjk

Noto CJK fonts
http://www.google.com/get/noto/help/cjk
2.95k stars 215 forks source link

Characters in different sizes and fuzzy in windows applications #212

Closed nengxu closed 2 years ago

nengxu commented 2 years ago

image

I set Noto Serif CJK SC as Windows 11 system font. This works well in web browsers and some applications. However, as shown in the screenshots, in some applications, like Windows Explorer, some Chinese characters are shown in much smaller font size. And in some places like in the window title, the the font is so much lighter that affected the legibility. In some other programs like KeePassXC, the fonts are fuzzy too.

image

I tried with several weights of the Serif, and Noto Sans Mono CJK SC. The same problems.

I then set system font to Microsoft YaHei UI (微软雅黑) or Segoe UI. The fuzzy problem disappeared. However, the sizing issue still there. So the sizing issue may relate to Windows font stack. But the fuzzy problem occurred to Noto fonts only.

nengxu commented 2 years ago

After investigation, I found that the varied-size problem was caused by Microsoft Segoe UI Variable font. After removing this font, the Chinese characters have the same size. Though the fuzzy problem is still there for Noto fonts.

punchcutter commented 2 years ago

Segoe UI Variable doesn't have any CJK characters in it so that seems strange that removing it would change the display of unrelated glyphs. Fuzziness could be a number of things, but the Noto CJK OTFs have PostScript hinting except for the variable fonts which don't currently have hinting. The variable TTFs do not contain any hinting. I assume YaHei UI and other built in UI fonts have TrueType hinting which might be the reason you don't see them as fuzzy. Just to be clear which Noto CJK fonts did you install? OTFs? Static fonts or variable?

nengxu commented 2 years ago

I found that the contents inside Windows Explorer do not follow system font setting. It seems that Segoe UI is the fixed font. I'm not sure if it is variable or not. And other applications like 7zip which also use this kind of contents also have the same varied-size problem. After removing Segoe UI Variable font, those applications work fine too. However, the window title of Windows Explorer does follow the system font. That's why in my above screenshots, the window titles are fuzzy too with Noto.

I installed the 7 fonts of this format: NotoSerifCJKsc-Regular.otf. Static ones, right? But the varied-size problem is not only with Noto. Setting Microsoft YaHei as the system font, or keeping Segoe UI as the system font, the same varied-size problem occurs. I actually removed all fonts, finally found out that Segoe UI Variable was the cause.

nengxu commented 2 years ago

After further investigation, there are 3 fonts that affect the varied-size problem: Arial, Calibri, and Segoe UI Variable. Sounds like a font stack. However, after removing Arial and Calibri, and FontSubstitutes Arial to Microsoft YaHei UI, we can add back Segoe UI Variable. So the whole Segoe family can be used without change. That's how I finally solved the varied-size problem.

punchcutter commented 2 years ago

I don't think there's anything to do on the font side here so closing.