From b56edacbac9e3395e84d3dd248abef2e6e66bc16 Mon Sep 17 00:00:00 2001 From: BDisp Date: Fri, 16 Oct 2020 17:08:57 +0100 Subject: [PATCH] Fixes #225 and maybe #41. Allowing Rune.ColumnWidth greater than one. --- Example/demo.cs | 2 ++ Terminal.Gui/Core/ConsoleDriver.cs | 5 +---- UICatalog/UICatalog.cs | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Example/demo.cs b/Example/demo.cs index e395cb2ea..267071c71 100644 --- a/Example/demo.cs +++ b/Example/demo.cs @@ -549,6 +549,8 @@ static class Demo { public static Action running = MainApp; static void Main () { + Console.OutputEncoding = System.Text.Encoding.Default; + while (running != null) { running.Invoke (); } diff --git a/Terminal.Gui/Core/ConsoleDriver.cs b/Terminal.Gui/Core/ConsoleDriver.cs index 2ad8e9954..54511d642 100644 --- a/Terminal.Gui/Core/ConsoleDriver.cs +++ b/Terminal.Gui/Core/ConsoleDriver.cs @@ -571,14 +571,11 @@ namespace Terminal.Gui { } else if (c >= 0x80 && c <= 0x9F) { // C1 control characters (https://www.aivosto.com/articles/control-characters.html#c1) return new Rune (0x25a1); // U+25A1, WHITE SQUARE, □: - } else if (Rune.ColumnWidth (c) > 1) { - // BUGBUG: Until we figure out how to fix #41. Note this still doesn't help when - // an Emoji or other char doesn't represent it's width correctly - return new Rune (0x25a1); // U+25A1, WHITE SQUARE, □: } else { return c; } } + /// /// Adds the specified /// diff --git a/UICatalog/UICatalog.cs b/UICatalog/UICatalog.cs index 3a45e9584..ff61af42f 100644 --- a/UICatalog/UICatalog.cs +++ b/UICatalog/UICatalog.cs @@ -64,6 +64,8 @@ namespace UICatalog { static void Main (string [] args) { + Console.OutputEncoding = Encoding.Default; + if (Debugger.IsAttached) CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo ("en-US");