Emacs 设置字体为 Fira Code 后,无法显示斜体

在将字体设为 Fira Code 后,我发现 Emacs 中无法显示斜体字符; image
而在终端中打开 Emacs,相同的字体配置,在终端里就可以正常显示斜体。 image
如果将字体设为 Ubuntu Mono,则 GUI 和终端里都可以正常显示。

所以想问一下大家,怎么才能在 GUI 下正常显示斜体字符。

装一个有斜体的字体(或者用 fontforge 自己转,注意版权

Fira Code 是有斜体的,而且在终端下使用 Fira Code 也可以正常显示斜体,只是在图形界面的 Emacs 中无法显示斜体。

fira code是moz家出的开源字体

从 Gnome-tweaks 看,Fira Code 是有斜体的,而系统的字体 App 里却搜不到斜体

然后我搜了一下 Fira Code 的 issues,貌似没有真正的斜体,作者说需要等 Fira Mono 的斜体完成。

gnome-tweaks 里面看到的斜体是系统自己生成的?

这个问题好几年了,但现在依然困扰我。

Emacs 一定要有 italic variant 才能在 Windows 平台显示斜体。

但是在 macOS 即使没有 italic variant 也是可以显示斜体的。M-x descript-char 后可以看到:

             position: 4 of 19 (16%), column: 3
            character: F (displayed as F) (codepoint 70, #o106, #x46)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x46
               script: latin
               syntax: w 	which means: word
             category: .:Base, L:Strong L2R, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 46" or "C-x 8 RET LATIN CAPITAL LETTER F"
          buffer code: #x46
            file code: #x46 (encoded by coding system utf-8)
              display: by this font (glyph code):
    mac-ct:-*-Fira Code-regular-italic-normal-*-13-*-*-*-m-0-iso10646-1 (#x22)

Character code properties: customize what to show
  name: LATIN CAPITAL LETTER F
  general-category: Lu (Letter, Uppercase)
  decomposition: (70) ('F')

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

为此我还给 Emacs 发了个 Bug report:

https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-07/msg00761.html