From e6bd63b3ec841cef77ec6bfeecfc784fe4c8ff8a Mon Sep 17 00:00:00 2001 From: Bennet Bo Fenner <53836821+Bebo-Maker@users.noreply.github.com> Date: Thu, 3 Nov 2022 16:43:49 +0100 Subject: [PATCH] handle letter spacing in TextStyleManager --- QuestPDF/Infrastructure/TextStyleManager.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/QuestPDF/Infrastructure/TextStyleManager.cs b/QuestPDF/Infrastructure/TextStyleManager.cs index 031c56b..373cea3 100644 --- a/QuestPDF/Infrastructure/TextStyleManager.cs +++ b/QuestPDF/Infrastructure/TextStyleManager.cs @@ -11,6 +11,7 @@ namespace QuestPDF.Infrastructure FontFamily, Size, LineHeight, + LetterSpacing, FontWeight, FontPosition, IsItalic, @@ -101,6 +102,19 @@ namespace QuestPDF.Infrastructure return origin with { LineHeight = castedValue }; } + + if(property == TextStyleProperty.LetterSpacing) + { + if (!overrideValue && origin.LetterSpacing != null) + return origin; + + var castedValue = (float?)value; + + if (origin.LetterSpacing == castedValue) + return origin; + + return origin with { LetterSpacing = castedValue }; + } if (property == TextStyleProperty.FontWeight) { @@ -232,6 +246,7 @@ namespace QuestPDF.Infrastructure result = MutateStyle(result, TextStyleProperty.FontFamily, parent.FontFamily, overrideStyle); result = MutateStyle(result, TextStyleProperty.Size, parent.Size, overrideStyle); result = MutateStyle(result, TextStyleProperty.LineHeight, parent.LineHeight, overrideStyle); + result = MutateStyle(result, TextStyleProperty.LetterSpacing, parent.LetterSpacing, overrideStyle); result = MutateStyle(result, TextStyleProperty.FontWeight, parent.FontWeight, overrideStyle); result = MutateStyle(result, TextStyleProperty.FontPosition, parent.FontPosition, overrideStyle); result = MutateStyle(result, TextStyleProperty.IsItalic, parent.IsItalic, overrideStyle);