Certain glyphs are clipped
Mostly happens with italics, see the rightmost ascenders on "V" and "w".
- Debian Bullseye Alpha 3 (testing)
- sway v1.5
- foot v1.5.4
- neovim v0.4.4
- Consolas font.
P.S. I have e-mailed Debian package maintainer and enquired about an update the latest upstream version.
P.P.S. Potentially relevant: https://github.com/extrawurst/gitui/issues/464#issuecomment-751316509, please refer to the 2nd screenshot with the arrow symbols.
The closest thing to a "fix" for this we'll see in foot (except implementing an OpenGL/Vulkan backend and re-drawing the entire screen each frame) is #244 (letterspacing, in this case). But that of course means the font will look different. It may be acceptable for some fonts, while others will look way too stretched out.
The arrows is a different issue.
wcwidth()1 considers them to be 1 column wide, but in your font, the glyphs are 2 columns wide. That's why they get split in half (in the screenshot from @extrawurst, the glyphs are single column. I.e. his font agrees with
There could be a couple of reasons for this: one is that these glyphs really are half width (i.e. 1 column wide) and your font is simply bad. Another possibility is that these characters have an undefined width. In that case, fonts like yours aren't wrong, but since
wcwidth() alwayss return 1 for these characters, they are still unusable in a terminal. Without knowing which Unicode codepoints they are, I can't really say more than that.
wcwidth()returns the width of a character, in number of columns. The terminal emulator, and the application running inside it must agree on the width of all characters, otherwise the terminal state gets out of sync and the output will get corrupted. ↩︎
Note that it is also possible that the arrows aren't even available in your font, and that foot (via fontconfig) is loading them from a fallback font.
If that's the case, you can configure either FontConfig (affecting all applications), or customize foot's fallback list in
foot.ini, to use a different fallback font.
Deleting a branch is permanent. It CANNOT be undone. Continue?