很多网页的字体非常丑,甚至有因为乱写
font-family
导致直接显示宋体的情况(e.g., B 站登录页在
Safari 的表现)。又会出现 macOS
为兼容考量安装了微软雅黑,结果网页全变成微软雅黑了的情况。
另外针对 CJK
字形,应当显示其对应的语言风格。
下图以思源宋体为例,展示了中日韩不同的字形变体:
所以有了这个项目。
主要思路就是根据语言指定
font-family
。同时重定向字体到指定字体。
,
body:lang(en) body,
html:lang(zh) body,
html:lang(zh-CN) body,
html:lang(zh-SG) body,
html:lang(cmn-Hans) body,
html:lang(zh-cmn-Hans) body,
html:lang(zh-Hans) body {
htmlfont-family: "SF Pro Text", "Hiragino Sans GB", "Hiragino Sans Pr6N", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Hiragino Sans CNS", "Hiragino Sans TC", "苹方-简", "Noto Sans CJK SC", sans-serif, "Twemoji Mozilla", "Twitter Color Emoji", "Segoe UI Emoji", "Apple Color Emoji", "Segoe Fluent Icons", "Segoe MDL2 Assets", "Segoe UI Symbol", "Segoe UI Historic", emoji;
quotes: "「""」";
}
这是其中针对简中页面的 css
,英语字体使用
SF Pro
系列,此处的 SF Pro Text
是为了针对正文优化,字距会比 SF Pro Display
大,便于阅读。而汉语,优先 Hiragino
系列,Noto Sans CJK SC
用于 fallback。
而字体重定向则用 font-face
,例如:
@font-face {
font-family: "Microsoft JhengHei UI";
src: local("Hiragino Sans Pr6N");
}
代码字体提供两个 css
变体,Source Code Pro
或 JetBrains Mono
,可自行选择。
可通过 Stylus
等使用本项目。