关于微软雅黑

Windows从Vista开始用到现在的”微软雅黑”十多年以来基本没什么大改动,而大家的显示器从CRT进化到了IPS高分屏,十年前看着还OK的字体现在在绝大多数屏幕上可能就是这个样子的:

原因是雅黑作为十年前设计的字体,所有的hinting都是手动操作的,就会带来一堆shi一样的问题。比如字形是忽上忽下的,hinting过重导致扭曲了笔画,为了显示内白精简部分汉字等等。在高分屏上,微软有尝试用ClearType更加精细的显示字体,配上之前被扭曲的笔画和厚重的hinting,整套字体显示的时候锐不锐毛不毛完全看心情。我这儿一台27寸4K显示器和2016MBP 2K内置视网膜屏的显示效果都和上图差不多。

Noble Scarlet!

解决方法就很简单,因为这个完全是字体文件的问题,跟渲染策略其实关系不大。微软也在着手解决这个问题,在17025的时候引入了”次世代微软雅黑” Noble Scarlet,总体来说更接近使用MacType+旧微软雅黑的效果。一张Mac上的对比图

微软雅黑 vs 苹方 vs Noble Scarlet

其实说实话Noble Scarlet在Windows上HiDPI下的观感是非常不错的,然而微软在RS5的时候把这个次世代项目取消了… 于是导致十年前的微软雅黑强撑到了现在。

苹方简中替换微软雅黑

我在升级到上一个Windows大版本(1809)的时候就手动替换过微软雅黑,当时就想写这件事情,结果太忙忘了。微软今天下午刚刚放出了Windows 10 1903版本的大更新,因为是”大更新“,所以把我之前做的修改覆盖掉了,今天重新做了一次。

1. 备份所有雅黑和宋体

路径在C:\Windows\Fonts {msyh.ttc, msyhbd.ttc, msyhl.ttc, simsun.ttc, simsunb.ttf},虽然整个过程不大可能出错,这个是以防万一。

2. 下载苹方替换版雅黑和新宋

这不是苹果官方内置在macOS里的苹方,而是第三方爱好者把苹方提取出来做了些修改,使它对Windows而言就是微软雅黑(或者新宋体),但是实际渲染出来是苹方的效果。

3. 重启到CMD / Linux

因为微软雅黑是系统字体,而Windows启动之后就会一直占用着这个字体,在正常开机的状态下是不可能替换掉微软雅黑和新宋的。重启到CMD对绝大多数人来说会比较简单,按住Shift点击重启,然后选择疑难杂症(忘了叫什么了) –> 重启到命令提示符,执行以下复制命令

xcopy 原文件夹路径(C:\Users\...\Fonts) C:\Windows\Fonts

然后选A(All)全部替换,随后重启到新系统

实际效果

Windows设置 (UWP)

Slack (Electron)

Electron应用默认是使用新宋体渲染的字体,所以无论在什么屏幕上都会非常丑,以下是讲新宋替换成了苹方的显示效果。

文件管理器 (Win32)

OneNote (UWP)

对比macOS原生中文渲染

截图为系统缩放至外接4K显示器相同像素密度情况下的UI和文本字体渲染

结论

单纯通过替换字体,Windows 10和macOS在我这儿的表现其实已经差不太远了。我这个替换字体可能会用到下一次Windows大更新,如果那时候Noble Scarlet还没成为默认的话,我就会去尝试一下在Windows下使用Noto Sans CJK SC的对比效果,或者用MacType+苹方不知道会不会还能有显著地观感提升。

苹方的字体文件恕不能提供,该字体原则上不允许在macOS之外的其他系统上安装,并且协议明确规定不经允许不可以在互联网上分发。不过好在它一搜就有。


本文作者 LER0ever,同时发表于 L.E.R Space https://rongyi.io 和 博客园 https://www.cnblogs.com

原文链接: https://rongyi.io/2019/05/26/replace-msyahei-with-pingfang-sc/

转载须注明来源,以及遵循CC BY-NC-ND 4.0协议

