本帖最后由 沉沦 于 2024-4-3 03:53 编辑
由于喵玉殿的字体 fallback 完全围绕 Windows 开发,并且很多年没有改进了,这导致其他系统使用喵玉殿会有一些字体问题。我看有不少喵玉殿的人喜欢使用黑体以外的字体,这应该算是个蛮重要的问题。
1. Mac 系统使用 Tahoma 显示中文标点
- 12px/1.5 微软雅黑,Tahoma,Helvetica,SimSun,sans-serif
复制代码
喵玉殿这里大概是乱写的,微软雅黑在最前面,然后再引用英文字体和宋体。由于中文字体包含英文字符,也就是说 Windows 用户会以始终微软雅黑渲染所有文字,除非用户特别指定使用其他字体,不然 Tahoma 和 Helvetica 是完全用不到的。因为 Mac 系统没有微软雅黑,所以浏览器会进一步读取字体列表,导致浏览器使用 Tahoma 字体来显示中文标点符号。
错误的标点
正确的标点
2. Mac 系统无法正确显示黑体以外的字体
由于喵玉殿的字体列表是针对 Windows 系统写的,Mac 并没有针对 Windows 字体做 fallback,这导致 Mac 用户无法显示黑体以外的中文字体,不管用户指定使用哪款字体发布,最后都会 fallback 成默认的苹方字体。
楷体显示成黑体
正确显示楷体
3.改进方法
第一个问题很好改进,可以将 fallback 写成 "PingFang SC, Noto Sans CJK SC, 微软雅黑"。如果嫌弃微软雅黑显示英文太难看,可以将 Arial 字体排在微软雅黑前面,大多数中文网站都是这样排版的。Arial 的双引号显示起来还是比较接近中文的写法。只要在 fallback 列表上加上苹方字体,Mac 就会正确的显示中文标点符号了。Noto Sans CJK SC 是针对 Linux 发行版的,现在绝大多数发行版都内置思源黑体了。
第二个问题的解决方案可以参考这个项目:https://zenozeng.github.io/fonts.css/ 唯一的缺点是这个项目已经很久没有更新了,最新的 CSS 标准使用 Cursive 代表中文楷体,他们还没有更新。虽然我在这里主要用 Mac 作为例子,其实喵玉殿的字体只能在 Windows 正常使用。只要别人用其他系统就会遇到问题,平板大概也不例外。我知道新版论坛已经解决了这个问题,如果他们真想用 Google 云字体的话。不过新版论坛一时半会不会开发结束,修一下这个问题可能会比较好。 |