#196: RTF link styling fixes
This commit is contained in:
parent
1ee43da4de
commit
e03e121e85
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
namespace PhpOffice\PhpWord\Writer;
|
||||
|
||||
use PhpOffice\PhpWord\Element\Text;
|
||||
use PhpOffice\PhpWord\Exception\Exception;
|
||||
use PhpOffice\PhpWord\PhpWord;
|
||||
use PhpOffice\PhpWord\Shared\Drawing;
|
||||
|
|
|
|||
|
|
@ -51,26 +51,29 @@ class AbstractElement extends \PhpOffice\PhpWord\Writer\HTML\Element\AbstractEle
|
|||
protected function getStyles()
|
||||
{
|
||||
/** @var \PhpOffice\PhpWord\Writer\RTF $parentWriter Scrutinizer type hint */
|
||||
/** @var \PhpOffice\PhpWord\Element\Text $element Scrutinizer type hint */
|
||||
|
||||
$parentWriter = $this->parentWriter;
|
||||
$element = $this->element;
|
||||
|
||||
// Font style
|
||||
if (method_exists($this->element, 'getFontStyle')) {
|
||||
$this->fontStyle = $this->element->getFontStyle();
|
||||
if (method_exists($element, 'getFontStyle')) {
|
||||
$this->fontStyle = $element->getFontStyle();
|
||||
if (is_string($this->fontStyle)) {
|
||||
$this->fontStyle = Style::getStyle($this->fontStyle);
|
||||
}
|
||||
}
|
||||
|
||||
// Paragraph style
|
||||
if (method_exists($this->element, 'getParagraphStyle')) {
|
||||
$this->paragraphStyle = $this->element->getParagraphStyle();
|
||||
if (method_exists($element, 'getParagraphStyle')) {
|
||||
$this->paragraphStyle = $element->getParagraphStyle();
|
||||
if (is_string($this->paragraphStyle)) {
|
||||
$this->paragraphStyle = Style::getStyle($this->paragraphStyle);
|
||||
}
|
||||
|
||||
if ($this->paragraphStyle !== null && !$this->withoutP) {
|
||||
if ($parentWriter->getLastParagraphStyle() != $this->element->getParagraphStyle()) {
|
||||
$parentWriter->setLastParagraphStyle($this->element->getParagraphStyle());
|
||||
if ($parentWriter->getLastParagraphStyle() != $element->getParagraphStyle()) {
|
||||
$parentWriter->setLastParagraphStyle($element->getParagraphStyle());
|
||||
} else {
|
||||
$parentWriter->setLastParagraphStyle();
|
||||
$this->paragraphStyle = null;
|
||||
|
|
@ -147,7 +150,7 @@ class AbstractElement extends \PhpOffice\PhpWord\Writer\HTML\Element\AbstractEle
|
|||
if ($this->fontStyle->getName() != null) {
|
||||
$fontIndex = array_search($this->fontStyle->getName(), $parentWriter->getFontTable());
|
||||
if ($fontIndex !== false) {
|
||||
$styleWriter->setNameIndex($fontIndex + 1);
|
||||
$styleWriter->setNameIndex($fontIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,6 @@
|
|||
|
||||
namespace PhpOffice\PhpWord\Writer\RTF\Element;
|
||||
|
||||
use PhpOffice\PhpWord\Shared\String;
|
||||
|
||||
/**
|
||||
* ListItem element RTF writer; extends from text
|
||||
*
|
||||
|
|
|
|||
|
|
@ -17,10 +17,6 @@
|
|||
|
||||
namespace PhpOffice\PhpWord\Writer\RTF\Element;
|
||||
|
||||
use PhpOffice\PhpWord\Element\Text as TextElement;
|
||||
use PhpOffice\PhpWord\Shared\String;
|
||||
use PhpOffice\PhpWord\Style;
|
||||
|
||||
/**
|
||||
* Text element RTF writer
|
||||
*
|
||||
|
|
@ -35,8 +31,11 @@ class Text extends AbstractElement
|
|||
*/
|
||||
public function write()
|
||||
{
|
||||
/** @var \PhpOffice\PhpWord\Element\Text $element Scrutinizer type hint */
|
||||
|
||||
$elementClass = str_replace('\\Writer\\RTF', '', get_class($this));
|
||||
if (!$this->element instanceof $elementClass) {
|
||||
$element = $this->element;
|
||||
if (!$element instanceof $elementClass) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -46,7 +45,7 @@ class Text extends AbstractElement
|
|||
$content .= $this->writeOpening();
|
||||
$content .= '{';
|
||||
$content .= $this->writeFontStyle();
|
||||
$content .= $this->writeText($this->element->getText());
|
||||
$content .= $this->writeText($element->getText());
|
||||
$content .= '}';
|
||||
$content .= $this->writeClosing();
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,6 @@
|
|||
|
||||
namespace PhpOffice\PhpWord\Writer\RTF\Element;
|
||||
|
||||
use PhpOffice\PhpWord\Shared\String;
|
||||
|
||||
/**
|
||||
* Title element RTF writer; extends from text
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue