68 lines
2.6 KiB
Org Mode
68 lines
2.6 KiB
Org Mode
#+TITLE: unicode-fonts layer
|
|
|
|
#+TAGS: font|layer
|
|
|
|
* Table of Contents :TOC_5_gh:noexport:
|
|
- [[#description][Description]]
|
|
- [[#features][Features:]]
|
|
- [[#install][Install]]
|
|
- [[#ligature-fonts][Ligature Fonts]]
|
|
|
|
* Description
|
|
This layer adds support for [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]] package. It is recommended to
|
|
install the fonts listed in the [[https://github.com/rolandwalker/unicode-fonts#quickstart][Quickstart]] section of the unicode-fonts README.
|
|
|
|
** Features:
|
|
- Display unicode glyphs using the best available font.
|
|
- Easily override glyphs or sections of glyphs.
|
|
- Display color emoji on both the macOS port version of Emacs and emacs-plus (with
|
|
=unicode-fonts-force-multi-color-on-mac= set to non nil).
|
|
- Enable support for font ligature in Emacs 27 + via [[https://github.com/mickeynp/ligature.el][ligatures.el]].
|
|
|
|
* Install
|
|
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
|
add =unicode-fonts= to the existing =dotspacemacs-configuration-layers= list in this
|
|
file.
|
|
|
|
If using [[https://github.com/d12frosted/homebrew-emacs-plus/][emacs-plus]], you can set =unicode-fonts-force-multi-color-on-mac= to
|
|
enable color emoji.
|
|
|
|
#+BEGIN_SRC elisp
|
|
(unicode-fonts :variables unicode-fonts-force-multi-color-on-mac t)
|
|
#+END_SRC
|
|
|
|
If you want ligature support Emacs must be built with =Harfbuzz= and a ligature
|
|
font must be installed and configured you can see the [[https://github.com/mickeynp/ligature.el#compatibility-and-version-requirements][upstream]] docs for a full
|
|
list of requirements. By default this is not enabled you can enable it with
|
|
=unicode-fonts-enable-ligatures=.
|
|
|
|
#+BEGIN_SRC elisp
|
|
(unicode-fonts :variables unicode-fonts-enable-ligatures t)
|
|
#+END_SRC
|
|
|
|
By default when ligatures are enabled all modes will have ligatures. You can
|
|
enable ligatures for specific modes with the =unicode-fonts-ligature-modes=
|
|
variable.
|
|
|
|
#+BEGIN_SRC elisp
|
|
(unicode-fonts :variables unicode-fonts-ligature-modes '(php-mode js-mode))
|
|
#+END_SRC
|
|
|
|
To enable only for programming modes you can use =prog-mode=
|
|
|
|
#+BEGIN_SRC elisp
|
|
(unicode-fonts :variables unicode-fonts-ligature-modes '(prog-mode))
|
|
#+END_SRC
|
|
|
|
To configure the ligature set that gets used with your font there is a
|
|
=unicode-fonts-ligature-set= variable. To only enable the ligatures in
|
|
=if= statements you can limit the =unicode-fonts-ligature-set=
|
|
|
|
#+BEGIN_SRC elisp
|
|
(unicode-fonts :variables unicode-fonts-ligature-set '("==" "===" "!=" "!==" "||" "&&"))
|
|
#+END_SRC
|
|
|
|
* Ligature Fonts
|
|
- [[https://github.com/tonsky/FiraCode][Fira Code]]
|
|
- [[https://github.com/microsoft/cascadia-code][Cascadia Code]]
|
|
- [[https://github.com/be5invis/Iosevka/][Iosevka]]
|