From 044d331d5a625acd258b98c50235f8b0b01b5413 Mon Sep 17 00:00:00 2001 From: vlakoff <544424+vlakoff@users.noreply.github.com> Date: Thu, 27 Nov 2025 04:08:03 +0100 Subject: [PATCH] revert(svg): use %s instead of %.3F in transform formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts #100 which replaced %s with %.3F. PHP ≥ 8.0 formatting is locale-independent, so %.3F is no longer necessary and introduced trailing zeroes in scale/translate attributes. --- src/Renderer/Image/SvgImageBackEnd.php | 6 ++---- .../SVGRenderingTest__testGenericQrCode__1.xml | 2 +- ...radientGeneratesDifferentIdsForDifferentGradients__1.xml | 2 +- ...radientGeneratesDifferentIdsForDifferentGradients__2.xml | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Renderer/Image/SvgImageBackEnd.php b/src/Renderer/Image/SvgImageBackEnd.php index 44d014e..dd5896d 100644 --- a/src/Renderer/Image/SvgImageBackEnd.php +++ b/src/Renderer/Image/SvgImageBackEnd.php @@ -19,8 +19,6 @@ final class SvgImageBackEnd implements ImageBackEndInterface { private const PRECISION = 3; - private const SCALE_FORMAT = 'scale(%.' . self::PRECISION . 'F)'; - private const TRANSLATE_FORMAT = 'translate(%.' . self::PRECISION . 'F,%.' . self::PRECISION . 'F)'; private ?XMLWriter $xmlWriter; @@ -87,7 +85,7 @@ public function scale(float $size) : void $this->xmlWriter->startElement('g'); $this->xmlWriter->writeAttribute( 'transform', - sprintf(self::SCALE_FORMAT, round($size, self::PRECISION)) + sprintf('scale(%s)', round($size, self::PRECISION)) ); ++$this->stack[$this->currentStack]; } @@ -101,7 +99,7 @@ public function translate(float $x, float $y) : void $this->xmlWriter->startElement('g'); $this->xmlWriter->writeAttribute( 'transform', - sprintf(self::TRANSLATE_FORMAT, round($x, self::PRECISION), round($y, self::PRECISION)) + sprintf('translate(%s,%s)', round($x, self::PRECISION), round($y, self::PRECISION)) ); ++$this->stack[$this->currentStack]; } diff --git a/test/Integration/__snapshots__/SVGRenderingTest__testGenericQrCode__1.xml b/test/Integration/__snapshots__/SVGRenderingTest__testGenericQrCode__1.xml index b602bbb..6f91413 100644 --- a/test/Integration/__snapshots__/SVGRenderingTest__testGenericQrCode__1.xml +++ b/test/Integration/__snapshots__/SVGRenderingTest__testGenericQrCode__1.xml @@ -2,7 +2,7 @@ - + diff --git a/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__1.xml b/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__1.xml index 5ebaedd..7c8d73a 100644 --- a/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__1.xml +++ b/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__1.xml @@ -2,7 +2,7 @@ - + diff --git a/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__2.xml b/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__2.xml index 466151f..997c9de 100644 --- a/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__2.xml +++ b/test/Integration/__snapshots__/SVGRenderingTest__testQrWithGradientGeneratesDifferentIdsForDifferentGradients__2.xml @@ -2,7 +2,7 @@ - +