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 getBold() { 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 getItalic() { 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 getSuperScript() { 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 getSubScript() { 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 getStrikethrough() { return $this->strikethrough; } /** * Set strikethrough * * @param bool $value * @return self */ public function setStrikethrough($value = false) { $this->strikethrough = $this->setBoolVal($value, $this->strikethrough); 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 color * * @return string */ public function getBgColor() { return $this->bgColor; } /** * Set background color * * @param string $value * @return $this */ public function setBgColor($value = null) { $this->bgColor = $value; return $this; } /** * 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; } }