In KDE's Konsole, when using a custom build of FontBureau's "Input Mono" font, things are rendered as though the fonts are proportional. This causes no end of problems, as Konsole isn't prepared to handle proportional fonts. The most obvious problem is that the cursor position frequently is incorrect.
The problem has several parts:
- If you're using a custom version, either customized on the FontBureau web site or using the provided
inputCustomize.py, the resulting fonts have a family name of "Input", not "Input Mono" as one might expect.
- Downloads include the "template" fonts, which the customization tool can use to create new custom versions. These template fonts can be found in
Scripts/_template_*.txt. They also have a family name of "Input". They are (kinda of?) proportional, and not intended for direct use.
- I unzipped the entire contents of the
Input_Font.zipfile into my font directory.
- fontconfig can find fonts even if they have unusual extensions, including
When fontconfig rebuilt the cache with the Input fonts it found the template fonts in addition to my custom build. It ended up choosing the template fonts over my monospace custom version. So Konsole seemed to be using proportional fonts because it was!
This is also why the two screenshots above are more different than just widths; the correct version looks distinctly lighter. It is, because it's a different font.
The easy fix is to delete the
Scripts directory, or otherwise modify the template files so fontconfig doesn't recognize them. I did this:
$ cd Scripts $ find -name '*.txt' -print0 | xargs -0 gzip