有一个很流行的说法“macos 字体好看,是因为 macos 只支持自家硬件,而 apple 的屏幕分辨率都很高,几千的电脑不能和起步上万的电脑比很正常,你把 win 的预算加到 macos 的级别字体自然就一样了。”
比方说这个帖子,下面的回复基本都是说“分辨率不足” https://www.v2ex.com/t/973728
之前一直对这种说法深信不疑,毕竟一分钱一分货的关键深入人心,5000 的笔记本就不去跟 16000 的 mbp 比了。
直到朋友施舍了块 4k 显示器,把 win 和 mac 分别接上去,才发现即便是同一块屏幕,什么都不调默认设置下。mac 的字体就是比 win 好看。
个人觉得最难受的就是 win 的字体的横线上下那条虚边,看着太难受了,跟眼花似的。
如果单纯的调高缩放,win 的字体观感和 mac 差不多的等级,显示内容已经和笔记本的小屏幕一样少了。
简单查了下,貌似是两个系统对字体渲染的理念不同导致的。
https://www.joelonsoftware.com/2007/06/12/font-smoothing-anti-aliasing-and-sub-pixel-rendering/
1
crysislinux 239 天前
我一直是一个显示器接了两个输入,一个 mac 一个 Windows ,Mac 输入的时候视觉效果要好得多,看起来更柔和
|
2
Eiden 239 天前
其实就是保持字体清晰度还是保持字体原本的设计的取舍不一样
|
3
TrembleBeforeMe 239 天前
“什么都不调默认设置下。mac 的字体就是比 win 好看”
缩放都调到 200%吧 |
4
subframe75361 239 天前 via Android
换 MiSans + MacType 即可
|
5
codehz 239 天前 1
啥,4k 你用 100%来看,和 1080p 用 100%不是一样的效果的吗。。。
|
6
orangutan92 239 天前
win 的软件做的也不咋地,比方说百度网盘,看着很难受
|
7
hello2090 239 天前 via iPhone 1
我觉得,可能你眼瞎,27 寸 4k 150% 175%缩放,win 不吊打 mac 等效 2k?
|
8
rimwindy 239 天前 4
两个系统的渲染方式确实不一样,你可以尝试以下方法优化 Windows 下的字体观感:
1. 继续加 PPI ,27 寸显示器要达到 Retina 标准需要 5K 分辨率。考虑到 5K 显示器价格不菲,如果显卡支持 DSR 的话,可以通过软件的方式解决。这是效果最好的解决方案。 2. 使用 noMeiryoUI 之类的软件替换 Windows 默认的中文字体微软雅黑,我比较推荐更纱黑体。 3. 修改浏览器的显示字体,可以考虑 PingFang SC 、Noto Sans CJK SC 等。 4. 由于 Chrome 使用 DirectWrite 的方式渲染字体且无法更改,观感上字重可能会偏轻,可以考虑使用 Stylus 等插件手动添加字体阴影。例如:body { text-shadow: 0px 0px 0.3px #ACACAC; }。 随便放张截图,我是通过 NVIDIA DSR 将原生 4K 提升到了 5K: https://i.imgur.com/a/JrXKuxo.png |
9
FightPig 239 天前 1
前阵子看 dhh 从 mac 换 win 说字体问题,最后他用钞能力解决了,换了个 8k 的显示器
|
10
shunia 239 天前
@rimwindy #8 截图里面,开始菜单里的字体就明显边缘发虚。
另外即便用上这么多手段,如果为了追求字体的“柔和”或者说“清晰”,还是哪哪儿都看着不协调。我觉得这事儿是根本解决不了的。毕竟几十年前就有海量的“美化 UI”,但是至今也没有哪一套方案真的达到了贴近完美的效果。 所以我觉得楼主就认了吧,凑合看看得了。 |
11
EVANGELIONAir 239 天前 5
对于字体质量问题应当不能用分辨率来概述设备情况,更恰当的方法是应该使用 PPI ,否则无法兼顾物理尺寸以及缩放对效果的影响
这个问题的根本原因有两个,而且是递进关系 1 windows 设备的 PPI 普遍比不过 mac 设备,而且 PPI 的规格众多 2 在这种地狱条件下 windows 选择成像清晰优先而不是 mac 注重边缘描绘,否则明显会因为不符合奈奎斯特采样定律而产生走样,要么字体足够优秀会自动根据 PPI 情况微调。事实已经证明,微软雅黑是目前比较好能够同时在不同 PPI 下都能清晰显示的字体。 实际上你如果用 firefox 修改 css 样式就会发现: * { -webkit-text-stroke-width:0.16px;} * { text-shadow: 0.01em 0.01em 0.02em #707070; } 这两条就能让 windows 端字体边缘效果贴近于 mac 所以对于字体美观显示问题,这无非是两者选择的目标不同而已 |
12
tlerbao 239 天前 1
这个不用辩驳。
用了二十多年的 windows ,三年前黑果入坑,LG 的 4K , 就一点直接回不去 windows ,感官,感官直接赢麻,无论从什么渲染啊 UI 啊,无广告啊,都美的不行,windows11 以后有所改进也还是有差距。 还别说在软件和使用上,我也直接回不去 windows 了。( Web 全栈) |
13
rimwindy 239 天前
@shunia 图片是有压缩过的,实际效果其实还好。不过 Windows 的字体渲染和 UI 设计一直以来就饱受诟病,这点确实是无可置辩的,普通用户能做的也只有尽量优化体验了。
|
14
feiwan 239 天前
win 这不停变风格,几个时代的图标都套娃式的保存在一个系统里,就知道系统性美化规则就不在这家企业的长期愿望清单里。
|
15
studyingss OP |
16
noErr 239 天前
亲,看下显示的密度,相同分辨率,文字的密度一样嘛
mac 财大气粗,4 个像素显示 win 的一个像素,字体也做了处理,所以看着是打印效果。喜欢就用就好了 |
17
kokutou 239 天前 via Android
@EVANGELIONAir
这个在 chrome 咋写。。。 |
18
thinkershare 239 天前 1
mac 不管多高的分辨率,字都是模糊的。
|
19
tuimaochang 239 天前
我发现了,有些人(比如我的前老板)真的是欺软怕硬,对着那些打不上他又管不了他的人,说话又难听又犟。对着那些能给他业务的领导,说起话来又温柔又讲理,恨不得把尾巴摇起来
|
20
KevinChan 239 天前 1
确实,同样一块 4K 屏幕,Windows 看一会切换回 Mac ,瞬间感觉眼睛解放了。
|
21
EVANGELIONAir 239 天前
@kokutou stylus 扩展,不过 6 月份 manifest v3 出来后 chrome 系所有浏览器就不可能了,早日 firefox
|
22
Socrazy 239 天前
Windows 的垃圾雅黑+垃圾渲染,没救了。
|
23
agagega 239 天前 1
试着截了个图,同样是 Firefox ,同一个帖子,同样是苹方字体,系统同样 200%缩放(浏览器缩放不一样)
macOS https://imgur.com/VAa1rTa.png KDE https://imgur.com/9Ql1nJX.png Windows https://imgur.com/6zEtJ2G.png 确实是更喜欢 macOS 这种偏糊的处理,Windows 比 Linux 好在不用和各种 fontconfig 斗智斗勇,但很多地方默认雅黑改不了,太丑了。macOS 上像 Emacs 这类对中文字体支持不太好的软件其实也容易翻车。 |
24
fansttty 239 天前 3
这个是绝大部分人都认同的,极少数不是个人审美问题就是硬犟。我也是同一款 4k 显示器,Win 即使换字体、DSR 超分成 5k 再 200%缩放、Mactype 等一系列优化,依然和 Mac 有差距,最要命的是 Win 下的宋体,很多软件字体族会会退到宋体,在 4k 下更是灾难体验。
|
26
EVANGELIONAir 239 天前
@agagega 这个图已经非常明显说明问题了,mac 和 kde 都是优先边缘描绘,windows 优先清晰显示。
|
28
wangritian 239 天前
我是 4k 200% 两台设备偶尔切着用 mac 真的糊 字体难看 系统也用不惯
|
29
hello2090 239 天前
mac 得用 27 寸 5k ,等效 2k 就是完美的。27 寸 4k 显示器 mac 下除非你等效 1080 ,那字就那么大一个个。其他任何缩放,win 都比 mac 好,Intellij 打开看看就行了。
要是 mac 连 27 寸 4k 能有 win 的效果,我就不用买 studio display 了😄 |
30
fatigue 239 天前 via iPhone
不过我觉得 windows terminal 里的字体是所有终端里看着最舒服的
|
31
huijiewei 239 天前
1366x768 才是王道
高了就是 Win 叛 |
32
moudy 239 天前 via iPhone
虚线那是 serif 字体的问题。vscode 在 win 和 mac 下观感其实是差不多的。都是 sans serif 字体
|
33
ShadowPower 239 天前 via Android
也许是微软保留了各种曾经出现过的 API ,不少软件底层代码历史悠久能用就不改,所以整体看起来比较差。
比如获取系统默认字体就有一套 API 能拿到宋体,一套能拿到微软雅黑…… Windows 里面也有字体渲染看起来比较好的东西。 在 Windows 版 IDEA 里,把抗锯齿改成灰度,字体不用微软雅黑,看起来就挺好的。 Windows 10 的开始菜单界面字体效果也还可以。 Windows Terminal 不显示微软雅黑字体的时候也不错。 |
34
james122333 239 天前 1
@agagega
fontconfig 还好吧 配置一下就好 有很多设置是不一定需要的 例如以下 /etc/fonts/local.conf <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> <fontconfig> <match target="font"> <edit name="autohint" mode="prepend" binding="strong"> <bool>true</bool> </edit> <edit name="antialias" mode="prepend" binding="strong"> <bool>true</bool> </edit> <edit name="hinting" mode="prepend" binding="strong"> <bool>true</bool> </edit> <edit name="hintstyle" mode="prepend" binding="strong"> <int>3</int> </edit> <edit name="lcdfilter" mode="prepend" binding="strong"> <int>1</int> </edit> <edit name="rgba" mode="prepend" binding="strong"> <const>rgb</const> </edit> </match> <match target="pattern"> <test name="family"> <string>sans</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>WenQuanYi Micro Hei</string> </edit> </match> <match target="pattern"> <test name="family"> <string>serif</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>WenQuanYi Micro Hei</string> </edit> </match> <match target="pattern"> <test name="family"> <string>sans-serif</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>WenQuanYi Micro Hei</string> </edit> </match> <match target="pattern"> <test name="family"> <string>monospace</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>WenQuanYi Micro Hei Mono</string> </edit> </match> </fontconfig> 基本上所有桌面环境的字体预设值就是以上 完全不用动 改 DE 字体大小和以上设置即可 |
35
james122333 239 天前
|
36
james122333 239 天前
|
37
zq11211277 239 天前
@rimwindy #8 这个 body { text-shadow: 0px 0px 0.3px #ACACAC; } 真的好用 感谢
|
38
secondwtq 239 天前
@james122333 他说的是不用折腾。
这也是 macOS 和 Windows 的问题——没有给出选择。HiDPI 下还不太明显,老设备下就各有各的问题了。 之前 OS X 的 System Preferences 里面有个 “Use LCD font smoothing when available”的选项,应该是影响是否使用 subpixel rendering ,打开之后会显著增强视觉字重,对就很类似 #23 那种胖了一圈的感觉。根据网上说法,macOS 后来不知道在什么版本里面,把 subpixel rendering 整个砍了,这个选项也没了,但是 defaults 里面还在,效果变成了让字体自动加粗一圈,但是这是两年前的说法,新版可能又不一样了,反正我复现不出来。 但是 anyway ,两个系统的 hinting 都是不给调的。 你给的这个配置 hinting 看上去直接满了,应该是更偏向 Windows 那种的。虽然我记得 KDE 好像默认就是这个风格,不过本贴里大部分人估计不怎么喜欢。不过问题就是,你不让用户配置就有一半用户不喜欢,你让用户配置用户就嫌麻烦。 而且我这 Qt 和 GTK3/4 程序的字体渲染好像有明显的不一致,这个倒是更加严重的问题 ... |
39
Tumblr 239 天前
我有个 1920*1080 的屏。。。
|
40
kuanat 239 天前 2
字体渲染这个话题一两句话说不清楚,我自己的笔记大概有五六千字,如果有空闲我会考虑专门发个帖子。
这里回复主要是想表达一个观点:苹果的渲染效果是可以在 Linux 环境近似复制的。 我这里举两个例子,需要配合 #23 @agagega 的截图对比来看。 由于我这里没有苹方字体,不过看过效果之后就知道不影响了。我这里的环境是 Gnome+Firefox 200% 缩放。 第一张是我日常的效果 第二张是贴近苹果的效果(通过调整参数还可以更像) ----------手动分割线---------- Windows 那个就不做对比了,我说下 #23 macOS/KDE 和我这里的区别。 首先忽略标题里粗体,那个是字重的关系,其次忽略英文和数字,因为它们 fallback 到了不同的字体上。 如果你把图片保存下来放大看,那么你会发现,KDE 的字体渲染是有彩色边缘的,说明它使用了 subpixel 抗锯齿。而 macOS 实际上是用的 grayscale 抗锯齿。 接下来关注标题下面“XX 小时 XX 分钟”的那个“时”字,苹果系统那个“时”和日常里写法是不太一致的,右边“寸”的横非常靠下,而 KDE 版本就比较正常。这是因为 macOS 的渲染引擎会无视 hinting ,而 KDE 依赖的底层 FreeType 在 KDE 的默认值是 Slight Hinting ,当苹方字体本身没有 hinting 信息时,会按照算法在垂直方向上做自动 hinting 修正。 所以 Linux 环境里,如果通过配置 fontconfig ,设置 hinting=false hintstyle=hintnone ,基本上可以获得接近 90% 的苹果效果。也就是我这里图一的例子。 如果仔细看还是会发现,苹果的渲染标题下面“XX 小时 XX 分钟前”里面的汉字,明显要颜色偏深一些。实际上,如果设置了暗色模式,这个差别会更明显。 这里涉及到一个叫 stem darkening 的概念,在“正确”渲染的前提下,额外对灰度进行加深,以匹配人类视觉的非线性感知。 所谓“正确”是指,通过 alpha composing 将字符前景与背景合成,这个计算是在线性空间里完成,然后通过 gamma 矫正转换到输出空间。这个过程在 Win/macOS 上都是默认支持的,然而 Linux 缺少 gamma 矫正这一步。 可以通过 FreeType 的参数来强行启用 stem darkening ,就如我第二张图的效果。实际效果是轻微的加粗,对于灰度显示的部分影响比较明显。只是从“反映字体设计意图”的角度上说,这个渲染逻辑是不正确的。但考虑到追求渲染效果往往是因为设备 DPI 不够,所以正确与否反倒不那么重要了。 |
41
luodan 239 天前 3
这个问题好像讨论了几十年了。主要原因两个公司对字体显示的理念不同造成的。苹果公司坚持尽量保持字体本身的数据去显示字体,不管什么 dpi, 当 dpi 太小时,再模糊也是直接显示,不修正。而微软公司的理念就是尽量清晰的显示字体。为了这个目的可以擅自更改字体设计的数据来把某些字体走线 grid 到某些扫描线上。这可导致字体有点变形,但关键笔线都在扫描线上,而达到看得清晰的目的。但是显示的 dpi 现在都已经到 4K 或更高了,早就不需要 grid 到扫描线这样的修正了,貌似微软还没闲功夫来更新他的理念。
|
42
secondwtq 239 天前
@FightPig
说的是这个 world.hey.com/dhh/fonts-don-t-have-to-look-awful-on-windows-564c9d2f Fonts don't have to look awful on Windows 还有这个 twitter.com/dhh/status/1762595923857903860 DHH on X: "That crazy 8K Dell monitor came in, and the text is so fucking crisp, it's hard to convey in words. Substantial step up over the 6K Pro Display. But... there's a caveat. It basically doesn't work in dark mode. The thing is a mirror. Is this good enough to give up on dark mode? " / X ? 他的意思应该是 Retina 级别就可以了,他是先用的 Pro Display XDR ,然后觉得很不错,换了 8k 之后更好了由奢入俭难了。这个和楼主的看法是相反的,DHH 认为硬件到了一个 baseline 之后下两边是没啥差距的。对于桌面系统这个 baseline 就是苹果惯用的 218 dpi 左右(即 27 寸 5K ,32 寸 6K ),不难发现现在 PC 主流的 HiDPI 硬件比这个低了至少一个等级,但是还没到 8k 那么夸张。 不过这个说法也就仅供参考,毕竟他还说: > I just spent last week using a PC on a 27" 4K monitor (163 PPI) where I accidentally committed the other common cardinal sin that make fonts look like shit on any system: Fractional scaling. I had the screen set to 150%. No wonder it looked offensively bad compared to the Mac! You can't split a pixel, so the system has to do all sorts of typographically nasty tricks when doing non-integer scaling, and the end result is awful font rendering. 我是看不出 fractional scaling 和字体渲染之间有啥必然联系,正确实现的 fractional scaling 不需要在字体渲染级别 split a pixel 。结合他给出的引用,他很有可能搞混了 fractional scaling 和 subpixel rendering 。 |
43
shimanooo 239 天前 1
先要统一字体. 雅黑是为低分屏设计的, 确实丑, 横线参差不齐.
然后是次像素渲染和 hinting 的问题. 前者会导致文字边缘有彩边, 后者会破坏字形. 对于高分屏来说都是多余的. |
44
james122333 239 天前 via Android
@secondwtq
我在回应他觉得 fontconfig 麻烦的状况 表明其实并不会而已 我个人 hinting 拉满但与 win 下显示差蛮多的 不需要那么重的 hinting 改设置即可 桌面预设你保持初始值在 dpi 低的屏幕下感受更为明显 以上我的配置是全局设置 一次性解决问题 不管 user 不管应用强制套用 他所说斗智斗勇我觉得没那么跨张 不满意改即可 你 man fonts.conf 命令查文档即可 桌面一般看到的是发型版预设没调整过的显示效果并不好 嫌麻烦的都可以考虑不使用了 直面解决不喜欢装一堆其它我才觉得奇怪 |
45
james122333 239 天前 via Android
|
46
zocsrd 239 天前 via Android
win 字体本身就不好看,没有果的那么多等级的字重,加上 win 的硬件中低分屏占比也不少,可能设计就相对保守吧
|
47
diagnostics 239 天前
这时候没人说 windows 粉丝邪教了,那个字体发虚的,但凡用过非 Win ( Linux 、macOS ) 都知道差别,即使有了 ClearType 也是如此。
还有人拿 PPI 说事,都 27 寸 4k 了,对比的难道不是同一个显示器吗? PPI 还能不同了?上网瞄一眼就开始奋笔疾书了,不知道这些人在网上丢垃圾的时候是什么心态 |
48
ynxh 239 天前
win 的很多软件,安装包,甚至弹窗等,在外接 4k 以后,都是模糊的,什么垃圾
|
49
baleeny 239 天前
mac 输出确实更舒适,Windows 可以用 amd 显卡也很舒适,英伟达显卡输出差点意思
|
50
owtotwo 239 天前 1
对比字体渲染效果 不是应该
相同字体(如小米字体 MiSans 俩系统都改字体) 相同网页(或能调排版的软件)调好 css 字体参数(大小间隔字重等等) 同一屏幕下(24 寸 4k 苹果 hidpi 微软 200%缩放) 用手机的微距镜头拍屏幕字体吗?(非截图) 把结果图放上来 一切不就清楚了 我对现今 macOS 了解不深 还停留在几年前的黑苹果印象 但当时就是同一屏幕下(24 寸 4k)双系统(虽然都是默认字体) 因为是普通 IPS 屏 没有 oled(紫边)或其他屏幕等像素排列之类的差异 感觉苹果 UI 很舒适很有设计感和整体性 但别人提到的字体渲染问题 我感觉两者都足够清晰锐利 没有字体边缘的各种问题(不过我更喜欢苹果默认字体) (可能印象模糊了 但 Win10 的 1909 到现在 Win11 的 23H2 我感觉新软件的高分屏缩放导致的问题愈发减少了 至少现在很舒适) 所以我的个人浅显的主观结论是 Win 的 200%缩放下字体没问题 retina 级别屏下与 masOS 差异不至于有一眼的差距 |
51
hahasong 239 天前
用过非 retina 的 mac 没有,那字体糊的跟近视了一样,windows 早就有 cleartype 了,1080p 显示器也清晰锐利。没必要尬吹
|
52
ScepterZ 239 天前
Windows 在高分屏下长得不好看,但是清晰度现在也是没问题的。
低分辨率屏幕下 mac 会糊的眼疼 还记得小时候看微软雅黑的介绍,说这个字体设计的时候就是希望在屏幕上可读性比较好,当时应该没有高分屏,所以做了形状上的妥协设计吧 |
53
WilsonGGG 239 天前
所以很多失业程序员做独立开发者都很水,基本的审美都没有就硬犟。这帖子如果改成 《 Windows 的字体渲染比 Ubuntu 的差很多》,估计楼上很多 Winer 又是另外一副嘴脸,实际上 Windows 字体渲染还不如 Ubuntu 。
|
54
ShadowPower 238 天前
@WilsonGGG 然而这个问题对比的是 macOS 和 Windows 。
低分屏上 Ubuntu 还真比 macOS 好,至少 hinting 管用,也可以开次像素渲染。 我现在正在用低分屏+macOS ,字体渲染真的跟果粉说的一样,就像印刷出来的…… 只是他们少了一个定语,像非法出版物的印刷。 我还给 macOS 装了一个点阵字体(字体名 Unifont ),现在的 macOS 渲染点阵字体也有一圈阴影了,虽然总体上看起来还是锐利的,能对齐到像素。不过旧版 macOS 和 Ubuntu 都没有这个问题。 Ubuntu 的字体渲染不是没有缺点,有些字体会有间距不一致的问题,同样的字体放到 Windows 和 macOS 下都挺好。 只能说各有优缺点吧。 |
55
nothingistrue 238 天前
又到了 XXX 很安全——实际上是因为用得人少病毒懒得搞它——的环节了。
|
56
highf4324 238 天前
我非常认同,Windows 字体渲染就是垃圾,ClearType 是垃圾,微软雅黑也是垃圾中的垃圾。
|
57
Leon821 238 天前
如果是 AMD 显卡的话,近几年最新的显卡支持超分,2k 超分到 4k 会解决一部分问题,变得相对清晰点
|
58
ratmond 238 天前
从 27 2k 100% 缩放换到 27 4k 200% 缩放,Windows 11 下 Chrome 的字体观感会好很多,至少没有边缘锯齿了,个人还是很满意,当然字体观感还是没有 macOS 的那么饱满,macOS 的字重会更重一些。
|
59
goodryb 238 天前
windows 27 寸 4k 显示器,开系统推荐的 150%缩放,看起来还可以,不去专门和 Mac 对比的话
|
60
xqdoo00o 238 天前
windows 起码也改成 苹方字体 再看看吧
|
61
cd605426287 238 天前
如果在 mac 上使用 windows 虚拟机呢????
|
63
frankilla 229 天前
别忘了颜色管理
|