You are here

public function PHPExcel_Writer_Excel5_Font::writeFont in Loft Data Grids 6.2

Same name and namespace in other branches
  1. 7.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php \PHPExcel_Writer_Excel5_Font::writeFont()

* Get font record data * *

Return value

string

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php, line 78

Class

PHPExcel_Writer_Excel5_Font
PHPExcel_Writer_Excel5_Font

Code

public function writeFont() {
  $font_outline = 0;
  $font_shadow = 0;
  $icv = $this->_colorIndex;

  // Index to color palette
  if ($this->_font
    ->getSuperScript()) {
    $sss = 1;
  }
  else {
    if ($this->_font
      ->getSubScript()) {
      $sss = 2;
    }
    else {
      $sss = 0;
    }
  }
  $bFamily = 0;

  // Font family
  $bCharSet = PHPExcel_Shared_Font::getCharsetFromFontName($this->_font
    ->getName());

  // Character set
  $record = 0x31;

  // Record identifier
  $reserved = 0x0;

  // Reserved
  $grbit = 0x0;

  // Font attributes
  if ($this->_font
    ->getItalic()) {
    $grbit |= 0x2;
  }
  if ($this->_font
    ->getStrikethrough()) {
    $grbit |= 0x8;
  }
  if ($font_outline) {
    $grbit |= 0x10;
  }
  if ($font_shadow) {
    $grbit |= 0x20;
  }
  $data = pack("vvvvvCCCC", $this->_font
    ->getSize() * 20, $grbit, $icv, self::_mapBold($this->_font
    ->getBold()), $sss, self::_mapUnderline($this->_font
    ->getUnderline()), $bFamily, $bCharSet, $reserved);
  $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($this->_font
    ->getName());
  $length = strlen($data);
  $header = pack("vv", $record, $length);
  return $header . $data;
}