'lineHeight'); /** * Font style type * * @var string */ private $type; /** * Font name * * @var string */ private $name; /** * Font Content Type * * @var string */ private $hint; /** * Font size * * @var int|float */ private $size; /** * Font color * * @var string */ private $color; /** * Bold * * @var bool */ private $bold = false; /** * Italic * * @var bool */ private $italic = false; /** * Undeline * * @var string */ private $underline = self::UNDERLINE_NONE; /** * Superscript * * @var bool */ private $superScript = false; /** * Subscript * * @var bool */ private $subScript = false; /** * Strikethrough * * @var bool */ private $strikethrough = false; /** * Double strikethrough * * @var bool */ private $doubleStrikethrough = false; /** * Small caps * * @var bool * @link http://www.schemacentral.com/sc/ooxml/e-w_smallCaps-1.html */ private $smallCaps = false; /** * All caps * * @var bool * @link http://www.schemacentral.com/sc/ooxml/e-w_caps-1.html */ private $allCaps = false; /** * Foreground/highlight * * @var string */ private $fgColor; /** * Text line height * * @var int */ /** * Paragraph style * * @var \PhpOffice\PhpWord\Style\Paragraph */ private $paragraph; /** * Shading * * @var \PhpOffice\PhpWord\Style\Shading */ private $shading; /** * Create new font style * * @param string $type Type of font * @param array $paragraph Paragraph styles definition */ public function __construct($type = 'text', $paragraph = null) { $this->type = $type; $this->setParagraph($paragraph); } /** * Get style type * * @return string */ public function getStyleType() { return $this->type; } /** * Get font name * * @return string */ public function getName() { return $this->name; } /** * Set font name * * @param string $value * @return self */ public function setName($value = null) { $this->name = $value; return $this; } /** * Get Font Content Type * * @return string */ public function getHint() { return $this->hint; } /** * Set Font Content Type * * @param string $value * @return self */ public function setHint($value = null) { $this->hint = $value; return $this; } /** * Get font size * * @return int|float */ public function getSize() { return $this->size; } /** * Set font size * * @param int|float $value * @return self */ public function setSize($value = null) { $this->size = $this->setNumericVal($value, $this->size); return $this; } /** * Get font color * * @return string */ public function getColor() { return $this->color; } /** * Set font color * * @param string $value * @return self */ public function setColor($value = null) { $this->color = $value; return $this; } /** * Get bold * * @return bool */ public function isBold() { return $this->bold; } /** * Set bold * * @param bool $value * @return self */ public function setBold($value = true) { $this->bold = $this->setBoolVal($value, $this->bold); return $this; } /** * Get italic * * @return bool */ public function isItalic() { return $this->italic; } /** * Set italic * * @param bool $value * @return self */ public function setItalic($value = true) { $this->italic = $this->setBoolVal($value, $this->italic); return $this; } /** * Get underline * * @return string */ public function getUnderline() { return $this->underline; } /** * Set underline * * @param string $value * @return self */ public function setUnderline($value = self::UNDERLINE_NONE) { $this->underline = $this->setNonEmptyVal($value, self::UNDERLINE_NONE); return $this; } /** * Get superscript * * @return bool */ public function isSuperScript() { return $this->superScript; } /** * Set superscript * * @param bool $value * @return self */ public function setSuperScript($value = true) { return $this->setPairedProperty($this->superScript, $this->subScript, $value); } /** * Get subscript * * @return bool */ public function isSubScript() { return $this->subScript; } /** * Set subscript * * @param bool $value * @return self */ public function setSubScript($value = true) { return $this->setPairedProperty($this->subScript, $this->superScript, $value); } /** * Get strikethrough * * @return bool */ public function isStrikethrough() { return $this->strikethrough; } /** * Set strikethrough * * @param bool $value * @return self */ public function setStrikethrough($value = true) { return $this->setPairedProperty($this->strikethrough, $this->doubleStrikethrough, $value); } /** * Get double strikethrough * * @return bool */ public function isDoubleStrikethrough() { return $this->doubleStrikethrough; } /** * Set double strikethrough * * @param bool $value * @return self */ public function setDoubleStrikethrough($value = true) { return $this->setPairedProperty($this->doubleStrikethrough, $this->strikethrough, $value); } /** * Get small caps * * @return bool */ public function isSmallCaps() { return $this->smallCaps; } /** * Set small caps * * @param bool $value * @return self */ public function setSmallCaps($value = true) { return $this->setPairedProperty($this->smallCaps, $this->allCaps, $value); } /** * Get all caps * * @return bool */ public function isAllCaps() { return $this->allCaps; } /** * Set all caps * * @param bool $value * @return self */ public function setAllCaps($value = true) { return $this->setPairedProperty($this->allCaps, $this->smallCaps, $value); } /** * Get foreground/highlight color * * @return string */ public function getFgColor() { return $this->fgColor; } /** * Set foreground/highlight color * * @param string $value * @return self */ public function setFgColor($value = null) { $this->fgColor = $value; return $this; } /** * Get background * * @return string */ public function getBgColor() { if (!is_null($this->shading)) { return $this->shading->getFill(); } else { return null; } } /** * Set background * * @param string $value * @return \PhpOffice\PhpWord\Style\Table */ public function setBgColor($value = null) { $this->setShading(array('fill' => $value)); } /** * Get line height * * @return int|float */ public function getLineHeight() { return $this->getParagraph()->getLineHeight(); } /** * Set lineheight * * @param int|float|string $value * @return self */ public function setLineHeight($value) { $this->setParagraph(array('lineHeight' => $value)); return $this; } /** * Get paragraph style * * @return \PhpOffice\PhpWord\Style\Paragraph */ public function getParagraph() { return $this->paragraph; } /** * Set shading * * @param mixed $value * @return self */ public function setParagraph($value = null) { $this->setObjectVal($value, 'Paragraph', $this->paragraph); return $this; } /** * Get shading * * @return \PhpOffice\PhpWord\Style\Shading */ public function getShading() { return $this->shading; } /** * Set shading * * @param mixed $value * @return self */ public function setShading($value = null) { $this->setObjectVal($value, 'Shading', $this->shading); return $this; } /** * Set $property value and set $pairProperty = false when $value = true * * @param bool $property * @param bool $pairProperty * @param bool $value * @return self */ private function setPairedProperty(&$property, &$pairProperty, $value) { $property = $this->setBoolVal($value, $property); if ($value == true) { $pairProperty = false; } return $this; } /** * Get bold * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getBold() { return $this->isBold(); } /** * Get italic * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getItalic() { return $this->isItalic(); } /** * Get superscript * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getSuperScript() { return $this->isSuperScript(); } /** * Get subscript * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getSubScript() { return $this->isSubScript(); } /** * Get strikethrough * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getStrikethrough() { return $this->isStrikethrough(); } /** * Get paragraph style * * @deprecated 0.11.0 * @codeCoverageIgnore */ public function getParagraphStyle() { return $this->getParagraph(); } }