I think I've identified the font "problem" -
em size not a power of 2. The Input font I use has an
em size of 1100. Source Code Pro and Fira Mono have an
em of 1000. Consolas and Hack have an
em of 2048.
I opened the Input font with FontForge and changed the
em size to 1024 and let it transform all glyphs. I then saved it as a TTF font. Doing this with 1100 warns that the TTF convention is to use a power of 2 em:
While a power-of-2
em does fix the indentation guides, it makes some glyphs look very wrong. So as was said before, the one option is for the font author to fix the font by following convention and fixing up glyphs to match. The other is for Sublime Text to handle fonts with
em of unconventional values (Fira Mono/Code, Source Code Pro, Ubuntu Mono all use 1000, Input uses 1100). The last option is for the user to avoid these fonts.
All that aside, it looks like the recent font rendering rework makes
em 1000 fonts work correctly. It looks like 1000 is an accepted non-conventional value and popular, while 1100 is just outright weird. This means most other popular fonts now work correctly.
Note lines 4 and 7 using build 3143 with Fira Mono size 13:
and build 3147 with Fira Mono size 13: