-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wide characters in rustdoc: Fall-back to default CJK serif font on Windows is ugly #84035
Comments
I'm using Windows 10 20H2 (Korean) and Firefox 87.0 with clean installation. |
The label would be |
Huh. I have a recently installed Windows, and on both Firefox and Edge, I see: This looks much more similar to your second image. I wonder if #83156 or #82315 affected this? Or maybe it is because I do not have |
Legacy fonts like |
"Malgun Gothic" ( |
Oh I see, that makes sense. So because it can't find a Korean serif font, it might have used a Korean sans serif font. |
BTW, user-defined custom theme can solve this issue for crate-level. Pass For example, @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300&display=swap");
body {
font-family: "Noto Sans KR", sans-serif;
line-height: 1.5;
}
pre.rust.rust-example-rendered {
line-height: 1.4;
} |
Would it work to add Noto Sans CJK as a custom font-face, and then include it in the fallback list, like:
|
@jsha Noto sans fonts that support CJK exist only for OpenType. Also its size is too big ;) (20MB) So we should provide webfonts for each language instead of providing a CJK OpenType font. |
Noto Sans is quite adequate on a local installation, but that is indeed a fair amount of MB to transfer. My understanding is that most docs in KR are going to be almost 100% using Hangul characters and very rarely if ever use characters from the rest of the CJK character set, is that correct? There would most certainly be a huge difference between that and a font that loads Japanese characters, which I would expect to cover 2000~3000 kanji, and the SC or TC fonts which would have to cover as many as 5000 hanzi. |
@workingjubilee Yes, norwadays chinese characters are rarely used in korean. I had never seen chinese characters in software docs so they are not necessary for rustdoc. |
Avoid CJK legacy fonts in Windows As metioned in rust-lang#84035, the default serif CJK font in Windows is meh-looking. To avoid this, we should use sans-serif font or provide CJK glyph supported font in `rustdoc.css`.
In Windows, browsers like Chrome and Firefox use legacy fonts as default serif font to render.
rustdoc uses its custom serif fonts, but these do not support CJK glyph, so the browser renders CJK characters as default one.
The problem is that the default serif font in Windows is so ugly and not clear.
The default sans-serif font looks just ok.
Take a look at this screenshot after matching the pixels on the monitor.
Why don't we just use sans-serif font for rustdoc? Or, we can use sans-serif fonts that look like serif font.
With Windows default serif font (
batang.ttc
):With Noto Sans font (not serif):
The text was updated successfully, but these errors were encountered: