diff --git a/spec/PUGX/Poser/Calculator/SvgTextSizeCalculatorSpec.php b/spec/PUGX/Poser/Calculator/SvgTextSizeCalculatorSpec.php index 56120e0..7930d3b 100644 --- a/spec/PUGX/Poser/Calculator/SvgTextSizeCalculatorSpec.php +++ b/spec/PUGX/Poser/Calculator/SvgTextSizeCalculatorSpec.php @@ -8,8 +8,8 @@ class SvgTextSizeCalculatorSpec extends ObjectBehavior { public function it_should_compute_text_width(): void { - $this->calculateWidth('MIT', 8)->shouldBeLike(25); - $this->calculateWidth('MIT', 10)->shouldBeLike(29); - $this->calculateWidth('MIT', 14)->shouldBeLike(36); + $this->calculateWidth('MIT', 8)->shouldBeLike(24.1); + $this->calculateWidth('MIT', 10)->shouldBeLike(27.7); + $this->calculateWidth('MIT', 14)->shouldBeLike(34.8); } } diff --git a/src/Calculator/SvgTextSizeCalculator.php b/src/Calculator/SvgTextSizeCalculator.php index b740ba9..887fa3c 100644 --- a/src/Calculator/SvgTextSizeCalculator.php +++ b/src/Calculator/SvgTextSizeCalculator.php @@ -19,8 +19,6 @@ */ class SvgTextSizeCalculator implements TextSizeCalculatorInterface { - private const SHIELD_PADDING_X = 11; - /** * Calculate the width of the text box. */ @@ -36,6 +34,8 @@ public function calculateWidth(string $text, int $size = self::TEXT_SIZE): float $letterSpacing, ); - return \round($width + self::SHIELD_PADDING_X, 0); + $shieldPaddingX = self::SHIELD_PADDING_EXTERNAL + self::SHIELD_PADDING_INTERNAL; + + return \round($width + $shieldPaddingX, 1); } }