如何實現webfont自定義字型方案

2021-07-05 22:28:49 字數 2566 閱讀 1860

對於做web前端的人來說,現在不知道webfont為何物似乎顯得有點low了。webfont固然可愛,但似乎仍只可遠觀,不可褻玩。原因就在於中文字型庫體積龐大,遠比26個字母來的複雜。於是有同學就說了,為何不製作乙個精簡的字型檔,按需訂製就可以了。正解,下面的就介紹下製作方法:

1、首先確認你需要哪些字,將這些字依次填入txt文件中,並以utf8格式儲存;

$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")

else if($encode=="gbk")

else if($encode=="euc-cn")

else//cp936

$arr=array();

for($i=0;$i

$arr[$i]=mb_substr($str,$i,1,'utf8');

}$imgpath = './08/';//儲存的資料夾

foreach($arr as $key=>$value)

$value=urlencode($value);

$url="".$value."^&sizex=4000^&sizey=4000^&fontsize=3000";

$command="d:/wget/wget -t 25 -t 0 -o ".$imgpath.$code.".png ".$url;//d:/wget為wget的執行檔案路徑

exec($command);

}//將內容進行unicode編碼,編碼後的內容格式:56fe  

function unicode_encode($name)  

else  

}  return $str;  }

複製**

3、安裝fontforge,該軟體支援python,執行python指令碼自動匯入指定目錄下的字型(根據檔名對應漢字),然後匯出生成字型檔案,該檔案即為簡化後的字型庫。此python指令碼一次匯入50張圖,字數多的需要多次匯入。

import os,fontforge;

imgspath = "d:/phpstudy/www/img";

imgs = os.listdir(imgspath);

font = fontforge.activefont();

i = 0;

for index in xrange(len(imgs)):

fontforge.logwarning("index:"+str(index));imgname = imgs[index][:-4];fontforge.logwarning("imgname:"+imgname)

glyph=font.createchar(int(imgname,16),"uni"+imgname);

layer=glyph.foreground;

if layer.isempty():

try:        

glyph.importoutlines(imgspath+"/"+imgs[index]);

except:  

fontforge.logwarning(str(index)+"/"+str(len(imgs))+":"+imgspath+"/"+imgs[index]+"is error");

continue;

else:

glyph.autotrace();glyph.simplify();glyph.activelayer=0;glyph.clear();i=i+1;

fontforge.logwarning(str(index)+"/"+str(len(imgs))+":"+imgspath+"/"+imgs[index]+"is ok"+str(i))

if i==50:

break;

else:

continue;

將windows7( vista )預設字型「微軟雅黑」修改為xp「標準宋體」的方法:

1、把xp系統的「windows\fonts」資料夾裡面的「simsun.ttc」檔案,複製到win7 ( vista )系統的「windows

\fonts」資料夾裡,此時,該檔案會自動重新命名為「simsun_0.ttc」.

(可以借助u盤或行動硬碟等其他工具或方法,來完成以上步驟)2、開啟「登錄檔編輯器」,按此路徑依次開啟以

下資料夾:

「hkey_local_machine\software\microsoft\windows nt\currentversion\fonts」.

入「regedit」→單擊確定即可)3、在「fonts」資料夾裡面,找到以下兩個檔案,然後把二者預設的鍵值修改

為「simsun_0.ttc」:

「microsoft yahei msyh.ttf」; 原來是:msyh.ttf「microsoft yahei bold msyhbd.ttf」. 原來是:

msyhbd.ttf4、登出或者重新啟動計算機即可。

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

Nutch Nutch外掛程式實現自定義索引字段

1.nutch 基本配置和安裝不在贅述。2.新建自己的plugin 只要實現對應的plugin介面即可。3.plugin.xml 的具體配置可以參考plugins目錄下的標準。4.乙個是schema.xml,在其中的fields標籤下加入如下 其中的stored表示這個欄位的值要儲存在lucene的...

C 如何實現自定義類

pragma once include include using namespace std class csvitem csvitem const csvitem item void operator const csvitem item public string lock time 作業上鎖...