diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-07-07 14:45:01 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-07-08 09:38:27 +0200 |
commit | 911ac42485b690df5cbbff6e3c04b111c1723aca (patch) | |
tree | 6a4561194584423507b9229c0b17aeca70f1111c | |
parent | 11071d95f4f3cbe578c3393729c42b7cce011b45 (diff) |
svgio: use IgnoreAsciiCase when checking these values
They are also valid when uppercase
OTOH, use equalsIgnoreAsciiCase along with
trim() instead of startsWithIgnoreAsciiCase since
" round " should be valid but "rounded" shouldn't
Change-Id: If4060a23a1cf41833264051094103e37927d14c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136881
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | svgio/source/svgreader/svgcharacternode.cxx | 5 | ||||
-rw-r--r-- | svgio/source/svgreader/svgclippathnode.cxx | 5 | ||||
-rw-r--r-- | svgio/source/svgreader/svggradientnode.cxx | 11 | ||||
-rw-r--r-- | svgio/source/svgreader/svgmarkernode.cxx | 7 | ||||
-rw-r--r-- | svgio/source/svgreader/svgmasknode.cxx | 9 | ||||
-rw-r--r-- | svgio/source/svgreader/svgnode.cxx | 4 | ||||
-rw-r--r-- | svgio/source/svgreader/svgpatternnode.cxx | 9 | ||||
-rw-r--r-- | svgio/source/svgreader/svgstyleattributes.cxx | 131 | ||||
-rw-r--r-- | svgio/source/svgreader/svgstylenode.cxx | 3 | ||||
-rw-r--r-- | svgio/source/svgreader/svgtools.cxx | 18 |
10 files changed, 105 insertions, 97 deletions
diff --git a/svgio/source/svgreader/svgcharacternode.cxx b/svgio/source/svgreader/svgcharacternode.cxx index 3efda44ee4a9..581129cf1025 100644 --- a/svgio/source/svgreader/svgcharacternode.cxx +++ b/svgio/source/svgreader/svgcharacternode.cxx @@ -25,6 +25,7 @@ #include <drawinglayer/primitive2d/textbreakuphelper.hxx> #include <drawinglayer/primitive2d/textdecoratedprimitive2d.hxx> #include <utility> +#include <o3tl/string_view.hxx> #include <osl/diagnose.h> using namespace drawinglayer::primitive2d; @@ -123,11 +124,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("spacing")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"spacing")) { setLengthAdjust(true); } - else if(aContent.startsWith("spacingAndGlyphs")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"spacingAndGlyphs")) { setLengthAdjust(false); } diff --git a/svgio/source/svgreader/svgclippathnode.cxx b/svgio/source/svgreader/svgclippathnode.cxx index 826175c0865b..3d814694db64 100644 --- a/svgio/source/svgreader/svgclippathnode.cxx +++ b/svgio/source/svgreader/svgclippathnode.cxx @@ -25,6 +25,7 @@ #include <drawinglayer/processor2d/contourextractor2d.hxx> #include <basegfx/polygon/b2dpolypolygoncutter.hxx> #include <basegfx/polygon/b2dpolygontools.hxx> +#include <o3tl/string_view.hxx> namespace svgio::svgreader { @@ -76,11 +77,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setClipPathUnits(SvgUnits::userSpaceOnUse); } - else if(aContent.match(commonStrings::aStrObjectBoundingBox)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrObjectBoundingBox)) { setClipPathUnits(SvgUnits::objectBoundingBox); } diff --git a/svgio/source/svgreader/svggradientnode.cxx b/svgio/source/svgreader/svggradientnode.cxx index 53720e59f883..db80e8a5c1ae 100644 --- a/svgio/source/svgreader/svggradientnode.cxx +++ b/svgio/source/svgreader/svggradientnode.cxx @@ -20,6 +20,7 @@ #include <svggradientnode.hxx> #include <svgdocument.hxx> #include <svggradientstopnode.hxx> +#include <o3tl/string_view.hxx> #include <osl/diagnose.h> namespace svgio::svgreader @@ -171,11 +172,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setGradientUnits(SvgUnits::userSpaceOnUse); } - else if(aContent.match(commonStrings::aStrObjectBoundingBox)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrObjectBoundingBox)) { setGradientUnits(SvgUnits::objectBoundingBox); } @@ -186,15 +187,15 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("pad")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"pad")) { setSpreadMethod(drawinglayer::primitive2d::SpreadMethod::Pad); } - else if(aContent.startsWith("reflect")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"reflect")) { setSpreadMethod(drawinglayer::primitive2d::SpreadMethod::Reflect); } - else if(aContent.startsWith("repeat")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"repeat")) { setSpreadMethod(drawinglayer::primitive2d::SpreadMethod::Repeat); } diff --git a/svgio/source/svgreader/svgmarkernode.cxx b/svgio/source/svgreader/svgmarkernode.cxx index 0c930685c7f9..0c2ea6a7a50e 100644 --- a/svgio/source/svgreader/svgmarkernode.cxx +++ b/svgio/source/svgreader/svgmarkernode.cxx @@ -18,6 +18,7 @@ */ #include <svgmarkernode.hxx> +#include <o3tl/string_view.hxx> namespace svgio::svgreader { @@ -100,11 +101,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("strokeWidth")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"strokeWidth")) { setMarkerUnits(MarkerUnits::strokeWidth); } - else if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setMarkerUnits(MarkerUnits::userSpaceOnUse); } @@ -143,7 +144,7 @@ namespace svgio::svgreader if(nLen) { - if(aContent.startsWith("auto")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"auto")) { mbOrientAuto = true; } diff --git a/svgio/source/svgreader/svgmasknode.cxx b/svgio/source/svgreader/svgmasknode.cxx index 6b2bc2b17430..abc1aeed6454 100644 --- a/svgio/source/svgreader/svgmasknode.cxx +++ b/svgio/source/svgreader/svgmasknode.cxx @@ -26,6 +26,7 @@ #include <drawinglayer/primitive2d/maskprimitive2d.hxx> #include <basegfx/polygon/b2dpolygontools.hxx> #include <basegfx/polygon/b2dpolygon.hxx> +#include <o3tl/string_view.hxx> namespace svgio::svgreader { @@ -128,11 +129,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setMaskUnits(SvgUnits::userSpaceOnUse); } - else if(aContent.match(commonStrings::aStrObjectBoundingBox)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrObjectBoundingBox)) { setMaskUnits(SvgUnits::objectBoundingBox); } @@ -143,11 +144,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setMaskContentUnits(SvgUnits::userSpaceOnUse); } - else if(aContent.match(commonStrings::aStrObjectBoundingBox)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrObjectBoundingBox)) { setMaskContentUnits(SvgUnits::objectBoundingBox); } diff --git a/svgio/source/svgreader/svgnode.cxx b/svgio/source/svgreader/svgnode.cxx index 72f20c22c167..b2c076d2285b 100644 --- a/svgio/source/svgreader/svgnode.cxx +++ b/svgio/source/svgreader/svgnode.cxx @@ -441,11 +441,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("default")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"default")) { setXmlSpace(XmlSpace::Default); } - else if(aContent.startsWith("preserve")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"preserve")) { setXmlSpace(XmlSpace::Preserve); } diff --git a/svgio/source/svgreader/svgpatternnode.cxx b/svgio/source/svgreader/svgpatternnode.cxx index e0fa2214be0f..1e53cc8b2337 100644 --- a/svgio/source/svgreader/svgpatternnode.cxx +++ b/svgio/source/svgreader/svgpatternnode.cxx @@ -19,6 +19,7 @@ #include <svgpatternnode.hxx> #include <svgdocument.hxx> +#include <o3tl/string_view.hxx> namespace svgio::svgreader { @@ -130,11 +131,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setPatternUnits(SvgUnits::userSpaceOnUse); } - else if(aContent.match(commonStrings::aStrObjectBoundingBox)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrObjectBoundingBox)) { setPatternUnits(SvgUnits::objectBoundingBox); } @@ -145,11 +146,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrUserSpaceOnUse)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrUserSpaceOnUse)) { setPatternContentUnits(SvgUnits::userSpaceOnUse); } - else if(aContent.match(commonStrings::aStrObjectBoundingBox)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrObjectBoundingBox)) { setPatternContentUnits(SvgUnits::objectBoundingBox); } diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index 5e355ea309da..9e0e24b0e1a0 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -43,6 +43,7 @@ #include <basegfx/polygon/b2dpolygontools.hxx> #include <drawinglayer/primitive2d/maskprimitive2d.hxx> #include <drawinglayer/primitive2d/pagehierarchyprimitive2d.hxx> +#include <o3tl/string_view.hxx> #include <o3tl/unit_conversion.hxx> const int nStyleDepthLimit = 1024; @@ -1329,11 +1330,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrNonzero)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrNonzero)) { maFillRule = FillRule::nonzero; } - else if(aContent.match(commonStrings::aStrEvenOdd)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrEvenOdd)) { maFillRule = FillRule::evenodd; } @@ -1366,7 +1367,7 @@ namespace svgio::svgreader { SvgNumberVector aVector; - if(aContent.startsWith("none")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"none")) { // #121221# The special value 'none' needs to be handled // in the sense that *when* it is set, the parent shall not @@ -1398,15 +1399,15 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("butt")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"butt")) { setStrokeLinecap(StrokeLinecap::butt); } - else if(aContent.startsWith("round")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"round")) { setStrokeLinecap(StrokeLinecap::round); } - else if(aContent.startsWith("square")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"square")) { setStrokeLinecap(StrokeLinecap::square); } @@ -1417,15 +1418,15 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("miter")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"miter")) { setStrokeLinejoin(StrokeLinejoin::miter); } - else if(aContent.startsWith("round")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"round")) { setStrokeLinejoin(StrokeLinejoin::round); } - else if(aContent.startsWith("bevel")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"bevel")) { setStrokeLinejoin(StrokeLinejoin::bevel); } @@ -1516,43 +1517,43 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("xx-small")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"xx-small")) { setFontSize(FontSize::xx_small); } - else if(aContent.startsWith("x-small")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"x-small")) { setFontSize(FontSize::x_small); } - else if(aContent.startsWith("small")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"small")) { setFontSize(FontSize::small); } - else if(aContent.startsWith("smaller")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"smaller")) { setFontSize(FontSize::smaller); } - else if(aContent.startsWith("medium")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"medium")) { setFontSize(FontSize::medium); } - else if(aContent.startsWith("larger")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"larger")) { setFontSize(FontSize::larger); } - else if(aContent.startsWith("large")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"large")) { setFontSize(FontSize::large); } - else if(aContent.startsWith("x-large")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"x-large")) { setFontSize(FontSize::x_large); } - else if(aContent.startsWith("xx-large")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"xx-large")) { setFontSize(FontSize::xx_large); } - else if(aContent.startsWith("initial")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"initial")) { setFontSize(FontSize::initial); } @@ -1576,47 +1577,47 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("normal")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"normal")) { setFontStretch(FontStretch::normal); } - else if(aContent.startsWith("wider")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"wider")) { setFontStretch(FontStretch::wider); } - else if(aContent.startsWith("narrower")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"narrower")) { setFontStretch(FontStretch::narrower); } - else if(aContent.startsWith("ultra-condensed")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"ultra-condensed")) { setFontStretch(FontStretch::ultra_condensed); } - else if(aContent.startsWith("extra-condensed")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"extra-condensed")) { setFontStretch(FontStretch::extra_condensed); } - else if(aContent.startsWith("condensed")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"condensed")) { setFontStretch(FontStretch::condensed); } - else if(aContent.startsWith("semi-condensed")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"semi-condensed")) { setFontStretch(FontStretch::semi_condensed); } - else if(aContent.startsWith("semi-expanded")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"semi-expanded")) { setFontStretch(FontStretch::semi_expanded); } - else if(aContent.startsWith("expanded")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"expanded")) { setFontStretch(FontStretch::expanded); } - else if(aContent.startsWith("extra-expanded")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"extra-expanded")) { setFontStretch(FontStretch::extra_expanded); } - else if(aContent.startsWith("ultra-expanded")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"ultra-expanded")) { setFontStretch(FontStretch::ultra_expanded); } @@ -1627,15 +1628,15 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("normal")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"normal")) { setFontStyle(FontStyle::normal); } - else if(aContent.startsWith("italic")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"italic")) { setFontStyle(FontStyle::italic); } - else if(aContent.startsWith("oblique")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"oblique")) { setFontStyle(FontStyle::oblique); } @@ -1650,47 +1651,47 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("100")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"100")) { setFontWeight(FontWeight::N100); } - else if(aContent.startsWith("200")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"200")) { setFontWeight(FontWeight::N200); } - else if(aContent.startsWith("300")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"300")) { setFontWeight(FontWeight::N300); } - else if(aContent.startsWith("400") || aContent.startsWith("normal")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"400") || o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"normal")) { setFontWeight(FontWeight::N400); } - else if(aContent.startsWith("500")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"500")) { setFontWeight(FontWeight::N500); } - else if(aContent.startsWith("600")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"600")) { setFontWeight(FontWeight::N600); } - else if(aContent.startsWith("700") || aContent.startsWith("bold")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"700") || o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"bold")) { setFontWeight(FontWeight::N700); } - else if(aContent.startsWith("800")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"800")) { setFontWeight(FontWeight::N800); } - else if(aContent.startsWith("900")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"900")) { setFontWeight(FontWeight::N900); } - else if(aContent.startsWith("bolder")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"bolder")) { setFontWeight(FontWeight::bolder); } - else if(aContent.startsWith("lighter")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"lighter")) { setFontWeight(FontWeight::lighter); } @@ -1709,23 +1710,23 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("none")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"none")) { setTextDecoration(TextDecoration::none); } - else if(aContent.startsWith("underline")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"underline")) { setTextDecoration(TextDecoration::underline); } - else if(aContent.startsWith("overline")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"overline")) { setTextDecoration(TextDecoration::overline); } - else if(aContent.startsWith("line-through")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"line-through")) { setTextDecoration(TextDecoration::line_through); } - else if(aContent.startsWith("blink")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"blink")) { setTextDecoration(TextDecoration::blink); } @@ -1744,15 +1745,15 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("start")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"start")) { setTextAnchor(TextAnchor::start); } - else if(aContent.startsWith("middle")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"middle")) { setTextAnchor(TextAnchor::middle); } - else if(aContent.startsWith("end")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"end")) { setTextAnchor(TextAnchor::end); } @@ -1763,19 +1764,19 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("left")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"left")) { setTextAlign(TextAlign::left); } - else if(aContent.startsWith("right")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"right")) { setTextAlign(TextAlign::right); } - else if(aContent.startsWith("center")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"center")) { setTextAlign(TextAlign::center); } - else if(aContent.startsWith("justify")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"justify")) { setTextAlign(TextAlign::justify); } @@ -1812,19 +1813,19 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("visible")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"visible")) { setVisibility(Visibility::visible); } - else if(aContent.startsWith("hidden")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"hidden")) { setVisibility(Visibility::hidden); } - else if(aContent.startsWith("collapse")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"collapse")) { setVisibility(Visibility::collapse); } - else if(aContent.startsWith("inherit")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"inherit")) { setVisibility(Visibility::inherit); } @@ -1855,11 +1856,11 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.match(commonStrings::aStrNonzero)) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrNonzero)) { maClipRule = FillRule::nonzero; } - else if(aContent.match(commonStrings::aStrEvenOdd)) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), commonStrings::aStrEvenOdd)) { maClipRule = FillRule::evenodd; } @@ -1908,11 +1909,11 @@ namespace svgio::svgreader { SvgNumber aNum; - if(aContent.startsWith("sub")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"sub")) { setBaselineShift(BaselineShift::Sub); } - else if(aContent.startsWith("super")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"super")) { setBaselineShift(BaselineShift::Super); } @@ -2474,7 +2475,7 @@ namespace svgio::svgreader const SvgStringVector& SvgStyleAttributes::getFontFamily() const { - if(!maFontFamily.empty() && !maFontFamily[0].startsWith("inherit")) + if(!maFontFamily.empty() && !o3tl::equalsIgnoreAsciiCase(o3tl::trim(maFontFamily[0]), u"inherit")) { return maFontFamily; } diff --git a/svgio/source/svgreader/svgstylenode.cxx b/svgio/source/svgreader/svgstylenode.cxx index f9d33d61ced3..474b0a0e92e8 100644 --- a/svgio/source/svgreader/svgstylenode.cxx +++ b/svgio/source/svgreader/svgstylenode.cxx @@ -19,6 +19,7 @@ #include <svgstylenode.hxx> #include <svgdocument.hxx> +#include <o3tl/string_view.hxx> #include <osl/diagnose.h> namespace svgio::svgreader @@ -56,7 +57,7 @@ namespace svgio::svgreader { if(!aContent.isEmpty()) { - if(aContent.startsWith("text/css")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(aContent), u"text/css")) { setTextCss(true); } diff --git a/svgio/source/svgreader/svgtools.cxx b/svgio/source/svgreader/svgtools.cxx index 94f8f20d5f0e..c73d4c768451 100644 --- a/svgio/source/svgreader/svgtools.cxx +++ b/svgio/source/svgreader/svgtools.cxx @@ -869,7 +869,7 @@ namespace svgio::svgreader { case u'm' : { - if(rCandidate.match(aStrMatrix, nPos)) + if(rCandidate.matchIgnoreAsciiCase(aStrMatrix, nPos)) { // matrix element nPos += strlen(aStrMatrix); @@ -923,7 +923,7 @@ namespace svgio::svgreader } case u't' : { - if(rCandidate.match(aStrTranslate, nPos)) + if(rCandidate.matchIgnoreAsciiCase(aStrTranslate, nPos)) { // translate element nPos += strlen(aStrTranslate); @@ -947,7 +947,7 @@ namespace svgio::svgreader } case u's' : { - if(rCandidate.match(aStrScale, nPos)) + if(rCandidate.matchIgnoreAsciiCase(aStrScale, nPos)) { // scale element nPos += strlen(aStrScale); @@ -967,7 +967,7 @@ namespace svgio::svgreader aScaleY.solve(rInfoProvider)); } } - else if(rCandidate.match(aStrSkewX, nPos)) + else if(rCandidate.matchIgnoreAsciiCase(aStrSkewX, nPos)) { // skewx element nPos += strlen(aStrSkewX); @@ -982,7 +982,7 @@ namespace svgio::svgreader aMatrix = aMatrix * basegfx::utils::createShearXB2DHomMatrix(tan(fSkewX)); } } - else if(rCandidate.match(aStrSkewY, nPos)) + else if(rCandidate.matchIgnoreAsciiCase(aStrSkewY, nPos)) { // skewy element nPos += strlen(aStrSkewY); @@ -1001,7 +1001,7 @@ namespace svgio::svgreader } case u'r' : { - if(rCandidate.match(aStrRotate, nPos)) + if(rCandidate.matchIgnoreAsciiCase(aStrRotate, nPos)) { // rotate element nPos += strlen(aStrRotate); @@ -1108,7 +1108,7 @@ namespace svgio::svgreader } else { - if(rCandidate.startsWith("none")) + if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(rCandidate), u"none")) { rSvgPaint = SvgPaint(aColor, true, false, false); return true; @@ -1118,7 +1118,7 @@ namespace svgio::svgreader /// Url is copied to rURL, but needs to be solved outside this helper return false; } - else if(rCandidate.startsWith("currentColor")) + else if(o3tl::equalsIgnoreAsciiCase(o3tl::trim(rCandidate), u"currentColor")) { rSvgPaint = SvgPaint(aColor, true, true, true); return true; @@ -1317,7 +1317,7 @@ namespace svgio::svgreader { static const char aStrData[] = "data:"; - if(rCandidate.match(aStrData, 0)) + if(rCandidate.matchIgnoreAsciiCase(aStrData, 0)) { // embedded data sal_Int32 nPos(strlen(aStrData)); |