📌
ibook
  • README
  • cheatsheet
    • bash
      • builtin
      • syntactic sugar
      • cmd
      • havefun
    • text-processing
      • awk
      • sed
      • html
      • json
      • regex
      • unicode
    • osx
    • curl
    • tricky
    • widget
    • proxy
    • colors
    • math
    • media
    • ssl
      • keystore
      • verification
      • server
      • client
      • tricky
    • windows
      • powershell
      • choco
      • wsl
      • wt
      • shortcut
      • clsid
      • env
      • shell:folder
  • vim
    • nvim
    • install
    • color
    • plugins
      • usage
      • other plugins
      • deprecated
    • tricky
    • viml
    • windows
    • troubleshooting
  • devops
    • admin tools
    • ssh
    • git
      • config
      • alias
      • submodule
      • eol
      • example
      • gerrit
        • gerrit API
      • github
      • troubleshooting
      • tricky
      • statistics
    • pre-commit
    • release-tools
    • tmux
      • cheatsheet
    • ansible
    • vault
    • artifactory
      • api
      • cli
      • aql
      • nginx cert
    • klocwork
      • kwadmin
      • kwserver
      • api
      • q&a
    • elk
    • mongodb
    • android
    • mobile
  • jenkins
    • config
      • windows
    • appearance
    • troubleshooting
    • jenkinsfile
      • utility
      • parallel
      • build
      • envvar
      • properties
      • trigger
      • node
    • script
      • job
      • build
      • stage
      • agent
      • security & authorization
      • exception
      • monitor
      • tricky
    • api
      • blueocean
    • cli
    • plugins
      • kubernetes
      • docker
      • shared-libs
      • lockable-resource
      • ansicolor
      • badge
      • groovy-postbuild
      • simple-theme
      • customizable-header
      • artifactory
      • jira-steps
      • job-dsl
      • build-timeline
      • crumbIssuer
      • coverage
      • uno-choice
      • tricky
  • virtualization
    • kubernetes
      • init
        • kubespray
        • kubeadm
          • environment
          • crio v1.30.4
          • docker v1.15.3
          • HA
        • addons
        • etcd
      • kubectl
        • pod
        • deploy
        • replicasets
        • namespace
        • secrets
      • node
      • certificates
      • events
      • kubeconfig
      • kubelet
      • troubleshooting
      • cheatsheet
      • auth
      • api
      • tools
        • monitor
        • helm
        • network
        • minikube
    • docker
      • run & exec
      • voume
      • remove
      • show info
      • dockerfile
      • dockerd
      • tricky
      • troubleshooting
      • windows
    • crio
    • podman
  • ai
    • prompt
  • osx
    • apps
      • init
      • brew
    • defaults
    • system
    • network
    • script
    • tricky
  • linux
    • devenv
    • util
      • time & date
      • output formatting
      • params
      • tricky
    • nutshell
    • disk
    • network
    • troubleshooting
    • system
      • apt/yum/snap
      • authorization
      • apps
      • x11
    • ubuntu
      • systemctl
      • x
    • rpi
  • programming
    • groovy
    • python
      • config
      • basic
      • list
      • pip
      • q&a
    • others
    • archive
      • angular
      • maven
      • mysql
        • installation
        • logs
      • ruby
        • rubyInstallationQ&A
  • tools
    • fonts
    • html & css
    • Jira & Confluence
    • node & npm
      • gitbook
      • hexo
      • github.page
      • code themes
    • app
      • microsoft office
      • vscode
      • virtualbox
      • iterm2
      • browser
      • skype
      • teamviewer
      • others
  • quotes
  • english
Powered by GitBook
On this page
  • font patcher
  • patch fonts
  • check fonts
  • get font name by language
  • rename fonts to postscriptname
  • get font version
  • fonts
  • cn
  • highly recommended
  • nerd-fonts
  • powerline fonts
  • google fonts
  • LaTeX fonts
  • tips

Was this helpful?

  1. tools

fonts

PrevioustoolsNexthtml & css

Last updated 1 month ago

Was this helpful?

[!TIP|label:references:]

  • format:

    • ttf: TrueType Font

    • otf: OpenType Font

    • woff: Web Open Font Format

font patcher

[!TIP|label:references:]

patch fonts

setup font-patcher

# osx
$ brew install fontforge
# ubuntu
$ sudo apt install python3-fontforge

# install font-patcher v3.2.1.1
$ [[ -d /opt/FontPatcher ]] || mkdir -p /opt/FontPatcher
$ curl -o /opt/FontPatcher/FontPatcher.zip \
       -fsSL https://github.com/marslo/fonts/raw/fonts/FontPatcher.v3.2.1.1.zip
$ unzip -o /opt/FontPatcher/FontPatcher.zip /opt/FontPatcher

# setup completion
## osx
$ cp /opt/FontPatcher/completion/font-patcher.sh $(brew --prefix)/etc/bash_completion.d/
## centos/rhel/ubuntu/wsl
$ cp /opt/FontPatcher/completion/font-patcher.sh /usr/share/bash-completion/completions/
## centos/rhel
$ cp /opt/FontPatcher/completion/font-patcher.sh /etc/bash_completion.d/

# setup environment
$ cat >> ~/.bashrc << EOF
FONT_PATCHER='/opt/FontPatcher'
test -d "${FONT_PATCHER}" && PATH+=":${FONT_PATCHER}"
export $PATH
EOF

patch fonts

  • mono

    $ font-patcher RecMonoSemicasual-Regular-1.085.ttf --mono --complete --quiet -ext ttf -out .
    
    # or patch for folders
    $ while read -r _f; do
        for _e in otf ttf; do
          outpath="$(dirname $(dirname $_f))_NF/$(basename $(dirname $_f))/${_e}";
          [[ -d "${outpath}" ]] || mkdir -p "${outpath}";
          echo ".. ${_e} » $(basename ${_f}) » ${outpath}";
          /opt/FontPatcher/font-patcher $(realpath "${_f}") --mono --complete --quiet -ext ${_e} -out "${outpath}";
        done;
      done < <(fd -u -tf -e ttf -e otf --full-path /path/to/folder)
  • san

    • with name

      $ font-patcher --complete --progressbars --outputdir . --name 'Recursive Mono Casual Static Italic Nerd Font' /path/to/font.ttf 2>/dev/null
      
      # using name dynamically
      $ font='/path/to/font.ttf'
      $ fontfamily="$(fc-query -f '%{family}' "$(realpath "${font}")" | awk -F, '{print $1}')";
      $ style="$(fc-query -f '%{style}' "$(realpath "${font}")" | awk -F, '{print $1}')";
      $ name="${fontfamily} ${style} Nerd Font";
      $ font-patcher --complete --quiet --outputdir . --name "${name}" "${font}" 2>/dev/null

check fonts

[!NOTE|label:references:]

  • list installed fonts

    $ fc-list | sed -re 's/^.+\/([^:]+):\s?([^,:]+),?:?.*$/\1 : \2/g' | column -t -s: -o: | sort -t: -k2
    
    # or
    $ fc-list | awk '{$1=""}1' | sed -re 's/^\s*([^:,]+:?,?[^,:]+).*$/\1/' | column -t -s:
    • i.e.:

      $ fc-list | sed -re 's/^.+\/([^:]+):\s?([^,:]+),?:?.*$/\1 : \2/g' | column -t -s: -o: | sort -t: -k2 | grep operator
      OperatorProNerdFont-Italic.ttf                : Operator Pro Nerd Font
      OperatorProNerdFont-Regular.ttf               : Operator Pro Nerd Font
      OperatorMonoNerdFontMono-Light.ttf            : OperatorMono Nerd Font Mono
      OperatorMonoNerdFontMono-LightItalic.ttf      : OperatorMono Nerd Font Mono
      OperatorMonoLigNerdFontMono-Light.otf         : OperatorMonoLig Nerd Font Mono
      OperatorMonoLigNerdFontMono-LightItalic.otf   : OperatorMonoLig Nerd Font Mono
      OperatorProNerdFont-Light.ttf                 : OperatorPro Nerd Font
      OperatorProNerdFont-LightItalic.ttf           : OperatorPro Nerd Font
  • list fonts properties

    $ fc-query /path/to/font.ttf
    • i.e.:

      $ fc-query Operator/OperatorMonoLigNF/OperatorMonoLigNerdFontMono-Light.ttf | grep -E 'family|style|fullname|weight|slant|spacing|file'
        family: "OperatorMonoLig Nerd Font Mono"(s) "OperatorMonoLig Nerd Font Mono Light"(s)
        familylang: "en"(s) "en"(s)
        style: "Light"(s) "Regular"(s)
        stylelang: "en"(s) "en"(s)
        fullname: "OperatorMonoLig Nerd Font Mono Light"(s)
        fullnamelang: "en"(s)
        slant: 0(i)(s)
        weight: 50(f)(s)
        spacing: 100(i)(s)
        file: "Operator/OperatorMonoLigNF/OperatorMonoLigNerdFontMono-Light.ttf"(s)
  • $ fc-query -f '%{family}\n' /path/to/font.ttf
    • i.e.:

      $ fc-query -f '%{family}\n%{style}\n%{fullname}' Recursive/Recursive_Desktop/RecursiveSansCslSt-LtItalic.ttf
      Recursive Sans Casual Static,Recursive Sn Csl St Lt
      Light Italic,Italic
      Recursive Sn Csl St Lt Italic
      
      $ fc-query -f '%{family}\n%{style}\n%{fullname}' Recursive/Recursive_Desktop/RecursiveSansCslSt-LtItalic.ttf | awk -F, '{print $1}'
      Recursive Sans Casual Static
      Light Italic
      Recursive Sn Csl St Lt Italic

get font name by language

[!NOTE|label:references:]

  • $ fc-scan --format "%-40{family}%{style}\n" Meslo-LG-M-Regular-for-Powerline.ttf
    Meslo LG M for Powerline                Regular
  • fullname & fullnamelang

    $ fc-scan --format "%{fullname}\n%{fullnamelang}" chinese.msyh.ttf
    Microsoft YaHei,微软雅黑
    en,zh-cn
    
    $ fc-scan --format "%{fullname[0]}\n%{fullname[1]}" chinese.msyh.ttf
    Microsoft YaHei
    微软雅黑
  • get index of lang

    $ lang="en"
    $ sed -E "s/^(.*)${lang}.*/\1/;s/[^,]//g" <<< "$(fc-scan --format "%{fullnamelang}\n" chinese.msyh.ttf)" | wc -c
    1
    
    $ lang="zh-cn"
    $ sed -E "s/^(.*)${lang}.*/\1/;s/[^,]//g" <<< "$(fc-scan --format "%{fullnamelang}\n" chinese.msyh.ttf)" | wc -c
    2
  • show font by lang

    $ lang="zh-cn"
    $ font="chinese.msyh.ttf"
    $ fc-scan --format "%{fullname[$(( $(sed -E "s/^(.*)${lang}.*/\1/;s/[^,]//g" <<<"$(fc-scan --format "%{fullnamelang}\n" "${font}")" | wc -c) -1 ))]}\n" "${font}"
    微软雅黑
    
    $ lang='en'
    $ fc-scan --format "%{fullname[$(( $(sed -E "s/^(.*)${lang}.*/\1/;s/[^,]//g" <<<"$(fc-scan --format "%{fullnamelang}\n" "${font}")" | wc -c) -1 ))]}\n" "${font}"
    Microsoft YaHei

rename fonts to postscriptname

  • show font fullname

    $ fd --glob *.ttf -tf --color=never /path/to/font |
      while read -r _f; do
        echo -n ">> $(basename "${_f}") : "; fc-scan --format "%{fullname}\n" "${_f}";
      done
$ while read -r _f; do
    echo ">> $_f <<";
    name="$(fc-scan --format "%{postscriptname}" "$_f").ttf";
    mv "${_f}" "${name}";
  done < <(ls -1 --color=never)

# or
$ fd --glob *.ttf -tf --color=never /path/to/font |
  while read -r _f; do
    mv "${_f}" "$(fc-scan --format "%{postscriptname}" "$_f").ttf";
  done

get font version

[!NOTE|label:references:]

  • windows

    Add-Type -AssemblyName PresentationCore;
    $font = New-Object -TypeName Windows.Media.GlyphTypeface -ArgumentList 'xxxx.ttf';
    $font.VersionStrings.Values
    
    # --- or ---
    # Requires AutoHotkey v2.0
    
    fontPath := A_WinDir . '\Fonts\Arial.ttf'
    command := "Add-Type -AssemblyName PresentationCore;"
               . "$font = New-Object -TypeName Windows.Media.GlyphTypeface -ArgumentList '" . fontPath . "';"
             . "$font.VersionStrings.Values"
    
    MsgBox CmdRet('powershell -Command "' . command . '"')
    
    CmdRet(sCmd, callBackFunc := '', encoding := '') {
        static flags := [HANDLE_FLAG_INHERIT := 0x1, CREATE_NO_WINDOW := 0x8000000], STARTF_USESTDHANDLES := 0x100
    
        (encoding = '' && encoding := 'cp' . DllCall('GetOEMCP', 'UInt'))
        DllCall('CreatePipe', 'PtrP', &hPipeRead := 0, 'PtrP', &hPipeWrite := 0, 'Ptr', 0, 'UInt', 0)
        DllCall('SetHandleInformation', 'Ptr', hPipeWrite, 'UInt', flags[1], 'UInt', flags[1])
    
        STARTUPINFO := Buffer(size := A_PtrSize*9 + 4*8, 0)
        NumPut('UInt', size, STARTUPINFO)
        NumPut('UInt', STARTF_USESTDHANDLES, STARTUPINFO, A_PtrSize*4 + 4*7)
        NumPut('Ptr', hPipeWrite, 'Ptr', hPipeWrite, STARTUPINFO, size - A_PtrSize*2)
    
        PROCESS_INFORMATION := Buffer(A_PtrSize*2 + 4*2, 0)
        if !DllCall('CreateProcess', 'Ptr', 0, 'Str', sCmd, 'Ptr', 0, 'Ptr', 0, 'UInt', true, 'UInt', flags[2]
                                   , 'Ptr', 0, 'Ptr', 0, 'Ptr', STARTUPINFO, 'Ptr', PROCESS_INFORMATION)
        {
            DllCall('CloseHandle', 'Ptr', hPipeRead)
            DllCall('CloseHandle', 'Ptr', hPipeWrite)
            throw OSError('CreateProcess is failed')
        }
        DllCall('CloseHandle', 'Ptr', hPipeWrite)
        temp := Buffer(4096, 0), output := ''
        while DllCall('ReadFile', 'Ptr', hPipeRead, 'Ptr', temp, 'UInt', 4096, 'UIntP', &size := 0, 'UInt', 0) {
            output .= stdOut := StrGet(temp, size, encoding)
            ( callBackFunc && callBackFunc(stdOut) )
        }
        DllCall('CloseHandle', 'Ptr', NumGet(PROCESS_INFORMATION, 'Ptr'))
        DllCall('CloseHandle', 'Ptr', NumGet(PROCESS_INFORMATION, A_PtrSize, 'Ptr'))
        DllCall('CloseHandle', 'Ptr', hPipeRead)
        return output
    }

fonts

[!TIP|label:references:]

TYPE
VALUE
COMMENTS

style

Gothic UI Mono Term Fixed

serif

slab serif old style transitional serif

字体衬线

orthography

CL - Classic SC - Simplified Chinese TC - TW HC - Hong Kong J - Japan

汉字字形

weight

Light Regular Medium Bold Black

字体粗细

suffix

ttf - TrueType Font otf - OpenType Font woff - Web Open Font Format

后缀

  • slab serif vs sans serif

  • proportional vs monospaced

cn

[!TIP|label:references:]

chinese fonts

[!NOTE|label:references:]

highly recommended

[!TIP]

  • fontsPath:

    • osx: ~/Library/Fonts or /System/Fonts

    • Linux: ~/.fonts or ~/.local/share/fonts or /usr/share/fonts

Monaco

[!NOTE] THE BEST ALWAYS !

  • Nerd-Fonts

  • Powerline

[!TIP|label:tips:]

# RecMonoCasual
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       -fsSL --remote-name-all \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoCasual/RecMonoCasualNerdFontMono-Regular.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoCasual/RecMonoCasualNerdFontMono-Italic.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoCasual/RecMonoCasualNerdFontMono-Bold.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoCasual/RecMonoCasualNerdFontMono-BoldItalic.otf

# RecMonoLinear
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       -fsSL --remote-name-all \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoLinear/RecMonoLinearNerdFontMono-Regular.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoLinear/RecMonoLinearNerdFontMono-Italic.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoLinear/RecMonoLinearNerdFontMono-Bold.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoLinear/RecMonoLinearNerdFontMono-BoldItalic.otf

# RecMonoSemicasual
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       -fsSL --remote-name-all \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoSemicasual/RecMonoSmCasualNerdFontMono-Regular.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoSemicasual/RecMonoSmCasualNerdFontMono-Italic.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoSemicasual/RecMonoSmCasualNerdFontMono-Bold.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoSemicasual/RecMonoSmCasualNerdFontMono-BoldItalic.otf

