Linux 字体设置

Ma Kai posted @ Jun 29, 2016 08:27:57 PM in 技术 with tags 字体 , 699 阅读

fontconfig 是用来配置字体的玩意。系统字体安装后,会有一个 .conf 配置文件安装在 /etc/fonts/conf.d 下。因为没有其他信息,所以由 fontconfig 自行决定字体顺序,所以偶尔会出现字体混用之错乱情况;或者字体显示效果不佳,心中不爽;或者选择了另外一种语言的字体(尤其是中日字体)。这时,就必须亲自动手撰写 fonts.conf 文件(放在 ~/.config/fontconfig 下)。

详细见 man fonts-conf中文翻译)。

下面是一个自用配置,放在这里也是为了备份。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

<!--
别名设置:
serif      ☚ 宋体、SongTi、simsun、ming、明體
sans-serif ☚ 黑体、黑體、heiti、simhei
-->

<match>
    <test name="family" compare="eq"><string>宋体</string></test>
    <test name="family" compare="eq"><string>SongTi</string></test>
    <test name="family" compare="eq"><string>simsun</string></test>
    <test name="family" compare="eq"><string>ming</string></test>
    <test name="family" compare="eq"><string>明體</string></test>
    <edit name="family" mode="assign"><string>serif</string></edit>
</match>

<match>
    <test name="family" compare="eq"><string>黑体</string></test>
    <test name="family" compare="eq"><string>黑體</string></test>
    <test name="family" compare="eq"><string>heiti</string></test>
    <test name="family" compare="eq"><string>simhei</string></test>
    <edit name="family" mode="assign"><string>sans-serif</string></edit>
</match>

<!-- 日语的设置 -->
<match>
    <test name="lang" compare="eq"><string>jp</string></test>
    <test name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend"><string>Sin Mienglan</string></edit>
</match>

<match>
    <test name="lang" compare="eq"><string>jp</string></test>
    <test name="family"><string>serif</string></test>
    <edit name="family" mode="prepend"><string>HanaMinB</string></edit>
    <edit name="family" mode="prepend"><string>HanaMinA</string></edit>
    <edit name="family" mode="prepend"><string>Typography Old P</string></edit>
</match>

<!-- 简体中文的设置 -->
<match>
    <test name="lang" compare="eq"><string>zh-cn</string></test>
    <test name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend"><string>Sin Mienglan</string></edit>
</match>

<match>
    <test name="lang" compare="eq"><string>zh-cn</string></test>
    <test name="family"><string>serif</string></test>
    <edit name="family" mode="prepend"><string>HanaMinB</string></edit>
    <edit name="family" mode="prepend"><string>HanaMinA</string></edit>
    <edit name="family" mode="prepend"><string>Typography Old P</string></edit>
</match>

<match>
    <test name="lang" compare="eq"><string>zh-cn</string></test>
    <test name="family" compare="eq"><string>monospace</string></test>
    <edit name="family" mode="prepend"><string>Sin Mienglan</string></edit>
</match>

<!-- 繁体中文的设置 -->
<match>
    <test name="lang" compare="eq"><string>zh-tw</string></test>
    <test name="lang" compare="eq"><string>zh-hk</string></test>
    <test name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend"><string>Sin Mienglan</string></edit>
</match>

<match>
    <test name="lang" compare="eq"><string>zh-tw</string></test>
    <test name="lang" compare="eq"><string>zh-hk</string></test>
    <test name="family"><string>serif</string></test>
    <edit name="family" mode="prepend">
        <string>Typography Old P</string>
        <string>HanaMinA</string>
        <string>HanaMinB</string>
    </edit>
</match>

<!-- 英文的设置 -->
<match>
    <test name="lang" compare="contains"><string>en</string></test>
    <test name="family" compare="eq"><string>sans-serif</string></test>
    <edit name="family" mode="prepend"><string>Sin Mienglan</string></edit>
</match>

<match>
    <test name="lang" compare="contains"><string>en</string></test>
    <test name="family" compare="eq"><string>sans-serif</string></test>
    <edit name="family" mode="prepend"><string>Typography Old P</string></edit>
</match>

<!-- 等宽字体 -->
<match>
    <test name="family" compare="eq"><string>monospace</string></test>
    <edit name="family" mode="prepend" binding="strong">
        <string>Inconsolata</string>
    </edit>
</match>

<!-- 绘文字 -->
<match>
    <edit name="family" mode="prepend" binding="strong"><string>EmojiOne Color</string></edit>
</match>

</fontconfig>
  • 无匹配

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter