diff --git a/src/PhpWord/Writer/HTML/Element/Title.php b/src/PhpWord/Writer/HTML/Element/Title.php index e759bfdcd6..2456a0a601 100644 --- a/src/PhpWord/Writer/HTML/Element/Title.php +++ b/src/PhpWord/Writer/HTML/Element/Title.php @@ -19,7 +19,9 @@ namespace PhpOffice\PhpWord\Writer\HTML\Element; use PhpOffice\PhpWord\Element\Title as PhpWordTitle; +use PhpOffice\PhpWord\Style; use PhpOffice\PhpWord\Writer\HTML; +use PhpOffice\PhpWord\Writer\HTML\Style\Font; use PhpOffice\PhpWord\Writer\HTML\Style\Paragraph; /** @@ -52,13 +54,23 @@ public function write() $text = $writer->write(); } $css = ''; + $write1 = $write2 = $write3 = ''; + $style = Style::getStyle('Heading_' . $this->element->getDepth()); + if ($style !== null) { + $styleWriter = new Font($style); + $write1 = $styleWriter->write(); + } if (is_object($paragraphStyle)) { $styleWriter = new Paragraph($paragraphStyle); - $write = $styleWriter->write(); - if ($write !== '') { - $css = " style=\"$write\""; + $write3 = $styleWriter->write(); + if ($write1 !== '' && $write3 !== '') { + $write2 = ' '; } } + $css = "$write1$write2$write3"; + if ($css !== '') { + $css = " style=\"$css\""; + } $content = "<{$tag}{$css}>{$text}{$tag}>" . PHP_EOL; diff --git a/tests/PhpWordTests/Shared/HtmlHeadingsTest.php b/tests/PhpWordTests/Shared/HtmlHeadingsTest.php index 8ecc95b773..331935fbae 100644 --- a/tests/PhpWordTests/Shared/HtmlHeadingsTest.php +++ b/tests/PhpWordTests/Shared/HtmlHeadingsTest.php @@ -40,7 +40,7 @@ public function testRoundTripHeadings(): void $section = $originalDoc->addSection(); $expectedStrings = []; $section->addTitle('Title 1', 1); - $expectedStrings[] = '