# RecMonoDuotone
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       -fsSL --remote-name-all \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoDuotone/RecMonoDuotoneNerdFontMono-Regular.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoDuotone/RecMonoDuotoneNerdFontMono-Italic.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoDuotone/RecMonoDuotoneNerdFontMono-Bold.otf \
       https://github.com/marslo/fonts/raw/fonts/Recursive/Recursive_Code_NF/RecMonoDuotone/RecMonoDuotoneNerdFontMono-BoldItalic.otf
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       -fsSL --remote-name-all \
       https://github.com/arrowtype/recursive/raw/main/fonts/ArrowType-Recursive-1.085/Recursive_Code/RecMonoCasual/RecMonoCasual-Regular-1.085.ttf \
       https://github.com/arrowtype/recursive/raw/main/fonts/ArrowType-Recursive-1.085/Recursive_Code/RecMonoDuotone/RecMonoDuotone-Regular-1.085.ttf \
       https://github.com/arrowtype/recursive/raw/main/fonts/ArrowType-Recursive-1.085/Recursive_Code/RecMonoLinear/RecMonoLinear-Regular-1.085.ttf \
       https://github.com/arrowtype/recursive/raw/main/fonts/ArrowType-Recursive-1.085/Recursive_Code/RecMonoSemicasual/RecMonoSemicasual-Regular-1.085.ttf &&
  fc-cache -f -v

# or
$ version=1.085
$ url='https://github.com/arrowtype/recursive/raw/main/fonts/ArrowType-Recursive-1.085/Recursive_Code/'
$ while read -r _t; do
    curl --create-dirs -O --output-dir "${fontsPath}" \
         "${url}"/"RecMono${_t}/RecMono${_t}-Regular-1.085.ttf"
  done < <( echo 'Casual Duotone Linear Semicasual' | fmt -1 )
$ fc-cache -f -v

[!NOTE|label:references:]

[!NOTE|label:references:]

$ curl --create-dirs -O --output-dir "${fontsPath}" \
       https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Agave/AgaveNerdFontMono-Regular.ttf
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Agave/AgaveNerdFontMono-Bold.ttf

[!NOTE|label:referencess:]

  • ligatures:

  • patched via Nerd Fonts Patcher v3.2.1.1 (4.13.1) (ff 20230101)

    $ curl --create-dirs -O --output-dir "${fontsPath}" \
           -fsSL --remote-name-all \
           https://github.com/marslo/fonts/raw/fonts/Operator/OperatorMono/OperatorMono-Light.otf \
           https://github.com/marslo/fonts/raw/fonts/Operator/OperatorMono/OperatorMono-LightItalic.otf
    # Mono NF otf
    $ curl --create-dirs -O --output-dir "${fontsPath}" \
           -fsSL --remote-name-all \
           https://github.com/40huo/Patched-Fonts/raw/master/operator-mono-nerd-font/Operator%20Mono%20Light%20Italic%20Nerd%20Font%20Complete.otf \
           https://github.com/40huo/Patched-Fonts/raw/master/operator-mono-nerd-font/Operator%20Mono%20Light%20Italic%20Nerd%20Font%20Complete.otf
    
    # Mono NF ttf
    $ curl --create-dirs -O --output-dir "${fontsPath}" \
           -fsSL --remote-name-all \
           https://github.com/xiyaowong/Operator-Fonts/raw/master/Operator%20Mono%20Nerd%20Font/Operator%20Mono%20Light%20Italic%20Nerd%20Font%20Complete.ttf \
           https://github.com/xiyaowong/Operator-Fonts/raw/master/Operator%20Mono%20Nerd%20Font/Operator%20Mono%20Light%20Italic%20Nerd%20Font%20Complete.ttf
    
    # Pro NF
    $ curl --create-dirs -O --output-dir "${fontsPath}" \
           -fsSL --remote-name-all \
           https://github.com/xiyaowong/Operator-Fonts/raw/master/Operator%20Pro%20Nerd%20Font/Operator%20Pro%20Light%20Italic%20Nerd%20Font%20Complete.ttf \
           https://github.com/xiyaowong/Operator-Fonts/raw/master/Operator%20Pro%20Nerd%20Font/Operator%20Pro%20Light%20Nerd%20Font%20Complete.ttf
    
    $ showfonts | grep -e ': Operator.*Nerd Font'
    Operator Mono Light Nerd Font Complete.otf        : OperatorMono Nerd Font
    Operator Pro Light Italic Nerd Font Complete.ttf  : OperatorPro Nerd Font
    Operator Pro Light Nerd Font Complete.ttf         : OperatorPro Nerd Font
    Operator Mono Light Italic Nerd Font Complete.otf : OperatorMono Nerd Font
  • ligatures

    $ ext='otf'             # or ext='ttf'
    $ curl --create-dirs -O --output-dir "${fontsPath}" \
           -fsSL --remote-name-all \
           https://github.com/marslo/fonts/raw/fonts/Operator/OperatorMonoLigNF/OperatorMonoLigNerdFontMono-Light."${ext}" \
           https://github.com/marslo/fonts/raw/fonts/Operator/OperatorMonoLigNF/OperatorMonoLigNerdFontMono-LightItalic."${ext}"
    $ curl --create-dirs -O --output-dir "${fontsPath}" \
           -fsSL --remote-name-all \
           https://github.com/beichensky/Font/raw/master/Operator%20Mono%20Lig/OperatorMonoLig-Light.otf \
           https://github.com/beichensky/Font/raw/master/Operator%20Mono%20Lig/OperatorMonoLig-LightItalic.otf
    
    $ showfonts | grep -e ': operator.*lig'
    OperatorMonoLig-LightItalic.otf                   : Operator Mono Lig
    OperatorMonoLig-Light.otf                         : Operator Mono Lig
  • vim configure

    Plug 'morhetz/gruvbox'                                              " ╮
    Plug 'sainnhe/gruvbox-material'                                     " ├ theme
    Plug 'luisiacc/gruvbox-baby', { 'branch': 'main' }                  " ╯
    Plug 'rrethy/vim-hexokinase', { 'do': 'make hexokinase' }
    
    set go=                                                             " hide everything (go = guioptions)
    set cpoptions+=n
    set guifont=OperatorMono\ Nerd\ Font\ Mono:h29                      " ╭ nerd font ╮ keep only one
    set guifont=OperatorMonoLig\ Nerd\ Font\ Mono:h29                   " ╰ ligatures ╯
    set renderoptions=type:directx,renmode:5
    
    if has( 'gui_running' ) || 'xterm-256color' == $TERM
      set background=dark
      colorscheme gruvbox-material                                      " sainnhe/gruvbox-material
    endif
