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