经验分享:emacs单独设置中文与英语的字体

就是想看一下这个页面中的这个链接。

哈哈,那直接 @Nasy 就好了

哈哈,主要是想知道关于大佬的一切。

最近没时间,就一直没弄了x

所以…404好几年了x

大佬有 Mac 的字体配置吗?

绝不敢当。

没有Mac,故没有。

可以用cnfonts看一下当前设备中的字体,修改一下配置中的顺序,比如Monaco。

多谢,我自己慢慢试试吧

为啥我看到了竖着排版的文字?你的设置可以让emacs竖着排版? 你的配置文件我看傻眼了。

还是要先设置 'unicode 再设置 CJK,如果是 'emoji 的话 image

有用,厉害了。

我的配置,借助了 fontaine 插件

 (use-package fontaine
    :ensure t
    :when (display-graphic-p)
    ;; :hook (kill-emacs . fontaine-store-latest-preset)
    :config
    (setq fontaine-latest-state-file
      (locate-user-emacs-file "etc/fontaine-latest-state.eld"))
    (setq fontaine-presets
      '((regular
         :default-height 140
         :default-weight regular
         :fixed-pitch-height 1.0
         :variable-pitch-height 1.0
         )
        (large
         :default-height 180
         :default-weight normal
         :fixed-pitch-height 1.0
         :variable-pitch-height 1.05
         )
        (t
         :default-family "CaskaydiaCove Nerd Font Mono"
         :fixed-pitch-family "CaskaydiaCove Nerd Font Mono"
         :variable-pitch-family "CaskaydiaCove Nerd Font Mono"
         :italic-family "CaskaydiaCove Nerd Font Mono Italic"
         :blod-family "CaskaydiaCove Nerd Font Mono Bold"
         :variable-pitch-weight normal
         :bold-weight bold
         :italic-slant italic
         :line-spacing 0.1)
        ))
    ;; (fontaine-set-preset (or (fontaine-restore-latest-preset) 'regular))
    (fontaine-set-preset 'regular)

    ;; set emoji font
    (set-fontset-font
     t
     (if (version< emacs-version "28.1")
     '(#x1f300 . #x1fad0)
       'emoji)
     (cond
      ((member "Noto Emoji" (font-family-list)) "Noto Emoji")
      ((member "Symbola" (font-family-list)) "Symbola")
      ((member "Apple Color Emoji" (font-family-list)) "Apple Color Emoji")
      ((member "Noto Color Emoji" (font-family-list)) "Noto Color Emoji")
      ((member "Segoe UI Emoji" (font-family-list)) "Segoe UI Emoji")
      ))

    ;; set Chinese font
    (dolist (charset '(kana han symbol cjk-misc bopomofo))
      (set-fontset-font
       (frame-parameter nil 'font)
       charset
       (font-spec :family
          (cond
           ((eq system-type 'darwin)
            (cond
             ((member "Sarasa Term SC Nerd" (font-family-list)) "Sarasa Term SC Nerd")
             ((member "PingFang SC" (font-family-list)) "PingFang SC")
             ((member "WenQuanYi Zen Hei" (font-family-list)) "WenQuanYi Zen Hei")
             ((member "Microsoft YaHei" (font-family-list)) "Microsoft YaHei")
             ))
           ((eq system-type 'gnu/linux)
            (cond
             ((member "Sarasa Term SC Nerd" (font-family-list)) "Sarasa Term SC Nerd")
             ((member "WenQuanYi Micro Hei" (font-family-list)) "WenQuanYi Micro Hei")
             ((member "WenQuanYi Zen Hei" (font-family-list)) "WenQuanYi Zen Hei")
             ((member "Microsoft YaHei" (font-family-list)) "Microsoft YaHei")
             ))
           (t
            (cond
             ((member "Sarasa Term SC Nerd" (font-family-list)) "Sarasa Term SC Nerd")
             ((member "Microsoft YaHei" (font-family-list)) "Microsoft YaHei")
             )))
          )))

    ;; set Chinese font scale
    (setq face-font-rescale-alist `(
                    ("Symbola"             . 1.3)
                    ("Microsoft YaHei"     . 1.2)
                    ("WenQuanYi Zen Hei"   . 1.2)
                    ("Sarasa Term SC Nerd" . 1.2)
                    ("PingFang SC"         . 1.16)
                    ("Lantinghei SC"       . 1.16)
                    ("Kaiti SC"            . 1.16)
                    ("Yuanti SC"           . 1.16)
                    ("Apple Color Emoji"   . 0.91)
                    ))
    )
1 个赞

一眼 Centaur. 我遇到的不少问题都能直接在 @seagle0128 大佬的配置中找到解决方案.

有针对不同分辨率设置字体大小的吗?emacs能读出显示器分辨率吗?

有的.

(display-monitor-attributes-list)

看你这个头像和昵称突然发现我在知乎上还关注你了🤣

好的我试下。感谢关注。 :grinning: