From f7952b4954a6b03e492a7f7709d93836e9074e9f Mon Sep 17 00:00:00 2001 From: Joel Christner Date: Fri, 19 Jun 2026 21:58:49 -0700 Subject: [PATCH] Fix DEC special graphics lower-right corner --- src/XTerm.NET.Tests/InputHandlerTests.cs | 15 +++++++++++++++ src/XTerm.NET/Common/Charsets.cs | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/XTerm.NET.Tests/InputHandlerTests.cs b/src/XTerm.NET.Tests/InputHandlerTests.cs index 4fd205f..c6da7e2 100644 --- a/src/XTerm.NET.Tests/InputHandlerTests.cs +++ b/src/XTerm.NET.Tests/InputHandlerTests.cs @@ -64,6 +64,21 @@ public void Print_MultipleCharacters_PrintsSequentially() Assert.Equal("Hello", line.TranslateToString(true, 0, 5)); } + [Fact] + public void Write_DecSpecialGraphics_MapsCornersCorrectly() + { + // Arrange + var terminal = CreateTerminal(); + + // Act + terminal.Write("\x1B(0jklmqx\x1B(Bj"); + + // Assert + var line = terminal.Buffer.Lines[0]; + Assert.NotNull(line); + Assert.Equal("\u2518\u2510\u250c\u2514\u2500\u2502j", line.TranslateToString(true)); + } + [Fact] public void HandleCsi_CursorUp_MovesCursor() { diff --git a/src/XTerm.NET/Common/Charsets.cs b/src/XTerm.NET/Common/Charsets.cs index da1df6e..b8a6a01 100644 --- a/src/XTerm.NET/Common/Charsets.cs +++ b/src/XTerm.NET/Common/Charsets.cs @@ -14,7 +14,7 @@ public static class Charsets public static readonly Dictionary VT100LineDrawing = new() { // Box Drawing Characters - { 'j', "\u250c" }, // ? Bottom right corner + { 'j', "\u2518" }, // ? Bottom right corner { 'k', "\u2510" }, // ? Top right corner { 'l', "\u250c" }, // ? Top left corner { 'm', "\u2514" }, // ? Bottom left corner