![]() ![]() ![]() The `DEL` character is a bit of a special case. Otherwise the GL table is used forĬharacters in the range 0x20 to 0x7F, and the GR table for charactersĠxA0 to 0xFF (technically some character sets will only map up to 0x7EĪnd 0xFE, but that's easily controlled by the length of the Into the appropriate `wstring_view` table. When it comes to mapping a character, it's simply an array reference `IStateMachineEngine` interface to decide which behavior is appropriate. Work, I've added a `ParseControlSequenceAfterSs3` callback in the ![]() (it's literally the _Single Shift 3_ escape sequence). While the output state machine needs it to be dispatched immediately The input state machine treats `SS3` as the start of a control sequence, Machine to make these single shift sequences work. I should mention here that I had to make some changes to the state Method which invokes a G-set temporarily (for just the next character Into either the GL or GR area of the code table, and a `SingleShift` There are then two new `LockingShift` methods to invoke these G-sets Often identified by more than one character). Set that will be designated (at the higher VT levels, character sets are Of the designation, and a pair of characters identifying the character We now have two designate methods (for 94- andĩ6- character sets), and each takes a G-set number specifying the target Initially we had just one `DesignateCharset` method, which could select The active left and right tables, and one instance for the single shift Of four of these tables representing the four G-sets, two instances for Translation tables are represented in most of the code. ![]() This class then casts directly to a `wstring_view` which is how the Many of the character setsĪre simple variations of ASCII, so they're easy to define this way. The characters the deviate from the base set. To make it easier for us to declare a bunch of character sets, I've madeĪ little `constexpr` class that can build up a mapping table from a baseĬharacter set (ASCII or Latin1), along with a collection of mappings for ISO-2022 coding system (which is what the VT character sets require),Īnd adds support for a lot more characters sets, up to around the level It also adds sequences to switch between UTF-8 and the This PR improves our VT character set support, enabling the Įscape sequences to designate into all four G-sets with both 94- andĩ6-character sets, and supports invoking those G-sets into both the GLĪnd GR areas of the code table, with and [single * Improve support for VT character sets (#4496) * Enabled due to the excellent work over in * Add a test to ensure support for trailing commas in `settings.json` (#6312)Īdds support for trailing commas in our json files. * A follow up work item is needed to add support for the current behavior, (`"cursorTextColor": null`), and hooking up that setting to the renderer. * This is essentially `"cursorTextColor": "textForeground"` from #6151. # Detailed Description of the Pull Request / Additional comments I should probably go back and update it, and we should probably approve that first. This lets us weave the cursor background between the text background and the text. While printing runs of text, the DX renderer will try to paint the cursor in `CustomTextRenderer::DrawGlyphRun` INSTEAD of `D圎ngine::PaintCursor`. This function is left unimplemented in the other render engines.Ģ. First, we give the DX engine a "heads up" on where the cursor is going to be drawn during the frame, in `PrepareRenderInfo`. Instead of trying to do lots of work in all the renderers to do backgrounds as one pass, and foregrounds as another, we can localize this change to basically just the DX renderer.ġ. * Draw the cursor underneath text, and above the background (#6337) ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |