你的位置:首页 > 软件开发 > 网页设计 > webfont自定义字体的实现方案

webfont自定义字体的实现方案

发布时间:2015-09-25 18:00:22
对于做Web前端的人来说,现在不知道webfont为何物似乎显得有点low了。webfont固然可爱,但似乎仍只可远观,不可亵玩。原因就在于中文字体库体积庞大,远比26个字母来的复杂。于是有同学就说了,为何不制作一个精简的字库,按需订制就可以了。正解,下面的就介绍下制作方法: ...

     对于做Web前端的人来说,现在不知道webfont为何物似乎显得有点low了。webfont固然可爱,但似乎仍只可远观,不可亵玩。原因就在于中文字体库体积庞大,远比26个字母来的复杂。于是有同学就说了,为何不制作一个精简的字库,按需订制就可以了。正解,下面的就介绍下制作方法:

      工具:提供font字体的网站(比如:http://sampler.linotype.com/sam/sam?ID=1390633&text=狠&sizex=4000&sizey=4000&fontsize=3000,ID对应字体,text对应字,其它定义字体大小),fontforge字体编辑器,wget下载工具,PHP运行环境。

      1、首先确认你需要哪些字,将这些字依次填入txt文档中,并以utf8格式保存;

      2、下载安装wget工具、PHP运行环境。在cmd下运行php文件,根据txt文件中的字自动下载字体图片,并以中文unicode给图片命名,保存在指定文件夹。

$file_path = "fan.txt";//txt格式默认用utf8格式,否则转换$str=file_get_contents($file_path);$encode= mb_detect_encoding($str, array('GB2312','GBK','UTF-8'),true);if($encode=="GB2312"){  $str = iconv("GB2312","UTF-8",$str);}else if($encode=="GBK"){  $str = iconv("GBK","UTF-8",$str);}else if($encode=="EUC-CN"){  $str = iconv("GBK","UTF-8",$str);}else//CP936{  //$str = iconv("GB2312","UTF-8",$str);  $str = mb_convert_encoding($str, 'UTF-8', 'GBK');//把GBK编码转化为 UTF-8编码}$arr=array();for($i=0;$i<mb_strlen($str,'utf8');$i++){  $arr[$i]=mb_substr($str,$i,1,'utf8');  }$imgpath = './08/';//图片保存的文件夹foreach($arr as $key=>$value){  $code=unicode_encode($value);  if(file_exists($imgpath.$code.'.png')){      echo $imgpath.$mycode.'.png is already exist';continue;    }  $value=urlencode($value);  $url="http://sampler.linotype.com/sam/sam?ID=1390633^&text=".$value."^&sizex=4000^&sizey=4000^&fontsize=3000";  $command="d:/wget/wget -T 25 -t 0 -O ".$imgpath.$code.".png ".$url;//d:/wget为wget的执行文件路径

原标题:webfont自定义字体的实现方案

关键词:web

web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。