Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion src/SixLabors.Fonts/TextLayout.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1179,7 +1179,28 @@ VerticalOrientationType.Rotate or
List<LineBreak> lineBreaks = new();
while (lineBreakEnumerator.MoveNext())
{
lineBreaks.Add(lineBreakEnumerator.Current);
// URLs are now so common in regular plain text that they need to be taken into account when
// assigning general-purpose line breaking properties.
//
// To handle this we disallow breaks after solidus (U+002F) entirely.
// Testing seems to indicate Chrome and other browsers do this as well.
//
// We do this outside of the line breaker so that the expected results from the Unicode
// tests are not affected.
// https://www.unicode.org/reports/tr14/#SY
LineBreak current = lineBreakEnumerator.Current;
int i = current.PositionMeasure;
if (i < textLine.Count)
{
CodePoint c = textLine[i].CodePoint;
CodePoint p = textLine[Math.Max(0, i - 1)].CodePoint;
if (c.Value == 0x002F || p.Value == 0x002F)
{
continue;
}
}

lineBreaks.Add(current);
}

int processed = 0;
Expand Down
49 changes: 45 additions & 4 deletions src/SixLabors.Fonts/Unicode/LineBreakEnumerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -347,11 +347,52 @@ private bool GetPairTableBreak(LineBreakClass lastClass)
}

// LB25
if (this.lb25ex && (this.nextClass == LineBreakClass.PR || this.nextClass == LineBreakClass.NU))
if (this.lb25ex)
{
shouldBreak = true;
this.lb25ex = false;
break;
switch (lastClass)
{
case LineBreakClass.PO:
case LineBreakClass.PR:
if (this.currentClass == LineBreakClass.NU)
{
this.lb25ex = false;
return false;
}

LineBreakClass ahead = this.PeekNextCharClass();
if (ahead == LineBreakClass.NU && this.nextClass is LineBreakClass.OP or LineBreakClass.HY)
{
this.lb25ex = false;
return false;
}

break;
case LineBreakClass.HY:
case LineBreakClass.OP:
if (this.currentClass == LineBreakClass.NU)
{
this.lb25ex = false;
return false;
}

break;

case LineBreakClass.NU:
if (this.currentClass is LineBreakClass.PO or LineBreakClass.PR or LineBreakClass.NU)
{
this.lb25ex = false;
return false;
}

break;
}

if (this.nextClass is LineBreakClass.PR or LineBreakClass.NU)
{
shouldBreak = true;
this.lb25ex = false;
break;
}
}

// LB24
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions tests/SixLabors.Fonts.Tests/Issues/Issues_448.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.

namespace SixLabors.Fonts.Tests.Issues;
public class Issues_448
{
[Fact]
public void Issue_448()
{
if (SystemFonts.TryGet("Arial", out FontFamily family))
{
Font font = family.CreateFont(20);

TextLayoutTestUtilities.TestLayout(
"aaaaa bbbbb/ccccc ddddd",
new TextOptions(font)
{
WrappingLength = 150
});
}
}
}
25 changes: 25 additions & 0 deletions tests/SixLabors.Fonts.Tests/Issues/Issues_450.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.

using System.Numerics;

namespace SixLabors.Fonts.Tests.Issues;
public class Issues_450
{
[Fact]
public void Issue_450()
{
if (SystemFonts.TryGet("Arial", out FontFamily family))
{
Font font = family.CreateFont(92);

TextLayoutTestUtilities.TestLayout(
"Super, Smash Bros (1999)",
new TextOptions(font)
{
Origin = new Vector2(50, 20),
WrappingLength = 960,
});
}
}
}
36 changes: 36 additions & 0 deletions tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,42 @@
Assert.False(lineBreaker.MoveNext());
}

[Fact]
public void NumericTests()
{
const string text1 = "Super Smash Bros (1999)";
const string text2 = "Super, Smash Bros (1999)";
List<LineBreak> breaks1 = new();

foreach (LineBreak lineBreak in new LineBreakEnumerator(text1.AsSpan()))
{
breaks1.Add(lineBreak);
}

Assert.Equal(5, breaks1[0].PositionMeasure);
Assert.Equal(6, breaks1[0].PositionWrap);
Assert.Equal(11, breaks1[1].PositionMeasure);
Assert.Equal(12, breaks1[1].PositionWrap);
Assert.Equal(16, breaks1[2].PositionMeasure);
Assert.Equal(17, breaks1[2].PositionWrap);
Assert.Equal(23, breaks1[3].PositionMeasure);
Assert.Equal(23, breaks1[3].PositionWrap);

List<LineBreak> breaks2 = new();
foreach (LineBreak lineBreak in new LineBreakEnumerator(text2.AsSpan()))
breaks2.Add(lineBreak);
}
Copy link

Copilot AI Apr 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears there is an extra closing bracket in the NumericTests method that does not correspond to an opening block. Consider removing this bracket to ensure correct test structure.

Suggested change
}

Copilot uses AI. Check for mistakes.

Assert.Equal(6, breaks2[0].PositionMeasure);

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token ')' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '.' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '6' in class, record, struct, or interface member declaration

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

) expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 75 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration
Assert.Equal(7, breaks2[0].PositionWrap);

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, macos-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net7.0, 7.0.x, true, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Tuple must contain at least two elements.

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Type expected

Check failure on line 76 in tests/SixLabors.Fonts.Tests/Unicode/LineBreakEnumeratorTests.cs

View workflow job for this annotation

GitHub Actions / Build (false, ubuntu-latest, net6.0, 6.0.x, -x64, false)

Invalid token '(' in class, record, struct, or interface member declaration
Assert.Equal(12, breaks2[1].PositionMeasure);
Assert.Equal(13, breaks2[1].PositionWrap);
Assert.Equal(17, breaks2[2].PositionMeasure);
Assert.Equal(18, breaks2[2].PositionWrap);
Assert.Equal(24, breaks2[3].PositionMeasure);
Assert.Equal(24, breaks2[3].PositionWrap);
}

[Fact]
public void ForwardTextWithOuterWhitespace()
{
Expand Down
Loading