Skip to content

Commit 46125b0

Browse files
Merge pull request #494 from mediaclip/pr-options
Copy DecorationPositioningMode value when creating new text options from another one
2 parents fd8f253 + 6078cd5 commit 46125b0

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/SixLabors.Fonts/TextOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public TextOptions(TextOptions options)
4747
this.ColorFontSupport = options.ColorFontSupport;
4848
this.FeatureTags = new List<Tag>(options.FeatureTags);
4949
this.TextRuns = new List<TextRun>(options.TextRuns);
50+
this.DecorationPositioningMode = options.DecorationPositioningMode;
5051
}
5152

5253
/// <summary>

tests/SixLabors.Fonts.Tests/TextOptionsTests.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,9 @@ public void NonDefaultClone()
310310
TabWidth = 3F,
311311
LineSpacing = -1F,
312312
VerticalAlignment = VerticalAlignment.Bottom,
313+
DecorationPositioningMode = DecorationPositioningMode.GlyphFont,
313314
WrappingLength = 42F,
314-
FeatureTags = new List<Tag> { FeatureTags.OldstyleFigures }
315+
FeatureTags = new List<Tag> { FeatureTags.OldstyleFigures },
315316
};
316317

317318
TextOptions actual = new(expected);
@@ -323,6 +324,7 @@ public void NonDefaultClone()
323324
Assert.Equal(expected.TabWidth, actual.TabWidth);
324325
Assert.Equal(expected.VerticalAlignment, actual.VerticalAlignment);
325326
Assert.Equal(expected.WrappingLength, actual.WrappingLength);
327+
Assert.Equal(expected.DecorationPositioningMode, actual.DecorationPositioningMode);
326328
Assert.Equal(expected.FeatureTags, actual.FeatureTags);
327329
}
328330

@@ -339,6 +341,7 @@ public void CloneIsDeep()
339341
LineSpacing = 2F,
340342
VerticalAlignment = VerticalAlignment.Bottom,
341343
TextJustification = TextJustification.InterCharacter,
344+
DecorationPositioningMode = DecorationPositioningMode.GlyphFont,
342345
WrappingLength = 42F
343346
};
344347

@@ -349,6 +352,7 @@ public void CloneIsDeep()
349352
Assert.NotEqual(expected.TabWidth, actual.TabWidth);
350353
Assert.NotEqual(expected.VerticalAlignment, actual.VerticalAlignment);
351354
Assert.NotEqual(expected.WrappingLength, actual.WrappingLength);
355+
Assert.NotEqual(expected.DecorationPositioningMode, actual.DecorationPositioningMode);
352356
Assert.NotEqual(expected.TextJustification, actual.TextJustification);
353357
}
354358

@@ -363,6 +367,7 @@ private static void VerifyPropertyDefault(TextOptions options)
363367
Assert.Equal(TextJustification.None, options.TextJustification);
364368
Assert.Equal(TextDirection.Auto, options.TextDirection);
365369
Assert.Equal(LayoutMode.HorizontalTopBottom, options.LayoutMode);
370+
Assert.Equal(DecorationPositioningMode.PrimaryFont, options.DecorationPositioningMode);
366371
Assert.Equal(1, options.LineSpacing);
367372
}
368373
}

0 commit comments

Comments
 (0)