中文字體自動化壓縮工具:字蛛
字蛛
中文字體自動化壓縮工具。
特性
- 輕巧:數 MB 的中文字體可被壓成幾十 KB
- 簡單:完全基于 CSS,無需 js 與服務端支持
- 兼容:自動轉碼,支持 IE 與標準化的瀏覽器
- 自然:文本支持選中、搜索、翻譯、朗讀、縮放
原理
字蛛通過分析本地 CSS 與 HTML 文件獲取 WebFont 中沒有使用的字符,并將這些字符數據從字體中刪除以實現壓縮,并生成跨瀏覽器使用的格式。
- 構建 CSS 語法樹,分析字體與選擇器規則
- 使用包含 WebFont 的 CSS 選擇器索引站點的文本
- 匹配字體的字符數據,剔除無用的字符
- 編碼成跨瀏覽器使用的字體格式
安裝
安裝好 nodejs,然后執行:
npm install font-spider -g
- windows 需要安裝 perl 環境才可以運行。
- GruntJS 用戶可使用 gruntjs 插件。
使用范例
在 CSS 中聲明字體
/*聲明 WebFont*/
@font-face {
font-family: 'pinghei';
src: url('../font/pinghei.eot');
src:
url('../font/pinghei.eot?#font-spider') format('embedded-opentype'),
url('../font/pinghei.woff') format('woff'),
url('../font/pinghei.ttf') format('truetype'),
url('../font/pinghei.svg') format('svg');
font-weight: normal;
font-style: normal;
}
/*使用選擇器指定字體*/
.home h1, .demo > .test {
font-family: 'pinghei';
}
@font-face
中的src
定義的 .ttf 文件必須存在,其余的格式將由工具自動生成- 開發階段請使用相對路徑的 CSS 與 WebFont
- 不支持動態插入的 CSS 規則與字符
- 不支持 CSS
content
屬性插入的字符
壓縮 WebFont
font-spider 1.html 2.html 3.html
- 支持通配符,例如:
font-spider dest/*.html
字體兼容性參考
格式 | IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Chrome for Android |
---|---|---|---|---|---|---|---|---|
.eot |
6 | -- | -- | -- | -- | -- | -- | -- |
.woff |
9 | 3.6 | 5 | 5.1 | 11.1 | 5.1 | 4.4 | 36 |
.ttf |
-- | 3.5 | 4 | 3.1 | 10.1 | 4.3 | 2.2 | 36 |
.svg |
-- | -- | 4 | 3.2 | 9.6 | 3.2 | 3 | 36 |
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!