SkillAgentSearch skills...

Monospacifier

Convert variable-pitch fonts to monospace (useful for unicode and indentation-friendly programming)

Install / Use

/learn @cpitclaudel/Monospacifier
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

monospacifier.py

A great way to increase the Unicode coverage of your favorite programming font.

monospacifier.py adjusts every character of your favorite variable-width font to match a reference monospace font. The result is a good fallback font for characters not covered by the reference: the result is a font setup with good Unicode coverage, without breaking indentation.

default vs monospacified

Pre-monospacified fonts (monospace fonts with good Unicode coverage)

Instead of running this program, you can use one of the pre-generated monospace fonts listed below (to be use as a fallback, for symbols not covered by your favorite font).

Download a fallback font

Choose from this list, based on your main programming font. Note that some fonts needed to be renamed to comply with their licenses (Asana → Asanb, STIX → STIY).

| Programming font | Monospacified fallback fonts | |:----------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | DejaVu Sans Mono | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | Inconsolata LGC for Powerline | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | Inconsolata | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | Liberation Mono | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | Source Code Pro | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | Terminus (TTF) | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | Ubuntu Mono | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math | | mononoki | Asana Math, FreeSerif, Latin Modern Math, STIX Math, Symbola, TeX Gyre Schola Math, XITS Math, XITS Math |

If your favorite combination is not available, please let me know.

Install it

  • On Windows put the font in C:\Windows\Font.
  • On Debian-inspired systems put the font in ~/.fonts and run fc-cache.

Configure fallback

Emacs

Add the following snippet to your .emacs (replacing font names as appropriate), then restart:

(dolist (ft (fontset-list))
  (set-fontset-font ft 'unicode (font-spec :name "<monospace font>"))
  (set-fontset-font ft 'unicode (font-spec :name "<variable-width font> monospacified for <monospace font>") nil 'append))

Here are two examples:

(dolist (ft (fontset-list))
  (set-fontset-font ft 'unicode (font-spec :name "Consolas"))
  (set-fontset-font ft 'unicode (font-spec :name "Symbola monospacified for Consolas") nil 'append))
(dolist (ft (fontset-list))
  (set-fontset-font ft 'unicode (font-spec :name "DejaVu Sans Mono"))
  (set-fontset-font ft 'unicode (font-spec :name "Asanb Math monospacified for DejaVu Sans Mono") nil 'append))

urxvt

Fallback fonts can be used with urxvt using comma-separated values to the -fn switch:

urxvt -fn 'xft:Consolas,xft:Symbola monospacified for Consolas'

This can also be set in the `.Xres

Related Skills

View on GitHub
GitHub Stars418
CategoryDevelopment
Updated20d ago
Forks32

Languages

Python

Security Score

95/100

Audited on Mar 4, 2026

No findings