All Projects → ToxicFrog → Ligaturizer

ToxicFrog / Ligaturizer

Licence: gpl-3.0
Programming Fonts with Ligatures added (& a script to add them to other fonts)

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Ligaturizer

Iosevka-Mayukai
Font based on Iosevka Custom Build, with combination from Iosevka SS04 Menlo, SS07 Monaco, SS09 Source Code Pro, SS12 Ubuntu Mono, SS14 Jetbrains Mono, Hack Style, and some Nerd Font Patching.
Stars: ✭ 149 (-91.41%)
Mutual labels:  font, programming-font, monospace-font, ligatures, programming-fonts
Victor Mono
A free programming font with cursive italics and ligatures. Donations welcome ❤️
Stars: ✭ 1,854 (+6.92%)
Mutual labels:  font, ligatures, programming-font, monospace-font
Iosevka
Versatile typeface for code, from code.
Stars: ✭ 13,137 (+657.61%)
Mutual labels:  font, ligatures, programming-font, monospace-font
Jetbrainsmono
JetBrains Mono – the free and open-source typeface for developers
Stars: ✭ 6,195 (+257.27%)
Mutual labels:  font, ligatures, programming-font
DaddyTimeMono
A Monospaced Font
Stars: ✭ 69 (-96.02%)
Mutual labels:  font, programming-font, monospace-font
Operator Mono Lig
Add ligatures to Operator Mono similar to Fira Code
Stars: ✭ 2,683 (+54.73%)
Mutual labels:  font, ligatures
Lilex
🤘Open source programming font
Stars: ✭ 143 (-91.75%)
Mutual labels:  font, ligatures
Firacode
Free monospaced font with programming ligatures
Stars: ✭ 60,943 (+3414.59%)
Mutual labels:  font, ligatures
Kepler-452b
Futuristic / minimal font family.
Stars: ✭ 13 (-99.25%)
Mutual labels:  font, monospace-font
Haack
Hæck
Stars: ✭ 142 (-91.81%)
Mutual labels:  font, ligatures
brass mono
Retro monospaced font inspired by 70's design.
Stars: ✭ 58 (-96.66%)
Mutual labels:  font, monospace-font
Operator Mono Atom
Free Operator Mono clone for Atom
Stars: ✭ 120 (-93.08%)
Mutual labels:  font, ligatures
Consolas Ligaturized
Standard Consolas font with FiraCode ligatures.
Stars: ✭ 198 (-88.58%)
Mutual labels:  font, ligatures
Pokemon Font
GAME BOY font from Pokémon R/G/B/Y/G/S/C, Unicode extended.
Stars: ✭ 437 (-74.8%)
Mutual labels:  font, ligatures
Hasklig
Hasklig - a code font with monospaced ligatures
Stars: ✭ 5,145 (+196.71%)
Mutual labels:  font, ligatures
fonts
A collection of fonts for coding and everything.
Stars: ✭ 84 (-95.16%)
Mutual labels:  ligatures, coding-fonts
Scientifica
tall, condensed, bitmap font for geeks.
Stars: ✭ 821 (-52.65%)
Mutual labels:  font, ligatures
Fantasque Sans
A font family with a great monospaced variant for programmers.
Stars: ✭ 5,783 (+233.51%)
Mutual labels:  font, monospace-font
Firamonaco
Monaco Font with Firacode ligatures and patched for Powerline 📝
Stars: ✭ 71 (-95.91%)
Mutual labels:  font, ligatures
Fontparts
The replacement for RoboFab
Stars: ✭ 107 (-93.83%)
Mutual labels:  font

Ligaturizer

Add ligatures to any coding font!

This script copies the ligatures (glyphs and rendering information) from Fira Code into any other TrueType or OpenType font. (Note that the ligatures are scale-corrected, but otherwise copied as is from Fira Code; it doesn't create new ligature graphics based on the font you're modifying.)

This repo contains a Fontforge python script that you can use to add the Fira Code ligatures to any font, as well as submodules for some popular coding fonts and another script for ligaturizing all of them at once.

Pre-ligaturized versions are available under releases.

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

Requirements

This Repo: You'll need the repo and its submodules, so git clone with --recurse-submodules.

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 OpenSUSE and NixOS, they are included in the fontforge package. For macOS, they are available via brew (brew install fontforge).

Using the Script

Automatic

Use automatic mode to easily convert 1 or more font(s).

  1. Put the font(s) you want into fonts/.
  2. Edit ligatures.py to disable any ligatures you don't want, and/or enable any (non-ligature) characters you want from Fira Code in addition to the ligatures.
  3. Edit build.py to add your new font(s) to the prefixed_fonts list. It supports globbing, so if (e.g.) you want to ligaturize all the different weights of FooFont you can add 'FooFont*' to the list.
  4. Run make.
  5. Retrieve the ligaturized fonts from fonts/output/.
  6. The output fonts will be renamed with the prefix "Liga".

Manual

  1. Move/copy the font you want to ligaturize into fonts/ (or somewhere else convenient).

  2. Edit ligatures.py to disable any ligatures you don't want.

  3. Run the script:

    $ fontforge -lang py -script ligaturize.py path/to/input/font.ttf
        --output-dir=path/to/output/dir/ \
        --output-name='Name of Ligaturized Font'
    

    e.g.

    $ fontforge -lang py -script ligaturize.py fonts/Cousine-Regular.ttf
        --output-dir='fonts/output/' \
        --output-name='Ligaturized Cousine'
    

    Which will produce fonts/output/LigaturizedCousine-Regular.ttf.

The font weight will be inherited from the original file; the font name will be replaced with whatever you specified in --output-name. You can also use --prefix instead, in which case the original name will be preserved and whatever you put in --prefix will be prepended to it.

ligatures.py supports some additional command line options to (e.g.) change which font ligatures are copied from or enable copying of individual character glyphs; run fontforge -lang=py ligaturize.py --help to list them.

Misc.

Credit

This script was originally written by IlyaSkriblovsky for adding ligatures to DejaVuSans Mono (dv-code-font). Navid Rojiani made a few changes to generalize the script so that it works for any font. ToxicFrog has made a large number of contributions.

Contributions

Contributions always welcome! Please submit a Pull Request, or create an Issue if you have an idea for a feature/enhancement (or bug).

Related Projects

For more awesome programming fonts with ligatures, check out:

  1. FiraCode
  2. Hasklig
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].