[Share Experiences] 【deepin 20.1】点阵字体配置,解决低分屏字体发虚问题
Tofloor
poster avatar
andot
deepin
2021-01-19 09:31
Author

Deepin默认字体效果在高倍分辨率下,其实效果是很好的。但是设置成1:1显示,文字就会有一些模糊了,原因是默认点阵字显示被屏蔽了。

 

我所使用的是2个43寸的4K屏,即使屏幕缩放比例设置成1.0,文字也是足够大的,我希望能够重复利用屏幕空间显示更多内容,但是又不希望看模糊的文字,所以决定把系统改为点阵字显示方式。当然这个方法,对于没有高分屏的老笔记本来说,效果也是非常好的。

 

下面就来说一下我的改造方法。

 

1、安装字库

 

 

deepin仓库里自带一些点阵字库,比如文泉驿点阵宋体,文泉驿点阵正黑、AR PL UMing,都是很好的点阵字体。这些字体都可以直接用 apt 来安装:

 

  sudo apt install fonts-arphic-ukai fonts-arphic-uming fonts-wqy-zenhei xfonts-wqy

 

注意上面第一个 fonts-arphic-ukai 不是点阵字体,它是楷体,如果你不喜欢可以不装,我安装它,是因为我在读书软件中使用它来显示楷体字。

 

只安装这几个字体的话,也够用,但要想显示比较大号的点阵字,或者显示非常小字号的点阵字的话,只安装这几个字体就不太够用了。所以,我还安装了 Zfull-GB 这个字体,这个字体网上很容易就可以找到,这里我就不提供了。下载之后,放到 /usr/share/fonts/truetype/Zfull 里面就可以了。如果你喜欢繁体字,也可以下载 Zfull-BIG5 这个字体一起放进去。

 

有这几个字体的话,点阵中文差不多就够用了。

 

但如果想要系统字体显示的更完美的话,还可以下载这几个字体:

 

(1) 更纱黑体:https://github.com/be5invis/Sarasa-Gothic/releases

 

这个不是点阵字体,但是它里面包含的等宽字体在 VSCode 中可以严格的按照汉字英文2:1的对其方式显示。当然如果你还是喜欢点阵字的话,也可以配置成 AR PL UMing 这个字体,这个也可以汉字英文2:1对其显示,只不过它的英文字体有点丑,尤其是标点符号,中文和英文的不太好区分,很容易搞混了,所以还是推荐在 VSCode 中使用更纱等宽黑体(Sarasa Mono SC)。

 

 

(2) font-noto-color-emoji

 

这个字体可以直接通过 apt 方式安装。它是彩色表情符号字体。安装它之后,几乎所有的表情符就都可以正常显示了,而且效果还不错。具体支持哪些表情符可以参考一下这个页面:https://13rac1.github.io/emojione-color-font/full-demo.html

 

 

(3) font-powerline

 

这个字体也是直接通过 apt 方式安装。它主要用在终端上和 VIM 中,可以显示比较酷炫且实用的终端提示符和 VIM 状态栏,一般配合 oh-my-zsh 来使用。更纱黑体里面已经内置了这个字体,但是更纱黑体不是点阵字体,如果你想在终端里实用点阵字体的话,这个字体就是必装的了。

 

 

(4) windows 下的字体

 

如果你用 Office 的话(不管是 WPS 还是永中 Office),如果不安装 Windows 的字体,很多时候,文档显示格式都是错乱的,如果文档中有一些特殊符号,也不能正常显示。如果安装了 Windows 字体的话,就可以解决这些问题。如果你有安装 Windows 系统的话,可以直接从 Windows 系统中复制过来,如果没有安装过 Windows 系统的,可以考虑直接安装这个字体包:链接: https://pan.baidu.com/s/1fuH7k95XHA1LlF5EHd10ZA  密码: lhtm

 

但是注意,不要安装 Windows 自带的那个宋体,包括上面那个字体包中的宋体,它会影响很多 Wine 程序中字体显示,所以安装之后,一定要把那个宋体删除掉。如果要安装宋体的话,可以考虑用这个宋体代替,链接: https://pan.baidu.com/s/1a3oCW3mS58tKxznR-7loCQ  密码: k14j,这个宋体是内嵌了微软雅黑矢量字和宋体点阵字的,所以不管是点阵显示还是矢量显示效果都很好。

 

 

2、 修改字体配置文件

 

只是安装上面的那些字体还不能实现点阵字的显示,还需要对配置文件做一些修改,不过修改很容易。首先修改系统的字体配置文件:

 

 

cd /etc/fonts/conf.d
sudo rm 70-no-bitmaps.conf
sudo ln -s /usr/share/fontconfig/conf.avail/70-force-bitmaps.conf
sudo ln -s /usr/share/fontconfig/conf.avail/70-yes-bitmaps.conf
sudo ln -s ../conf.avail/63-wqy-zenhei-sharp.conf

 

 

然后在控制中心的个性化字体设置中,标准字体设置成 WenQuanYi Bitmap Song,等宽字体设置成 Courier 就可以了,如图:

 

 

 

然后修改个人字体配置文件,下载链接: https://pan.baidu.com/s/1lgs9agkuBOQLc73RK01onQ  密码: aalf

 

 

把下载的 fontconfig.zip 解压之后,把里面的两个字体配置文件复制到 ~/.config/fontconfig/conf.d 目录下。然后注销或重启一下电脑就可以了。

 

3、效果展示

下面是配置好之后的效果展示图:

 

Reply Favorite View the author
All Replies
andot
deepin
2021-01-19 18:31
#1

补充一下,上面终端的字体设置的是 FixedsysTTF 这个字体,这个是 winfonts 里面的。目前没找到更好的终端中使用的等宽点阵字体(这个 FixedsysTTF 看上去挺清楚的像点阵,但好像也不是点阵字。

Reply View the author
caoayu
deepin
2021-01-19 20:27
#2

Jetbrains Mono不好用吗,或者firecode也挺好的

Reply View the author
andot
deepin
2021-01-19 21:11
#3
caoayu

Jetbrains Mono不好用吗,或者firecode也挺好的

Jetbrains Mono Fira code   VSCode Android Studio 中,都不能 2 个英文字符跟 1 个汉字等宽。但是我找到一款点阵效果的等宽英文字体 Fixedsys Excelsior 3.01,这个字体可以做到英文汉字2:1等宽,效果很好

 

Reply View the author
andot
deepin
2021-01-19 21:13
#4

下面是 Android Studio JetBrains Mono 字体的截图Android Studio 中 JetBrains Mono 字体的截图

下面是 Fira Code 字体的截图:

Fira Code 字体的截图

最后是 Fixedsys Excelsior 3.01 字体的截图:

Fixedsys Excelsior 3.01

Reply View the author
caoayu
deepin
2021-01-19 21:32
#5
andot

下面是 Android Studio JetBrains Mono 字体的截图Android Studio 中 JetBrains Mono 字体的截图

下面是 Fira Code 字体的截图:

Fira Code 字体的截图

最后是 Fixedsys Excelsior 3.01 字体的截图:

Fixedsys Excelsior 3.01

Reply View the author
andot
deepin
2021-01-19 21:33
#6

再来一张 VSCode 中 Fixedsys Excelsior 3.01 配合 Zfull-GB、Noto Color Emoji 的截图。

 

Noto Color Emoji 这个表情符字体比汉字要宽一些,这个暂时没办法等宽了。但是汉字跟英文是严格 2:1 等宽的,而且显示效果非常好,非常清晰,比同样字号的 Jetbrains Mono 和 Fira code 都要清晰。

Reply View the author
andot
deepin
2021-01-19 21:39
#7
caoayu

你说的没错,最重要的是要能区分容易看错的字符,最好还能支持连体符。而这一点,Fixedsys Excelsior 3.01 都支持。下面是这个所有字符的截图。

不开启连体的截图:

开启连体的截图:

Reply View the author
andot
deepin
2021-01-19 21:46
#8

在字体设置比较小的时候,Jetbrains Mono 和 Fira code 这俩字体并不像你高分辨率下那么圆滑,而是一片模糊,相反,同样的小字号下,Fixedsys Excelsior 3.01 显示效果更加锐利清晰。另外,我这些设置本来就是针对低分屏或大屏幕的。对于小屏幕高分屏,直接都用适量字体就好了,不需要折腾点阵字。不过高分屏下,如果使用 VSCode,Android Studio 这种不能自动对其中文的编辑器,还是推荐更纱等宽黑体(Sarasa Mono SC),这是目前我知道的唯一可以正常等宽显示汉字和英文的适量字体,Jetbrains Mono 和 Fira code 都做不到,不过不需要汉字等宽的,用什么字体就无所谓了。

Reply View the author
caoayu
deepin
2021-01-19 22:45
#9
andot

在字体设置比较小的时候,Jetbrains Mono 和 Fira code 这俩字体并不像你高分辨率下那么圆滑,而是一片模糊,相反,同样的小字号下,Fixedsys Excelsior 3.01 显示效果更加锐利清晰。另外,我这些设置本来就是针对低分屏或大屏幕的。对于小屏幕高分屏,直接都用适量字体就好了,不需要折腾点阵字。不过高分屏下,如果使用 VSCode,Android Studio 这种不能自动对其中文的编辑器,还是推荐更纱等宽黑体(Sarasa Mono SC),这是目前我知道的唯一可以正常等宽显示汉字和英文的适量字体,Jetbrains Mono 和 Fira code 都做不到,不过不需要汉字等宽的,用什么字体就无所谓了。

这字体看着挺有科技感

Reply View the author
字甲达宾
deepin
2021-01-20 04:57
#10

1. 关于 点阵字体

其实还有一个 点阵字体 Unifont ,在 tty 虚拟控制台 (Ctrl + Alt + F1) 下,包括进入 fbterm 帧缓存模式 ,显示中文(简体、繁体中文支持良好)、英文的效果特别清晰,不发虚、英文字体也不会出现错位。强烈推荐!

 

安装命令:

sudo apt-get install ttf-unifont unifont xfonts-unifont

 

2. 关于 “更纱黑体”:

清华开源镜像有现成的 TTF 和 TTC 文件,国内下载更快:

https://mirrors.tuna.tsinghua.edu.cn/github-release/be5invis/Sarasa-Gothic/LatestRelease/

目前最新版是 17.0 (截止 2021-1-17 )。

注:这个字体更新太活跃了,算是更新狂魔了。一般一个星期更新一次。偶尔第二天也可能更新一个版本。

--------

120.4 MiB 2021-01-17 05:23
92.5 MiB 2021-01-17 05:23
236.2 MiB 2021-01-17 05:24
145.9 MiB 2021-01-17 05:24

---------

另外,这里有更纱 Sarasa Fixed SC 现成的 DEB 包。用起来实际效果与 mono 似乎没区别。

 

大小 : 46 M
访问密码:6859

 

(1) 更纱黑体:https://github.com/be5invis/Sarasa-Gothic/releases

这个不是点阵字体,但是它里面包含的等宽字体在 VSCode 中可以严格的按照汉字英文2:1的对其方式显示。当然如果你还是喜欢点阵字的话,也可以配置成 AR PL UMing 这个字体,这个也可以汉字英文2:1对其显示,只不过它的英文字体有点丑,尤其是标点符号,中文和英文的不太好区分,很容易搞混了,所以还是推荐在 VSCode 中使用更纱等宽黑体(Sarasa Mono SC)。
Reply View the author
字甲达宾
deepin
2021-01-20 05:03
#11
andot

在字体设置比较小的时候,Jetbrains Mono 和 Fira code 这俩字体并不像你高分辨率下那么圆滑,而是一片模糊,相反,同样的小字号下,Fixedsys Excelsior 3.01 显示效果更加锐利清晰。另外,我这些设置本来就是针对低分屏或大屏幕的。对于小屏幕高分屏,直接都用适量字体就好了,不需要折腾点阵字。不过高分屏下,如果使用 VSCode,Android Studio 这种不能自动对其中文的编辑器,还是推荐更纱等宽黑体(Sarasa Mono SC),这是目前我知道的唯一可以正常等宽显示汉字和英文的适量字体,Jetbrains Mono 和 Fira code 都做不到,不过不需要汉字等宽的,用什么字体就无所谓了。

微软的英文等宽编程字体,个人觉得也不错。特色是小写字母 L, 底部带一个向右的小尾巴,更容易和 数字 1 区分。

更重要的是,这款字体是 SIL-1.1 协议发布的,可以随便用、免费用,包括商业用途。

 

DEB:fonts-cascadia-code_2007.001-2_all.deb

文件大小:1.37 MB

https://306t.com/f/30646948-478487142-3cd9a3

访问密码: 6859

 

Reply View the author
andot
deepin
2021-01-20 09:54
#12
字甲达宾

微软的英文等宽编程字体,个人觉得也不错。特色是小写字母 L, 底部带一个向右的小尾巴,更容易和 数字 1 区分。

更重要的是,这款字体是 SIL-1.1 协议发布的,可以随便用、免费用,包括商业用途。

 

DEB:fonts-cascadia-code_2007.001-2_all.deb

文件大小:1.37 MB

https://306t.com/f/30646948-478487142-3cd9a3

访问密码: 6859

 

非常感谢提供这款非常棒的等宽字体,不过我试了一下,在 VSCode 中,这款字体的四个字形(Cascadia Code, Cascadia Code PL, Cascadia Mono, Cascadia Mono PL)都不能跟汉字按照2:1的比例对齐,这样的话,就非常遗憾了。看来目前支持对齐的字体就只有 Fixedsys Excelsior 3.01 和更纱等宽黑体(包括 Mono, Mono Slab, Fixed, Fixed Slab 等所有它的等宽的字形)这两个比较完美了。而能配合点阵汉字完美显示的,目前发现的就只有 Fixedsys Excelsior 3.01 这一款字体了。

Reply View the author
xingluren2
deepin
2022-04-25 22:12
#13

十分感谢分享这么好的字体优化方法,这正是很多人需要的内容。我一直感觉deepin的字体发虚,所以都是安装xfce桌面,再安装文泉驿点阵正黑字体,才能获得较好的清晰字体显示。我甚至一度认为DDE的桌面字体无论如何都无法清晰显示的。看了你提供的方法才知道高手就是高手,能在deepin中显示这么完美的字体。

Reply View the author
xingluren2
deepin
2022-04-26 19:39
#14

我按照你的方法,大多数字体都可以清晰地显示点阵字啦!太好了!不发虚了!但是wps或者永中office中显示的字体仍然是发虚,同样文档,用LibreOffice打开就不发虚。不知道为什么?

Reply View the author