From 46d4735868132e0eff094ee152f3d54517f01182 Mon Sep 17 00:00:00 2001 From: Alexandre Mutel Date: Fri, 4 Apr 2025 11:34:56 +0200 Subject: [PATCH] Fix issue with OverhangLeading (#18438) * Fix issue with MinTextWidth (Fixes #18372) * Make sure that MeasureOverride for TextPresenter and TextBlock are using same textWidth * Revert #16601 that is introducing an invalid calculation for the OverhangLeading Add tests for OverhangLeading and OverhangTrailing * Revert MinTextWidth * Fix tests to not rely on fixed values * Fix remaining issues * Fix comment in Direct2D1 GlyphRunImpl.cs * Fix Direct2D1 rendering * Fix gold images * Restore TextLineImpl * Update gold image * Restore Math.Max on OverhangLeading and Trailing * Adopt similar behavior to WPF: don't use OverhangLeading/Trailing for measuring and remove clip by default. But it requires further support with NeedsClipBounds * Remove MinTextWidth Keep ClipToBounds=true default for TextBlock * Revert change --------- Co-authored-by: Benedikt Stebner --- .../Media/TextFormatting/TextLayout.cs | 57 ++---- .../Presenters/TextPresenter.cs | 5 +- src/Avalonia.Controls/TextBlock.cs | 5 +- src/Skia/Avalonia.Skia/GlyphRunImpl.cs | 6 - .../Avalonia.Direct2D1/Media/GlyphRunImpl.cs | 29 ++- .../TextBlockTests.cs | 2 +- .../Assets/SourceSerif4_36pt-Italic.ttf | Bin 0 -> 208028 bytes .../Controls/TextBlockTests.cs | 190 ++++++++++++++---- .../Avalonia.Skia.UnitTests.csproj | 8 +- .../Media/TextFormatting/TextLayoutTests.cs | 29 +++ ...estrictedHeight_VerticalAlign.expected.png | Bin 773 -> 788 bytes ...Overhang_Leading_And_Trailing.expected.png | Bin 0 -> 12550 bytes ...t_WithOverHandLeadingTrailing.expected.png | Bin 0 -> 17870 bytes ...ould_Draw_Run_With_Background.expected.png | Bin 947 -> 902 bytes .../Should_Draw_TextDecorations.expected.png | Bin 1279 -> 1376 bytes ...hould_Keep_TrailingWhiteSpace.expected.png | Bin 0 -> 4117 bytes ..._Arrange_TextBlock_150_NoWrap.expected.png | Bin 3526 -> 3497 bytes ...e_Arrange_TextBlock_44_NoWrap.expected.png | Bin 1169 -> 1157 bytes ...ure_Arrange_TextBlock_44_Wrap.expected.png | Bin 3914 -> 3915 bytes .../TextBlock/Wrapping_NoWrap.expected.png | Bin 1206 -> 1130 bytes ...Overhang_Leading_And_Trailing.expected.png | Bin 0 -> 12595 bytes ...t_WithOverHandLeadingTrailing.expected.png | Bin 0 -> 19468 bytes ...hould_Keep_TrailingWhiteSpace.expected.png | Bin 0 -> 3517 bytes 23 files changed, 233 insertions(+), 98 deletions(-) create mode 100644 tests/Avalonia.RenderTests/Assets/SourceSerif4_36pt-Italic.ttf create mode 100644 tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Account_For_Overhang_Leading_And_Trailing.expected.png create mode 100644 tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_MultiLineText_WithOverHandLeadingTrailing.expected.png create mode 100644 tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Keep_TrailingWhiteSpace.expected.png create mode 100644 tests/TestFiles/Skia/Controls/TextBlock/Should_Account_For_Overhang_Leading_And_Trailing.expected.png create mode 100644 tests/TestFiles/Skia/Controls/TextBlock/Should_Draw_MultiLineText_WithOverHandLeadingTrailing.expected.png create mode 100644 tests/TestFiles/Skia/Controls/TextBlock/Should_Keep_TrailingWhiteSpace.expected.png diff --git a/src/Avalonia.Base/Media/TextFormatting/TextLayout.cs b/src/Avalonia.Base/Media/TextFormatting/TextLayout.cs index 590d2f2133..34dc8e8420 100644 --- a/src/Avalonia.Base/Media/TextFormatting/TextLayout.cs +++ b/src/Avalonia.Base/Media/TextFormatting/TextLayout.cs @@ -273,11 +273,6 @@ namespace Avalonia.Media.TextFormatting } } - /// - /// Get minimum width of all text lines that can be layouted horizontally without trimming or wrapping. - /// - internal double MinTextWidth => _metrics.MinTextWidth; - /// /// Draws the text layout. /// @@ -679,45 +674,30 @@ namespace Avalonia.Media.TextFormatting private void UpdateMetrics(TextLineImpl currentLine, ref bool first) { - // 1) Offset each line’s bounding rectangles by the total height so far, - // so we keep an overall bounding box for the entire text block. - var lineTop = _metrics.Height; - - // Offset the line's Bounds - var lineBoundsRect = new Rect( - currentLine.Bounds.X, - lineTop + currentLine.Bounds.Y, - currentLine.Bounds.Width, - currentLine.Bounds.Height); - - _metrics.Bounds = _metrics.Bounds.Union(lineBoundsRect); - - // Offset the line's InkBounds - var lineInkRect = new Rect( - currentLine.InkBounds.X, - lineTop + currentLine.InkBounds.Y, - currentLine.InkBounds.Width, - currentLine.InkBounds.Height); - - _metrics.InkBounds = _metrics.InkBounds.Union(lineInkRect); - - // 2) Accumulate total layout height by adding the line’s Height. + // 1) Accumulate total layout height by adding the line’s Height. _metrics.Height += currentLine.Height; - // 3) For the layout’s Width and WidthIncludingTrailingWhitespace, + // 2) For the layout’s Width and WidthIncludingTrailingWhitespace, // use the maximum of the line widths rather than the bounding box. _metrics.Width = Math.Max(_metrics.Width, currentLine.Width); - _metrics.WidthIncludingTrailingWhitespace = Math.Max(_metrics.WidthIncludingTrailingWhitespace, currentLine.WidthIncludingTrailingWhitespace); - // 4) Extent is the max black-pixel extent among lines. + // 3) Extent is the max black-pixel extent among lines. _metrics.Extent = Math.Max(_metrics.Extent, currentLine.Extent); - // 5) We can track min-text-width or overhangs similarly if needed. - _metrics.MinTextWidth = Math.Max(_metrics.MinTextWidth, currentLine.Width); + // 4) TextWidth is the max of the text width among lines. + // We choose to update all related metrics at once (OverhangLeading, WidthIncludingTrailingWhitespace, OverhangTrailing) + // if the current line has a larger text width. + var previousTextWidth = _metrics.OverhangLeading + _metrics.WidthIncludingTrailingWhitespace + _metrics.OverhangTrailing; + var textWidth = currentLine.OverhangLeading + currentLine.WidthIncludingTrailingWhitespace + currentLine.OverhangTrailing; + if (previousTextWidth < textWidth) + { + _metrics.WidthIncludingTrailingWhitespace = currentLine.WidthIncludingTrailingWhitespace; + _metrics.OverhangLeading = currentLine.OverhangLeading; + _metrics.OverhangTrailing = currentLine.OverhangTrailing; + } - _metrics.OverhangLeading = Math.Max(_metrics.OverhangLeading, currentLine.OverhangLeading); - _metrics.OverhangTrailing = Math.Max(_metrics.OverhangTrailing, currentLine.OverhangTrailing); - _metrics.OverhangAfter = Math.Max(_metrics.OverhangAfter, currentLine.OverhangAfter); + // 5) OverhangAfter is the last line’s OverhangAfter. + _metrics.OverhangAfter = currentLine.OverhangAfter; // 6) Capture the baseline from the first line. if (first) @@ -768,11 +748,6 @@ namespace Avalonia.Media.TextFormatting // horizontal bounding box metrics public double OverhangLeading; public double OverhangTrailing; - - public Rect Bounds; - public Rect InkBounds; - - public double MinTextWidth; } } } diff --git a/src/Avalonia.Controls/Presenters/TextPresenter.cs b/src/Avalonia.Controls/Presenters/TextPresenter.cs index e0cb22607d..67aa4de569 100644 --- a/src/Avalonia.Controls/Presenters/TextPresenter.cs +++ b/src/Avalonia.Controls/Presenters/TextPresenter.cs @@ -627,8 +627,8 @@ namespace Avalonia.Controls.Presenters InvalidateArrange(); + // The textWidth used here is matching that TextBlock uses to measure the text. var textWidth = TextLayout.OverhangLeading + TextLayout.WidthIncludingTrailingWhitespace + TextLayout.OverhangTrailing; - return new Size(textWidth, TextLayout.Height); } @@ -636,7 +636,8 @@ namespace Avalonia.Controls.Presenters { var finalWidth = finalSize.Width; - var textWidth = Math.Ceiling(TextLayout.OverhangLeading + TextLayout.WidthIncludingTrailingWhitespace + TextLayout.OverhangTrailing); + var textWidth = TextLayout.OverhangLeading + TextLayout.WidthIncludingTrailingWhitespace + TextLayout.OverhangTrailing; + textWidth = Math.Ceiling(textWidth); if (finalSize.Width < textWidth) { diff --git a/src/Avalonia.Controls/TextBlock.cs b/src/Avalonia.Controls/TextBlock.cs index 5de3d76ed1..4067afb166 100644 --- a/src/Avalonia.Controls/TextBlock.cs +++ b/src/Avalonia.Controls/TextBlock.cs @@ -628,7 +628,7 @@ namespace Avalonia.Controls protected virtual void RenderTextLayout(DrawingContext context, Point origin) { - TextLayout.Draw(context, origin + new Point(TextLayout.OverhangLeading, 0)); + TextLayout.Draw(context, origin); } private bool _clearTextInternal; @@ -740,7 +740,8 @@ namespace Avalonia.Controls //This implicitly recreated the TextLayout with a new constraint if we previously reset it. var textLayout = TextLayout; - var size = LayoutHelper.RoundLayoutSizeUp(new Size(textLayout.MinTextWidth, textLayout.Height).Inflate(padding), 1); + // The textWidth used here is matching that TextPresenter uses to measure the text. + var size = LayoutHelper.RoundLayoutSizeUp(new Size(textLayout.WidthIncludingTrailingWhitespace, textLayout.Height).Inflate(padding), 1); return size; } diff --git a/src/Skia/Avalonia.Skia/GlyphRunImpl.cs b/src/Skia/Avalonia.Skia/GlyphRunImpl.cs index 6d86dcb782..29b8a8c1a1 100644 --- a/src/Skia/Avalonia.Skia/GlyphRunImpl.cs +++ b/src/Skia/Avalonia.Skia/GlyphRunImpl.cs @@ -80,12 +80,6 @@ namespace Avalonia.Skia currentX += advance; } - - if (runBounds.Left < 0) - { - runBounds = runBounds.Translate(new Vector(-runBounds.Left, 0)); - } - ArrayPool.Shared.Return(glyphBounds); BaselineOrigin = baselineOrigin; diff --git a/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs index 875164df96..7f8282e4ed 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs @@ -50,7 +50,10 @@ namespace Avalonia.Direct2D1.Media } _glyphOffsets = new GlyphOffset[glyphCount]; - + + var runBounds = new Rect(); + var currentX = 0.0; + var scale = fontRenderingEmSize / glyphTypeface.Metrics.DesignEmHeight; for (var i = 0; i < glyphCount; i++) { var (x, y) = glyphInfos[i].GlyphOffset; @@ -60,13 +63,29 @@ namespace Avalonia.Direct2D1.Media AdvanceOffset = (float)x, AscenderOffset = (float)y }; - } - var scale = fontRenderingEmSize / glyphTypeface.Metrics.DesignEmHeight; + if (_glyphTypefaceImpl.TryGetGlyphMetrics(glyphInfos[i].GlyphIndex, out var metrics)) + { + // Found metrics with negative height, prefer to adjust it to positive. + var ybearing = metrics.YBearing; + var height = metrics.Height; + if (height < 0) + { + ybearing += height; + height = -height; + } + + // Not entirely sure about why we need to do this, but it seems to work + var xOffset = metrics.XBearing * scale; + var xWidth = xOffset > 0 ? xOffset : 0; + var xBearing = xOffset < 0 ? xOffset : 0; + runBounds = runBounds.Union(new Rect(currentX + xBearing, baselineOrigin.Y + ybearing, xWidth + metrics.Width * scale, height * scale)); + } - var height = glyphTypeface.Metrics.LineSpacing * scale; + currentX += glyphInfos[i].GlyphAdvance; + } - Bounds = new Rect(baselineOrigin.X, 0, width, height); + Bounds = runBounds.Translate(new Vector(baselineOrigin.X, 0)); } public SharpDX.DirectWrite.GlyphRun GlyphRun diff --git a/tests/Avalonia.Controls.UnitTests/TextBlockTests.cs b/tests/Avalonia.Controls.UnitTests/TextBlockTests.cs index 1237d0f2f1..a98b20f66d 100644 --- a/tests/Avalonia.Controls.UnitTests/TextBlockTests.cs +++ b/tests/Avalonia.Controls.UnitTests/TextBlockTests.cs @@ -66,7 +66,7 @@ namespace Avalonia.Controls.UnitTests var textLayout = textBlock.TextLayout; - var constraint = LayoutHelper.RoundLayoutSizeUp(new Size(textLayout.MinTextWidth, textLayout.Height), 1); + var constraint = LayoutHelper.RoundLayoutSizeUp(new Size(textLayout.Width, textLayout.Height), 1); Assert.Equal(textBlock.DesiredSize, constraint); } diff --git a/tests/Avalonia.RenderTests/Assets/SourceSerif4_36pt-Italic.ttf b/tests/Avalonia.RenderTests/Assets/SourceSerif4_36pt-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..901eb7e6b1faec11ad28b01ec81c5a75e791c04b GIT binary patch literal 208028 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 + // + // + // + // + // + + var target = new StackPanel + { + VerticalAlignment = VerticalAlignment.Center, + HorizontalAlignment = HorizontalAlignment.Center, + Width = 300, + Height = 300, + }; + target.Children.Add(CreateText("aaaa")); + target.Children.Add(CreateText("a a ")); + target.Children.Add(CreateText(" ")); // This one does not render correctly on Direct2D1 + target.Children.Add(CreateText("LLLL")); + + var testName = $"Should_Keep_TrailingWhiteSpace"; + await RenderToFile(target, testName); + CompareImages(testName); + + static TextBlock CreateText(string text) => new TextBlock + { + Margin = new Thickness(0, 10, 0, 0), + HorizontalAlignment = HorizontalAlignment.Center, + VerticalAlignment = VerticalAlignment.Center, + Background = Brushes.Magenta, + FontSize = 44, + Text = text, + FontFamily = new FontFamily("Courier New") + }; + } + + [Win32Fact("Has text")] + public async Task Should_Account_For_Overhang_Leading_And_Trailing() + { + var target = new StackPanel + { + VerticalAlignment = VerticalAlignment.Center, + HorizontalAlignment = HorizontalAlignment.Center, + Width = 300, + Height = 600, + Background = new SolidColorBrush(Colors.White), // Required antialiasing to work for Overhang + }; + + target.Children.Add(CreateText("f")); + target.Children.Add(CreateText("y")); + target.Children.Add(CreateText("ff")); + target.Children.Add(CreateText("yy")); + target.Children.Add(CreateText("faaf")); + target.Children.Add(CreateText("yaay")); + target.Children.Add(CreateText("y y ")); + target.Children.Add(CreateText("f f ")); + + var testName = $"Should_Account_For_Overhang_Leading_And_Trailing"; + await RenderToFile(target, testName); + CompareImages(testName); + +#if AVALONIA_SKIA + const string symbolsFont = "resm:Avalonia.Skia.RenderTests.Assets?assembly=Avalonia.Skia.RenderTests#Source Serif 4 36pt"; +#else + const string symbolsFont = "resm:Avalonia.Direct2D1.RenderTests.Assets?assembly=Avalonia.Direct2D1.RenderTests#Source Serif 4 36pt"; +#endif + static TextBlock CreateText(string text) => new TextBlock + { + ClipToBounds = false, + Margin = new Thickness(4), + HorizontalAlignment = HorizontalAlignment.Center, + VerticalAlignment = VerticalAlignment.Center, + Background = Brushes.Magenta, + FontStyle = FontStyle.Italic, + FontSize = 44, + Text = text, + FontFamily = new FontFamily(symbolsFont) + }; + } + + [Win32Fact("Has text")] + public async Task Should_Draw_MultiLineText_WithOverHandLeadingTrailing() + { + var target = new StackPanel + { + VerticalAlignment = VerticalAlignment.Center, + HorizontalAlignment = HorizontalAlignment.Center, + Width = 600, + Height = 200, + Background = new SolidColorBrush(Colors.White), // Required antialiasing to work for Overhang + }; + + target.Children.Add(CreateText("fff Why this is a\nbig text yyy\nyyy with multiple lines fff")); + + var testName = $"Should_Draw_MultiLineText_WithOverHandLeadingTrailing"; + await RenderToFile(target, testName); + CompareImages(testName); + +#if AVALONIA_SKIA + const string symbolsFont = "resm:Avalonia.Skia.RenderTests.Assets?assembly=Avalonia.Skia.RenderTests#Source Serif 4 36pt"; +#else + const string symbolsFont = "resm:Avalonia.Direct2D1.RenderTests.Assets?assembly=Avalonia.Direct2D1.RenderTests#Source Serif 4 36pt"; +#endif + static TextBlock CreateText(string text) => new TextBlock + { + HorizontalAlignment = HorizontalAlignment.Center, + VerticalAlignment = VerticalAlignment.Center, + TextAlignment = TextAlignment.Center, + Background = Brushes.Magenta, + FontStyle = FontStyle.Italic, + FontSize = 44, + Text = text, + FontFamily = new FontFamily(symbolsFont) + }; + } + } } diff --git a/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj b/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj index d092e3b0b9..98a93596fa 100644 --- a/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj +++ b/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj @@ -10,12 +10,8 @@ - - - - - - + + diff --git a/tests/Avalonia.Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs b/tests/Avalonia.Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs index 5440d980ab..e78f7ba1b9 100644 --- a/tests/Avalonia.Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs +++ b/tests/Avalonia.Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs @@ -1184,6 +1184,35 @@ namespace Avalonia.Skia.UnitTests.Media.TextFormatting } } + [Fact] + public void Should_Measure_TextLayoutSymbolWithAndWidthIncludingTrailingWhitespaceAndMinTextWidth() + { + using (Start()) + { + var typeFace = new Typeface("Courier New"); + var textLayout0 = new TextLayout("aaaa", typeFace, 12.0, Brushes.White); + Assert.Equal(textLayout0.WidthIncludingTrailingWhitespace, textLayout0.Width); + + var textLayout01 = new TextLayout("a a", typeFace, 12.0, Brushes.White); + var textLayout1 = new TextLayout("a a ", typeFace, 12.0, Brushes.White); + Assert.Equal(new Size(textLayout0.Width, textLayout0.Height), new Size(textLayout1.WidthIncludingTrailingWhitespace, textLayout1.Height)); + Assert.Equal(textLayout0.WidthIncludingTrailingWhitespace, textLayout1.WidthIncludingTrailingWhitespace); + + + var textLayout2 = new TextLayout(" aa ", typeFace, 12.0, Brushes.White); + Assert.Equal(new Size(textLayout1.Width, textLayout1.Height), new Size(textLayout2.Width, textLayout2.Height)); + Assert.Equal(textLayout0.WidthIncludingTrailingWhitespace, textLayout2.WidthIncludingTrailingWhitespace); + Assert.Equal(textLayout01.Width, textLayout2.Width); + + var textLayout3 = new TextLayout(" ", typeFace, 12.0, Brushes.White); + Assert.Equal(new Size(0, textLayout0.Height), new Size(textLayout3.Width, textLayout3.Height)); + Assert.Equal(textLayout0.WidthIncludingTrailingWhitespace, textLayout3.WidthIncludingTrailingWhitespace); + Assert.Equal(0, textLayout3.Width); + } + } + + private static void AssertGreaterThan(double x, double y, string message) => Assert.True(x > y, $"{message}. {x} is not > {y}"); + private static IDisposable Start() { var disposable = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/RestrictedHeight_VerticalAlign.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/RestrictedHeight_VerticalAlign.expected.png index c2466dcd8e47f783c40647332aafa16e1c6c71b6..b65d33de370f4da529f52399f18a14c896df5394 100644 GIT binary patch delta 735 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 literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_MultiLineText_WithOverHandLeadingTrailing.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_MultiLineText_WithOverHandLeadingTrailing.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..2e02aea30cad654cfbf891b84a0f06a5d118f689 GIT binary patch literal 17870 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 literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_Run_With_Background.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_Run_With_Background.expected.png index bc6ba9f4d3f9e8df26ced02f62717c43ea3e8935..a382da447822cf2d2536ceacf0a9618d202a3fed 100644 GIT binary patch delta 850 zcmV-Y1FihC2ZjfbL4PnwL_t(|UhUXHZqq;%#_=y4qg7Q^EXob&szMcqNEQeo6t0ji zSaeygkP5No4v7$A1vj88#DZ&J7Q6?ao}Ac;LaE#TPa1hV;~9^~_RQE40000000000 zz}+;e2~{ICH4W%%)Z-bu%^uVQ0DpD9Ad{G8u48{c_6I#I+Dw#nPNs-N0y+dp|7t7Z^y&%{;$vQ@yo)%~uVBkT8TS=D#B zpXKwKHtC1KYJa3=EH#bPJdW*HYQ9=p#xrjb@tM@jBmVXG$9^-jW3#@@&%A}5GxPk| zbzvqod$vEfdS~VQb-#(SS$=NU(nK2+@r7O6Ug?9nzbb6oKOVfFyk0-QY~SzCBJ#2g zi*k;7{T`p$ezv`dHfOon9r(f1dj^rDmo1~h7fFw7WPf>Y$9$JGjrg&oxs_XI8TDkH zkK#OiU08e??NDqlE$`Cu(y62$5uZwWYI#S$2Mj6Fr!g`=E6dFfF(P-_wtu?3DEDMu z+Lzb#RMO1SyS%kJ-;}(p=P0h}pyUtLMlZ-TI>|kbhsJ|Hgzl&&tg&dRx3ANhFc6#c z&pOAY-+$^oa}R663QI|cR_Cr>=G$(g7etcIBz>~|qn24E9hSB4Yl~NB7Jt!kY?tR2 zzm9e&w%%6H+t#t9k0tG0Ttk;_`=?9&?pnuZ+XI_XuO+>*yl>@Y@^bgu*ao9q$JRCW zUK#9t9qZ}imT!Q}o7*A8v=q)|<%;%4l`GQz4Q*e;yM=sm<= z&^OUP)m3c&)l)q5-@Kjbh_`L1BU8=aMetc*lTrLOgq!G}8hl3ZKUBL6^?4ea&bRw6 zTuUVWpP|nnosIw5?~f(W>OsH%6#xJL00000000000000000000000000000000000 c0N|GR1>I0W+-FylnE(I)07*qoM6N<$f_I_t1ne1TWF@wd?fYZiv2D85q z^TEigUsbJ_u3o)+>+I<3Q7`qM*Uz7Cwe|eUcP>c4Ph)vo!KC=V{wemi*k<2NK0foZ zvxZXkj9SM$vxiLkzOGznecPq#V%|fRgP$kVAFqF7_q^+<_ouxti|22y%9JyWeG#m5 zc?<8hjQCw&MPFxKZV&y!U$kgJdy0sj`O=VlVEebL%l)jr2B=nMWX-*{@%^t9xnOmV9Hm#!*ci5W-o8<1+455P+v}KR*YsX) zIX|Z?vi<0xdd{N7ogXdf^|_*UOa)9WxaV1M)^J@3l;Yy&_4&VAn_=dar3C-^n%{|(<=cJfZA zjMy%1?f>{Edrp;S`kNz?#kT^NKh>W#*X~ljdGFps)0cJoe$;tiKg-VaVE?k})fx4& z+1%Sjw;cD&Nt$1`?deAWroYB~3N^dBz6tn8K3L)-m%D!bBHQP)KOH%_T;_bw_chng z_WS0CUF?0c+phRd)~fR?yGv_k3Mbw^68(9brrG?7fgQ5fIxOeD4nCc}T)d@ov&YnD zhGFj(ugE)e>Pl&X>{;f&iRIDt>v$esx{+FIcJOq-^|z&$MRH!`9xyc8cf;n&>6$w? zf9A*83tu|ud8LvulPG>UeD`)TDP3*YG?j?_H&NLj?LQ^gumPP`rVzC&97{?Jxg9) zKaIEiO5B}j;hbP0l+XkKHb})f diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_TextDecorations.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Draw_TextDecorations.expected.png index 494c8a900252641099b21c89d680145adde9046f..5c62bfd1797ac177c6b04924608c99172dd2562f 100644 GIT binary patch delta 1329 zcmV-118k_xC!LI_c@*JStBo5XfnAjth@B7d+4ZiOSTcJ?E$;nCRIpV)T9UEe}#0rE{ zDwR|d@dLmZLq4BZ%_D>3IA}B)s(EN663Eih5&-AEg_p69`F8~}jld7)>0--oX2p?eIk(8;wRN*M5$lgVsmxqgop^A2|-~W0~Bh=XpT8kNh**ZOHYL<1|eZ z3#Q{ZqOP9ji9RJ=P@~2~_GwaI9mj#DX=t@t$Y!(9x_^vyFXVBIBauLw%_cTCH&Lln zR2Lk_!OqSO7-L|J!7vO_WXEw}S(fk}9v-UUU1>BL*xK3>aX}EkG)?ufo-~_H5nHd< z#e`M!k#pt9?OtDBhkT}K3SYC?6!vU3iy#PuuUIT5njC6AN$UdudwY9eJ$_#~I5@!Z z@p0E&3x93C)+Y|zwoxn=J9ZAV7Z0@tN#U!urfD6*nw^~$HIQo&N7Veu=ksVbo1vZK zpTg%*((i4331nkq1G~Gss#&O!U+SbAgr%jW&^sApeHDI`$>;N6jGU#770K+iE>W%ic$eEp; z4Q>7MI~ErgadUGsa52<2`6_K$7Otc}hANc`EXxx2gOJbX(Q36qxmGHb&??=FLF<#0 zOeO=ySZKU-UGJy?$1sdgn^6m0l&>G6=6{dO_4PGu+s6IqNi>+37d&(C3+CJe&>09;&L;N|5-#H_8YVQOj$08p(~@&5h}w9o1Qkjv#d zeDm}32!f!a9nSRhG*(wv#eFZT)hg2IG=d-i+HLaopyaB)vs$fUVPQe^OXlL@0)Odr z8gp}Vsta##Z#X+U6Zdj$;uy3(M@L8E9UNYFbv)F3jR;qLAZ>2w-~Vc_WK2;1A+czk>WfUfmYQS;^fczSxm?d`3wtK$U# zkB^Udcz6K1jCC*MxyAm7oc{3w`F~~YH`O#SpP!%j`uf7e#DwY^8gFlJNTpI3A0Jm; zKRn-~J}Ms{9~c`OLn@V0T_eGt=fA3^5U~PD@Jkp${Io>R{siAa7#rT@x*lxX>97y; znwimYe0I%cG0)V00000NkvXXu0mjfXncd_ delta 1231 zcmV;=1Tg#H3jYa^Kz{_ONkl=hD4=u6y%m(g?L0nlnN5BMxnY1A}X$b?yPMY`^=uR9rtzCmrVAWS$ke< z)|#2^$a{W434#zxzIh6Q5P}4VAUKc!5d;SkAcEjP0z?oTNPmC`f&&QMmwmhfq^qk-KRd$d(0@%&PwR*Wkomi~Cg5Fyu6C4suMubiZBsq!kBAy8@0aT#a~&TmHV!IB z%H;YP*FJoXwr%Y3@Opsj&<+wne9Q8<*m6d^!q3i7I40QAJ z^SV3=7?!sQBQ!TR8*MaKS64w@>@ei87*Bh9d!XZEC3wGUYip+T7Z?NSU=sohgfWtC zaB$GeIpW#}jE|4&I$>ZVOQljlyL_y0xMVUJ=q4s6j3yeYgM>Eth6%gE251j9hkki^ z*=W<_@_!!+2Hr1SCue78bsmuIQRV~Iad&q&sPDr21Ob?|y*t7fa0rS>1Q8q*z)4zK zTC@yCMn;U}=J4=PPnz0<0|MV2$?kJ!XGhBzYhz=hmch`_&^xDeeQROtICbbfJh(d6EO_i6VAe7DAq!;gO6Mtyy~?jx=- z?0-IKm&RE4_xH67&?m}10-O=29Um)pLB30;Bd&dXLHlqnzFs(0xDEKV8Sm5X4O~|~ zmo5`r{=>m_7pEO=7asw01imLy)4zqz?ltE;Q3wY61MR8;7)&CN}9 zeSNKE(9_eSN=iz!yt1;Q?(XiiTwPtQpMMPv4f@G-b#-;>^z`&yKSWtsnd<21FuC-g zO}u+@a-#F-lllXEtah8ITU%Qj%!`A1rKP2+rl!V}yn;EPF2QXRMO^zVEG+0JhwN^z zhdmx%7kw5N7wdW1^FW{X_xHhgcs;a**hmTeq2DlFE~F^rpA`kcK}LVY5`h#;gzsh^u4Ek3jSWm^CM002ovPDHLkV1oO*Ott_3 diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Keep_TrailingWhiteSpace.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Keep_TrailingWhiteSpace.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..d0922b25abf00a2f9d5485db679384e909e62b9c GIT binary patch literal 4117 zcmcJS2Q*yk+Q&znAZi*y2FDR{7$woWki;BhMvEG~WQ;y07{cHpA{ar`F+@g*GK@aD zj5tIO5~4(JQKH8P&fPip+;!Le&bQ8YbJzOT+V9%?ecrv_XTRl?TAdoI+E0>Lyau&>yVCqV|`EzHKq;;TyJx8|| z2Xm8i&OIliPEi)P3sV1Hz|FC4dDEd?1Bb8AZvMFKp|B^gdBnbYE(39;+XwtGYyOzo z_Hi~sHc_>wBmO>rZ|D`B#DBj`e6Dy7ykdzsTU!{2^L~B2@buVr;zu15XFDC;M`6OE zJPawhPM6FR6YamxfYGdAPFpyI4L($zd9%5M&V=lKPKC+S(zBy91m-SXRWvle-%>)B zKKc!e?vb%wo|3xkzWEs1maUI^LIg{QS6+~szUsmFp2B;LsargXi}W<%w4J-NlYRQa z;2fgR#Pntq+}uuZxG*(~o=MI%=Qf1((lh>+aZ7~SgOx`jy#vn;196QRvTb6;c^&;m zYJoX06(^@0ZPG6I#!F)kKIOa)Trs9WM=BT7!4xr&Z#`BQI`I6Qbj8zzWWNKE-oe29 zcgm}d^hMep2dZ1_w#1r(Yv~v3iTxK^QY0t8wMusbt?;HzD`GGkuW`8IN6$eP(T~@u zes<1IfHUz*@Ouj>i3>GQd+Yi(zN*{BRXycxO6-V}Qpwa6JC5CWEQg z;jTsWi5d&uJtYef9)~FpKBu9djcx2~9v!>hm{iMtN)Ay+kD@MK17fJ?>DItg1#1*N=o9CrC z$7Y=mrrhH3B9=}G{RbrjrUf>KqhCT9Bfqc>5NlU;DuNHKrnOeSBqnfTPaYjgr6rCC#(D*A1-)_;6oli_kQ`q^_nFV46pT6|9-E)g)jO=M-eyF zpR5cL6iI?*{7valb0R`-C%SZ~F9QcBdPfMuuGbsyF0=WsO)}`)(BQS>9SZ{Cyt4Tl z!>Hc#=Csu!Lp<+e)Iu3bAxzHh8f)=su6%}BmxUI8`r?ul z={_MDsSkIV>7=_=OWx8C5BY7d6)69r&tIsOcxvdPRIxncPEi|>g?wzje3rr2CDTT_J zAzRnuoaQsrgrAt_`xv(FdlaT|aZ#B>rUq~9c%7(aa=&}gZhOGevN%Fk(-2cYW(_l3 z?vd%|x;OlCOY*Z%N@ZI-@e8Fx|LC=UkV2+PasrC5YBhV_zfLcT9id2XEZL}_JOUA# z`-wX${;Sk)3yj!lcK=7{F4y4$nUFD3K&D72qI?_f=~K4hr6x01p9Ed=6O9&bc46W{73-7ETH#$s%I&7b?vR7WA07N^pQPqN^o>W zEv8tu$swVg>UN6Kd3&si#iJY$?~Jm#UJw3l?@?^V&{4|N_Cu`grM$hB9re!~A@{%f zS}%OsY*L{r2YH4vr(HBJ;-X*OR3d2_NwbRUytzicBHY%R_>7fa@2?I29-qF2tNqvG zTqdElG~Mu8nsN{})!?r?_`h8|W0m^Fl&;dMwM;+zsw&S(5Dp!Aa*_0}XjI1h7tyEK ze6=J>a&jP-hgVkjvv8S6FS*NgWh=^J%P-01mo3~mrW{y9)dl(-O(7>IK_STcCM+Xw z?{1+;q~{4%y27BqW_fi`g0w^y`>T+Vqb&i-0fNRI6W6dva;uih5W8BSee3h8JEQ!O zaSVPY+VOw*D^Im__Pu0j^7ZHHkxzqcH(nY-_V~2h$6<{9l@a~X0gC}i3Uriq5=BMl z^A^AFC--s_#cO5UsbPEIfJn31{CU1P^NC#Uw6Nr->cOTjLJDK1zDfGyT(Ri*T;7TS;$94I@_tW-mQ|I8mtq=Lrj^c>p89p2RZo0N zP@tmyJ(;8(my{_k{^c=LbrF?Ag5lW-TK71`D>@NDrY^Q{zG=vpyo#JVmB_T1-9`$d_VnW zNwW8lg0TKwTm#@H>K}$%&+|Vh%hEsiA(V@xi!B+C(WhMu?Wbkd2B>VL`1Q6HrFk7N zgmN7GxS>193~?{NO{lleE4XiGG7Lroig&n6dr~&L*p;?-44Rl1;lP|#SUnB2-U(*_ z+3xsG$h|$Um$@MBR?==AwQ;ckWbPQpCO^9o&1C^7jVM9l*@I4Pjx`+r^Q?VBD}NJ} z^K6ka2P7m8AccNbzZLd=*7q+1QVdS_K?*}L2*o#VW?Tw&k`yrEb7014K@M7i04>EU zs(ZK)O;{}sFEcH7e1{jF3M{kxz4j8VcC{2lv`xT;xX1{ z*q!U<(!Qz@Yl#S+-6Ly%TUNFbRQ#Jx-BpdpPipb(Ss~ZO><0VDuNZ8%g=_1qDdO9! zjeW(9mddL&ug{NAOkGs^P@dkz0l&1v-MV&(4R6G#dAiEX<5TZHult>_`6rPW%)*SnVBVCsMFJ(N|MPeE_`QJp zUoi21|H=P=cA)z3Puxzk*7}cCwv6{~>#`a8a5sROGQwr zC@rQT)IC2YbDGZP^AYB(CaNI6<2h>QR)^xRXW*}UFVNnBkt*a)=Jy@S_(ugAfil>Y@X@40Sgcx;7(z6naBlB;D z{?0MNHe$Qh^FMivMb=E3J4Cx#L8^|aQYGcualBWRESB+(xMC{;@)mXf@mBE1czj*A zHAuRG5))6u=o3qBbJg`9YmE!>Z>4nrXC~G$vUv`?#Gt_Jp@NDK2GR(4a>D6-MQVCp z;O;5?>#q2`eQD|ky=o+5mcy{TpI;U_j_)xiYO@c2S}nsH^$8H?%TX&>$G~S$^%Hqg6dKo zHJPFp)!7<|Bb754)LZppzlI4+gR-u+Oiy#&18}Ze%6LcMR^13}(_I@N2*-Xe>QUw94fme=g=p9kp*g7Zh_W3K5Qm#WkpE$Rp@Q|n9 z*tcWSaY-hwxn{DB#?MJ}inIbAfp!WE&4&TadSH zC`2igjdpu9=f9)i&HiCI2%z$N?Z}a|y==~TDe$QRY;vPn=1zU@$k5^C5D2UW?2j)i z@CCSm(84_?GP$^ljJy0M4*0L3`X1+xb86lZCT9R{*evtsWi4r2()9n2H}gNB;?GCq f|H%@ld92Y_TS^)rrN01Ddyvj;_^nbcyTAP%x!kbg literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Measure_Arrange_TextBlock_150_NoWrap.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Measure_Arrange_TextBlock_150_NoWrap.expected.png index 5b83d6404d5c80292d03ffec4b1c69195f319e8c..7546a2d5325dd0f36f6898567367d749adc8efc1 100644 GIT binary patch literal 3497 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 Ad;kCd literal 3526 zcmbuC2T+sQ+Q$=!z>3mbK#;Z~L?Co9sS2SB652w*+<31$_ug;5xpTky-kJ0M=bSUodEa^FIluEi@#l~> zhY!jh1ONbs;kK5JeC__)M1=V7Ds(l4FTh|&o3nuGcM1#q4#?NS!2$rNO%~m|a)2Ln z9d2pi9PajM+zffiRjO-k@!6pOFHGRj6yS=0@L|#GQ#WQrdfGF=Kb(-88L@@D3eyw4 zenetQrp;BbVFH=$Q9iNf)*SqE(X4c8nm<-M>ca5{Dw-KDZ>T#+YmpA_m z3Yg-FNIbX&0Ll{$4Mz>@@g~>(eax8XQ~LGOuZLqk?S%TLbgC04oa~PcHzWaBh(Z;x zPZ)U8#$$e@pisE-HA2v9vNv#sYih{N?hM?6dPqkKch~BYgnYtM#bxr}?9doovEHkY zN%tHU)#%jLdgToUdP3196D3P{OX65O_`m?jJ?gos0WQd833DfP?UnXPn@zswWr@&t zJhzQ+NO!R-d8`myCz2^y#;e_o4gM}Z{_vzYKrrM|*aFS~J1s%MKyD zwT!58*@Z^xo@uNbkn;!lIzH|ahXp3)NBQ`et;0Q?vzKk^cu(Y3lqWZUjuoa0>p4Y3&lP0-&tnmx8l~il&a&hHY}b?U zW3nn0Qmy^N(RHq0nXZc}dFZ8RR?>qpFsgSayuIN4v4unZ z6|UKmG#>dX8^u{AFz^SP@(>p{YO{`Zh4K(xwU>^`sn}?2x~2DcPAlFrw3kl6eD96d z?s)-~c7_x@N=vB04J+xbwKIE2nTUAWQ!BDs8?$$Ll4G11q$*fqrxm+f?!8Y5XRS1Y z{;)+vxN?(+YV~>r(PdSlDUa0_xRQYjd-c{2hgx*oLTYZz+dVv*Xx``j{spA9aXu7M zdof^1pgr1bt+CERC&G5F(B;j|w_VCiFA|%yI1;1jM06Sn%9!E!WTGpqU?MWNBPBe9 zB~;7>fdWSVDs>*Ejp;4MN^7SV8qVEhmO5ui!PETvRC5diVu+(APvb>Wv^USNi8;Q9 z=Fu|`H{rKf7eL*aZ>rSP-Ch>qb_v%rBvk^;xs;I74)o$pCib}1vF{A)gD3}!`IDcO z7brK7kkyaAy&H{9(W643ZYe*?u!@?BTlnk~AH_LX;+uUW(byoinEcDvba&9(z!aYJ z_PwzNk*01K{WN^1@tS2U6e@7H~w;-3$PY(d=gb0AQ2K^K^P@ED~b0OaPaqW)_^}P837j}fwhykcOf!zYW zEaqhVu|4j=7JRTf%L_Y6m_bz?9YxVw%FKHFHFzH)b}=Jy9xDW1+R&rX=(6DBb1ga> z-p;?Z{MOf_gi1PU`gwQf`CMPk0_UBeUiGN;V4TMfkA;C@0Dhh!Z2fKnvBW3$ycJOY zzzd%;SMb0(mp`N3xuJvhCCYb+PDjZe8cB ztAFgFfti;XII7Q(SEGu|5i^&7X<*>4#BPmNK5!yLF+kall_y|LC zlc{4)&9=iZ_T;V2r>FiiI|vRoRi@IXP{YuC(KP8=krP@1TGszYj=yun)}m^qgyEZj zopxM2%ycZb)7Y=88{`(-Re<43Bh{+rL$-U??(02)umd(-)vy?$M4Q;kobw1~6H+&A z=$;ou320D^MrUhN5etZJ^=iRZB6 zjWQ~ye^Vj{{kovN;&MNp`=(G{z3fkuuq7bwOiwEvM%DNnsEO(Ca`RLeUP!E1a{<|Q zoJTYdd)1AE+e{sDy5lKhg~8epbWjJR?WkoXAD7TZuj9d)$S?KIh)SBae?AuCmn^;~ z&Hu5BfXxf^UD#UPc+_|0sTrK7Tgp|qheN3cNj9;)D*o_Y;xDcyyvp;BX{&a6;{gi0 zjwd^hON8Wv>CkI*A{Ff_O$5BGTOC*1s$sSp`-$reE%wXV>3&(gCXQL?@|pV@ts2We zA_x(Nc9o4y+m}QZEuM%B#sU7fM0d-a{G(u_YV9rqPQBBZu2b5WVVmY0r__^=Sy~?* zs*O-J*Q?*w*rr2q=3U3dt564fO^)-2#;~3rX<8VQhwF9#ih$FYGaM% zt8m$cRR>cpoQA(}kUVM<1}-}~q5$evuq3!WU$=xR4m1Q^O)3yg!NFbU(}#;gzo#+U zgFp1$&xt|cQn#*=qdGY&&+DR@^5pPTV;TP8;+3sFS*l=aTrZy1UygsT_Lmh=Uzp0> zQpDwMjfXO7!E@{}>ZRf}8=$*040hbWX7TeT!QjmlW&?VTGJ4Gd0zNA@{Rz{$zN1Z|4 z2gw67^dtC_m@aXc{N$kl*RdMSBir}QjO`uQLYIdGJEPM`Sy4!*sd4AJqU7fGpQ;CB zU4o|3QHY5tFE1& z9`v+`ioVK^Bhv&P*IuDW6T|2^4Y2w z_uC6@(|uWI^<{27pf?0#h@t&UXwNGv#L|hl%TX!wT-k4KqgdA?{NLTitixqbcFc#) zA|=qjmhQI-{)aSYEFyP@!rND+9{o>p+*G)657353yXNFLgz3uAQSp?6j{LU>^hC zo-kqrq)18VLW9xuN$V6VHWAz^FZYTMn-lzWePmA^Vek^7tOKziw;2jMza+ZgxOrdR z|J7}XNc1|0sTBCd!03WX&~3L0De^g75Yv~}Ppx^g4xQr9TdhPf*?JdLkx&u;LQ8Tq z{L!Yi&6mN1+Wm&*yxsK5OpY>zT6hO0GOM$#i@(J|SXnyjZXG%wB~q}wHgmUD zu%<9MN^Cz@XB7&VHo4zAiRRl4$?)4>9W?*?^#6NCFuVi7*Uin%SjB%|2yTV6tUl{; F`)`col>q<% diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Measure_Arrange_TextBlock_44_NoWrap.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Measure_Arrange_TextBlock_44_NoWrap.expected.png index 1f5f1e5bc5127d2743d35fd9c041ff4d3e21942d..bd94817c755cb57345aa5799e5ee802fc466dd06 100644 GIT binary patch literal 1157 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|*_jGX#sfc@f+c!@pRHE(T`puI#T2mLW=rhkq(46hT(yXwt$3XG)g5IZr z*Bqv-wP0R#`0CW(uQzr7+F5#j=8;&vS&e^}tXgpYaP5&=lP3a&EBX({%)83o@SlT4 zh^g_&=8lf%f*)7@I#%jZv!d_nJEccgndAGv*8F(x)&AY@cdfWV)}L3w|svePc0)JzGNd#OjCNo(l-Rf0b|dV3)=JJN485>M7-Q zUw^Os$hY)OnT39gXT-tl4*S;DE&Q+Hx2vz?`p5VG4R*@^3tK-w((Ap_qvFDU^G_BZ zIsNe3t1or>UCHH#uLtf?*Lj((@Ly#Ah3|*go;zu%RHyZ5XKzRU(eK&EJASOK`1|<7 zbLYTV-tA%X?dwk`n;+fy%Qlg7asI|v4SxH-^nYArCm?9gvpuX{G;rQLUz_?3+X5S7 zT#vl}dhkf7%b%b<|0di?n!CtS?7YIW)8%&g*Y$SfcNO1v zJ97W4XX|Qqrm9GrdY6y$HY{o8*FIFac%8xp?M4SDg$V*2DlAN#jSh$8ScF!`Ilghc zu`85$BYWa&H})icr~WsN3W@woofo%9lsbG<_>vH!03@@(p7o70#jVWb?d~tek9p+7-XIwU^Q=z-|E7AT%n7z9idZfwR8M%yk&^aJAy@c> z%QuDJY7;tN^>4o2{HEI>EsQ;d|B_hanGkuIa4Md|x z+Y|pdmpFb?I4$VW{Kj#b@`RZ;o45EX2;XdeGuuIJmHoLq{!I|4+IoPTT0H^e)Ncw9 zr&dp}+tCDyk%F74fot#1+6Cr-qUX?~s9P5~TJmgC-IWD)eViiO>u_Vq+BX?2hqR(@ z0wqGP7&oka2jr?RtxM(1IF^N$8WwVeBc1Zw7~}U#ui(SyPMb>Wd-4}0S>@JkKQ;Y z06hpy7>Dw1G+!{S7Vx+tpT3>F(R~FoP<mdKI;Vst0PU~qUH||9 literal 1169 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|b_H=O!sfc@f+qOt1RHE%-{vMIXp#d&@Df$fz9UU>PNnIxtCw5D$y1@{~ zRJ7p0(x3;n2f|zq|HRGSAgzPe;f8)%h{*M}EJGc&n!rC;zi*mH5-|y|Sy4%b!+mXbU~BkgxQp z?n?zna?P84HvHE%WGTeE9eMlWW39`d0NLHT=bKG^_@0#R{A1~IWcRPx?lJxI>R;VY z-QU$Q`{LvK%8!n}y5U%k+ZJAPDt`B7WcY3lMhv1GmBo!LF_?Oy@i>BIHp`X@HK^2@eA zR_^)O{(N6=hy82y-WXZV7gt~WQ+8X=>2396gVG$cmpn{+g*a4Lm^d39oWKG4#!+G8 zE6F2rEo-Aq1*!$MQ}}X1jz#F3!h{($ouTY0{7(F8tV#S%>mejihar{CiCJee z(fhKUMKjb?<&GiN*KrMPd-XWAKH%e-OnP4UJv zYxqv|Ez@P1IZ@X4H;a+7^{j7mf6pvz;@AFmP?AN6sj`T6?iwXNA@{LrSNZ(X*_dAZb>fFPM|&eIG;FuJ%018<2P3Y z0l@N?bcbf)jJr%0XaP)#@kw|@j~zN zHyJEW=JPf!7UY<{WvXniLxig~P+~(@72AfZK<Ab~q&0a(4s!!faqPuK@X*sXqW1)l99n94c=dUre** zc+-I#c0kQy>HJL6KqZ{j0%eEgTGjy#S@h3hw=IW_6EM6uM1Up%4UGP#utAxL5m-PF d3wC|ww@z#_YWe&eSe!60c)I$ztaD0e0sw3q-EIH? diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Measure_Arrange_TextBlock_44_Wrap.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Should_Measure_Arrange_TextBlock_44_Wrap.expected.png index db493fa9e7dd9c47e80815f631306a23c59558a1..9b0a492027ff896a9b60f3dd831d6ab3e4043d85 100644 GIT binary patch literal 3915 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 literal 3914 zcmc(ic|4SB8^>puGFfMc)W{Z5gcd3LHYE<($0568l3kY2WU@t=K`CWVNY=3o##WB4 zIz_S%Msye^`!Wn>-bttBocDeIdH;FmpZmG)=QE$@damntf3M#YYix9pi~SHg007{+ zq^E1jTsr{(U?O-g^NO-8U(Q^B*G(^K14`cs%`gKHQp->a0Kj26wjK8X0NksWbhXTH z*v*Ze^qO4f?O4KLp&*{yjYvJ*BEiRT3q1DD0zd(zxxN`FE?<*NWYsl^0q_$yM}~tX%!4$=kGde+G8dGXoi@m zW;hxU>kLg&5?|(3PmSqRjfYxTH8|VrIKf zVSgLY?Gy))#v3GUY>Hs>^(YmHCk+sxAwzN!%pS9@e)n2%z^e97v@9w7HY<^lLyVkN9S zcx221-?Djaw_>?W2`h^b3sZR^T%E0kM;^8ExNq!i5`=WhO*AVq#mu0a$9h9rkpkY& zyQJ`p_{?ZQbOKBA8fS3#3#%I*!`sJs9NU75L~>U42fF2=&%^?+nL*$NpwFh>z&fx+ zwBZE(x))9X(730yRDga^vfh@Kjo=_sb7OACsQ_&*FxyO?V`ury`p<*V&)xYne`=E8 zT09eqRUTUKuIxgOwWe^S;iF3NKfuS9ldXv*Vm`M3b0c#HwTfz-e*x@E{}Qip(3mQF@6h(?PIq8%v$VI2%V0j;MC;)@nO{TSYJzT&c)Y@ki^V3Kp%gMA~TqWBnsQ!?VLWBn!S5R81$N zZy#!-czx-s#SF_>rH?5w)jnNCu6^#n8h+pwbaCTR0$<|Xq<}l?bO`Lv&?kd~mG7qb zQ47eK%qYwigd@~PC+j{l4Os1a_7;t`9NUp^aN3J9RnY%8Hc^yWh@R%E7@Oj`N%jgc zO6)`tU9Q@4wB4(U?_pnX!v}6#L-M_f(Cr{^H;*tGGoBu9#Lwsa+o7L%U!7*;lphsm zMO<*Pw^H>g_{R3ngT025$K2Ycs2WaxQpcc)nT;G$t7Y?*burt&^%*Od$@JHSUWabJ zoontsZ%^g{&J49=bXz=IxY0YatghOWuXgRZj20E#iFvDyZfZTue!n**`!Gv|&U8+$ z`Mp}kJ)^XOmquaWPVTl4Y;H6$4<8_TwW|r+^7t9s`JYwvBkiZot6W3!pr01t$Z$h| z%>k57F{&j4Ls6oZg|!nKkvC2Ef`=e``8nSir#@-noL}F&Ql8eS7 zsU{D%Q}Tn|b}>O62k1kNPss*H|(C!s?9RV8kbn%AvZ8qUN?tbeq~Tx(_w4 zUX2Y&{4e6iyO^4-_}ZTCUv0dY@tImPgw*t&cpYU()JE8>I`g*At{)q!u;8Do+*o04 zyesAOYU=VQ_*GBi8Qv#Z*D&tGV7;)~wqfyRzpVvAOtnZTB&miLBAlN#sBRhJt|*$M zAvf0KhyuC9$&K``Ef6N^MJnyYaf}XAcfHR;kxgPm9ZfvB#7^=i-(lEFqplMJ%jY@i zY8brR1DCk}1yUx_GMx`HD5qN=!763$BxJaG)~R`9&7Nc;u}6)rfnmC)J{cRvd_&2)R8rZ9ug290kXVSavN0EHc zx`2QaO}g1eS-aa#Uo02J_K%z#D@kTeTg_b3v3KVJhz-hYq(w%Ye6exJuLEo}#SQ4RZ?IIl2)wRow{G^bv4T^zFVt+J^JJ0=7d{|JtYPWU}t)DiM&Tzf{jwCOpP$EHXs%` zFW7uxiD1LTx}609O_fdWJv((^8WZQc1#g_Iwg;)+a-B>AMcT-EjMj}^*vynZyIx!w z3@2^h^-FHG!1>_H(5We`WH@Rm5%r5C$<2HA&{Z^Y9XotkHC_Wm3I&?*sUU5x2 zV}PGB(#WLM)Ve)6y^QH7BC33({P|~9gaZf-JlHZf?BiMeQy@_8neWy~TT?;#2cP8K z%5|65gmUl{e^Qoq$;F$lOZl{$ zPFr1;t7jxc1rv&qoe_K6Tbw^kA%ej&O*T7vpH<cEhi8)HS&UrPKth}3(+jB7B%W>Pys+7@KH#x$xC5Rqtu8kM;@oR2di1mWTw zw>aMDzd&5)`p6z`a&7<_b6Uw2!3|USFzgpPsNU!N*o8TgLbDMxCF)h5U6C`tK>yFb b@`rQ|59R5@>9skjUsAaQH_|QDb_o9$03GyT diff --git a/tests/TestFiles/Direct2D1/Controls/TextBlock/Wrapping_NoWrap.expected.png b/tests/TestFiles/Direct2D1/Controls/TextBlock/Wrapping_NoWrap.expected.png index 2296e02d68707f6276a8a875cb38fa99ad3309b5..f91d1658865549df25d6e84aae466cec0c928b21 100644 GIT binary patch delta 979 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 R_%8?)MOihO@@J5s{{zd_nMVKs literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Controls/TextBlock/Should_Draw_MultiLineText_WithOverHandLeadingTrailing.expected.png b/tests/TestFiles/Skia/Controls/TextBlock/Should_Draw_MultiLineText_WithOverHandLeadingTrailing.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..7b4541d3f8b9bf3e41e4883d5fa34274c9ca07e9 GIT binary patch literal 19468 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 literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Controls/TextBlock/Should_Keep_TrailingWhiteSpace.expected.png b/tests/TestFiles/Skia/Controls/TextBlock/Should_Keep_TrailingWhiteSpace.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8f49b60bbfb9a511a88de18942202033e7cae9 GIT binary patch literal 3517 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 LmgmZivA6#NqFQ4x literal 0 HcmV?d00001