refactor: doom-unicode-font -> doom-symbol-font

No font supports all of Unicode or anywhere near it. It’s not even
really possible with current font formats. Therefore, rename
`doom-unicode-font` to `doom-symbol-font`. Only set it as a fallback for
characters in the `symbol` and `mathematical` scripts.
This commit is contained in:
Liam Hupfer 2023-09-24 21:39:01 -05:00 committed by Henrik Lissner
parent 1cc7b04059
commit 4499ce7b0a
8 changed files with 30 additions and 28 deletions

View file

@ -1417,12 +1417,12 @@ emacs fontset to cover as many unicode glyphs as possible by scanning all
available glyphs from all available fonts.
When this module is enabled:
- Emacs will prefer to use the ~doom-unicode-font~ font to display non-latin
- Emacs will prefer to use the ~doom-symbol-font~ font to display non-latin
glyphs if it provides coverage for them.
- The first time you run Emacs a unicode cache will be generated -- this will
take a while!
- The cache will be regenerated every time Emacs is made aware of new fonts or
you change the font configuration e.g. by modifying ~doom-unicode-font~.
you change the font configuration e.g. by modifying ~doom-symbol-font~.
- The cache will be stored and should not be regenerated unless font-related
configuration or the versions of relevant packages changes.

View file

@ -71,13 +71,13 @@ core/core-ui.el has four relevant variables:
- ~doom-big-font~ :: the font to use when ~doom-big-font-mode~ is enabled.
- ~doom-variable-pitch-font~ :: the font to use when ~variable-pitch-mode~ is active
(or where the ~variable-pitch~ face is used).
- ~doom-unicode-font~ :: the font used to display unicode symbols. This is
- ~doom-symbol-font~ :: the font used to display unicode symbols. This is
ignored if the [[doom-module::ui unicode]] module is enabled.
#+begin_src emacs-lisp
(setq doom-font (font-spec :family "Fira Mono" :size 12)
doom-variable-pitch-font (font-spec :family "Fira Sans")
doom-unicode-font (font-spec :family "DejaVu Sans Mono")
doom-symbol-font (font-spec :family "JuliaMono")
doom-big-font (font-spec :family "Fira Mono" :size 19))
#+end_src

View file

@ -247,10 +247,9 @@ happen in all modes, you can use
** Some symbols are not rendering correctly
This can usually be fixed by doing one of the following:
- Make sure Symbola (the font) is installed on your system.
- Otherwise, change [[var:doom-unicode-font]] (set to Symbola by default).
- Disable the [[doom-module::ui unicode]] module. It not only overrides [[var:doom-unicode-font]], but
should only be used as a last resort.
- Set [[var:doom-symbol-font]].
- Disable the [[doom-module::ui unicode]] module. It overrides [[var:doom-symbol-font]]
and should only be used as a last resort.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]

View file

@ -13,12 +13,12 @@ emacs fontset to cover as many unicode glyphs as possible by scanning all
available glyphs from all available fonts.
When this module is enabled:
- Emacs will prefer to use the ~doom-unicode-font~ font to display non-latin
- Emacs will prefer to use the ~doom-symbol-font~ font to display non-latin
glyphs if it provides coverage for them.
- The first time you run Emacs a unicode cache will be generated -- this will
take a while!
- The cache will be regenerated every time Emacs is made aware of new fonts or
you change the font configuration e.g. by modifying ~doom-unicode-font~.
you change the font configuration e.g. by modifying ~doom-symbol-font~.
- The cache will be stored and should not be regenerated unless font-related
configuration or the versions of relevant packages changes.
@ -54,16 +54,16 @@ When this module is enabled:
#+end_quote
The first font that will be analyzed to see if it contains the glyphs of
non-latin characters will be ~doom-unicode-font~:
non-latin characters will be ~doom-symbol-font~:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(setq doom-unicode-font (font-spec :family "Fira Mono"))
(setq doom-symbol-font (font-spec :family "JuliaMono"))
#+end_src
If your ~doom-font~ provides good unicode coverage use:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(setq doom-unicode-font doom-font)
(setq doom-symbol-font doom-font)
#+end_src
If your font does not provide some glyphs, this package will try its best to

View file

@ -12,14 +12,14 @@ necessary."
(defun +unicode-setup-fonts-h (&optional frame)
"Initialize `unicode-fonts', if in a GUI session.
If doom-unicode-font is set, add it as preferred font for all unicode blocks."
If doom-symbol-font is set, add it as a preferred font for all Unicode blocks."
(when (and frame (display-multi-font-p frame))
(with-selected-frame frame
(require 'unicode-fonts)
(when doom-unicode-font
(let ((doom-unicode-font-family (plist-get (font-face-attributes doom-unicode-font) :family)))
(when doom-symbol-font
(let ((doom-symbol-font-family (plist-get (font-face-attributes doom-symbol-font) :family)))
(dolist (unicode-block unicode-fonts-block-font-mapping)
(push doom-unicode-font-family (cadr unicode-block)))))
(push doom-symbol-font-family (cadr unicode-block)))))
;; NOTE: will impact startup time on first run
(let (inhibit-redisplay inhibit-message)
(unicode-fonts-setup)))))