Ligatures only work after mode switching

What happened?

Ligatures only work after switching mode.

What did you expect to happen?

They should work after opening a file.

Steps to reproduce

  1. yay emacs ttf-cascadia-code ttf-fira-code ttf-firacode-nerd
  2. git clone --depth 1 GitHub - doomemacs/doomemacs: An Emacs framework for the stubborn martian hacker ~/.emacs.d && ~/.emacs.d/bin/doom install → y, y
  3. .doom.d/init.el → uncomment ligature support
  4. ~/.emacs.d/bin/doom sync
  5. config.el → (setq doom-font (font-spec :family “Fira Code” :size 14 :weight 'medium))
  6. emacs → enter a != b → no ligature is shown
  7. M-x python-mode → ligatures appear
  8. Now ligatures work on new text, and after switching back to sh mode as well.
  9. I also tried it with Cascadia and FiraCode Nerd Font, tried in text, python and Ruby mode, tried +fira flag in config.el, no change.

Am I missing something, or can this be a bug?

System information

Loading data dump...

Huh, could be a bug?

What if you open emacs first, then open the file after it’s opened? Do you get the same behavior?