系统级字体替换

系统字体配置、中文显示和输入法问题
回复
头像
百草谷居士
帖子: 3935
注册时间: 2006-02-10 16:36
系统: debian12/xubuntu2404

系统级字体替换

#1

帖子 百草谷居士 » 2021-08-10 10:06

其他人发给我的文档中经常包含我没有安装的字体,我看好像都自动替换成了 Noto Sans CJK SC 。我想区分不同的字体替换成指定的字体,比如将 Excel 中默认的 等线 替换成 Ubuntu Mono 。应该怎么做?
debian 12.5 / xubuntu 24.04

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 系统级字体替换

#2

帖子 astolia » 2021-08-10 11:29

自己研究fontconfig配置去,可以先看看 viewtopic.php?f=35&t=491968
头像
百草谷居士
帖子: 3935
注册时间: 2006-02-10 16:36
系统: debian12/xubuntu2404

Re: 系统级字体替换

#3

帖子 百草谷居士 » 2021-08-12 10:39

~/.config/fontconfig/fonts.conf 文件如下:

代码: 全选

cat .config/fontconfig/fonts.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<match>
		<test name="lang"> <string>zh-cn</string> </test>
		<test name="family"> <string>等线</string> </test>
		<edit name="family" mode="prepend"> <string>方正兰亭黑_GBK</string> </edit>
	</match>
	
	<match>
		<test name="lang"> <string>en</string> </test>
		<test name="family"> <string>等线</string> </test>
		<edit name="family" mode="prepend"> <string>DejaVu Sans Mono</string> </edit>
	</match>
</fontconfig>

不起作用,帮忙看下问题出在哪里?
debian 12.5 / xubuntu 24.04

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 系统级字体替换

#4

帖子 Ping-Wu » 2021-08-12 11:07

我参考了你以前提出的经验,把 Calc 的字体全预设为 Noto Sans Mono CJK SC*,从实际效果来看,非常有用(最主要是比较不会打错或看错,对电子表格很重要)。这种建议,只有资深的会计师才想得出来!谢啦!

* 提到一个跟主题不相干的事,因为简体中文的引号和英文的撇号是同样的Unicode编码,如果全部使用中文简体的话,在输入英文撇号时会变成中文引号在撇号后面产生一个大空格,看了很奇怪。Calc 还没碰到需要输入撇号,但 Writer 则常常碰到,必须把中文跟英文预设为不同字体,前者可使用 Noto Sans CJK SC,后者 Noto Sans。Noto Sans CJK SC 字体里的英文字是不等距的,基本上一种字体就可以吃遍天下,对公司跟政府机构来讲,实在太方便太实用了。但很可惜因英文撇号这个“小”问题,中英文必须使用不同字体。不知道有没有办法解决*?

*《2021.10.24补充》这个问题已可解决,请参阅:

https://forum.ubuntu.com.cn/viewtopic.p ... 71&start=1

图片
上次由 Ping-Wu 在 2021-10-24 2:09,总共编辑 1 次。
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 系统级字体替换

#5

帖子 astolia » 2021-08-14 0:21

百草谷居士 写了: 2021-08-12 10:39 不起作用,帮忙看下问题出在哪里?
你再看一下上面链接的7楼?
头像
百草谷居士
帖子: 3935
注册时间: 2006-02-10 16:36
系统: debian12/xubuntu2404

Re: 系统级字体替换

#6

帖子 百草谷居士 » 2021-08-14 9:47

就是看了这个帖子,也看了7楼。没明白。

回 Ping-Wu ,我现在中文一般使用 方正兰亭黑 ,数字使用 Dejavu Sans Mono 。首先我个人认为 方正兰亭黑 是兼顾了美观和易识别(虽然微软雅黑来自于方正兰亭黑,但放大看还是有区别的)。而 Dejavu Sans Mono 首先是等宽字体,其次字体中的数字0和大小写字母O非常容易识别,包括数字1和大些i小写L(就这几个字符在不少字体中搞得难以辨认),而且在相同字号下,Dejavu Sans Mono 的字母数字大小和 方正兰亭黑 最匹配。
不过有个麻烦,就是 WPS 的样式不支持分开预定义中文字体和西文字体,在 LibreOffice 中没有什么问题。
debian 12.5 / xubuntu 24.04

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 系统级字体替换

#7

帖子 Ping-Wu » 2021-08-15 2:02

我想很多论坛里搞科技的高手们一定不知道我们在谈什么碗粿。在电子表格里使用等宽字体,可能第一次感觉不习惯,但出错率减少很多(尤其是数字)。中国人讲 “信,达,雅”,“信” 跟 “达” 排在 “雅” 的前面。不过其实等宽字体的电子表格看习惯了反而觉得比较有权威感(authoritativeness)。“雅” 这个部分也照顾到了。😁

