Alexander-Miller/treemacs@63e2bc207a -> Alexander-Miller/treemacs@1820db42c6 ema2159/centaur-tabs@8b4249c405 -> ema2159/centaur-tabs@5860a5c40c emacs-lsp/lsp-treemacs@d82df44d63 -> emacs-lsp/lsp-treemacs@c40a381730 emacsorphanage/git-gutter-fringe@4f19866494 -> emacsorphanage/git-gutter-fringe@648cb5b57f hlissner/emacs-doom-themes@e716ddbb88 -> hlissner/emacs-doom-themes@7d1a56623c joostkremers/writeroom-mode@7f4ec92404 -> joostkremers/writeroom-mode@eac1da790f rolandwalker/unicode-fonts@e3942fe40b -> rolandwalker/unicode-fonts@47f2397ade seagle0128/doom-modeline@ffedb34800 -> seagle0128/doom-modeline@69ede7d719 - Emacs 29 introduces the mode-line-active face, which inherits from variable-pitch, therefore the modeline uses your variable-pitch font, instead of your default. As of hlissner/emacs-doom-themes@7d1a56623c, this is no longer the case (fixing #5891). Fix: #5891
ui/unicode
Description
This module extends Doom's ability to display non-English unicode. It is primarily useful for non-English Emacs users, for whom Doom's built-in unicode support in insufficient.
This module relies on the unicode-fonts package. It tries to setup the default 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 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
. - The cache will be stored and should not be regenerated unless font-related configuration or the versions of relevant packages changes.
Maintainers
This module has no dedicated maintainers.
Module Flags
This module provides no flags.
Plugins
Prerequisites
This module has no prerequisites.
Features
Configuration
The first font that will be analyzed to see if it contains the glyphs of non-latin characters will be doom-unicode-font
. To set this font place
(setq doom-unicode-font (font-spec :family "Fira Mono"))
in your private config.el
file. If your doom-font
provides good unicode coverage you just set
(setq doom-unicode-font doom-font)
If your font does not provide some glyphs, this package will try its best to find another font that does.
Getting fonts with good coverage
A list of fonts with good unicode coverage can be found on the page of the unicode-fonts package.
Advanced configuration
Consult the unicode-fonts package documentation for a description of more advanced configuration. The configuration should be placed, as usual, in your private config.el
wrapped in an (after! unicode-fonts)
block. The variable unicode-fonts-blocks
contains a list of all unicode block names and their character ranges. The default fonts to search for glyphs are in the variable unicode-fonts-block-font-mapping
.
If you want to use the font Symbola
for Miscellaneous Symbols
by default you could add
(after! unicode-fonts
(push "Symbola" (cadr (assoc "Miscellaneous Symbols" unicode-fonts-block-font-mapping))))
to your config.el
.
If you want to redefine several blocks an efficient way would be
(after! unicode-fonts
(dolist (unicode-block '("Mathematical Alphanumeric Symbols"
"Mathematical Operators"
"Miscellaneous Mathematical Symbols-A"
"Miscellaneous Mathematical Symbols-B"
"Miscellaneous Symbols"
"Miscellaneous Symbols and Arrows"
"Miscellaneous Symbols and Pictographs"))
(push "DejaVu Math TeX Gyre" (cadr (assoc unicode-block unicode-fonts-block-font-mapping)))))
You can find a list of fonts available to emacs using M-x counsel-fonts
.
Troubleshooting
TODO Emacs daemon mode
Currently this module may fail setup fonts when emacs is run in daemon mode. See Bug 3328.