又一点字体美化

个人浅见,字体美化大家总是纠葛三个方面:
1、Hinting和AutoHint
2、DPI的设置
3、三个font-family的字体匹配顺序
我这回遭遇的就是字体匹配顺序问题。
由于app-office/openoffice-bin包依赖于media-fonts/arphicfonts,arphicfonts被自动安装。我的gentoo
在没有设置字体匹配顺序的情况下,arphicfonts中的楷体就成为了Sans serif的默认选择(这个选择还真是奇怪的说,貌似是哪里有bug了)。
今天搜索了很多资料,终于解决了这个问题。
其实很简单,就是创建一个/etc/fonts/local.conf文件,在里面设定好三个font family的匹配顺序即可。
font family有Serif , Sans Serif 和 Monospace三种不同的font family存在

Serif的意思是,在字的笔画开始及结束的地方有额外的装饰,而且笔画的粗细会因直横的不同而不同。
Sans Serif则没有这些额外的装饰,笔画的粗细大致差不多。
Monospace的意思就是等宽字体了。
我们平时所用的Georgia、Times New Roman等就属于Serif字体,
而Arial、Tahoma、Verdana等则属于Sans Serif字体。
对中文而言,同样存在这两大种类,很明显,宋体、细明体(繁体中常用)等就属于Serif,
而黑体、幼圆等则属于Sans Serif。

一个/etc/fonts/local.conf文件,内容如下
<fontconfig>
	<!-- # 设置 serif 衬线字体的读取顺序 -->
	<alias>
		<family>serif</family>
		<prefer>
			<family>Serif font 1</family>
			<family>Serif font 1</family>
		</prefer>
	</alias>
	
	<!-- # 设置 sans-serif 无衬线字体的读取顺序 -->
	<alias>
		<family>sans-serif</family>
		<prefer>
			<family>Sans font 1</family>
		</prefer>
	</alias>
	
	<!-- # 设置 monospace 等宽字体的读取顺序 -->
	<alias>
		<family>monospace</family>
		<prefer>
			<family>Mono font 1</family>
			<family>Mono font 2</family>
			<family>Mono font 3</family>
		</prefer>
	</alias>
</fontconfig>


对于已经安装的字体,还可以用以下命令区别其font family并查找字体名称
fc-list| grep Sans
fc-list| grep Mono

一般gentoo还需要确认一步:
sudo eselect fontconfig enable 51-local.conf


参考的文档:
《细说字体 Sans Serif 与 Serif》
《适用于 GNU/Linux 的字型》
《[原创]一个详细的汉化美化方案(freetype/fontconfig/xft)》
=====================
11 月28日追加,/etc/fonts/conf.d/69-unifont.conf是系统默认的字体匹配顺序配置文件。不过这个文件,出现了很多 FreeSerif、FreeSans、Code2000这样的名字,实在费解,不知匹配的是什么字体,以及如何匹配。愿以后能解之。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值