$ curl --create-dirs -O --output-dir "${fontsPath}" \
       -fsSL --remote-name-all \
       https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Gohu/uni-14/GohuFontuni14NerdFontMono-Regular.ttf \
       https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Gohu/uni-11/GohuFontuni11NerdFontMono-Regular.ttf \
       https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Gohu/14/GohuFont14NerdFontMono-Regular.ttf \
       https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Gohu/11/GohuFont11NerdFontMono-Regular.ttf &&
  fc-cache -f -v

[!NOTE|label:references:]

nerd-fonts

[!NOTE|label:refereces:]

    • Nerd Font Mono (a strictly monospaced variant, created with --mono)

    • Nerd Font (a somehow monospaced variant, maybe)

    • Nerd Font Propo (a not monospaced variant, created with --variable-width-glyphs)

  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Agave/AgaveNerdFontMono-Regular.ttf &&
      fc-cache -f -v
  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/CodeNewRoman/Regular/CodeNewRomanNerdFontMono-Regular.otf &&
      fc-cache -f -v
  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DejaVuSansMono/Regular/DejaVuSansMNerdFontMono-Regular.ttf &&
      fc-cache -f -v

pixel

  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/BigBlueTerminal/BigBlueTerm437NerdFontMono-Regular.ttf &&
      fc-cache -f -v

hand-writing

  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Monofur/Regular/MonofurNerdFontMono-Regular.ttf &&
      fc-cache -f -v
  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/ComicShannsMono/ComicShannsMonoNerdFontMono-Regular.otf &&
      fc-cache -f -v
  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DaddyTimeMono/DaddyTimeMonoNerdFontMono-Regular.ttf &&
      fc-cache -f -v
  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/FantasqueSansMono/Regular/FantasqueSansMNerdFontMono-Regular.ttf &&
      fc-cache -f -v

