From c9a98da01ad8b66e512112c8a2d3f8bf57788641 Mon Sep 17 00:00:00 2001 From: Benedikt Schroeder Date: Tue, 30 Jun 2020 14:50:41 +0200 Subject: [PATCH] Fix mandatory break --- .../Media/TextFormatting/Unicode/LineBreakEnumerator.cs | 2 +- tests/Avalonia.Skia.UnitTests/TextLayoutTests.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakEnumerator.cs b/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakEnumerator.cs index 79c140a957..25a32bb1a3 100644 --- a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakEnumerator.cs +++ b/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakEnumerator.cs @@ -96,7 +96,7 @@ namespace Avalonia.Media.TextFormatting.Unicode if (_nextClass.Value == LineBreakClass.MandatoryBreak) { _lastPos = _pos; - Current = new LineBreak(FindPriorNonWhitespace(_lastPos), _lastPos); + Current = new LineBreak(FindPriorNonWhitespace(_lastPos), _lastPos, true); return true; } diff --git a/tests/Avalonia.Skia.UnitTests/TextLayoutTests.cs b/tests/Avalonia.Skia.UnitTests/TextLayoutTests.cs index 53fef5982b..a2c9f8b8cd 100644 --- a/tests/Avalonia.Skia.UnitTests/TextLayoutTests.cs +++ b/tests/Avalonia.Skia.UnitTests/TextLayoutTests.cs @@ -409,6 +409,8 @@ namespace Avalonia.Skia.UnitTests [InlineData("abcde\r\n", 7)] // Carriage Return + Line Feed [InlineData("abcde\n\r", 7)] // This isn't valid but we somehow have to support it. [InlineData("abcde\u000A", 6)] // Line Feed + [InlineData("abcde\u000B", 6)] // Vertical Tab + [InlineData("abcde\u000C", 6)] // Form Feed [InlineData("abcde\u000D", 6)] // Carriage Return public void Should_Break_With_BreakChar(string text, int expectedLength) {