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
