/** * @param array $attrs * @return array */ public function buildTextStyles(array $attrs) { $font_style = array(); foreach ($attrs['font_style'] ?: array() as $style) { $font_style[] = self::$pdf_font_style[$style]; } if (array_key_exists('line_height', $attrs)) { $line_height = $attrs['line_height']; } else { $line_height = self::$pdf_default_line_height; } if (array_key_exists('letter_spacing', $attrs)) { $letter_spacing = $attrs['letter_spacing']; } else { $letter_spacing = 0; } if (array_key_exists('align', $attrs)) { $align = $attrs['align']; } else { $align = 'left'; } if (array_key_exists('valign', $attrs)) { $valign = $attrs['valign']; } else { $valign = 'top'; } return array('font_size' => $attrs['font_size'], 'font_family' => Font::getFontName($attrs['font_family']), 'font_style' => implode('', $font_style), 'color' => ColorParser::parse($attrs['color']), 'align' => self::$pdf_text_align[$align], 'valign' => self::$pdf_text_valign[$valign], 'line_height' => $line_height, 'letter_spacing' => $letter_spacing); }