Here is some info about why changes were made to background/foreground color handling.
Since Sublime Text’s font drawing engine has been updated to support characters than span multiple characters (specifically in this case to support the much requested feature of ligatures), it is no longer possible to presume that a character is contained within a selection (or other filled region). If the characters >=
are displayed as a glyph that is 2em wide, selecting the >
will result in the selection cutting down the middle of the character.
Previously, when a character could not overflow the monospace bounding box, it was possible to draw a background color for a selection/region and then draw the selected text over the background in a different color. There was some wasted performance, but there were preconditions that made it straight forward to handle.
Now that characters can be bisected by selections and regions, there isn’t a straight forward way to handle drawing half of a glyph in one color and half in another. Thus, to fix certain aspects, we had to limit certain features.
Obviously during these dev cycles we are working on significant changes, and sometime we’ll need real-world validation from users about those changes. Please keep the feedback coming, and we’ll keep working on finding the best possible solution. I know Jon is already working on further improvements!