- [Hermit](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hermit)
  ```bash
  $ curl --create-dirs -O --output-dir "${fontsPath}" \
         https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Hermit/Regular/HurmitNerdFontMono-Regular.otf &&
    fc-cache -f -v

symbole

  • $ curl --create-dirs -O --output-dir "${fontsPath}" \
           https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/NerdFontsSymbolsOnly/SymbolsNerdFontMono-Regular.ttf &&
      fc-cache -f -v

others

powerline fonts

[!NOTE|label:references:]

  • windows

  • install via package tool

    # debian
    $ sudo apt-get install fonts-powerline
    
    # centos/rhel
    $ sudo dnf install powerline-fonts
  • install via cmd

    [!TIP|label:fonts path in different system:]

    • linux: $HOME/.local/share/fonts

    • osx : $HOME/Library/Fonts

      $ fontPath=$HOME/Library/Fonts
      $ fontPath=$HOME/.local/share/fonts
    • via powershell

      > Invoke-WebRequest -Uri "https://dtinth.github.io/comic-mono-font/ComicMono.ttf" -OutFile "ComicMono.ttf"; Invoke-WebRequest -Uri "https://dtinth.github.io/comic-mono-font/ComicMono-Bold.ttf" -OutFile "ComicMono-Bold.ttf"; $fonts = (New-Object -ComObject Shell.Application).Namespace(0x14); Get-ChildItem -include ComicMono* | % { $fonts.CopyHere($_.fullname) }
    • # regular
      $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://dtinth.github.io/comic-mono-font/ComicMono.ttf &&
        curl --create-dirs -O --output-dir "${fontsPath}" \
             https://dtinth.github.io/comic-mono-font/ComicMono-Bold.ttf &&
        fc-cache -f -v
      
      # for powerline/vim-airline
      $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/marslo/mytools/raw/master/others/fonts/monospace/Comic-Mono-for-Powerline.ttf &&
        fc-cache -f -v
    • $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/marslo/mytools/raw/master/others/fonts/monospace/Monaco-for-Powerline.otf &&
        fc-cache -f -v
    • $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/marslo/mytools/raw/master/others/fonts/monospace/Menlo-Regular.ttf &&
        fc-cache -f -v
    • $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/powerline/fonts/raw/master/Monofur/Monofur%20for%20Powerline.ttf &&
        curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/powerline/fonts/raw/master/Monofur/Monofur%20Italic%20for%20Powerline.ttf &&
        curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/powerline/fonts/raw/master/Monofur/Monofur%20Bold%20for%20Powerline.ttf &&
        fc-cache -f -v
    • $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/Twixes/SF-Mono-Powerline/raw/master/SF-Mono-Powerline-Regular.otf &&
        curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/Twixes/SF-Mono-Powerline/raw/master/SF-Mono-Powerline-RegularItalic.otf &&
        curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/Twixes/SF-Mono-Powerline/raw/master/SF-Mono-Powerline-Bold.otf &&
        curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/Twixes/SF-Mono-Powerline/raw/master/SF-Mono-Powerline-BoldItalic.otf &&
        fc-cache -f -v
    • $ curl --create-dirs -O --output-dir "${fontsPath}" \
             https://github.com/benbusby/anomaly-mono/raw/master/AnomalyMono-Powerline.otf &&
        fc-cache -f -v

google fonts

[!NOTE|label:references:]

LaTeX fonts

[!NOTE|label:references:]

tips

[!NOTE|label:references:]

Mac Office Fonts

[!TIP|label:references:]

  • CloudFonts:

    • osx: ~/Library/Group Containers/UBF8T346G9.Office/FontCache/4/CloudFonts

    • windows: %LOCALAPPDATA%\Microsoft\FontCache\4\CloudFonts

  • Default Fonts:

    • osx:

      • outlook: /Applications/Microsoft Outlook.app/Contents/Resources/DFonts

      • word: /Applications/Microsoft Word.app/Contents/Resources/DFonts

  • OfficeFonts:

    • osx: ~/Library/Fonts

    • windows: %LOCALAPPDATA%\Microsoft\Windows\Fonts

|

| | |

| |

|

|

|

|

|

|

| |

support both otf and ttf format

or

|

|

| |

|

|

|

another Monaco

another Monaco

JetBrains |

|

| |

~

&&

&&

* 142 Programming Fonts
* arrowtype/recursive
* ryanoasis/nerd-fonts
* iMarslo NerdFonts
install guild
Patch Fonts with Cursive Italic Styles
sainnhe/icursive-nerd-font
thlineric/icursive-nerd-font
sainnhe/mono-nerd-font
40huo/Patched-Fonts
INPUT™ fonts
Consolas font family
monaspace
monaspace nerd font
Monaspace.zip
Monaspace.tar.xz
ryanoasis/powerline-extra-symbols
ArrowType
oldschool font list
subframe7536/maple-font
字体查看器
LUC DEVROYE
* Iosevka Customizer
be5invis/Iosevka
小白教程,如何使用FontForge修改字体的名称?
Which font is used in Visual Studio Code Editor and how to change fonts?
list particular field of fonts properties
How to get font information (ttf, otf) on the command line with fontconfig's fc-scan utility for my system language?
fc-scan format - fcpatternformat
How to retrieve .ttf font version?
Proportional vs. Monospaced Numbers: When to use which one in order to avoid “Wiggling Labels”
Type Classifications
中文网字计划 - 字图 CDN
github
猫啃
自由字体网
找字体
自改免费开源字体一览
开源字体一览(图文版)
落霞孤鹜 - lxgw
npm - chinese-fonts
字库星球
霞鹜漫黑 - lxgw/LxgwMarkerGothic
霞鹜文楷 包括 LXGWWenKaiMono
霞鹜文楷 Bright
霞鹜臻楷
霞鹜新晰黑
霞鹜漫黑
芫荽
猫啃网糖圆体
抖音美好体
quark
小赖字体
悠哉字体
优设鲨鱼菲特健康体
download - sxir
更纱黑体
更纱黑体 NF
vscode等宽字体选择:更纱黑体
Monaco
iMarslo: MonacoNerdFontMono-Regular
Monaco Nerd Font Mono
Monaco Nerd Font
Monaco for Powerline.ttf
Monaco for Powerline.otf
RecMonoCasual
iMarslo Recursive
Comic Mono
knolljo/comic-mono-nerd
Comic Mono
Comic Mono for NF
here
Agave
Agave Nerd Font Mono
AgaveNerdFontMono-Regular.ttf
AgaveNerdFontMono-Bold.ttf
Operator Mono
40huo/Patched-Fonts - otf
NF patched fonts - otf
* xiyaowong/Operator-Fonts - ttf
mirror
* beichensky/Font
为VSCode 设置好看的字体:Operator Mono
mirror
补丁字体:Operator Mono的书呆子字体补丁
ajaybhatia/operator-mono-nerd-fonts
mirror
TarunDaCoder/OperatorMono_NerdFont
mirror
Operator Mono Ligatures Files
kiliman/operator-mono-lig
Gohu
Monaspace RN
monaspace nerd font
Monaspace.zip
Monaspace.tar.xz
download
Karmenzind/monaco-nerd-fonts
xtevenx/ComicMonoNF
#1103 What does --variable-width-glyphs do now?
AgaveNerdFontMono
CodeNewRoman
DejaVuSansMono
BigBlueTerminal
Monofur
ComicShannsMono
DaddyTimeMono
FantasqueSansMono
NerdFontsSymbolsOnly
CascadiaCode
EnvyCodeR
IBMPlexMono
original
JetBrains Nerd Font
FantasqueSansM
NF download
lekton
download NF
Lekton info
Comic Mono font
Showing special Unicode characters on MacOS
GNU Unifont Glyphs
* lujiacn/Monaco for Powerline.md
Monaco for Powerline.ttf
* supermarin/powerline-fonts
Monaco for Powerline.otf
Menlo Regular for Powerline.otf
DejaVu Sans Mono for Powerline.otf
* powerline/fonts
AnwarShah/fonts
Monofur for Powerline.ttf
* Twixes/SF-Mono-Powerline
* benbusby/anomaly-mono
yumitsu/font-menlo-extra
ithewei/powerline-fonts
JayXon/powerline-web-fonts
github topic: powerline-fonts
ryanoasis/nerd-fonts
Powerline Fonts
Change font for non-legacy command prompt in Windows 10 with non-ASCII charset - Properties vs default values?
gdetrez/powerline-test.sh
cominc mono
comic mono for powerline
monaco for powerline osx version
monaco for powerline windows version
menlo for powerline
monofur for powerline
sf-mono for powerline
anomaly mono for powerline
google/fonts
fonts.google.com
The LATEX Font Catalogue
分享字体表中的部分中文字体,自取自用 #46
到底有哪些好看又免费的字体?这篇合集快收藏!
好看的中文字体 - 字形预览
字体天下
font patcher
patch fonts
setup font-patcher
patch fonts
check fonts
get font name by language
rename fonts to postscriptname
get font version
fonts
cn
chinese fonts
highly recommended
Monaco
RecMonoCasual
Comic Mono
Agave
Operator Mono
Gohu
Monaspace RN
nerd-fonts
pixel
hand-writing
symbole
others
powerline fonts
google fonts
LaTeX fonts
tips
Mac Office Fonts
font-patcher