On 2022-12-28 13:27, Thomas Guyot-Sionnest wrote:
FWIW I use FiraCode in urxvt and ligatures aren't shown - everywhere
else I use that font where ligatures works I get the combined form. As a
last test I tried disabling ligatures in VS Code and it reverted to the
individual form, even slightly overlapped so that was even worse, so I'm
even more convinced it's done by ligatures now...

Also worth nothing, with Fira Code under VS Code, ligatures normally always end 
up as the same length, so even though === can be ligatured to ≡ it's still 
taking 3 chars length (Fira makes some glyphs longer and may also increase the 
free space around them so they fit better).

For all the tested Arabic chars in the previous email, all end up with a 
slightly shorter width in VS Code so I presume it's using a substitute font and 
doesn'T care as much about alignment, so we lose the fixed width property. This 
would be bad for rxvt (besides losing alignment, I presume lines are folded 
based on char count not rendered length). I think the ligatured version would 
probably also look quite ugly in a word if it took the width of two characters, 
so even if we could get the ligatures working.

OTOH is does appears VS Code assume ligatures are always enabled, since when 
disabled the two chars clash with each other; my impression is that it's 
allocating either half the width for each character or the width of the 
ligature replacement, assuming the font will render the ligature.

And then, another issue would be line wrapping - how do you render a 2-3 char ligature 
across the border? Unless you can wrap "ahead", meaning some lines would wrap 
before the terminal width, the end result would be un-ligatured characters on the near 
edges of both line! (In any case, please don't break line warping, it works flawlessly in 
rxvt-unicode and I love it).

Regards,

--
Thomas


_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/mailman/listinfo/rxvt-unicode

Reply via email to