使用 Noto Sans Mono CJK SC 的最大好处就是这是开源字体,要把 Calc 或 Writer 档案传给客户时,可以请他们先下载字体。使用统一的字体,在文件交换时就可以避免很多的问题。开源字体的另一个好处就是这些字体会持续在改善,不过前提是使用的人要多,开发者才会有兴趣。
debug4
帖子: 85
注册时间: 2020-10-29 7:34

Re: 系统级字体替换

#8

帖子 debug4 » 2021-08-15 10:06

Ping-Wu 写了: 2021-08-15 2:02 我想很多论坛里搞科技的高手们一定不知道我们在谈什么碗粿。在电子表格里使用等宽字体,可能第一次感觉不习惯,但出错率减少很多(尤其是数字)。中国人讲 “信,达,雅”,“信” 跟 “达” 排在 “雅” 的前面。不过其实等宽字体的电子表格看习惯了反而觉得比较有权威感(authoritativeness)。“雅” 这个部分也照顾到了。😁

使用 Noto Sans Mono CJK SC 的最大好处就是这是开源字体,要把 Calc 或 Writer 档案传给客户时,可以请他们先下载字体。使用统一的字体,在文件交换时就可以避免很多的问题。开源字体的另一个好处就是这些字体会持续在改善,不过前提是使用的人要多,开发者才会有兴趣。
似乎 Mono 等宽(Noto Sans Mono CJK)的只有 JP 日语版吧?简体缺字不齐,另外字形是日文汉字的字型吧?

我现在终端多用 Sarasa Fixed SC 更纱等宽黑体,感觉这个还不错。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 系统级字体替换

#9

帖子 Ping-Wu » 2021-08-15 10:21

第一代 Noto/Source Han CJK 的中文字体的确有一些问题(因为最早的设计师西塚涼子为にほんじん)。不过现在Noto字体开发已经进入第四代了(1.004),改进了很多,时代完全不同,四个语言族(繁简日韩)区别的很清楚。最新版的 Noto Sans/Serif CJK SC 的字体包括了国务院颁布《通用规范汉字表》的基本字体,以前我们碰到的一些问题,都不见了。我检查了一下字体/字码表,正常。
Screenshot from 2021-08-14 16-20-43.jpg
以前输入中文的 “关”,会显示日文(都是同样的万国码 U+5173):
Screenshot from 2021-08-14 21-06-55.jpg
小地方,但会让 Linux 桌面登不了正式场合,不过这已经是过去式了。
上次由 Ping-Wu 在 2021-08-15 15:18,总共编辑 2 次。
头像
Ping-Wu
帖子: 1822
注册时间: 2012-11-14 9:34
系统: Debian 12

Re: 系统级字体替换

#10

帖子 Ping-Wu » 2021-08-15 10:42

另外,我把更紗黑體读入 LibreOffice 时,会自动被替换为 Noto Sans Mono CJK,没有问题。下面的截图,前两个字体是后者(第二个加粗),更紗黑體是第三个:
Screenshot from 2021-08-14 16-35-19.jpg
跟雅黑或文泉驿一样有点太黑了???
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 系统级字体替换

#11

帖子 astolia » 2021-08-15 12:54

Ping-Wu 写了: 2021-08-15 10:42 另外,我把更紗黑體读入 LibreOffice 时,会自动被替换为 Noto Sans Mono CJK,没有问题。下面的截图,前两个字体是后者(第二个加粗),更紗黑體是第三个:

Screenshot from 2021-08-14 16-35-19.jpg

跟雅黑或文泉驿一样有点太黑了???
你这个看起来像是fontconfig配置里开了autohint和hinting,导致了字形变形。而且hintstyle似乎是hintfull。CJK字体一般只用开antialias就够了
头像
dqwyy
帖子: 19
注册时间: 2017-02-20 17:22
来自: Teochew
联系:

Re: 系统级字体替换

#12

帖子 dqwyy » 2021-10-14 13:07

Ping-Wu 写了: 2021-08-15 10:42 另外,我把更紗黑體读入 LibreOffice 时,会自动被替换为 Noto Sans Mono CJK,没有问题。下面的截图,前两个字体是后者(第二个加粗),更紗黑體是第三个:

Screenshot from 2021-08-14 16-35-19.jpg

跟雅黑或文泉驿一样有点太黑了???
第三个难道不是伪粗体吗?
头像
dqwyy
帖子: 19
注册时间: 2017-02-20 17:22
来自: Teochew
联系:

Re: 系统级字体替换

#13

帖子 dqwyy » 2021-10-14 13:25

回复