忘掉MacType吧,TtfAutoHint手工删除ttc、ttf字体的hinting,微软雅黑字体更显平滑

news2024/11/14 3:06:58

Windows的ClearType渲染字体方式,结合臭名昭著的hinting技术使微软雅黑字体备受争议,正所谓:成也hinting,败也hinting。

首先什么是hinting?

Hinting 这个词一直都没有中文名称,我用粤语将它音译为“牵挺”。

个人解释: "牵" 可以理解为引导和调整,而 "挺" 则可以解释为挺拔、优雅。

按照官方的解释,Hinting的目的是为了确保在低分辨率屏幕上,小字号字体也能够清晰可读。然而,在追求清晰的同时,hinting可能会导致笔画的位置偏移和错位,从而损害了字体的整体设计美感。

在我看来,hinting是一种动态模拟点阵字体效果的技术

因此,微软雅黑字体在小字号下会出现各种奇怪的笔画位置不正确的现象,主要是因为hinting为了在狭小的点阵像素空间内实现清晰展示,牺牲了原本中文字体的设计意图。

相比之下,Mac OS采用的平滑渲染字体效果一直受到许多用户的喜爱,Windows用户只有眼馋的份。为了追求模拟Mac OS的平滑渲染字体效果,摆脱Windows hinting的影响,字体爱好者追捧先后出现的GDI++和MacType等外挂式字体渲染工具,使得Win系统的字体显示更加“所见即所印”。(GDI++是MacType的先驱。我是从2008年开始在WinXP系统使用GDI++,2012年后Win7系统使用MacType。)

Windows 10之后引入了DirectWrite渲染方式,但在系统缩放比例200%以下,DirectWrite仍无法完全解决微软雅黑字体显示不平滑的问题。那就继续用MacType呗……更糟糕的是,越来越多的生产力应用(如Chrome浏览器、WPS、Photoshop等)已经我行我素,强行使用Hinting渲染,完全无视MacType,导致MacType可渲染的对象越来越少,MacType的地位变得越来越不重要。

因此,干脆直接干掉字体的hinting吧!尽管这样会导致在小字号下显示比较模糊。在只要把系统的字体缩放比例设为125%以上,微软雅黑的观感将显著提升。

早在2008年坊间就有流传过“无hinting的微软雅黑”字体,字体名称为 iYahei,文件大约8M。可惜在WinXP、Win7系统默认的渲染模式下显示发虚,笔画的粗细不一,远远达不到MacType的效果。

然而我把 iYahei 存入手机代替默认字体却能完美展现。从2008年我使用的诺基亚手机,到后来的安卓系统的手机,我都替换手机的默认字体为 iYahei。除了 iYahei,也有其他人制作的无hinting字体,受多人推崇。

为什么不直接把有hinting的微软雅黑替换安卓手机的默认字体?我早已尝试过,带有hinting的微软雅黑在安卓系统里也会按照hinting信息渲染字体,跟Windows的默认渲染效果一样不好看。唯有去除hinting,才能真正再现字体设计的本色。

多年以来,我都在寻找一款能够删除hinting的工具,现在终于找到了,并将其记录如下:

