saefulbarkah / programming-fonts

Programming Fonts with Ligatures added (& a script to add them to other fonts)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ligaturizer

Add ligatures to any coding font!

This repo contains 2 things:

  1. Programming fonts with ligatures added (in output-fonts/), including:
  1. A fontforge python script (ligaturize.py) that adds the ligatures from Fira Code to a font without ligatures

Here's a couple examples of the fonts generated: SF Mono with ligatures (note the != and ->):

Credit
This awesome script was written by IlyaSkriblovsky for adding ligatures to Deja Vu Sans Mono (dv-code-font). I made a few changes to generalize the script so that it works for any font, so that I could add ligatures to my favorite fonts.

Requirements

Using the Fonts: See the FiraCode README for a list of supported editors.

Script: This script requires FontForge python bindings. For Debian/Ubuntu they are available in python-fontforge package. For macOS, they are available via brew (brew install fontforge).

Using the Script

  1. Move/copy the font you want to ligaturize into input-fonts/
  2. Run the script: $ fontforge -lang=py ligaturize.py
  3. You'll be prompted for the name of the font, and the name for the generated font. Example:
❯ fontforge -lang=py ligaturize.py
    ...
Enter the source font filename (including extension): RobotoMono-Regular.ttf
Enter a name for your ligaturized font -- or press ENTER to use the same name: <PRESS ENTER>
    ...
Generated ligaturized font Roboto Mono L in ligaturized-fonts/RobotoMono.ttf
❯ fontforge -lang=py ligaturize.py
    ...
Enter the source font filename (including extension): RobotoMono-Regular.ttf
Enter a name for your ligaturized font -- or press ENTER to use the same name: RobotoMonoL
    ...
Generated ligaturized font Roboto Mono L in ligaturized-fonts/RobotoMonoL.ttf

If you don't provide a name for the new font, it will have the same name as the input font.

Misc.

For more awesome programming fonts with ligatures, check out:

  1. FiraCode
  2. Hasklig

About

Programming Fonts with Ligatures added (& a script to add them to other fonts)


Languages

Language:Python 100.0%