【气炸】windows 系统中字体配置的奇葩现象

我要被Win10下的字体配置问题打败了,遇到个奇葩问题:
字体配置在启动时未完全生效,启动完成后再 C-x C-e 才完全生效

看这个未完全生效的是多么丑:

捕获

需要再 C-x C-e 的代码:

(if (memq system-type '(windows-nt cygwin ms-dos))
    (progn
      (set-face-attribute
      'default nil
      :font (font-spec :name "-outline-等距更纱黑体 SC-bold-italic-normal-mono-*-*-*-*-c-*-iso10646-1"
                        :weight 'normal
                        :slant 'normal
                        :size 14.0))
      (dolist (charset '(kana han symbol cjk-misc bopomofo))
        (set-fontset-font
        (frame-parameter nil 'font)
        charset
        (font-spec :name "-outline-等距更纱黑体 SC-bold-italic-normal-mono-*-*-*-*-c-*-iso10646-1"
                    :weight 'normal
                    :slant 'normal
                    :size 15.0)))))

我最开始没有使用 if 语句,没有这个问题。但是如果说问题原因真是 if 语句,我真是要怀疑人生了

喔,你解决了一直困扰我的世纪难题:为什么我的中文字体参差不齐。

你可以尝试放进after-init-hook或者用run-with-idle-timer

1赞

感谢建议!两个方法都试过了 ,都没能解决这个问题


update:

after-init-hook没能解决
run-with-idle-timer 可以解决!我刚才设置的间隔时间太长了