#196: RTF link styling fixes

This commit is contained in:
Ivan Lanin 2014-05-14 00:42:05 +07:00
parent 1ee43da4de
commit e03e121e85
5 changed files with 15 additions and 18 deletions

View File

@ -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;

View File

@ -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);
}
}

View File

@ -17,8 +17,6 @@
namespace PhpOffice\PhpWord\Writer\RTF\Element;
use PhpOffice\PhpWord\Shared\String;
/**
* ListItem element RTF writer; extends from text
*

View File

@ -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();

View File

@ -17,8 +17,6 @@
namespace PhpOffice\PhpWord\Writer\RTF\Element;
use PhpOffice\PhpWord\Shared\String;
/**
* Title element RTF writer; extends from text
*