code icon indicating copy to clipboard operation
code copied to clipboard

Option to disable font ligatures

Open stijndcl opened this issue 1 year ago • 3 comments

Problem

I'm using a font that has support for ligatures. However, I highly dislike working with them. In my regular IDE I have them disabled, but Code doesn't seem to have support for that.

Proposal

Add a toggle to disable ligatures instead of enforcing them. This would be under Preferences/Interface/Font with the rest of the font-related settings.

Prior Art (Optional)

No response

stijndcl avatar Mar 26 '24 10:03 stijndcl

@stijndcl Are you referring to the Terminal pane (most Google references to disable ligatures are in relation to terminal emulators)? Terminal currently follows the system mono-space font. Do you have this set to a ligature supporting one? If so, do need this?

One option would be to implement custom font choice in Terminal (and terminal pane). So you could choose a suitable non-ligature font as disabling ligatures is not straightforward (there is no Gnome setting).

jeremypw avatar Jun 18 '25 09:06 jeremypw

@jeremypw no, this is about Code itself. Nothing related to the terminal, I use a different non-ligature font there already.

Image

I ended up changing my font in the settings to one without ligatures.

If there's no easy way to do it programmatically then I assume every other application with a "disable ligatures" toggle just does that behind the scenes as well. This could still be implemented by checking if there's an NL variant of the currently selected font, abstracting it away like most other apps do.

Right now I can see dozens and dozens of variants of the same font (bold, regular, thin, ligatures, no ligatures, italic, ...). I'm probably used to all of these being presented as one font with some toggles to switch between the different variants.

stijndcl avatar Jul 31 '25 20:07 stijndcl

@stijndcl I not sure that is possible with the Gtk3 fontchooser, but it looks like after we port to Gtk4 we can use the new FontDialog function https://docs.gtk.org/gtk4/method.FontDialog.choose_font_and_features.html to give the features you desire.

jeremypw avatar Aug 01 '25 14:08 jeremypw