使用macOS苹方替换Windows 10微软雅黑的更多相关文章

  1. ubuntu安装苹果Windows以及微软雅黑consolas字体

    ubuntu安装苹果Windows以及微软雅黑consolas字体 ubuntu安装苹果字体 wget http://drive.noobslab.com/data/Mac/macfonts.zip ...

  2. 帝国时代II 高清版 steam 4.4 字体替换 微软雅黑

    其实默认的中文字体算是中规中矩吧,但是我并不喜欢 从昨天开始就想着换 于是我就开始搜索帝国时代2的游戏目录的资源,马上就锁定到了\Steam\steamapps\common\Age2HD\resou ...

  3. Ubuntu 14 安装 “宋体,微软雅黑,WPS Office的symbol、wingdings、wingdings 2、wingdings 3、webding字体,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体

    Windows平台下,“宋体”.“微软雅黑”.“Courier New(编程字体)”用的比较多,看的也习惯了.那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 ...

  4. Ubuntu 安装 “宋体,微软雅黑,WPS Office的symbol、wingdings、wingdings 2、wingdings 3、webding字体,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体(转)

    Windows平台下,"宋体"."微软雅黑"."Courier New(编程字体)"用的比较多,看的也习惯了.那如何在 Ubuntu下也安装 ...

  5. windows更改命令行cmd的字体为conlosas+微软雅黑

    windows更改命令行cmd的字体为conlosas+微软雅黑 动力来源于对美孜孜不倦的追求~ 下载conlosas+微软雅黑字体 谢谢支持. 将解压后的YaHei.Consolas.1.12.tt ...

  6. Ubuntu16.04 安装 “宋体,微软雅黑,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体

    Windows平台下,“宋体”.“微软雅黑”.“Courier New(编程字体)”用的比较多,看的也习惯了.那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 ...

  7. Mac 安装微软雅黑字体

    https://www.jianshu.com/p/d8c34fff3483 1.找一台Windows电脑,打开字体文件夹C:\Windows\Fonts. 2.搜索"Calibri.微软雅 ...

  8. Ubuntu14.04安装微软雅黑字体

    1.首先获得一套“微软雅黑”字体库(自行百度),包含两个文件msyh.ttf(普通)、msyhbd.ttf(加粗);2.在/usr/share/fonts目录下建立一个子目录,例如win,命令如下:  ...

  9. 把typora改为微软雅黑+Consolas

    前言 typora是一款非常方便的书写markdown文本的编辑器.官网:https://www.typora.io/ 对于字体强迫症患者来说,不把字体改成微软雅黑+Consolas,那是相当难受.本 ...

随机推荐

  1. common pom

    <dependencies> <dependency> <groupId>com.github.pagehelper</groupId> <art ...

  2. [USACO10MAR]伟大的奶牛聚集Great Cow Gat… ($dfs$,树的遍历)

    题目链接 Solution 辣鸡题...因为一个函数名看了我贼久. 思路很简单,可以先随便指定一个根,然后考虑换根的变化. 每一次把根从 \(x\) 换成 \(x\) 的一个子节点 \(y\),记录一 ...

  3. c#image与byte数组的转换

    // image to byte[] Image photo = new Bitmap(selectPictureFile); System.IO.MemoryStream ms = new Syst ...

  4. 51nod1446 限制价值树

    有N个点(N<=40)标记为0,1,2,...N-1,每个点i有个价值val[i],如果val[i]=-1那么这个点被定义为bad,否则如果val[i] >=0那么这个点为定义为good. ...

  5. spring mvc中的@Entity是什么意思?

    @Entitypublic Class JavaBean{}标注该类为实体类.

  6. php面试专题---9、会话控制考点

    php面试专题---9.会话控制考点 一.总结 一句话总结: 面向对象.设计模式这些特别好用,需要融会贯通 1.请写出PHP类权限控制修饰符? public.protected.private 2.p ...

  7. 关于TCP\IP协议的简单理解

    一: HTTP是基于TCP协议的,TCP属于传输层.HTTP属于应用层. 另一个属于传输层的是UDP协议. 但HTTP是基于TCP这个协议,不是UDP这个协议. TCP相比于UDP,更安全,稳定.因为 ...

  8. 《STL源码剖析》——第五、六:关联容器与算法

    第五章.关联容器  5.0.关联容器 标准的STL关联式容器分为set(集合)和map(映射表)两大类,以及这两大类的衍生体multiset(多键集合)和multimap(多键映射表).这些容器的底层 ...

  9. 查询SQLSERVER执行过的SQL记录(历史查询记录)(转)

    原文链接:https://www.cnblogs.com/icycore/p/10493237.html 有的时候,需要知道近段时间SQLSERVER执行了什么语句,可以用下面的方法: SELECT ...

  10. MySQL错误信息语言设置为英文

    MySQL错误信息语言设置为英文 安装的wamp环境中,mysql的错误提示信息默认不是英语(大概是法语) 这里说下改为英语的过程 第一步 找到以下文件夹,确保里面可以看到各种"国际方言&q ...