type = $type; if ($paragraphStyle instanceof Paragraph) { $this->paragraphStyle = $paragraphStyle; } elseif (is_array($paragraphStyle)) { $this->paragraphStyle = new Paragraph; $this->paragraphStyle->setArrayStyle($paragraphStyle); } else { $this->paragraphStyle = $paragraphStyle; } } /** * Set style using associative array * * @param array $style * @return $this */ public function setArrayStyle(array $style = array()) { foreach ($style as $key => $value) { if ($key === 'line-height') { $this->setLineHeight($value); null; } $this->setStyleValue($key, $value); } return $this; } /** * Get font name * * @return string */ public function getName() { return $this->name; } /** * Set font name * * @param string $value * @return self */ public function setName($value = PhpWord::DEFAULT_FONT_NAME) { $this->name = $this->setNonEmptyVal($value, PhpWord::DEFAULT_FONT_NAME); 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 = PhpWord::DEFAULT_FONT_SIZE) { $this->size = $this->setNumericVal($value, PhpWord::DEFAULT_FONT_SIZE); return $this; } /** * Get bold * * @return bool */ public function isBold() { return $this->bold; } /** * Set bold * * @param bool $value * @return self */ public function setBold($value = false) { $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 = false) { $this->italic = $this->setBoolVal($value, $this->italic); return $this; } /** * Get superscript * * @return bool */ public function isSuperScript() { return $this->superScript; } /** * Set superscript * * @param bool $value * @return self */ public function setSuperScript($value = false) { $this->superScript = $this->setBoolVal($value, $this->superScript); if ($this->superScript) { $this->subScript = false; } return $this; } /** * Get subscript * * @return bool */ public function isSubScript() { return $this->subScript; } /** * Set subscript * * @param bool $value * @return self */ public function setSubScript($value = false) { $this->subScript = $this->setBoolVal($value, $this->subScript); if ($this->subScript) { $this->superScript = false; } 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 strikethrough * * @return bool */ public function isStrikethrough() { return $this->strikethrough; } /** * Set strikethrough * * @param bool $value * @return self */ public function setStrikethrough($value = false) { $this->strikethrough = $this->setBoolVal($value, $this->strikethrough); if ($this->strikethrough) { $this->doubleStrikethrough = false; } return $this; } /** * Get double strikethrough * * @return bool */ public function isDoubleStrikethrough() { return $this->doubleStrikethrough; } /** * Set double strikethrough * * @param bool $value * @return self */ public function setDoubleStrikethrough($value = false) { $this->doubleStrikethrough = $this->setBoolVal($value, $this->doubleStrikethrough); if ($this->doubleStrikethrough) { $this->strikethrough = false; } 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 = PhpWord::DEFAULT_FONT_COLOR) { $this->color = $this->setNonEmptyVal($value, PhpWord::DEFAULT_FONT_COLOR); return $this; } /** * 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(); } } /** * Set background * * @param string $value * @return \PhpOffice\PhpWord\Style\Table */ public function setBgColor($value = null) { $this->setShading(array('fill' => $value)); } /** * Get style type * * @return string */ public function getStyleType() { return $this->type; } /** * Get paragraph style * * @return \PhpOffice\PhpWord\Style\Paragraph */ public function getParagraphStyle() { return $this->paragraphStyle; } /** * Set lineheight * * @param int|float|string $lineHeight * @return $this * @throws \PhpOffice\PhpWord\Exception\InvalidStyleException */ public function setLineHeight($lineHeight) { if (is_string($lineHeight)) { $lineHeight = floatval(preg_replace('/[^0-9\.\,]/', '', $lineHeight)); } if ((!is_integer($lineHeight) && !is_float($lineHeight)) || !$lineHeight) { throw new InvalidStyleException('Line height must be a valid number'); } $this->lineHeight = $lineHeight; $this->getParagraphStyle()->setLineHeight($lineHeight); return $this; } /** * Get line height * * @return int|float */ public function getLineHeight() { return $this->lineHeight; } /** * 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 = PhpWord::DEFAULT_FONT_CONTENT_TYPE) { $this->hint = $this->setNonEmptyVal($value, PhpWord::DEFAULT_FONT_CONTENT_TYPE); return $this; } /** * Get small caps * * @return bool */ public function isSmallCaps() { return $this->smallCaps; } /** * Set small caps * * @param bool $value * @return self */ public function setSmallCaps($value = false) { $this->smallCaps = $this->setBoolVal($value, $this->smallCaps); if ($this->smallCaps) { $this->allCaps = false; } return $this; } /** * Get all caps * * @return bool */ public function isAllCaps() { return $this->allCaps; } /** * Set all caps * * @param bool $value * @return self */ public function setAllCaps($value = false) { $this->allCaps = $this->setBoolVal($value, $this->allCaps); if ($this->allCaps) { $this->smallCaps = false; } return $this; } /** * Get shading * * @return \PhpOffice\PhpWord\Style\Shading */ public function getShading() { return $this->shading; } /** * Set shading * * @param array $value * @return self */ public function setShading($value = null) { if (is_array($value)) { if (!$this->shading instanceof Shading) { $this->shading = new Shading(); } $this->shading->setStyleByArray($value); } else { $this->shading = null; } 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(); } }