Skip to content

Fix DEC special graphics lower-right corner#11

Merged
tomlm merged 2 commits into
tomlm:mainfrom
jchristn:fix/dec-special-graphics
Jun 22, 2026
Merged

Fix DEC special graphics lower-right corner#11
tomlm merged 2 commits into
tomlm:mainfrom
jchristn:fix/dec-special-graphics

Conversation

@jchristn

Copy link
Copy Markdown
Contributor

Summary

  • Correct the DEC Special Graphics mapping for j from top-left corner to lower-right corner.
  • Add a regression test that exercises the real ESC ( 0 parser path and verifies the corner, line, and ASCII-reset behavior.

Why

VT100/xterm DEC Special Graphics maps j to the lower-right box-drawing corner. XTerm.NET was mapping it to the top-left corner, so terminal applications that use DEC line drawing could render boxes with the wrong corner glyph.

Validation

  • dotnet test src\XTerm.NET.slnx
    • 585 passed, 0 failed
    • Existing warnings remain for EscapeSequenceParser.Dcs and Terminal.HyperlinkChanged.

@jchristn jchristn marked this pull request as ready for review June 21, 2026 16:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes an incorrect DEC Special Graphics (VT100 line drawing) character mapping so terminal apps render box corners correctly, and adds a regression test that exercises the actual ESC ( 0 / ESC ( B charset-switching path.

Changes:

  • Correct DEC Special Graphics mapping for j to the Unicode lower-right corner (U+2518).
  • Add a regression test verifying corner/line glyph mappings and that switching back to ASCII restores literal output.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/XTerm.NET/Common/Charsets.cs Fixes the DEC Special Graphics j mapping to the correct lower-right corner glyph.
src/XTerm.NET.Tests/InputHandlerTests.cs Adds a regression test covering ESC ( 0 charset selection, line-drawing output, and ASCII reset behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tomlm tomlm merged commit 394a270 into tomlm:main Jun 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants