visual-studio-codearchlinuxfont-rendering

Visual Studio Code displays two separate characters as a single character


I'm using Arch Linux, and have configured my locale to en_GB.UTF-8. In any other program, including the integrated terminals, if I type `e, they are displayed as two separate characters. This is the behaviour I expect.

Whenever I type `e into VSC, it instead gets displayed as è, which I do not want. It is also adding spacing for the missing character, leading me to believe this is an issue with how VSC is rendering the characters instead of an issue with my locale or input method.

what the vsc text looks like - notice how the highlighting shows the e character is still there but invisible

same font in the integrated terminal - no issue

My file encodings are UTF-8.

I want to know how to display these correctly as separate characters, or what in my system config might be causing VSC to display them as a single character.

Other questions on this topic have suggested IME issues but the characters here have been inputted correctly, it is only how they are displayed which is incorrect. I do not have a display manager, and my window manager is bspwm, which does not affect locale settings. I think VSC might be looking for some kind of config file or environment variable that I have not set or does not exist, which may be causing this.


Solution

  • As it turns out, this is an issue with the font I've been using (Inconsolata) so my solution has simply been to change to a different one instead. Not perfectly satisfying but patching whatever the issue is would be way harder for me.