diff --git a/Terminal.Gui/Text/TextFormatter.cs b/Terminal.Gui/Text/TextFormatter.cs index a4a8b7060..f426d7659 100644 --- a/Terminal.Gui/Text/TextFormatter.cs +++ b/Terminal.Gui/Text/TextFormatter.cs @@ -2124,7 +2124,7 @@ public class TextFormatter var start = string.Empty; var i = 0; - foreach (Rune c in text) + foreach (Rune c in text.EnumerateRunes ()) { if (c == hotKeySpecifier && i == hotPos) { diff --git a/UnitTests/Views/LabelTests.cs b/UnitTests/Views/LabelTests.cs index c58be7974..b798fbe80 100644 --- a/UnitTests/Views/LabelTests.cs +++ b/UnitTests/Views/LabelTests.cs @@ -1460,4 +1460,16 @@ e Application.Top.Dispose (); Application.ResetState (); } + + // https://github.com/gui-cs/Terminal.Gui/issues/3893 + [Fact] + [SetupFakeDriver] + public void TestLabelUnderscoreMinus () + { + var lbl = new Label () + { + Text = "TextView with some more test_- text. Unicode shouldn't 𝔹Aℝ𝔽!" + }; + lbl.Draw (); + } }