StarBrilliant 说: 在写 HTML 的时候把 lang="" 写对十分重要。 一来,有一些字体能够正确读取语言信息来生成正确宽度的引号。 二来,浏览器可以通过语言信息来决定 font fallback 顺序。 不过 W...
一来,有一些字体能够正确读取语言信息来生成正确宽度的引号。
二来,浏览器可以通过语言信息来决定 font fallback 顺序。
不过 Windows 比较坑——应用程序查询 system-ui 只能查到单个字体,查不到 font fallback 顺序。(但系统内部是有这个顺序的,而且这个顺序很奇怪地不随 locale 改变,而是随 ANSI codepage 改变。)
当然,系统有字体API(及其局限性),但这只是“实现”的一部分,浏览器如果想完美实现system-ui,完全可以针对OS手动造fallback的轮子。毕竟不同lang对应的默认字体各大浏览器本身就是手动设定的了。
无论如何,在现在实现如此的情况下(Windows+system-ui Chrome只会调用一种字体),很多网站的font stack(GitHub、Twitter、etc.)都已经弃用system-ui了。
而且,调用system-ui显示多语种混杂内容(无法或者没有逐一标注lang)从原理上就不可行,CJK用户是最大受害者(因为中文字符集全)。
Edit: 不好意思,啰嗦了一堆 有的可能不太相关…请适量无视