如何修改中文默认字体

TumbleWeed,系统区域语言是英文
现在中文字体默认是楷体,想改成思源黑体,请问该如何修改配置?

fc-match -s sans 

的输出如下:

W-Kai-98_1.ttf: "全字庫正楷體" "Regular"
NotoSans-Regular.ttf: "Noto Sans" "Regular"
Roboto-Regular.ttf: "Roboto" "Regular"
NotoSansSymbols-Regular.ttf: "Noto Sans Symbols" "Regular"
LiberationSans-Regular.ttf: "Liberation Sans" "Regular"
luxisr.ttf: "Luxi Sans" "Regular"
…
fc-match -s sans-serif

匹配 sans 没用

fc-match -s sans-serif 的輸出如下(發覺和 sans 的輸出一樣的):

W-Kai-98_1.ttf: "全字庫正楷體" "Regular"
NotoSans-Regular.ttf: "Noto Sans" "Regular"
Roboto-Regular.ttf: "Roboto" "Regular"
NotoSansSymbols-Regular.ttf: "Noto Sans Symbols" "Regular"
LiberationSans-Regular.ttf: "Liberation Sans" "Regular"
…

这个不会自己跑到最前面的,你是不是抄了什么设置

想不起來是不是做過什麼修改了。現在不知如何排查了。

@fabi

fc-conflist

