GithubHelp home page GithubHelp logo

alexxnica / awesome-terminal-fonts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gabrielelana/awesome-terminal-fonts

0.0 0.0 0.0 2.75 MB

Tools and instructions on how to have awesome symbols in a terminal with a monospace font

License: MIT License

Shell 93.34% PowerShell 0.54% Python 6.12%

awesome-terminal-fonts's Introduction

Why?

Why do you want to use fancy symbols in your standard monospace font? Obviously to have a fancy prompt like mine :-)

prompt

And because when you live in a terminal a symbol can convey more informations in less space creating a dense and beautiful (for those who have a certain aesthetic taste) informative workspace

Heavily inspired by https://github.com/Lokaltog/vim-powerline and the relative patch script from Kim Silkebækken ([email protected])

Patching vs Fallback

There are two strategies that could be used to have symbols in a terminal

  • you can take a bunch of symbol fonts, your favourite monospace font and merge them together (patching strategy)
  • you can use a feature of freetype2 font engine, basically you can say that whenever the current font doesn't have a glyph for a certain codepoint then fallback and go look into other fonts (fallback strategy)

Initially I used the first strategy, later I switched to the second. The patching strategy it's more reliable and portable, the problem is that you need to patch every monospace font you want to use and patching a single font it's a lot of manual fine tuning. If you want you can find all previous patched fonts in patching-strategy branch

Font Maps

  • Wouldn't be cool to be able to call glyphs/symbols by name (ex. AWESOME_LONG_ARROW_DOWN) instead of by codepoint (ex. \uf175)? This is what font maps are meant for, for every symbol font in ./fonts directory you can find a map file in ./build directory that maps each glyph's name to its codepoint in a way that is understandable by most shells

Included Fonts

In this repository you can find a bunch of fonts that I use as symbol fonts with the relative font maps

How to install (Linux)

  • copy all the fonts from ./build directory to ~/.fonts directory
  • run fc-cache -fv ~/.fonts to let freetype2 know of those fonts
  • customize the configuration file ./config/10-symbols.conf replacing PragmataPro with the name of the font you want to use in the terminal (I will add more fonts in the future so that this step could be skippable)
  • copy the above configuration file to ~/.config/fontconfig/conf.d directory

How to install (OSX)

How to install (Windows)

  • Make sure you have permissions to execute Powershell scripts in your machine. To do so, open Windows Powershell as Administrator and paste & exec the following command:
Set-ExecutionPolicy RemoteSigned
  • Then exec install script:
./install.ps1

License

MIT

awesome-terminal-fonts's People

Contributors

gabrielelana avatar iandundas avatar jnardiello avatar leandrocrs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.