校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP獲取ttf格式文件字體名的方法示例

PHP獲取ttf格式文件字體名的方法示例

熱門標簽:電梯外呼線路板維修視頻 地圖標注風向標 臨沂智能電銷機器人軟件 十堰ai電話機器人效果怎么樣 上海公司外呼系統線路 銀川ai電話機器人 浙江外呼電話系統軟件 安陽自動外呼系統價格是多少 芒果電銷機器人

本文實例講述了PHP獲取ttf格式文件字體名的方法。分享給大家供大家參考,具體如下:

?php
$names = GetFontName('c:/windows/fonts/FZHPJW.TTF');
foreach ($names as $name) {
  if ($name['language'] == 1033)
    $code = 'utf-16le';
  elseif ($name['language'] == 2052) $code = 'utf-16be';
  var_dump(mb_convert_encoding($name['name'],'utf-8',$code));
}
function GetFontName($FilePath) {
  $fp = fopen($FilePath, 'r');
  if ($fp) {
    //TT_OFFSET_TABLE
    $meta = unpack('n6', fread($fp, 12));
    //檢查是否是一個true type字體文件以及版本號是否為1.0
    if ($meta[1] != 1 || $meta[2] != 0)
      return FALSE;
    $Found = FALSE;
    for ($i = 0; $i  $meta[3]; $i++) {
      //TT_TABLE_DIRECTORY
      $tablemeta = unpack('N4', $data = fread($fp, 16));
      if (substr($data, 0, 4) == 'name') {
        $Found = TRUE;
        break;
      }
    }
    if ($Found) {
      fseek($fp, $tablemeta[3]);
      //TT_NAME_TABLE_HEADER
      $tablecount = unpack('n3', fread($fp, 6));
      $Found = FALSE;
      for ($i = 0; $i  $tablecount[2]; $i++) {
        //TT_NAME_RECORD
        $table = unpack('n6', fread($fp, 12));
        if ($table[4] == 1) {
          $npos = ftell($fp);
          fseek($fp, $n = $tablemeta[3] + $tablecount[3] + $table[6], SEEK_SET);
          $fontname = trim($x = fread($fp, $table[5]));
          if (strlen($fontname) > 0) {
            $names[] = array (
                'platform' => $table[1], //平臺(操作系統)
    'language' => $table[3], //字體名稱的語言
    'encoding' => $table[2], //字體名稱的編碼
    'name' => $fontname //字體名稱
            );
            //break;
          }
          fseek($fp, $npos, SEEK_SET);
        }
      }
    }
    fclose($fp);
  }
  return $names;
}
?>

運行結果:

string(6) "SimHei"
string(5) "SimHe" //貌似有UTF-16LE編碼漏字的BUG
string(6) "黑體"

注:如果這里僅需要獲取字體名稱,可將上述代碼進行改進如下:

?php
$names = GetFontName('c:/windows/fonts/FZHPJW.TTF');
$newnames = array();
foreach ($names as $name) {
  if ($name['language'] == 1033)
    $code = 'utf-16le';
  elseif ($name['language'] == 2052) $code = 'utf-16be';
  array_push($newnames,@mb_convert_encoding($name['name'], 'utf-8', $code));
}
$font_name=array_pop($newnames);
echo $font_name;
function GetFontName($FilePath) {
  $fp = fopen($FilePath, 'r');
  if ($fp) {
    //TT_OFFSET_TABLE
    $meta = unpack('n6', fread($fp, 12));
    //檢查是否是一個true type字體文件以及版本號是否為1.0
    if ($meta[1] != 1 || $meta[2] != 0)
      return FALSE;
    $Found = FALSE;
    for ($i = 0; $i  $meta[3]; $i++) {
      //TT_TABLE_DIRECTORY
      $tablemeta = unpack('N4', $data = fread($fp, 16));
      if (substr($data, 0, 4) == 'name') {
        $Found = TRUE;
        break;
      }
    }
    if ($Found) {
      fseek($fp, $tablemeta[3]);
      //TT_NAME_TABLE_HEADER
      $tablecount = unpack('n3', fread($fp, 6));
      $Found = FALSE;
      for ($i = 0; $i  $tablecount[2]; $i++) {
        //TT_NAME_RECORD
        $table = unpack('n6', fread($fp, 12));
        if ($table[4] == 1) {
          $npos = ftell($fp);
          fseek($fp, $n = $tablemeta[3] + $tablecount[3] + $table[6], SEEK_SET);
          $fontname = trim($x = fread($fp, $table[5]));
          if (strlen($fontname) > 0) {
            $names[] = array (
                'platform' => $table[1], //平臺(操作系統)
    'language' => $table[3], //字體名稱的語言
    'encoding' => $table[2], //字體名稱的編碼
    'name' => $fontname //字體名稱
            );
            //break;
          }
          fseek($fp, $npos, SEEK_SET);
        }
      }
    }
    fclose($fp);
  }
  return $names;
}
?>

