I’m on Arch Linux. If I run emacs -q I end up with even more random symbols in the text in the window instead of just the minibuffer or status line. To add, this was present even when I started with a completely vanilla emacs with no config file.
So I guess I’ve helped it a bit with the config so far.
I tried M-x package-install nerd-fonts per the initial message. That didn’t seem to make a difference.
I then tried to add this: (set-frame-font "Fira Code 14" nil t)
This improved things some, but still have something wrong:
Beyond the line mentioned above, my init.el is just the starting point of the crafted-emacs config. It hasn’t really done anything beyond set a custom.el and setup some packages to install. So I think you want the custom.el. Here that is:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(completion-category-overrides '((file (styles partial-completion))))
'(completion-styles '(orderless basic))
'(corfu-auto t)
'(corfu-auto-prefix 2)
'(corfu-cycle t)
'(load-prefer-newer t t)
'(marginalia-annotators
'(marginalia-annotators-heavy marginalia-annotators-light nil) t)
'(package-archive-priorities
'(("gnu" . 99)
("nongnu" . 80)
("stable" . 70)
("melpa" . 0)))
'(package-selected-packages
'(all-the-icons-nerd-fonts nerd-icons vertico orderless marginalia embark-consult embark corfu-terminal corfu consult cape))
'(vertico-cycle t))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "Fira Code" :foundry "CTDB" :slant normal :weight regular :height 142 :width normal))))
'(variable-pitch ((t (:family "FiraCode")))))
Edit: I forgot to mention, when checking this I spotted the Fira Code vs FiraCode and tried changing that to have a space, this didn’t make a difference so I changed it back because emacs created this file due to the start of the init.el.
Edit 2: I think I may have gotten this resolved. I found another example where this was but in the window so I could put the point on it and ran M-x customize-face it was inheriting from slant-face I believe and that was set to font family monospace. I’m a bit unsure why it was set that way. I was able to enter Fira Code and apply and (then save) and now I see the correct text. Also updated the theme. Can’t add another image in the same post.
If someone has some info on how I could confirm this and make sure there are no other odd faces set like that, please let me know.
It seems like the help-key-binding face is broken there. Check M-x describe-face RET help-key-binding. If its sample text (compare M-x describe-face RET default RET) has the same issue, then check what font it uses. You might be missing one.
But I’m not able to reproduce this issue with a graphical interface:
The latter sounds especially related to your issue, but again, I was not able to reproduce this within a podman container (and I don’t have time to whip out a complete VM at the moment).
I found another example where this was but in the window so I could put the point on it and ran M-x customize-face it was inheriting from slant-face I believe and that was set to font family monospace.
That sounds like an incomplete font-config. See Fonts - ArchWiki and Font configuration - ArchWiki. At least on other Linux system I’m aware of, setting monospace will use the system-wide default font.
Check fc-match monospace. If it returns nothing, then set a system-wide default for monospaced text. Here’s my result on Tumbleweed:
for kind in monospace slant italic bold; do fc-match $kind; done