diff --git a/OpenXmlPowerTools.Tests/HtmlToWmlConverterTests.cs b/OpenXmlPowerTools.Tests/HtmlToWmlConverterTests.cs index 3bec4ffe..f2a10a66 100644 --- a/OpenXmlPowerTools.Tests/HtmlToWmlConverterTests.cs +++ b/OpenXmlPowerTools.Tests/HtmlToWmlConverterTests.cs @@ -282,6 +282,8 @@ public class HwTests [InlineData("T1830.html")] [InlineData("T1840.html")] [InlineData("T1850.html")] + [InlineData("T1860.html")] + [InlineData("T1870.html")] public void HW001(string name) { diff --git a/OpenXmlPowerTools/HtmlToWmlConverterCore.cs b/OpenXmlPowerTools/HtmlToWmlConverterCore.cs index 438c57a2..c01aff35 100644 --- a/OpenXmlPowerTools/HtmlToWmlConverterCore.cs +++ b/OpenXmlPowerTools/HtmlToWmlConverterCore.cs @@ -2829,9 +2829,9 @@ private static XElement[] GetSpacingProperties(XElement paragraph, HtmlToWmlConv // todo should check based on display property bool numItem = paragraph.Name == XhtmlNoNamespace.li; - if (numItem && marginTopProperty.IsAuto) + if (numItem && marginTopProperty != null && marginTopProperty.IsAuto) beforeAutospacing = "1"; - if (numItem && marginBottomProperty.IsAuto) + if (numItem && marginTopProperty != null && marginBottomProperty.IsAuto) afterAutospacing = "1"; if (marginTopProperty != null && marginTopProperty.IsNotAuto) { diff --git a/OpenXmlPowerTools/HtmlToWmlCssApplier.cs b/OpenXmlPowerTools/HtmlToWmlCssApplier.cs index 07c7367d..37f9ba1b 100644 --- a/OpenXmlPowerTools/HtmlToWmlCssApplier.cs +++ b/OpenXmlPowerTools/HtmlToWmlCssApplier.cs @@ -1427,6 +1427,10 @@ private static CssExpression ComputeAbsoluteLength(XElement element, CssExpressi throw new OpenXmlPowerToolsException("Internal error"); newPtSize = (unit == CssUnit.EM) ? decFontSize * decValue : decFontSize * decValue / 2; } + else if (unit == CssUnit.REM) + { + newPtSize = settings.DefaultFontSize * decValue; + } else { if (unit == null && decValue == 0d) @@ -1515,6 +1519,8 @@ private static CssExpression ComputeAbsoluteFontSize(XElement element, CssExpres newPtSize = ptSize / 2 * decValue; if (unit == CssUnit.Percent) newPtSize = ptSize * decValue / 100d; + if (unit == CssUnit.REM) + newPtSize = settings.DefaultFontSize * decValue; } else { diff --git a/TestFiles/T1860.html b/TestFiles/T1860.html new file mode 100644 index 00000000..dacc5f18 --- /dev/null +++ b/TestFiles/T1860.html @@ -0,0 +1,30 @@ + + + + + + + + +
+
    +
  1. + Description +
  2. +
+
+ + diff --git a/TestFiles/T1870.html b/TestFiles/T1870.html new file mode 100644 index 00000000..11f3ab5b --- /dev/null +++ b/TestFiles/T1870.html @@ -0,0 +1,16 @@ + + + + + + +

Test1

+

Test2

+ +