則此時可直接輸出:

黑體

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • php技術實現加載字體并保存成圖片
  • php實現在限定區域里自動調整字體大小的類實例
  • 支持中文字母數字、自定義字體php驗證碼代碼
  • PHP+FFMPEG實現將視頻自動轉碼成H264標準Mp4文件
  • php上傳文件中文文件名亂碼的解決方法
  • php使用fopen創建utf8編碼文件的方法
  • php格式文件打開的四種方法
  • PHP開發之歸檔格式phar文件概念與用法詳解【創建,使用,解包還原提取】
  • php簡單讀取.vcf格式文件的方法示例

標簽:遂寧 寧夏 常州 徐州 武威 吐魯番 遵義 荊門

巨人網絡通訊聲明:本文標題《PHP獲取ttf格式文件字體名的方法示例》,本文關鍵詞  PHP,獲取,ttf,格式,文件,字體,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP獲取ttf格式文件字體名的方法示例》相關的同類信息!
  • 本頁收集關于PHP獲取ttf格式文件字體名的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    秋霞午夜鲁丝一区二区老狼| 不卡av免费在线观看| 蜜桃久久精品一区二区| 亚洲欧美日韩国产综合在线| 国产精品嫩草99a| 国产精品传媒入口麻豆| 亚洲柠檬福利资源导航| 有码一区二区三区| 久久爱另类一区二区小说| 国产91精品一区二区麻豆亚洲| 国产乱人伦偷精品视频不卡| 国产不卡免费视频| 欧美日韩高清一区二区三区| 日韩欧美一二三| 国产日韩影视精品| 亚洲一二三级电影| 日韩精品电影一区亚洲| 国产精品亚洲а∨天堂免在线| 成人免费av资源| 欧美二区乱c少妇| 国产视频911| 蜜臀a∨国产成人精品| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品久久久久一区二区三区共 | 韩国欧美国产一区| 欧美三级电影在线看| 久久久精品免费网站| 日韩精品久久理论片| 欧洲精品在线观看| 国产精品久久久久久久久免费桃花 | 国产精品电影一区二区| 国产一区二区三区美女| 欧美日韩精品一区二区三区四区 | 三级久久三级久久| 一本到不卡精品视频在线观看| 精品国产乱码久久久久久免费| 一区二区三区精品在线| 成av人片一区二区| 国产农村妇女精品| 成人小视频免费在线观看| 精品裸体舞一区二区三区| 日韩经典一区二区| 欧美日韩一卡二卡| 亚洲欧美日韩人成在线播放| 国产一区欧美日韩| 日韩欧美国产综合| 亚洲国产视频一区二区| 色婷婷av一区二区三区软件 | 亚洲一区二区高清| 欧美三级日本三级少妇99| 一区二区三区欧美激情| 色综合激情久久| 国产精品成人免费| 99国产精品视频免费观看| 国产日韩成人精品| 欧美视频一区二区三区在线观看| 亚洲黄色性网站| 欧美mv日韩mv国产网站app| 国产成人av一区| 久久色.com| 精品视频色一区| 99国产精品久久久久久久久久 | 春色校园综合激情亚洲| 亚洲午夜在线电影| 中文字幕一区二区不卡| 久久夜色精品一区| 欧美狂野另类xxxxoooo| 成人丝袜视频网| 国产成人精品综合在线观看| 亚洲成人自拍网| 亚洲视频资源在线| 久久老女人爱爱| 4438x成人网最大色成网站| 99精品欧美一区| 国产精品伊人色| 国产精品一区二区在线播放| 亚洲午夜在线观看视频在线| 亚洲日本在线a| 欧美激情一区二区三区不卡 | 国产精品久久久久久户外露出| 欧美主播一区二区三区美女| 成人激情视频网站| 99久久精品免费精品国产| 精品一区二区免费视频| 五月综合激情日本mⅴ| 日本少妇一区二区| 日本视频一区二区三区| 午夜精品国产更新| 亚洲一区二区在线视频| 国产精品久久免费看| 欧美成人女星排行榜| 欧美精品一卡二卡| 日韩欧美亚洲国产精品字幕久久久| 欧美日韩在线播| 97久久精品人人澡人人爽| 国产成人av一区二区三区在线| 韩国毛片一区二区三区| 国产一区不卡在线| 国产在线视视频有精品| 99re6这里只有精品视频在线观看| 一本一道波多野结衣一区二区| 欧美视频三区在线播放| 日韩免费一区二区三区在线播放| 精品剧情v国产在线观看在线| 欧美videos中文字幕| 中文字幕av免费专区久久| 91精品国产91久久久久久最新毛片 | 亚洲精品国产a久久久久久 | 99re这里都是精品| 欧美一区2区视频在线观看| 日本一区二区三区四区在线视频| 中文字幕一区二区三中文字幕| 亚洲一区二区在线观看视频| 国产一区二区三区| 欧美性一二三区| 中文字幕亚洲视频| 日本女人一区二区三区| 欧美主播一区二区三区美女| 久久精品一区八戒影视| 日韩中文字幕一区二区三区| 懂色av中文一区二区三区| 色呦呦国产精品| 亚洲精品国产a| 成人综合婷婷国产精品久久蜜臀| 在线不卡免费欧美| 亚洲欧美另类久久久精品2019 | 成人av免费在线观看| 精品av综合导航| 亚洲激情一二三区| 粉嫩av亚洲一区二区图片| 欧美成人精品1314www| 亚洲第一综合色| 成人a免费在线看| 欧美精品vⅰdeose4hd| 成人免费在线播放视频| 春色校园综合激情亚洲| 成人欧美一区二区三区视频网页| 国产精品18久久久久久久久 | 一区二区不卡在线播放| 91在线精品一区二区| 国产精品免费视频一区| 色婷婷av一区二区三区之一色屋| 中文字幕一区二区三区四区| 99久久国产综合精品麻豆| 亚洲影院久久精品| 欧美日韩午夜影院| 日韩激情一二三区| 日韩视频免费观看高清完整版在线观看 | 精品久久一区二区| 久久国产精品一区二区| 亚洲精品一区二区三区蜜桃下载| 黄色资源网久久资源365| 久久午夜电影网| 97se亚洲国产综合自在线观| 亚洲国产中文字幕在线视频综合| 日韩一区二区三免费高清| 国产a久久麻豆| 爽爽淫人综合网网站| 自拍偷拍亚洲综合| 久久精品人人做人人爽人人| 91捆绑美女网站| 亚洲欧美一区二区三区久本道91 | 日韩精品一区二区在线| 成人深夜福利app| 免费美女久久99| 亚洲精品国产一区二区精华液 | 欧美一级xxx| 一本色道综合亚洲| 毛片av一区二区三区| 天天影视网天天综合色在线播放| 中文字幕亚洲视频| 国产精品天干天干在线综合| 欧美电影免费观看高清完整版 | 亚洲男女毛片无遮挡| 中文字幕高清不卡| 中文字幕不卡的av| wwwwxxxxx欧美| 2020国产精品| 国产亚洲精品资源在线26u| 欧美本精品男人aⅴ天堂| 精品国产青草久久久久福利| 欧美一级理论片| 欧洲中文字幕精品| 91亚洲午夜精品久久久久久| 97精品电影院| 99re这里只有精品6| 91一区二区三区在线播放| 91网页版在线| 91免费看`日韩一区二区| 91国产免费看| 精品国产91久久久久久久妲己| 精品国产伦一区二区三区观看体验| 久久综合999| 国产精品麻豆网站| 亚洲午夜一二三区视频| 国产精品资源在线看| 欧美日韩在线播| 国产精品久久久久久一区二区三区 | 青青草国产精品97视觉盛宴| 美女网站在线免费欧美精品|