unicode-bmp 字体在注释中的设置问题

已经设置了 fallback 字体

(set-fontset-font "fontset-default" nil (font-spec :size 19 :name "Operator Mono"))

可是比如 ←→ 这种字体在注释中会变化,不知道怎么控制。

             position: 7698 of 15762 (49%), column: 97
            character: → (displayed as →) (codepoint 8594, #o20622, #x2192)
    preferred charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0x2192
               script: symbol
               syntax: . 	which means: punctuation
             category: .:Base, c:Chinese, h:Korean, j:Japanese
             to input: type "C-x 8 RET 2192" or "C-x 8 RET RIGHTWARDS ARROW"
          buffer code: #xE2 #x86 #x92
            file code: #xE2 #x86 #x92 (encoded by coding system utf-8-unix)
              display: by this font (glyph code)
    mac-ct:-*-Hiragino Sans-thin-italic-normal-*-19-*-*-*-p-0-iso10646-1 (#x2E0)

Character code properties: customize what to show
  name: RIGHTWARDS ARROW
  old-name: RIGHT ARROW
  general-category: Sm (Symbol, Math)
  decomposition: (8594) ('→')

There are text properties here:
  face                 font-lock-comment-face
  fontified            t

[back]

1 个赞

没看明白 GIF,变化的原因(或者说条件)是什么?

这种特性叫 ligature 吧,之前有提到。

我也一直很好奇,spacemacs里python输入and or就自动变成⋀和⋁

变化的原因是字体的普通体和斜体不一样导致的,注释中的是italic字体。

GIF中的字体是 Operator Mono ,后来换成 Source Code Pro 就不会有这个问题了。

变化的原因可能是 ←→ 这种字符的斜体在Operator Mono中没有找到。