看看配置文件都有什么

  • /etc/fonts/conf.d/00kde.conf: No description
  • /etc/fonts/conf.d/09-autohint-if-no-hinting.conf: Enable autohinter if font doesn’t have any hinting
  • /etc/fonts/conf.d/10-hinting-slight.conf: Set hintslight to hintstyle
  • /etc/fonts/conf.d/10-rendering-options.conf: No description
  • /etc/fonts/conf.d/10-scale-bitmap-fonts.conf: Bitmap scaling
  • /etc/fonts/conf.d/10-sub-pixel-none.conf: Disable sub-pixel rendering
  • /etc/fonts/conf.d/10-yes-antialias.conf: Enable antialiasing
  • /etc/fonts/conf.d/11-base-rendering.conf: No description
  • /etc/fonts/conf.d/11-lcdfilter-default.conf: Use lcddefault as default for LCD filter
  • /etc/fonts/conf.d/12-tt-monospace-rendering.conf: No description
  • /etc/fonts/conf.d/13-selective-rendering-ipa.conf: No description
  • /etc/fonts/conf.d/13-selective-rendering.conf: No description
  • /etc/fonts/conf.d/20-unhint-small-vera.conf: Disable hinting for Bitstream Vera fonts when the size is less than 8ppem
  • /etc/fonts/conf.d/21-emoji-rendering.conf: No description
  • /etc/fonts/conf.d/22-noto-cjk-rendering.conf: No description
  • /etc/fonts/conf.d/30-metric-aliases.conf: Set substitutions for similar/metric-compatible families
  • /etc/fonts/conf.d/31-metric-aliases-bw.conf: No description
  • /etc/fonts/conf.d/32-emoji-reject.conf: No description
  • /etc/fonts/conf.d/32-symbol-substitution.conf: No description
  • /etc/fonts/conf.d/40-nonlatin.conf: Set substitutions for non-Latin fonts
  • /etc/fonts/conf.d/45-generic.conf: Set substitutions for emoji/math fonts
  • /etc/fonts/conf.d/45-latin.conf: Set substitutions for Latin fonts
  • /etc/fonts/conf.d/48-spacing.conf: Add mono to the family when spacing is 100
  • /etc/fonts/conf.d/49-family-default-emoji.conf: No description
  • /etc/fonts/conf.d/49-family-default.conf: No description
  • /etc/fonts/conf.d/49-sansserif.conf: Add sans-serif to the family when no generic name
  • /etc/fonts/conf.d/55-local.conf: No description
  • /home/bang/.fonts.conf: No description
  • /etc/fonts/conf.d/56-user.conf: Load per-user customization files
  • /etc/fonts/conf.d/58-family-prefer-local.conf: No description
  • /etc/fonts/conf.d/59-family-prefer-lang-specific-cjk.conf: No description
  • /etc/fonts/conf.d/59-family-prefer-lang-specific-noto.conf: No description
  • /etc/fonts/conf.d/59-family-prefer-lang-specific.conf: No description
  • /etc/fonts/conf.d/60-family-prefer.conf: No description
  • /etc/fonts/conf.d/60-generic.conf: Set preferable fonts for emoji/math fonts
  • /etc/fonts/conf.d/61-latin.conf: Set preferable fonts for Latin
  • /etc/fonts/conf.d/61-stix.conf: No description
  • /etc/fonts/conf.d/61-wine-aliases.conf: No description
  • /etc/fonts/conf.d/65-fonts-persian.conf: No description
  • /etc/fonts/conf.d/65-nonlatin.conf: Set preferable fonts for non-Latin
  • /etc/fonts/conf.d/69-unifont.conf: No description
  • /etc/fonts/conf.d/70-reject.conf: No description
  • /etc/fonts/conf.d/80-delicious.conf: No description
  • /etc/fonts/conf.d/90-synthetic.conf: No description
  • /etc/fonts/fonts.conf: Default configuration file
  • /usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf: Re-define fonts dirs sample
  • /usr/share/fontconfig/conf.avail/10-autohint.conf: Enable autohinter
  • /usr/share/fontconfig/conf.avail/10-hinting-full.conf: Set hintfull to hintstyle
  • /usr/share/fontconfig/conf.avail/10-hinting-medium.conf: Set hintmedium to hintstyle
  • /usr/share/fontconfig/conf.avail/10-hinting-none.conf: Set hintnone to hintstyle
  • /usr/share/fontconfig/conf.avail/10-no-antialias.conf: Disable antialiasing
  • /usr/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf: Enable sub-pixel rendering with the BGR stripes layout
  • /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf: Enable sub-pixel rendering with the RGB stripes layout
  • /usr/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf: Enable sub-pixel rendering with the vertical BGR stripes layout
  • /usr/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf: Enable sub-pixel rendering with the vertical RGB stripes layout
  • /usr/share/fontconfig/conf.avail/10-unhinted.conf: Disable hinting
  • /usr/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf: Use lcdlegacy as default for LCD filter
  • /usr/share/fontconfig/conf.avail/11-lcdfilter-light.conf: Use lcdlight as default for LCD filter
  • /usr/share/fontconfig/conf.avail/11-lcdfilter-none.conf: Use lcdnone as default for LCD filter
  • /usr/share/fontconfig/conf.avail/25-unhint-nonlatin.conf: Disable hinting for CJK fonts
  • /usr/share/fontconfig/conf.avail/35-lang-normalize.conf: No description
  • /usr/share/fontconfig/conf.avail/51-local.conf: Load local customization file
  • /usr/share/fontconfig/conf.avail/65-khmer.conf: No description
  • /usr/share/fontconfig/conf.avail/70-no-bitmaps-and-emoji.conf: Reject bitmap fonts, including bitmap emoji fonts
  • /usr/share/fontconfig/conf.avail/70-no-bitmaps-except-emoji.conf: Reject bitmap fonts except bitmap emoji fonts
  • /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf: Reject bitmap fonts except bitmap emoji fonts (deprecated; use 70-no-bitmaps-except-emoji.conf)
  • /usr/share/fontconfig/conf.avail/70-yes-bitmaps.conf: Accept bitmap fonts

bang@localhost:~> cat .fonts.conf

<?xml version='1.0'?>

<! DOCTYPE fontconfig SYSTEM ‘fonts.dtd’>

~/.fonts ~/.local/share/fonts

@fabi

cat /etc/fonts/conf.d/00kde.conf

我没有这个

我把這個刪了,沒什麼變化。

@fabi

FC_DEBUG=4 fc-match -s sans-serif 2>&1 &>fc_debug.log

我想看它怎么跑到 Noto 前面去的。

fc_debug (1).tar.gz (305.1 KB)
好的,謝謝。

@fabi

FcConfigSubstitute donePattern has 13 elts (size 16)
    family: "Noto Sans"(w) "Noto Sans SC"(w) "Noto Sans HK"(w) "Noto Sans TC"(w)
"Noto Sans JP"(w) "Noto Sans KR"(w) "Noto Sans CJK SC"(w) "Roboto"(w) 
"Liberation Sans"(w) "Droid Sans"(w) "CMEXSong"(w) "FZSongTi"(w) "WenQuanYi Micro Hei"(w)
"WenQuanYi WenQuanYi Bitmap Song"(w) "WenQuanYi Zen Hei"(w) "AR PL ShanHeiSun Uni"(w) 
"FZMingTiB"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "Microsoft YaHei"(w)
"Microsoft JhengHei"(w) "WenQuanYi Zen Hei"(w) "WenQuanYi Bitmap Song"(w)
"AR PL New Sung"(w) "PingFang SC"(w) "PingFang TC"(w) "PingFang HK"(w) "AR PL KaitiM GB"(w)
"AR PL KaitiM Big5"(w) "ZYSong18030"(w) "sans-serif"(s)

donePattern 是没有问题的(为了更加直观,我删掉了一些西文字体),那只有一个问题:就是上面所有的这些字体在你系统上都没有,你只有一个 TW-Kai。

sudo zypper in google-noto-sans-tc-fonts google-noto-sans-tc-mono-fonts

之后就用思源黑体显示了。

如果需要思源明体,可以安装 google-noto-serif-tc-fonts。

噢。我裝了 Source Han 的思源黑體,看來系統不能自動識別?
在 libreoffice 中是可以人工指定使用的。

bang@localhost ~ [0|1]> fc-list |grep ‘SourceHanSans’
/usr/share/fonts/SourceHanSans-Normal.ttc: 思源黑體,Source Han Sans TC,Source Han Sans TC Normal,思源黑體 Normal:style=Normal,Regular
/usr/share/fonts/SourceHanSans-Regular.ttc: Source Han Sans,源ノ角ゴシック,貹荭詰荓荖荢荎:style=Regular
/usr/share/fonts/SourceHanSans-ExtraLight.ttc: 思源黑体,Source Han Sans SC,Source Han Sans SC ExtraLight,思源黑体 ExtraLight:style=ExtraLight,Regular
/usr/share/fonts/SourceHanSans-Normal.ttc: 思源黑體 香港,Source Han Sans HC,Source Han Sans HC Normal,思源黑體 香港 Normal:style=Normal,Regular
/usr/share/fonts/SourceHanSans-Bold.ttc: Source Han Sans,源ノ角ゴシック,貹荭詰荓荖荢荎:style=Bold,䉯汤
/usr/share/fonts/SourceHanSans-Normal.ttc: Source Han Sans,源ノ角ゴシック,Source Han Sans Normal,源ノ角ゴシック Normal:style=Normal,Regular
/usr/share/fonts/SourceHanSans-Medium.ttc: 思源黑體,Source Han Sans TC,Source Han Sans TC Medium,思源黑體 Medium:style=Medium,Regular
/usr/share/fonts/SourceHanSans-Regular.ttc: Source Han Sans K,본고딕:style=Regular
/usr/share/fonts/SourceHanSans-Medium.ttc: Source Han Sans,源ノ角ゴシック,Source Han Sans Medium,源ノ角ゴシック Medium:style=Medium,Regular
/usr/share/fonts/SourceHanSans-Light.ttc: 思源黑体,Source Han Sans SC,Source Han Sans SC Light,思源黑体 Light:style=Light,Regular
/usr/share/fonts/SourceHanSans-Heavy.ttc: 思源黑体,Source Han Sans SC,Source Han Sans SC Heavy,思源黑体 Heavy:style=Heavy,Regular
/usr/share/fonts/SourceHanSans-Regular.ttc: 思源黑体,Source Han Sans SC:style=Regular
/usr/share/fonts/SourceHanSans-Light.ttc: Source Han Sans,源ノ角ゴシック,Source Han Sans Light,源ノ角ゴシック Light,貹荭詰荓荖荢荎⁌楧桴:style=Light,Regular
/usr/share/fonts/SourceHanSans-Medium.ttc: 思源黑體 香港,Source Han Sans HC,Source Han Sans HC Medium,思源黑體 香港 Medium:style=Medium,Regular
/usr/share/fonts/SourceHanSans-Bold.ttc: 思源黑體,Source Han Sans TC:style=Bold
/usr/share/fonts/SourceHanSans-Regular.ttc: 思源黑體,Source Han Sans TC:style=Regular
/usr/share/fonts/SourceHanSans-Bold.ttc: Source Han Sans K,본고딕:style=Bold
/usr/share/fonts/SourceHanSans-Light.ttc: Source Han Sans K,본고딕,Source Han Sans K Light,본고딕 Light:style=Light,Regular
/usr/share/fonts/SourceHanSans-Heavy.ttc: Source Han Sans K,본고딕,Source Han Sans K Heavy,본고딕 Heavy:style=Heavy,Regular
/usr/share/fonts/SourceHanSans-ExtraLight.ttc: Source Han Sans K,본고딕,Source Han Sans K ExtraLight,본고딕 ExtraLight:style=ExtraLight,Regular
/usr/share/fonts/SourceHanSans-Light.ttc: 思源黑體,Source Han Sans TC,Source Han Sans TC Light,思源黑體 Light:style=Light,Regular
/usr/share/fonts/SourceHanSans-Heavy.ttc: 思源黑體,Source Han Sans TC,Source Han Sans TC Heavy,思源黑體 Heavy:style=Heavy,Regular
/usr/share/fonts/SourceHanSans-Bold.ttc: 思源黑体,Source Han Sans SC:style=Bold
/usr/share/fonts/SourceHanSans-Regular.ttc: 思源黑體 香港,Source Han Sans HC:style=Regular
/usr/share/fonts/SourceHanSans-Bold.ttc: 思源黑體 香港,Source Han Sans HC:style=Bold
/usr/share/fonts/SourceHanSans-Medium.ttc: 思源黑体,Source Han Sans SC,Source Han Sans SC Medium,思源黑体 Medium:style=Medium,Regular
/usr/share/fonts/SourceHanSans-Heavy.ttc: Source Han Sans,源ノ角ゴシック,Source Han Sans Heavy,源ノ角ゴシック Heavy,貹荭詰荓荖荢荎⁈敡癹:style=Heavy,Regular
/usr/share/fonts/SourceHanSans-Normal.ttc: Source Han Sans K,본고딕,Source Han Sans K Normal,본고딕 Normal:style=Normal,Regular
/usr/share/fonts/SourceHanSans-ExtraLight.ttc: 思源黑體,Source Han Sans TC,Source Han Sans TC ExtraLight,思源黑體 ExtraLight:style=ExtraLight,Regular
/usr/share/fonts/SourceHanSans-ExtraLight.ttc: 思源黑體 香港,Source Han Sans HC,Source Han Sans HC ExtraLight,思源黑體 香港 ExtraLight:style=ExtraLight,Regular
/usr/share/fonts/SourceHanSans-ExtraLight.ttc: Source Han Sans,源ノ角ゴシック,Source Han Sans ExtraLight,源ノ角ゴシック ExtraLight:style=ExtraLight,Regular
/usr/share/fonts/SourceHanSans-Light.ttc: 思源黑體 香港,Source Han Sans HC,Source Han Sans HC Light,思源黑體 香港 Light:style=Light,Regular
/usr/share/fonts/SourceHanSans-Heavy.ttc: 思源黑體 香港,Source Han Sans HC,Source Han Sans HC Heavy,思源黑體 香港 Heavy:style=Heavy,Regular
/usr/share/fonts/SourceHanSans-Medium.ttc: Source Han Sans K,본고딕,Source Han Sans K Medium,본고딕 Medium:style=Medium,Regular
/usr/share/fonts/SourceHanSans-Normal.ttc: 思源黑体,Source Han Sans SC,Source Han Sans SC Normal,思源黑体 Normal:style=Normal,Regular

@fabi

/usr/share/fonts/truetype 

或者

~/.fonts/s/

是正确路径

另外还有一个问题,你可能安装完也没有运行:

sudo fc-cache -f