Skip to content

Commit d77f583

Browse files
yulian-gaponenkoiText-CI
authored andcommitted
Introduce #setFontFamily methods for setting preferred font families on elements
DEVSIX-2525 Autoported commit. Original commit hash: [b9189916]
1 parent 9568334 commit d77f583

File tree

6 files changed

+18
-5
lines changed

6 files changed

+18
-5
lines changed

itext.tests/itext.html2pdf.tests/itext/html2pdf/css/BrTagTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ public virtual void Test() {
7373
NUnit.Framework.Assert.IsTrue(elements[1] is Paragraph);
7474
NUnit.Framework.Assert.AreEqual(1, ((Paragraph)elements[1]).GetChildren().Count);
7575
IElement iElement = ((Paragraph)elements[1]).GetChildren()[0];
76-
NUnit.Framework.Assert.AreEqual("freesans", iElement.GetProperty<String>(Property.FONT));
76+
NUnit.Framework.Assert.AreEqual(new String[] { "freesans" }, iElement.GetProperty<String[]>(Property.FONT)
77+
);
7778
}
7879
}
7980
}

itext/itext.html2pdf/itext/html2pdf/attach/impl/FontFace.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public static iText.Html2pdf.Attach.Impl.FontFace Create(IList<CssDeclaration> p
7777
String srcs = null;
7878
foreach (CssDeclaration descriptor in properties) {
7979
if ("font-family".Equals(descriptor.GetProperty())) {
80+
// TODO DEVSIX-2534
8081
fontFamily = FontFamilySplitter.RemoveQuotes(descriptor.GetExpression());
8182
}
8283
else {

itext/itext.html2pdf/itext/html2pdf/attach/impl/tags/BrTagWorker.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,12 @@ source product.
4141
4242
*/
4343
using System;
44+
using System.Collections.Generic;
4445
using iText.Html2pdf.Attach;
4546
using iText.Html2pdf.Css;
4647
using iText.Layout;
4748
using iText.Layout.Element;
49+
using iText.Layout.Font;
4850
using iText.StyledXmlParser.Node;
4951

5052
namespace iText.Html2pdf.Attach.Impl.Tags {
@@ -68,7 +70,9 @@ public BrTagWorker(IElementNode element, ProcessorContext context) {
6870
//There is no mappings for BR element in DefaultTagCssApplierMapping,
6971
// because only font-family should be applied to <br /> element.
7072
String fontFamily = element.GetStyles().Get(CssConstants.FONT_FAMILY);
71-
newLine.SetFont(fontFamily);
73+
// TODO DEVSIX-2534
74+
IList<String> splitFontFamily = FontFamilySplitter.SplitFontFamily(fontFamily);
75+
newLine.SetFontFamily(splitFontFamily.ToArray(new String[splitFontFamily.Count]));
7276
}
7377

7478
/* (non-Javadoc)

itext/itext.html2pdf/itext/html2pdf/attach/impl/tags/HtmlTagWorker.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ source product.
4141
4242
*/
4343
using System;
44+
using System.Collections.Generic;
4445
using iText.Html2pdf.Attach;
4546
using iText.Html2pdf.Attach.Impl.Layout;
4647
using iText.Html2pdf.Attach.Impl.Layout.Form.Element;
@@ -49,6 +50,7 @@ source product.
4950
using iText.Kernel.Pdf;
5051
using iText.Layout;
5152
using iText.Layout.Element;
53+
using iText.Layout.Font;
5254
using iText.Layout.Properties;
5355
using iText.StyledXmlParser.Css;
5456
using iText.StyledXmlParser.Node;
@@ -84,7 +86,9 @@ public HtmlTagWorker(IElementNode element, ProcessorContext context) {
8486
document.SetProperty(Property.FONT_SET, context.GetTempFonts());
8587
}
8688
String fontFamily = element.GetStyles().Get(CssConstants.FONT_FAMILY);
87-
document.SetProperty(Property.FONT, fontFamily);
89+
// TODO DEVSIX-2534
90+
IList<String> fontFamilies = FontFamilySplitter.SplitFontFamily(fontFamily);
91+
document.SetProperty(Property.FONT, fontFamilies.ToArray(new String[fontFamilies.Count]));
8892
inlineHelper = new WaitingInlineElementsHelper(element.GetStyles().Get(CssConstants.WHITE_SPACE), element.
8993
GetStyles().Get(CssConstants.TEXT_TRANSFORM));
9094
}

itext/itext.html2pdf/itext/html2pdf/css/apply/util/FontStyleApplierUtil.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ source product.
4949
using iText.Kernel.Colors;
5050
using iText.Kernel.Pdf.Canvas;
5151
using iText.Layout;
52+
using iText.Layout.Font;
5253
using iText.Layout.Properties;
5354
using iText.StyledXmlParser.Css.Util;
5455
using iText.StyledXmlParser.Exceptions;
@@ -82,7 +83,9 @@ public static void ApplyFontStyles(IDictionary<String, String> cssProps, Process
8283
element.SetProperty(Property.FONT_SIZE, UnitValue.CreatePointValue(em));
8384
}
8485
if (cssProps.Get(CssConstants.FONT_FAMILY) != null) {
85-
element.SetProperty(Property.FONT, cssProps.Get(CssConstants.FONT_FAMILY));
86+
// TODO DEVSIX-2534
87+
IList<String> fontFamilies = FontFamilySplitter.SplitFontFamily(cssProps.Get(CssConstants.FONT_FAMILY));
88+
element.SetProperty(Property.FONT, fontFamilies.ToArray(new String[fontFamilies.Count]));
8689
}
8790
if (cssProps.Get(CssConstants.FONT_WEIGHT) != null) {
8891
element.SetProperty(Property.FONT_WEIGHT, cssProps.Get(CssConstants.FONT_WEIGHT));

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
a3ec3c14f491f79ee1470e5008c8521bcffdf957
1+
b918991643cd64873966ecff706735218ac94491

0 commit comments

Comments
 (0)