Open stevemolitor opened 4 months ago
Actually, it happens at various font sizes - the issue occurs at font sizes 10, 11, 12, 13, 17, 18, 19. But it does not occur at sizes 14, 15, 16, 20.
Could the hinting be off at some sizes?
Thanks, @stevemolitor, for bringing this to my attention. I revisited my ligature design to check for any mistakes, but I couldn't find any errors. I suspect it might be an IDE issue, but I'm not sure where the problem lies
Thanks @fabrizioschiavi.
I noticed that PragmataPro does not render ligatures well in Emacs in other ways. In the gif below, you can see that turning ligatures on and off (by enabling and disabling auto-composition-mode
) shifts the character alignment around. This does not happen in VS Code, nor with other ligature fonts in Emacs:
So something is different about how PragmataPro implements ligatures. I can't say it's wrong per se since it seems to work in other editors, but OTOH Emacs handles other ligaturized fonts fine. I only see these issues with PragmataPro in Emacs. Iosevka, Berkely Mono, Commit Mono, JetBrains Mono, Fira Code, etc.
For example, here is FiraCode. Note that the alignment does not shift around as I turn ligatures on and off:
Could there be something different in how PragmataPro implements ligatures compared to other fonts?
In the gif below, notice that the line height of the first line gets shifted down when I type the
||
ligature:I'm using Emacs 29.3 on MacOS with PragmataPro Mono Liga. If I increase the font height to 15 or higher the problem goes away. The problem only occurs on font heights of 14 or lower.
This only happens with this ligature. Others like
&&
work fine with no shifting.I do not see this problem in my Emacs with other fonts with similar ligatures like Iosevka.
I also do not see the problem in VSCode, so this could be an Emacs-specific issue. Still it's odd that it only happens to me with PragamataPro, and only this particular ligature.