Browse Source

Add visual tests for TextStyle features including font color, background color, font size, line height, and font decoration

Marcin Ziąbek 2 months ago
parent
commit
036048c3fd
48 changed files with 465 additions and 0 deletions
  1. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/BackgroundColor(#BBDEFB).png
  2. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/BackgroundColor(#C8E6C9).png
  3. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/BackgroundColor(#FFCDD2).png
  4. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Color(#2196F3).png
  5. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Color(#4CAF50).png
  6. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Color(#F44336).png
  7. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Combined.png
  8. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Dashed.png
  9. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Dotted.png
  10. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Double.png
  11. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Overline.png
  12. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Solid.png
  13. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Strikethrough.png
  14. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Thickness(1.0f).png
  15. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Thickness(2.0f).png
  16. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Thickness(3.0f).png
  17. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Underline.png
  18. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Wavy.png
  19. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontFeatures_StandardLigatures_Disabled.png
  20. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontFeatures_StandardLigatures_Enabled.png
  21. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontPosition_Subscript.png
  22. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontPosition_Superscript.png
  23. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontSize(12).png
  24. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontSize(16).png
  25. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontSize(24).png
  26. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_200_ExtraLight.png
  27. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_300_Light.png
  28. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_400_Regular.png
  29. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_500_Medium.png
  30. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_600_SemiBold.png
  31. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_700_Bold.png
  32. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_800_ExtraBold.png
  33. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontsColor(#1565C0).png
  34. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontsColor(#2E7D32).png
  35. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontsColor(#C62828).png
  36. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/Italic.png
  37. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(-0.1f).png
  38. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(0.0f).png
  39. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(0.1f).png
  40. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(0.25f).png
  41. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LineHeight(0.75f).png
  42. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LineHeight(1.0f).png
  43. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LineHeight(1.5f).png
  44. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(-0.1f).png
  45. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(0.0f).png
  46. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(0.25f).png
  47. BIN
      Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(1.0f).png
  48. 465 0
      Source/QuestPDF.VisualTests/TextStyleTests.cs

BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/BackgroundColor(#BBDEFB).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/BackgroundColor(#C8E6C9).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/BackgroundColor(#FFCDD2).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Color(#2196F3).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Color(#4CAF50).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Color(#F44336).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Combined.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Dashed.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Dotted.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Double.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Overline.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Solid.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Strikethrough.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Thickness(1.0f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Thickness(2.0f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Thickness(3.0f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Underline.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontDecoration_Wavy.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontFeatures_StandardLigatures_Disabled.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontFeatures_StandardLigatures_Enabled.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontPosition_Subscript.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontPosition_Superscript.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontSize(12).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontSize(16).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontSize(24).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_200_ExtraLight.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_300_Light.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_400_Regular.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_500_Medium.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_600_SemiBold.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_700_Bold.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontWeight_800_ExtraBold.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontsColor(#1565C0).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontsColor(#2E7D32).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/FontsColor(#C62828).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/Italic.png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(-0.1f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(0.0f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(0.1f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LetterSpacing(0.25f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LineHeight(0.75f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LineHeight(1.0f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/LineHeight(1.5f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(-0.1f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(0.0f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(0.25f).png


BIN
Source/QuestPDF.VisualTests/ExpectedOutput/TextStyle/WordSpacing(1.0f).png


+ 465 - 0
Source/QuestPDF.VisualTests/TextStyleTests.cs

@@ -0,0 +1,465 @@
+using QuestPDF.Fluent;
+using QuestPDF.Helpers;
+using QuestPDF.Infrastructure;
+
+namespace QuestPDF.VisualTests;
+
+public class TextStyleTests
+{
+    private static readonly IEnumerable<Color> FontColor_Values = [ Colors.Red.Darken3, Colors.Green.Darken3, Colors.Blue.Darken3 ];
+    
+    [Test, TestCaseSource(nameof(FontColor_Values))]
+    public void FontsColor(Color fontColor)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>  
+                {
+                    text.Span("Text can be displayed in different ");
+                    text.Span("font colors").FontColor(fontColor);
+                    text.Span(".");
+                });
+        });
+    }
+    
+    private static readonly IEnumerable<Color> BackgroundColor_Values = [ Colors.Red.Lighten4, Colors.Green.Lighten4, Colors.Blue.Lighten4 ];
+    
+    [Test, TestCaseSource(nameof(BackgroundColor_Values))]
+    public void BackgroundColor(Color backgroundColor)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>  
+                {
+                    text.Span("Text can be displayed with different ");
+                    text.Span("background colors").BackgroundColor(backgroundColor);
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontSize([Values(12, 16, 24)] float fontSize)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>  
+                {
+                    text.Span("Text can be displayed in different ");
+                    text.Span($"font sizes ({fontSize}pt)").FontSize(fontSize);
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void LineHeight([Values(0.75f, 1f, 1.5f)] float lineHeight)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Width(400)
+                .Text(text =>  
+                {
+                    text.Span($"Line height: {lineHeight}\n\n").Bold().FontColor(Colors.Blue.Darken2);
+                    text.Span(Placeholders.LoremIpsum()).LineHeight(lineHeight);
+                });
+        });
+    }
+    
+    [Test]
+    public void WordSpacing([Values(-0.1f, 0f, 0.25f, 1f)] float wordSpacing)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Width(400)
+                .Text(text =>  
+                {
+                    text.Span($"Word spacing: {wordSpacing}\n\n").Bold().FontColor(Colors.Blue.Darken2);
+                    text.Span(Placeholders.LoremIpsum()).WordSpacing(wordSpacing);
+                });
+        });
+    }
+    
+    [Test]
+    public void LetterSpacing([Values(-0.1f, 0f, 0.1f, 0.25f)] float letterSpacing)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        { 
+            container
+                .Width(400)
+                .Text(text =>  
+                {
+                    text.Span($"Letter spacing: {letterSpacing}\n\n").Bold().FontColor(Colors.Blue.Darken2);
+                    text.Span(Placeholders.LoremIpsum()).LetterSpacing(letterSpacing);
+                });
+        });
+    }
+    
+    [Test]
+    public void Italic()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        { 
+            container
+                .Text(text =>  
+                {
+                    text.Span("The ");
+                    text.Span("italic effect").Italic();
+                    text.Span(" slants the letters slightly to the right.");
+                });
+        });
+    }
+    
+    #region Font Decoration
+    
+    [Test]
+    public void FontDecoration_Underline()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("Text can be decorated with ");
+                    text.Span("an underline").Underline().DecorationThickness(2).DecorationColor(Colors.Red.Medium);
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Strikethrough()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("Text can be decorated with ");
+                    text.Span("a strikeout").Strikethrough().DecorationThickness(2).DecorationColor(Colors.Red.Medium);
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Overline()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("Text can be decorated with ");
+                    text.Span("an overline").Overline().DecorationThickness(2).DecorationColor(Colors.Red.Medium);
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Combined()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("Text may have ");
+
+                    text.Span("multiple decoration")
+                        .Underline()
+                        .Strikethrough()
+                        .Overline()
+                        .DecorationThickness(2)
+                        .DecorationColor(Colors.Blue.Medium);
+                    
+                    text.Span(" applied to it.");
+                });
+        });
+    }
+    
+    private static readonly IEnumerable<Color> FontDecoration_Color_Values = [ Colors.Red.Medium, Colors.Green.Medium, Colors.Blue.Medium ];
+    
+    [Test, TestCaseSource(nameof(FontDecoration_Color_Values))]
+    public void FontDecoration_Color(Color decorationColor)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("The color of ");
+                    text.Span("the text decoration").Underline().DecorationDashed().DecorationThickness(2).DecorationColor(decorationColor);
+                    text.Span(" can be changed.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Thickness([Values(1f, 2f, 3f)] float thickness)
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("The thickness of ");
+                    text.Span("the text decoration").Underline().DecorationWavy().DecorationThickness(thickness).DecorationColor(Colors.Red.Medium);
+                    text.Span(" can be changed.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Solid()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a solid-line text decoration").Underline().DecorationSolid();
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Double()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a double-line text decoration").Underline().DecorationDouble();
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Wavy()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a wavy-line text decoration").Underline().DecorationWavy();
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Dotted()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a dotted text decoration").Underline().DecorationDotted();
+                    text.Span(".");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontDecoration_Dashed()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a dashed text decoration").Underline().DecorationDashed();
+                    text.Span(".");
+                });
+        });
+    }
+    
+    #endregion
+    
+    #region Font Weight
+    
+    [Test]
+    public void FontWeight_200_ExtraLight()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("an extra-light").ExtraLight().BackgroundColor(Colors.Grey.Lighten3);
+                    text.Span(" font weight.");
+                });
+        }); 
+    }
+    
+    [Test]
+    public void FontWeight_300_Light()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a light").Light().BackgroundColor(Colors.Grey.Lighten3);
+                    text.Span(" font weight.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontWeight_400_Regular()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a regular").NormalWeight().BackgroundColor(Colors.Grey.Lighten3);
+                    text.Span(" font weight.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontWeight_500_Medium()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a medium").Medium().BackgroundColor(Colors.Grey.Lighten3);
+                    text.Span(" font weight.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontWeight_600_SemiBold()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a semi-bold").SemiBold().BackgroundColor(Colors.Grey.Lighten3);
+                    text.Span(" font weight.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontWeight_700_Bold()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("a bold").Bold().BackgroundColor(Colors.Grey.Lighten3);
+                    text.Span(" font weight.");
+                });
+        });
+    }
+    
+    [Test]
+    public void FontWeight_800_ExtraBold()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("This example shows ");
+                    text.Span("an extra-bold").ExtraBold().BackgroundColor(Colors.Grey.Lighten3 );
+                    text.Span(" font weight.");
+                });
+        });
+    }
+    
+    #endregion
+    
+    #region Font Position
+    
+    [Test]
+    public void FontPosition_Subscript()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("Chemical formula of sulfuric acid: H");
+                    text.Span("2").Subscript();
+                    text.Span("SO");
+                    text.Span("4").Subscript();
+                    text.Span(".");
+                });
+        });
+    }
+
+    [Test]
+    public void FontPosition_Superscript()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text(text =>
+                {
+                    text.Span("Enstein's equation: E=mc");
+                    text.Span("2").Superscript(); 
+                });
+        });
+    }
+    
+    #endregion
+    
+    #region Font Features
+    
+    [Test]
+    public void FontFeatures_StandardLigatures_Enabled()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text("final")
+                .EnableFontFeature(FontFeatures.StandardLigatures);
+        });
+    }
+
+    [Test]
+    public void FontFeatures_StandardLigatures_Disabled()
+    {
+        VisualTest.PerformWithDefaultPageSettings(container =>
+        {
+            container
+                .Text("final")
+                .DisableFontFeature(FontFeatures.StandardLigatures);
+        });
+    }
+    
+    #endregion
+}