diff --git a/Terminal.Gui/Views/Label.cs b/Terminal.Gui/Views/Label.cs index db6a930e1..e7e1a93d0 100644 --- a/Terminal.Gui/Views/Label.cs +++ b/Terminal.Gui/Views/Label.cs @@ -96,10 +96,14 @@ namespace Terminal.Gui { static ustring ClipAndJustify (ustring str, int width, TextAlignment talign) { - int slen = str.Length; - if (slen > width) - return str [0, width]; - else { + int slen = str.RuneCount; + if (slen > width){ + var uints = str.ToRunes (width); + var runes = new Rune [uints.Length]; + for (int i = 0; i < uints.Length; i++) + runes [i] = uints [i]; + return ustring.Make (runes); + } else { if (talign == TextAlignment.Justified) { // TODO: ustring needs this var words = str.ToString ().Split (whitespace, StringSplitOptions.RemoveEmptyEntries);