[已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

壁纸/套图分享,桌面/应用程序截图展示,配置美化,Conky,字体设置以及 openSUSE 周边产品的 DIY 等。

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#61  stecue » 周四 5月 4日, 2017年 2:04 am

netcap 写道: 对字体的怨念很深啊,opensuse_zh: 下的包是我唯一满意的了,只是在有些字上面有些多余的边线:

附件 133508.png 已经无效


图里面的互“联”网,“输”入法和桌面“环境” ,尤其是偏旁部首里带一横一竖的都会多条边线出来...


2017.04.21 更新: 做个总结,给不想往后翻的人,其实,如果耐心往后看的话啊,能知道不少东西...


首先是 freetype 相关技术发展的一个历史回顾,请看这篇:(只想要方案的往最下看)

INFINALITY 补丁的“终极”进化...: https://forum.suse.org.cn/viewtopic.php?f=38&t=4496

如上所述,infinality 相关渲染技术已经进入了 freetype 主线,只是默认因为专利问题等各项原因默认没有开启,需要在编译时打开。

第一种方案 ,使用 stecue 编译的打开了 v38 解释器,但是略过雅黑等字体的处理,因为 v38 解释器在渲染雅黑较小号字体时会造成笔画错误,这个再配合从 Windows 中取出的雅黑字体,可以实现良好的阅读效果,这里要注意的问题是雅黑字体的版本,Win 8.1 以后微软对雅黑进行了调整,对于现在普遍 1080 24 寸以上的显示器,网页缩放到某个程度时,字体会变得过细,当然不缩放区别不大,想要在页面缩放的情况下获得和 win 平台下相近效果的,可以使用 win 7 自带的雅黑 6.02 版本。

链接在此: https://build.opensuse.org/package/show?project=home%3Astecue&package=freetype2


第二种方案 ,针对喜欢默认字体,以及从其他平台转过来习惯了它们显示效果的人,可以使用以下的原装引擎,用下面的配合思源,基本上就和 ubuntu 默认,以及 Fedora 的 Freetype Freeworld 同等的效果,两个任选其一就好。

v38: https://build.opensuse.org/package/show ... /freetype2
v40: https://build.opensuse.org/package/show ... /freetype2

关于两个解释器的差别在这里: https://www.freetype.org/freetype2/docs/reference/ft2-tt_driver.html,简单的说 v40 用简化的方式实现了 infinality , 据说是速度比 v38 快。另外,据 stecue 本人说明,v40 解释器也可以配合微软雅黑,不会像 v38 那样,不加补丁会导致雅黑的笔画缺失的问题。


第三种方案 ,infinality ultimate 。老实说,这个因为已经不维护了,所以并不是很推荐,提供给那些因为各种原因就想用 infinality 的人吧,这个也加上了 bypass 雅黑的补丁,雅黑思源效果都不错。当然,如果一定要装这个,fretype 被降级是理所当然的事。另外说下,由于 ultimate 作者现已处于不活跃状态,Arch 论坛上那个帖子已经被关闭...

INFINALITY-ULTIMATE_YaHei: https://build.opensuse.org/package/show ... eetype2-iu


第四 ,这也是一种方案吧,因为字体这东西,每个人感受不同,有些人要清晰,另外一些人要好看,这就导致了差异化的形成。而这个就是原装的 freetype , 并打开了次级像素渲染和次级像素微调并升级到 2.7.1 版。 有人可能注意到了,42.2 Leap 官方源的 freetype 是打开了次级像素和微调的,但是,风滚草和 M17N 源里的就没有开,作为原装版的升级,给那些 “原装就很好,但我还想要最新版”的人...
TTall: https://build.opensuse.org/package/show ... =freetype2


安装以上的包后,可以根据自己的喜好使用 fontconfig 进行细节调整。最后一键安装源在这里,放最后是因为至少你得知道自己在干什么,对吧?

http://software.opensuse.org/package/libfreetype6


再次感谢 @stecue 的辛勤研究和工作!


刚看到主贴的修改,多谢你的总结!关于我的 TTall 的源和 TTv38,TTv40 的区别,主要是前者同时编译了 v38 和 v40 引擎(当然它们都有“对齐到整像素”的经典 v35 引擎。雅黑需要这个引擎来获得最清晰和没有笔画错误的 hinting)。FreeType 2.7 之后,理论上在可以用 FREETYPE_PROPERTIES 环境变量在运行时选择 truetype 渲染引擎。比如在~/.bashrc 里写上
代码: 全选
export FREETYPE_PROPERTIES="truetype:interpreter-version=38"

就可以启用 v38 引擎。
代码: 全选
FREETYPE_PROPERTIES="truetype:interpreter-version=35" firefox
则以启用 v35 引擎的方式启动 firefox。

但是,这种方法首先不能针对个别字体(比如雅黑)单独指定引擎;其次,FREETYPE_PROPERTIES 对 chrome 根本无效。据说是 chrome 的子进城在沙盒启动时粗暴清空了它所不认识的所有环境变量。TTall 中的版本已经更新到 github 版(TTv38 和 TTv40 还是 2.7.1),据说配合最新 chrome unstable 可以认识 FREETYPE_PROPERTIES 环境变量,但我实测了一下似乎并没有效果。关于 FREETYPE_PROPERTIES 和 chrome,参看这两个链接:

https://bugs.chromium.org/p/chromium/issues/detail?id=649362
http://lists.nongnu.org/archive/html/freetype/2017-04/msg00025.html

总之,现在如果不想看到雅黑的渲染(或者微调)错误,还是得要么用打过补丁的 v38(方案一),要么用 v40(方案二的 TTv40)。有兴趣捣鼓 FREETYPE_PROPERTIES 和 chrome 的,可以试试 TTall 的源。

另外,帖子里的链接是软件包的项目主页,右上角有个“Download package”可以点击:
Screenshot_20170503_124357.png

然后就可以直接获得一键安装源的地址了:
Screenshot_20170503_124432.png
最后由 stecue 编辑于 周四 5月 4日, 2017年 4:42 am,总共编辑了 1 次
stecue
初心
 
帖子: 84
注册: 周三 5月 8日, 2013年 4:12 am
Cash on hand: 160.00
送出感谢: 2
收到感谢: 6

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#62  stecue » 周四 5月 4日, 2017年 3:25 am

netcap 写道: 思源 + v38 效果:

Screenshot_20170422_192204.png


Screenshot_20170423_095808.png


我个人喜欢偏细的字,因为渲染得粗的子只要稍微边缘有锯齿毛边什么的,缺点就会被放大'

hintmedium

Screenshot_20170423_125545.png


如果能 再过滤掉高亮字的毛边就好了...

啊,我才发现之前的在 home project 中的 v38+ 雅黑补丁那个 build 的 subpixel.patch 有点问题。如我之前所说,CFF_CONFIG_OPTION_OLD_ENGINE 是不应该启用的,但是我弄补丁的时候大概把意思看反了,结果把 Adobe 之前的旧引擎打开了。 :sweat 这导致 home:stecue 的 FreeType2 对思源字体(纯 CFF 字体,不是 TrueType 字体)的 hinting 有问题,小字号会有笔画挤到一起去的情况出现,这与 TTv38 或者 TTv40 的渲染不一致——Oops :blush 。而理论上 TTv38,TTv40,TTall 和 home:stecue 的 FreeType2 对思源字体的渲染应该是完全一致(因为思源字体用不到 TrueType hinting 引擎)。现在已经修好了。用方案一的用户请升级到 libfreetype6-2.7.1-141.1 或更高版本哈。
stecue
初心
 
帖子: 84
注册: 周三 5月 8日, 2013年 4:12 am
Cash on hand: 160.00
送出感谢: 2
收到感谢: 6

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#63  netcap » 周四 5月 4日, 2017年 7:56 am

stecue 写道:
啊,我才发现之前的在 home project 中的 v38+ 雅黑补丁那个 build 的 subpixel.patch 有点问题。如我之前所说,CFF_CONFIG_OPTION_OLD_ENGINE 是不应该启用的,但是我弄补丁的时候大概把意思看反了,结果把 Adobe 之前的旧引擎打开了。 :sweat 这导致 home:stecue 的 FreeType2 对思源字体(纯 CFF 字体,不是 TrueType 字体)的 hinting 有问题,小字号会有笔画挤到一起去的情况出现,这与 TTv38 或者 TTv40 的渲染不一致——Oops :blush 。而理论上 TTv38,TTv40,TTall 和 home:stecue 的 FreeType2 对思源字体的渲染应该是完全一致(因为思源字体用不到 TrueType hinting 引擎)。现在已经修好了。用方案一的用户请升级到 libfreetype6-2.7.1-141.1 或更高版本哈。


已根据回帖内容修正主贴... 另外,我还做又做了多次测试,以前我说的“毛边”,出现的像素边确实是彩色的,因为以前一直用的 lcddefault 参数,后来试着改了一下其他的比如 light 就容易看出来了,多出的那些像素点确实是彩色,大致是偏紫红的效果,所以,网页上那些红色高亮的新闻标题显示效果才会明显比黑色,蓝色字体要差...
netcap
行走
 
帖子: 228
注册: 周六 4月 13日, 2013年 7:41 am
Cash on hand: 75.30
Bank: 189.00
送出感谢: 12
收到感谢: 13

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#64  stecue » 周五 5月 5日, 2017年 7:16 am

netcap 写道:
已根据回帖内容修正主贴... 另外,我还做又做了多次测试,以前我说的“毛边”,出现的像素边确实是彩色的,因为以前一直用的 lcddefault 参数,后来试着改了一下其他的比如 light 就容易看出来了,多出的那些像素点确实是彩色,大致是偏紫红的效果,所以,网页上那些红色高亮的新闻标题显示效果才会明显比黑色,蓝色字体要差...

Thanks! 如果确实是彩边的话就可以通过 lcdfilter 和 hintfull 之类的调整了。
首页的毛刺倒从来没见过。可能是 FreeType 编译的参数不合适 / 版本较老导致的传说中的“字体爆炸”了。参见这里:
http://lists.nongnu.org/archive/html/freetype/2017-03/msg00030.html
stecue
初心
 
帖子: 84
注册: 周三 5月 8日, 2013年 4:12 am
Cash on hand: 160.00
送出感谢: 2
收到感谢: 6

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#65  netcap » 周五 5月 5日, 2017年 10:57 am

stecue 写道:
Thanks! 如果确实是彩边的话就可以通过 lcdfilter 和 hintfull 之类的调整了。
首页的毛刺倒从来没见过。可能是 FreeType 编译的参数不合适 / 版本较老导致的传说中的“字体爆炸”了。参见这里:
http://lists.nongnu.org/archive/html/freetype/2017-03/msg00030.html


lcdfilter 那个参数我觉得应该再加些一些配置参数或细节调整之类的,default 那个是目前效果相对最好的了,但高亮尤其是红色调的效果就不太好... 当然,如果用雅黑的就没啥问题,那个字体 hint 得太优秀了...

首页那个问题我测试的时候出现过这种情况,大致的映像是和那个文泉正黑字体有关,那个字体在在某些配置情况下就会出首页的那种字体有边的效果... 多和字体设计有关吧,opensuse_zh 下面那个版本对应的大概也是默认文泉字体的时代...
netcap
行走
 
帖子: 228
注册: 周六 4月 13日, 2013年 7:41 am
Cash on hand: 75.30
Bank: 189.00
送出感谢: 12
收到感谢: 13

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#66  stecue » 周六 5月 6日, 2017年 1:09 am

文泉驿正黑有没有 hinting 都不好说,即使有多半也是 FontForge 自动生成的,与次像素渲染的兼容性大概有些问题。后来 WenQuanYi Zen Hei Sharp 是采用正黑内嵌点阵宋来达到小字号清晰的目的的。

TrueType 字体的手工微调,尤其是中文字体的手工微调,现在已经是上古绝技了;也就只有微软想花并且花得起钱请人逐字调整。苹果搞不定就直接简单粗暴地提高屏幕分辨率了事。安卓也有样学样。
stecue
初心
 
帖子: 84
注册: 周三 5月 8日, 2013年 4:12 am
Cash on hand: 160.00
送出感谢: 2
收到感谢: 6

Re: [已解决]请问可以修正下 opensuse_zh: 下的 infinality 包么?

#67  wacke » 周四 8月 31日, 2017年 9:40 am

stecue 写道: 文泉驿正黑有没有 hinting 都不好说,即使有多半也是 FontForge 自动生成的,与次像素渲染的兼容性大概有些问题。后来 WenQuanYi Zen Hei Sharp 是采用正黑内嵌点阵宋来达到小字号清晰的目的的。

TrueType 字体的手工微调,尤其是中文字体的手工微调,现在已经是上古绝技了;也就只有微软想花并且花得起钱请人逐字调整。苹果搞不定就直接简单粗暴地提高屏幕分辨率了事。安卓也有样学样。


挖坟来了,系统升级到 42.3 了,屏幕使用的 4k 分辨率,现在还有必要使用 infinality 补丁吗,我在 obs 上将 infinality-ultimate 升级到了 2.8,现在的问题是渲染雅黑的时候出现字体宽度不一的情况。。。。使用 v38 或者 v40 又跳过了雅黑的渲染,导致启动器及桌面的雅黑跟其它 app 的雅黑粗细不一致。。。有什么完美的解决方案吗?
wacke
 
帖子: 20
注册: 周日 3月 31日, 2013年 8:19 pm
Cash on hand: 73.00
送出感谢: 0 次
收到感谢: 0 次
勋章: 1
I knew SuSE from Day One! (1)

上一页

回到 美化和周边

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客