svgio/qa/cppunit/SvgImportTest.cxx         |    9 +++++++++
 svgio/qa/cppunit/data/transparentColor.svg |    3 +++
 svgio/source/svgreader/svgtools.cxx        |    3 ++-
 3 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 6f71c77d1d5e1b5760915ce94e252b250da835d3
Author:     Xisco Fauli <[email protected]>
AuthorDate: Sat Jun 21 15:23:34 2025 +0200
Commit:     Adolfo Jayme Barrientos <[email protected]>
CommitDate: Wed Jun 25 09:01:55 2025 +0200

    tdf#167147: Support transparent fill color
    
    Change-Id: I5a38a52f2720f58bc2762d328fb6a5e4090c6dde
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186780
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit 42e566654aa926caf51457b78a3b0dbb81b2f6a2)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186782
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/svgio/qa/cppunit/SvgImportTest.cxx 
b/svgio/qa/cppunit/SvgImportTest.cxx
index 49465dc4db03..70be705d4545 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -995,6 +995,15 @@ CPPUNIT_TEST_FIXTURE(Test, testNoneColor)
     assertXPath(pDocument, 
"/primitive2D/transform/mask/polypolygonstroke/line", "width", u"3");
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTransparentColor)
+{
+    xmlDocUniquePtr pDocument = 
dumpAndParseSvg(u"/svgio/qa/cppunit/data/transparentColor.svg");
+
+    //No polypolygoncolor exists
+    assertXPath(pDocument, "/primitive2D/transform/mask/polypolygoncolor", 0);
+    assertXPath(pDocument, 
"/primitive2D/transform/mask/polypolygonstroke/line", "color", u"#000000");
+    assertXPath(pDocument, 
"/primitive2D/transform/mask/polypolygonstroke/line", "width", u"3");
+}
 CPPUNIT_TEST_FIXTURE(Test, testTdf117920)
 {
     xmlDocUniquePtr pDocument = 
dumpAndParseSvg(u"/svgio/qa/cppunit/data/tdf117920.svg");
diff --git a/svgio/qa/cppunit/data/transparentColor.svg 
b/svgio/qa/cppunit/data/transparentColor.svg
new file mode 100644
index 000000000000..ffd0fadb973c
--- /dev/null
+++ b/svgio/qa/cppunit/data/transparentColor.svg
@@ -0,0 +1,3 @@
+<svg width="400" height="110">
+  <rect fill="red" width="300" height="100" 
style="fill:transparent;stroke-width:3;stroke:rgb(0,0,0)" />
+</svg>
diff --git a/svgio/source/svgreader/svgtools.cxx 
b/svgio/source/svgreader/svgtools.cxx
index 3918660fb7bd..8ed821c1a0ad 100644
--- a/svgio/source/svgreader/svgtools.cxx
+++ b/svgio/source/svgreader/svgtools.cxx
@@ -1148,7 +1148,8 @@ namespace svgio::svgreader
                 }
                 else
                 {
-                    if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(rCandidate), 
u"none"))
+                    if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(rCandidate), 
u"none") ||
+                        o3tl::equalsIgnoreAsciiCase(o3tl::trim(rCandidate), 
u"transparent"))
                     {
                         rSvgPaint = SvgPaint(aColor, true, false, false);
                         return true;

Reply via email to