需要用到的利器: TtfAutoHint (度盘链接:https://pan.baidu.com/s/1Mv-hpb7mqxzLf22Z1lDGbA?pwd=ttj5 提取码: ttj5)

另外,需要 WinPE环境(U盘或者本地硬盘安装)。

在Windows的命令提示符使用以下命令来删除hinting:

d:\downloads\ttfautohint -d c:\windows\fonts\msyh.ttc c:\msyh.ttc

微软雅黑常规体文件msyh.ttc原先体积是22.5M,经过这样去除hinting之后,生成的新字体文件大大缩小到8M,这跟多年前的 iYahei 字体差不多大了,可见微软每次升级Windows系统和微软雅黑字体,为了讨好眼球,都是制造更多的 hinting。在我看来,这些 hinting 都是垃圾,真正有效的矢量字体信息就是8M够了。

如果要批量转换Windows系统的字体,可以在命令行下可以使用下面命令:

cd /d %windir%\fonts
for %a in (*.tt?) do d:\downloads\ttfautohint -d %a c:\%a

这样就一次性把系统所有.ttc和.ttf的字体都去掉hinting,输出到C盘根目录。

在重启后切换到WinPE环境,把C盘根目录处理后的字体文件复制粘贴到C:\windows\fonts目录并替换,再重启进入正常的Windows环境,这样微软雅黑字体的渲染效果变得更加平滑。虽然与MacType的效果相比还有少许差距,但至少不再担心MacType占用系统内存的问题。

需要注意的是:

1、不是所有删掉hinting的字体都令人满意。

如:宋体(simsun.ttc),我觉得保留hinting反而比删掉的更好。

常用的英文字体(Arial、TImes New Roman、Tohama、Verdana、Calibri等)也没必要去掉hinting,反正去不去掉hinting视觉上的影响没那么明显。

2、显示器分辨率不超过1440x900,而且系统字体缩放比例是100%的话,劝你别试了。用默认的带hinting的字体反而使小字号字体显示更清楚。

附图1:去除hinting之前的微软雅黑(系统缩放比例100%)

 附图2:去除hinting之后的微软雅黑(系统缩放比例100%)

附图3:去除hinting之后的微软雅黑(系统缩放比例125%)

附图4:有无hinting的微软雅黑小五、五号、小四、四号字体的表现:

以“重量”为例,去除hinting之前,在hinting的作用下各个笔画都在有限像素的空间内尽可能清晰呈现,可以看出hinting的实质是在各个字号里模拟点阵字,但牺牲了原来字体的设计,如“重”的第一笔是撇,但hinting的作用下全部变成横线。删掉hinting之后的字虽然在小字号情况下显得模糊,但笔画是正确的,忠实还原字体设计的本来面目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/834189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

javascript 7种继承-- class继承(7)

文章目录 概要继承的进化史class继承1. 类声明与严格模式2. 类的实现3. 类的静态方法4. get,set 存取器5. 类中的公有继承以及私有继承6. 使用 super 调用超类7. Mix-ins / 混入 源码: 类的继承效果图小结 概要 这阵子在整理JS的7种继承方式,发现很多文…

【2023 华数杯全国大学生数学建模竞赛】 B题 不透明制品最优配色方案设计 详细建模方案解析及参考文献

【2023 华数杯全国大学生数学建模竞赛】 B题 不透明制品最优配色方案设计 详细建模方案解析及参考文献 1 题目 B 题 不透明制品最优配色方案设计 日常生活中五彩缤纷的不透明有色制品是由着色剂染色而成。因此,不透明制品的配色对其外观美观度和市场竞争力起着重要…

GD32F103VE定时器0

本测试程序,配置GD32F103VE定时器0每500ms中断一次,中断时,开关LED灯。 只讲定时器,多了,有点乱。有的人喜欢汇总,Timer的功能太多,放在一起,会搞混,不好移植。即使放一…

【雕爷学编程】MicroPython动手做(31)——物联网之Easy IoT 2

1、物联网的诞生 美国计算机巨头微软(Microsoft)创办人、世界首富比尔盖茨,在1995年出版的《未来之路》一书中,提及“物物互联”。1998年麻省理工学院提出,当时被称作EPC系统的物联网构想。2005年11月,国际电信联盟发布《ITU互联网…

哪些情况下需要使用爬虫IP

不知道小伙伴们有没有遇到过这种场景:上网闲逛,看一些搞笑的视频或者想下载一些酷炫的文件,正点击呢,结果却发现被网站限制了,无法访问或者下载? 别急,今天我来告诉大家,如何借助使…

IE浏览器,和Edge浏览器

目录 一.IE浏览器(前世今生) 1.什么是IE浏览器? 2.IE浏览器发展历程 3.IE浏览器在早些年为什么这么流行 4.ie浏览器为什么被停用? 5.IE浏览器无法适应如今的Web发展原因 二.Edge(发展) 1.什么是Edge浏览器&…

2023年人工智能技术与智慧城市发展白皮书

人工智能与智慧城市是当前热门的话题和概念,通过将人工智能技术应用在城市管理和服务中,利用自动化、智能化和数据化的方式提高城市运行效率和人民生活质量,最终实现城市发展的智慧化,提升城市居民的幸福感。 AI技术在城市中的应…

【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

iMX6ULL应用移植 | 移植 infoNES 模拟器(重玩经典NES游戏)

没玩过NES游戏的童年,可能不是80后的童年。我们小时候是从玩FC开始接触游戏机的,那时真的是红极一时啊,我上初中时还省吃俭用买了一台小霸王,暑假里把电视机都给打爆了!那时任天堂单是FC机的主机的发售收入就超过全美的…

小白解密ChatGPT大模型训练;Meta开源生成式AI工具AudioCraft

🦉 AI新闻 🚀 Meta开源生成式AI工具AudioCraft,帮助用户创作音乐和音频 摘要:美国公司Meta开源了一款名为AudioCraft的生成式AI工具,可以通过文本提示生成音乐和音频。该工具包含三个核心组件:MusicGen用…

Spring源码面试题

Spring源码面试题 谈谈你对Spring框架的理解? Spring 是一个开源的应用程序框架,它起源于 Rod Johnson 在其著名的 Spring Framework 专著中提出的一个轻量级框架的观念。下面是 Spring 的发展历史: 2002 年,Rod Johnson 发表了他的专著 …

GPT Prompt编写的艺术:如何提高AI模型的表现力

随着AI技术的迅速发展,人工智能模型变得越来越强大,能够协助我们完成各种任务。然而,如何更好地利用AI的能力仍然存在很大的探索空间。在与AI进行交互的过程中,我们主要依赖于Prompt,不管是直接与大模型交互&#xff0…

dlib的安装

由于需要人脸识别,所以需要安装opencv和dlib,OpenCV的安装很顺利,实例也跑的很正常。但dlib的安装却出现了很多坑,而且国内的解决方法都是复制粘贴,一点营养都没有,查了国外资料,终于解决&#…

让Python点亮你的世界:打造专业级编程环境的必备步骤

文章目录 初识pythonpython的安装win系统Linux系统(centos7) 第一个Python程序常见问题 Python解释器Python开发环境PyCharm的基础使用创建项目修改主题修改默认字体和大小汉化插件翻译软件常用快捷键 初识python Python语言的起源可以追溯到1989年&…

OFCMS代码审计

环境搭建 https://blog.csdn.net/oufua/article/details/82584637 安装后是重启容器 最后 db-config.properties 改成db.properties 修改数据库连接 搭建成功 代码审计 sql注入审计 全局搜索${ 查看没有预编译的sql语句,从而找到sql注入功能点 Ctrlalth 查看函…

AIGC大模型ChatGLM2-6B:国产版chatgpt本地部署及体验

1 ChatGLM2-6B介绍 ChatGLM是清华技术成果转化的公司智谱AI研发的支持中英双语的对话机器人。ChatGLM基于GLM130B千亿基础模型训练,它具备多领域知识、代码能力、常识推理及运用能力;支持与用户通过自然语言对话进行交互,处理多种自然语言任务…

干翻Dubbo系列第八篇:Dubbo直连开发核心三要素概述

文章目录 文章说明 一:Dubbo直连开发概念 1:直连设计中的核心组件 (一):Provider服务的提供者 (二): Consumer服务的访问者 (三):网络通信明白图 文章说明 本文内容整理自《孙哥说Dubbo系列视频课程》,孙帅老师…

❤ npm不是内部或外部命令,也不是可运行的程序 或批处理文件

❤ npm不是内部或外部命令,也不是可运行的程序 或批处理文件 cmd或者终端用nvm 安装提示: npm不是内部或外部命令,也不是可运行的程序或批处理文件 原因(一) 提示这个问题,有可能是Node没有安装,也有可能是没有配置…

【LeetCode】105. 从前序与中序遍历序列构造二叉树 106. 从中序与后序遍历序列构造二叉树

105. 从前序与中序遍历序列构造二叉树 这道题也是经典的数据结构题了,有时候面试题也会遇到,已知前序与中序的遍历序列,由前序遍历我们可以知道第一个元素就是根节点,而中序遍历的特点就是根节点的左边全部为左子树,右…

C高级-day2

思维导图 #!/bin/bash echo "$(head -n 5 /etc/group | tail -1)" mkdir /home/ubuntu/copy cd /home/ubuntu/copy cp /etc/shadow test chown root test chmod o-r,o-w,o-x test#include <myhead.h> //递归实现&#xff0c;输入一个数&#xff0c;输出这个数的…