Arch :: Fonts

Fonts

Add Fonts

## for single user
~/.local/share/fonts/
## for all users
/usr/local/share/fonts/
├── otf
│   └── SourceCodeVariable
│       ├── SourceCodeVariable-Italic.otf
│       └── SourceCodeVariable-Roman.otf
└── ttf
    ├── AnonymousPro
    │   ├── Anonymous-Pro-B.ttf
    │   ├── Anonymous-Pro-I.ttf
    │   └── Anonymous-Pro.ttf
    └── CascadiaCode
        ├── CascadiaCode-Bold.ttf
        ├── CascadiaCode-Light.ttf
        └── CascadiaCode-Regular.ttf
ttf-fira-code
ttf-ubuntu-font-family
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
ttf-nerd-font

Config

fc-cache
fc-list
fc-query
~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>

  <!-- settings go here -->

</fontconfig>

Alias and Binding

  <alias>
    <family>monospace</family>
    <prefer><family>SF Mono</family></prefer>
  </alias>

  <!-- Map specific families to CrOS ones -->
  <match>
    <test name="family"><string>Arial</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>SF Pro</string>
    </edit>
  </match>

    <!-- Map Arial to Public Sans instead of Liberation Sans
       (overrides /etc/fonts/conf.d/30-metric-aliases.conf) -->
  <alias binding="same">
    <family>Arial</family>
    <accept>
      <family>Public Sans</family>
    </accept>
  </alias>

Glyph

# type glyphs in terminal
echo $'\uf007'
echo \uf007

# figure out which font cotains the char
fc-list ':charset=f007'

# patch existing font with NerdFont
git clone https://github.com/betaboon/nerd-fonts-patcher.git
// use -c for complete; --fontawesome; -w for windows compatibility
./font-patcher Original.otf --fontawesome