You are here

public static function PHPExcel_Shared_Font::getTrueTypeFontFileFromFont in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php \PHPExcel_Shared_Font::getTrueTypeFontFileFromFont()

* Returns the font path given the font * *

Parameters

PHPExcel_Style_Font: * @return string Path to TrueType font file

1 call to PHPExcel_Shared_Font::getTrueTypeFontFileFromFont()
PHPExcel_Shared_Font::getTextWidthPixelsExact in vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php
* Get GD text width in pixels for a string of text in a certain font at a certain rotation angle * *

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php, line 424

Class

PHPExcel_Shared_Font
PHPExcel_Shared_Font

Code

public static function getTrueTypeFontFileFromFont($font) {
  if (!file_exists(self::$trueTypeFontPath) || !is_dir(self::$trueTypeFontPath)) {
    throw new PHPExcel_Exception('Valid directory to TrueType Font files not specified');
  }
  $name = $font
    ->getName();
  $bold = $font
    ->getBold();
  $italic = $font
    ->getItalic();

  // Check if we can map font to true type font file
  switch ($name) {
    case 'Arial':
      $fontFile = $bold ? $italic ? self::ARIAL_BOLD_ITALIC : self::ARIAL_BOLD : ($italic ? self::ARIAL_ITALIC : self::ARIAL);
      break;
    case 'Calibri':
      $fontFile = $bold ? $italic ? self::CALIBRI_BOLD_ITALIC : self::CALIBRI_BOLD : ($italic ? self::CALIBRI_ITALIC : self::CALIBRI);
      break;
    case 'Courier New':
      $fontFile = $bold ? $italic ? self::COURIER_NEW_BOLD_ITALIC : self::COURIER_NEW_BOLD : ($italic ? self::COURIER_NEW_ITALIC : self::COURIER_NEW);
      break;
    case 'Comic Sans MS':
      $fontFile = $bold ? self::COMIC_SANS_MS_BOLD : self::COMIC_SANS_MS;
      break;
    case 'Georgia':
      $fontFile = $bold ? $italic ? self::GEORGIA_BOLD_ITALIC : self::GEORGIA_BOLD : ($italic ? self::GEORGIA_ITALIC : self::GEORGIA);
      break;
    case 'Impact':
      $fontFile = self::IMPACT;
      break;
    case 'Liberation Sans':
      $fontFile = $bold ? $italic ? self::LIBERATION_SANS_BOLD_ITALIC : self::LIBERATION_SANS_BOLD : ($italic ? self::LIBERATION_SANS_ITALIC : self::LIBERATION_SANS);
      break;
    case 'Lucida Console':
      $fontFile = self::LUCIDA_CONSOLE;
      break;
    case 'Lucida Sans Unicode':
      $fontFile = self::LUCIDA_SANS_UNICODE;
      break;
    case 'Microsoft Sans Serif':
      $fontFile = self::MICROSOFT_SANS_SERIF;
      break;
    case 'Palatino Linotype':
      $fontFile = $bold ? $italic ? self::PALATINO_LINOTYPE_BOLD_ITALIC : self::PALATINO_LINOTYPE_BOLD : ($italic ? self::PALATINO_LINOTYPE_ITALIC : self::PALATINO_LINOTYPE);
      break;
    case 'Symbol':
      $fontFile = self::SYMBOL;
      break;
    case 'Tahoma':
      $fontFile = $bold ? self::TAHOMA_BOLD : self::TAHOMA;
      break;
    case 'Times New Roman':
      $fontFile = $bold ? $italic ? self::TIMES_NEW_ROMAN_BOLD_ITALIC : self::TIMES_NEW_ROMAN_BOLD : ($italic ? self::TIMES_NEW_ROMAN_ITALIC : self::TIMES_NEW_ROMAN);
      break;
    case 'Trebuchet MS':
      $fontFile = $bold ? $italic ? self::TREBUCHET_MS_BOLD_ITALIC : self::TREBUCHET_MS_BOLD : ($italic ? self::TREBUCHET_MS_ITALIC : self::TREBUCHET_MS);
      break;
    case 'Verdana':
      $fontFile = $bold ? $italic ? self::VERDANA_BOLD_ITALIC : self::VERDANA_BOLD : ($italic ? self::VERDANA_ITALIC : self::VERDANA);
      break;
    default:
      throw new PHPExcel_Exception('Unknown font name "' . $name . '". Cannot map to TrueType font file');
      break;
  }
  $fontFile = self::$trueTypeFontPath . $fontFile;

  // Check if file actually exists
  if (!file_exists($fontFile)) {
    throw new PHPExcel_Exception('TrueType Font file not found');
  }
  return $fontFile;
}