Lukas Wirth
62083fe796
gpui: Do not render ligatures between different styled text runs ( #37175 )
...
Currently when we render text with differing styles adjacently we might
form a ligature between the text, causing the ligature forming
characters to take on one of the two styles. This can especially become
confusing when a ligature is formed between actual text and inlay hints.
Annoyingly, the only ways to prevent this with core text is to either
render each run separately, or to insert a zero-width non-joiner to
force core text to break the ligatures apart, as it otherwise will merge
subsequent font runs of the same fonts.
We currently do layouting on a per line basis and it is unlikely we want
to change that as it would incur a lot of complexity and annoyances to
merge things back into a line, so this goes with the other approach of
inserting ZWNJ characters instead.
Note that neither linux nor windows seem to currently render ligatures,
so this only concerns macOS rendering at the moment.
Release Notes:
- Fixed ligatures forming between real text and inlay hints on macOS
2025-09-01 09:49:52 +02:00
..
2025-08-29 17:58:54 +00:00
2025-08-25 16:04:44 -06:00
2025-08-20 14:07:37 +02:00
2025-08-20 14:07:37 +02:00
2025-08-26 13:55:09 +00:00
2025-08-29 18:26:11 -04:00
2025-08-29 16:56:10 -04:00
2025-08-30 03:03:47 +00:00
2025-08-30 19:51:08 +00:00
2025-08-25 17:21:20 +00:00
2025-08-28 12:00:44 +00:00
2025-08-19 21:26:17 +02:00
2025-08-13 13:25:52 -06:00
2025-08-20 12:20:13 +02:00
2025-08-27 23:24:19 +00:00
2025-08-28 13:32:30 -06:00
2025-08-27 23:24:19 +00:00
2025-08-31 19:52:43 -04:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-29 17:18:52 -07:00
2025-08-20 12:20:13 +02:00
2025-07-22 11:55:24 -04:00
2025-08-29 18:13:06 -04:00
2025-08-27 23:24:19 +00:00
2025-08-22 03:48:47 -04:00
2025-08-29 16:56:10 -04:00
2025-08-20 12:20:13 +02:00
2025-08-29 17:18:52 -07:00
2025-08-29 16:56:10 -04:00
2025-08-22 11:45:47 -04:00
2025-08-07 01:28:41 +00:00
2025-08-11 15:34:34 +02:00
2025-08-29 17:08:42 +03:00
2025-08-29 16:56:10 -04:00
2025-08-26 00:27:52 +00:00
2025-08-20 12:20:13 +02:00
2025-08-22 13:16:42 +00:00
2025-08-31 18:51:17 -04:00
2025-08-21 19:59:42 -04:00
2025-08-19 21:26:17 +02:00
2025-08-29 16:56:10 -04:00
2025-08-28 07:53:32 +00:00
2025-08-26 00:27:52 +00:00
2025-07-06 14:52:16 +02:00
2025-08-20 12:20:13 +02:00
2025-08-28 14:40:43 +00:00
2025-08-28 12:00:44 +00:00
2025-08-29 17:08:42 +03:00
2025-08-27 03:24:50 +08:00
2025-08-22 11:45:47 -04:00
2025-08-22 11:45:47 -04:00
2025-08-29 16:56:10 -04:00
2025-08-20 20:14:30 +02:00
2025-07-10 21:08:43 +02:00
2025-08-19 20:33:44 +00:00
2025-08-20 12:05:58 +02:00
2025-08-16 19:00:31 +00:00
2025-08-29 17:18:52 -07:00
2025-08-20 12:20:13 +02:00
2025-08-26 15:30:26 +02:00
2025-08-21 19:59:42 -04:00
2025-08-29 16:56:10 -04:00
2025-08-19 21:26:17 +02:00
2025-08-28 13:32:30 -06:00
2025-08-19 13:27:24 +00:00
2025-08-06 10:53:20 +02:00
2025-08-20 20:14:30 +02:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-28 12:00:44 +00:00
2025-09-01 09:49:52 +02:00
2025-08-29 16:56:10 -04:00
2025-08-21 17:19:57 +00:00
2025-08-19 13:27:24 +00:00
2025-08-20 12:20:13 +02:00
2025-08-28 07:53:32 +00:00
2025-08-29 16:56:10 -04:00
2025-08-24 11:01:42 +00:00
2025-08-18 21:54:35 +00:00
2025-08-19 20:33:44 +00:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-18 21:54:35 +00:00
2025-08-27 12:53:07 +00:00
2025-08-31 18:51:17 -04:00
2025-08-19 13:27:24 +00:00
2025-08-29 12:23:45 +00:00
2025-08-29 17:08:42 +03:00
2025-08-21 15:56:16 +02:00
2025-07-25 09:36:43 -04:00
2025-08-29 17:08:42 +03:00
2025-08-26 12:55:40 -03:00
2025-08-31 11:43:24 +03:00
2025-07-02 21:14:33 -04:00
2025-08-20 12:20:13 +02:00
2025-08-28 12:00:44 +00:00
2025-08-24 09:59:32 +03:00
2025-07-17 14:25:55 +00:00
2025-07-08 14:34:57 +00:00
2025-08-19 20:33:44 +00:00
2025-08-19 13:27:24 +00:00
2025-08-06 10:44:15 -04:00
2025-08-26 00:27:52 +00:00
2025-08-28 12:00:44 +00:00
2025-08-28 12:00:44 +00:00
2025-08-29 16:56:10 -04:00
2025-08-20 12:20:13 +02:00
2025-08-29 17:18:52 -07:00
2025-08-20 12:20:13 +02:00
2025-08-19 21:26:17 +02:00
2025-08-29 17:18:52 -07:00
2025-08-29 16:56:10 -04:00
2025-08-29 14:07:27 -03:00
2025-08-20 12:20:13 +02:00
2025-08-28 14:40:43 +00:00
2025-08-29 17:18:52 -07:00
2025-08-19 13:27:24 +00:00
2025-08-29 17:18:52 -07:00
2025-08-29 17:08:42 +03:00
2025-08-29 16:56:10 -04:00
2025-08-20 12:05:58 +02:00
2025-08-19 13:27:24 +00:00
2025-08-20 12:20:13 +02:00
2025-08-21 06:48:04 +00:00
2025-08-28 03:51:22 +00:00
2025-08-29 03:50:24 +00:00
2025-08-20 12:20:13 +02:00
2025-08-19 13:27:24 +00:00
2025-08-30 17:59:04 +00:00
2025-08-20 12:20:13 +02:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-19 21:26:17 +02:00
2025-08-19 21:26:17 +02:00
2025-08-19 13:27:24 +00:00
2025-08-26 00:27:52 +00:00
2025-08-20 12:20:13 +02:00
2025-08-19 20:33:44 +00:00
2025-08-18 21:54:35 +00:00
2025-08-19 21:26:17 +02:00
2025-08-29 16:17:22 -04:00
2025-08-19 21:26:17 +02:00
2025-08-19 20:33:44 +00:00
2025-08-21 19:59:42 -04:00
2025-08-28 21:07:02 +00:00
2025-08-28 14:40:43 +00:00
2025-08-20 14:35:59 +00:00
2025-08-19 21:26:17 +02:00
2025-08-15 15:37:52 -04:00
2025-08-29 16:56:10 -04:00
2025-08-28 12:59:31 -06:00
2025-08-19 21:26:17 +02:00
2025-08-29 16:56:10 -04:00
2025-08-20 12:20:13 +02:00
2025-08-08 15:34:36 -03:00
2025-08-31 18:24:00 -06:00
2025-08-21 09:37:45 +00:00
2025-08-28 08:40:43 +00:00
2025-08-20 12:20:13 +02:00
2025-07-30 23:03:53 +05:30
2025-08-28 13:32:30 -06:00
2025-08-15 13:54:24 +03:00
2025-08-29 16:56:10 -04:00
2025-08-29 16:56:10 -04:00
2025-08-25 14:28:11 -04:00
2025-08-20 12:20:13 +02:00
2025-08-19 20:33:44 +00:00
2025-08-30 13:13:23 +00:00
2025-08-29 16:56:10 -04:00
2025-08-26 21:08:45 +00:00
2025-08-31 18:24:00 -06:00
2025-08-26 16:59:12 -03:00
2025-08-31 07:23:21 +00:00
2025-08-20 12:20:13 +02:00
2025-08-20 12:20:13 +02:00
2025-08-29 16:56:10 -04:00