diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs b/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs index e65f96bf61..3e85f0f6f0 100644 --- a/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs +++ b/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs @@ -47,9 +47,8 @@ namespace Avalonia.Media.TextFormatting /// /// The text run. /// The available width. - /// Index of the textCharacters parent TextRun /// - internal static int MeasureCharacters(ShapedTextCharacters textCharacters, double availableWidth, int textRunIndex) + internal static int MeasureCharacters(ShapedTextCharacters textCharacters, double availableWidth) { var glyphRun = textCharacters.GlyphRun; @@ -74,13 +73,6 @@ namespace Avalonia.Media.TextFormatting if (currentWidth + advance > availableWidth) { - if(glyphCount == 0 && textRunIndex == 0) - { - //we need to return at least one characted on the first run - //or we risk to get a infinity loop when width is less than one character width - //issue #4806 - glyphCount = 1; - } break; } @@ -358,7 +350,7 @@ namespace Avalonia.Media.TextFormatting if (currentWidth + currentRun.Size.Width > availableWidth) { - var measuredLength = MeasureCharacters(currentRun, paragraphWidth - currentWidth, runIndex); + var measuredLength = MeasureCharacters(currentRun, paragraphWidth - currentWidth); var breakFound = false; diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextLineImpl.cs b/src/Avalonia.Visuals/Media/TextFormatting/TextLineImpl.cs index aa7759fc16..f5e87d097b 100644 --- a/src/Avalonia.Visuals/Media/TextFormatting/TextLineImpl.cs +++ b/src/Avalonia.Visuals/Media/TextFormatting/TextLineImpl.cs @@ -75,7 +75,7 @@ namespace Avalonia.Media.TextFormatting if (currentWidth > availableWidth) { - var measuredLength = TextFormatterImpl.MeasureCharacters(currentRun, availableWidth, runIndex); + var measuredLength = TextFormatterImpl.MeasureCharacters(currentRun, availableWidth); var currentBreakPosition = 0;