The ss01 option includes these ligatures seemingly inspired by Fira Code's liga:
== becomes a wide equal sign with no visible gap
!= adds a slash across this ==
=== becomes a stack of three dashes
!== adds a slash across this ===
I was never fond of this, as it makes = and == less distinguishable and obfuscates the meaning of ===. Thankfully, Fira Code offers an alternative via ss08:
== merges somewhat but retains a small gap
!= adds a slash across this == but the gap remains noticeable
=== merges somewhat but retains small gaps
!== adds a slash across the middle = of this ===
It would be nice if these were also available in Monaspace.
That said, this draws attention to a bigger issue: ss01 includes many unrelated ligatures that you wouldn't want enabled in all contexts. For instance, the substitutions for !~, ~~, =~ and ~~ would make no sense in languages where ~ is the binary inverse operator, yet you can't leave them out if you want to enable the substitutions for != and !==.
The
ss01option includes these ligatures seemingly inspired by Fira Code'sliga:==becomes a wide equal sign with no visible gap!=adds a slash across this=====becomes a stack of three dashes!==adds a slash across this===I was never fond of this, as it makes
=and==less distinguishable and obfuscates the meaning of===. Thankfully, Fira Code offers an alternative viass08:==merges somewhat but retains a small gap!=adds a slash across this==but the gap remains noticeable===merges somewhat but retains small gaps!==adds a slash across the middle=of this===It would be nice if these were also available in Monaspace.
That said, this draws attention to a bigger issue:
ss01includes many unrelated ligatures that you wouldn't want enabled in all contexts. For instance, the substitutions for!~,~~,=~and~~would make no sense in languages where~is the binary inverse operator, yet you can't leave them out if you want to enable the substitutions for!=and!==.