Skip to content

Commit e03e121

Browse files
committed
#196: RTF link styling fixes
1 parent 1ee43da commit e03e121

File tree

5 files changed

+15
-18
lines changed

5 files changed

+15
-18
lines changed

src/PhpWord/Writer/RTF.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
namespace PhpOffice\PhpWord\Writer;
1919

20-
use PhpOffice\PhpWord\Element\Text;
2120
use PhpOffice\PhpWord\Exception\Exception;
2221
use PhpOffice\PhpWord\PhpWord;
2322
use PhpOffice\PhpWord\Shared\Drawing;

src/PhpWord/Writer/RTF/Element/AbstractElement.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,26 +51,29 @@ class AbstractElement extends \PhpOffice\PhpWord\Writer\HTML\Element\AbstractEle
5151
protected function getStyles()
5252
{
5353
/** @var \PhpOffice\PhpWord\Writer\RTF $parentWriter Scrutinizer type hint */
54+
/** @var \PhpOffice\PhpWord\Element\Text $element Scrutinizer type hint */
55+
5456
$parentWriter = $this->parentWriter;
57+
$element = $this->element;
5558

5659
// Font style
57-
if (method_exists($this->element, 'getFontStyle')) {
58-
$this->fontStyle = $this->element->getFontStyle();
60+
if (method_exists($element, 'getFontStyle')) {
61+
$this->fontStyle = $element->getFontStyle();
5962
if (is_string($this->fontStyle)) {
6063
$this->fontStyle = Style::getStyle($this->fontStyle);
6164
}
6265
}
6366

6467
// Paragraph style
65-
if (method_exists($this->element, 'getParagraphStyle')) {
66-
$this->paragraphStyle = $this->element->getParagraphStyle();
68+
if (method_exists($element, 'getParagraphStyle')) {
69+
$this->paragraphStyle = $element->getParagraphStyle();
6770
if (is_string($this->paragraphStyle)) {
6871
$this->paragraphStyle = Style::getStyle($this->paragraphStyle);
6972
}
7073

7174
if ($this->paragraphStyle !== null && !$this->withoutP) {
72-
if ($parentWriter->getLastParagraphStyle() != $this->element->getParagraphStyle()) {
73-
$parentWriter->setLastParagraphStyle($this->element->getParagraphStyle());
75+
if ($parentWriter->getLastParagraphStyle() != $element->getParagraphStyle()) {
76+
$parentWriter->setLastParagraphStyle($element->getParagraphStyle());
7477
} else {
7578
$parentWriter->setLastParagraphStyle();
7679
$this->paragraphStyle = null;
@@ -147,7 +150,7 @@ protected function writeFontStyle()
147150
if ($this->fontStyle->getName() != null) {
148151
$fontIndex = array_search($this->fontStyle->getName(), $parentWriter->getFontTable());
149152
if ($fontIndex !== false) {
150-
$styleWriter->setNameIndex($fontIndex + 1);
153+
$styleWriter->setNameIndex($fontIndex);
151154
}
152155
}
153156

src/PhpWord/Writer/RTF/Element/ListItem.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717

1818
namespace PhpOffice\PhpWord\Writer\RTF\Element;
1919

20-
use PhpOffice\PhpWord\Shared\String;
21-
2220
/**
2321
* ListItem element RTF writer; extends from text
2422
*

src/PhpWord/Writer/RTF/Element/Text.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@
1717

1818
namespace PhpOffice\PhpWord\Writer\RTF\Element;
1919

20-
use PhpOffice\PhpWord\Element\Text as TextElement;
21-
use PhpOffice\PhpWord\Shared\String;
22-
use PhpOffice\PhpWord\Style;
23-
2420
/**
2521
* Text element RTF writer
2622
*
@@ -35,8 +31,11 @@ class Text extends AbstractElement
3531
*/
3632
public function write()
3733
{
34+
/** @var \PhpOffice\PhpWord\Element\Text $element Scrutinizer type hint */
35+
3836
$elementClass = str_replace('\\Writer\\RTF', '', get_class($this));
39-
if (!$this->element instanceof $elementClass) {
37+
$element = $this->element;
38+
if (!$element instanceof $elementClass) {
4039
return;
4140
}
4241

@@ -46,7 +45,7 @@ public function write()
4645
$content .= $this->writeOpening();
4746
$content .= '{';
4847
$content .= $this->writeFontStyle();
49-
$content .= $this->writeText($this->element->getText());
48+
$content .= $this->writeText($element->getText());
5049
$content .= '}';
5150
$content .= $this->writeClosing();
5251

src/PhpWord/Writer/RTF/Element/Title.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717

1818
namespace PhpOffice\PhpWord\Writer\RTF\Element;
1919

20-
use PhpOffice\PhpWord\Shared\String;
21-
2220
/**
2321
* Title element RTF writer; extends from text
2422
*

0 commit comments

Comments
 (0)