Web-Fontmin -- 在線提取你需要的字體

2021-02-20 SegmentFault
關於 @font-face

@font-face 是 CSS3 中的一個模塊,使用 @font-face 可以自定義網頁字體,即使用戶的電腦沒有安裝某種字體。怎麼用 @font-face 呢?你可能見過類似下面的代碼片段,它可以讓 @font-face 兼容所有瀏覽器。

@font-face{
font-family: "SentyZHAO";
src: url("/fonts/SentyZHAO.eot"); src: url("/fonts/SentyZHAO.eot?#iefix") format("embedded-opentype"), url("/fonts/SentyZHAO.woff") format("woff"), url("/fonts/SentyZHAO.ttf") format("truetype"),
url("/fonts/SentyZHAO.svg#SentyZHAO") format("svg"); font-style: normal;
font-weight: normal;
}

Webfont Generator - Font Squirrel

在上面的代碼片段可以看出,要兼容性好的使用 @font-face,我們同時需要 eot 、woff、ttf、svg 格式的字體。常用的工具是 fontsquirrel,一個字體生成器,可以在線生成  eot 、woff、ttf、svg 格式的字體,相信很多前端用過,具體用法可以官網試試。

Fontmin

第一個純 JavaScript 字體子集化方案,一個百度出品的優秀工具。

Fontmin 有什麼用呢?

提供了 ttf 子集化,eot/woff/svg 格式轉換,css 生成等功能,助推 webfont 發展,提升網頁文字體驗。

上面是官方的說法,通俗地理解有 3 個作用:

提取部分字體

轉換字體格式

生成 webfont 和對應 CSS 樣式

Fontmin 應用場景

有時候,我們想給網站的 Logo 、 Slogan 、標題、活動頁等的中文自定義字體,我們可以使用 @font-face 引入 Web 字體,但是完整的中文字體庫都是 8M 10M ,加載性能非常差,所以我們提取部分我們使用到的字體,這樣可以把字體文件變成幾KB。

Fontmin 用法

Fontmin 的用法很簡單:

var Fontmin = require('fontmin');
var fontmin = new Fontmin()    .src('fonts/*.ttf')    .dest('build/fonts');fontmin.run(function (err, files) {
   if (err) {
      throw err;    }    
   console.log(files[0]);    
   };

詳細介紹和用法可以看這篇文章: http://efe.baidu.com/blog/fontmin-getting-started/

基於 Fontmin 的工具

fontmin-app - Fontmin 桌面版 App,需下載安裝使用

gulp-fontmin - Fontmin 的 Gulp 插件

font-spider - 自動分析頁面使用的 WebFont 並進行按需壓縮

Web-fontmin

好吧,扯了這麼多,終於到文章的主題。

Web-fontmin 不是什麼高大上的東西,一個基於 Fontmin 構建的字體工具,它的用處只有兩個:

提取字體

字體格式轉換

通俗的理解,Web-fontmin 是一個這樣的工具:Squirrel + fontmin-app,他是兩者的結合體。

Squirrel 只有單純的生成不同格式的webfont,且不支持中文。Web-fontmin不單止可以轉換格式同時支持中文,還可以提取字體,並且有更快的上傳和轉換速度。

Fontmin-app 主要作用是提取字體,需要下載安裝,且不支持Linux。Web-Fontmin 擁有 Fontmin-app 的所有功能,並且在線即可用。

使用 Web-fontmin:http://fontmin.forsigner.com/

Github 地址:web-fontmin

網頁效果:

閱讀原文 內有幾個常用字體的下載網站。

相關焦點

  • 【Web技術】772- Web 中文字體性能優化實踐
    使用 web 自定義字體—在聊這兩個問題之前,我們先簡述怎樣使用一個 Web 自定義字體。要想使用一個自定義字體,可以依賴 CSS Fonts Module Level 3 定義的 @font-face 規則。
  • Web 中文字體性能優化實踐
    一種基本能夠兼容所有瀏覽器的使用方法如下:@font-face { font-family: "webfontFamily"; /* 名字任意取 */ src: url('webfont.eot'); url('web.eot?
  • 特殊字體神器-fontmin,秒殺一切工具
    而今我們為大家介紹一款能夠秒殺之前所有工具的「特殊字體」製作工具。fontmin為何力薦fontmin?方便,快捷~!不需要自己手動摳文字,直接生成各類文字字體,而且代碼也可以直接生成。fontmin的特點子集化(只取用當前字體中的部分文字)後的字體刪掉了所有沒用空字符,不需要另開fontcreator進行二次精簡無論原字體的映射怎麼亂七八糟,子集化後的映射平臺自動改為兩個必要的unicode平臺,使得在理論上所有字體都能精簡,所有設備上閱讀器都能正常識別簡言之,就是既能刪除多餘文字,也能夠調整文字映射。
  • FontCut - Chrome 字體裁剪插件
    所以我們會將用到的字體裁剪出一個子集。目前font-carrier,fontkit,fontmin等字體裁剪方案只能藉助服務端能力,著實不便。其實這些項目大多也是基於opentype.js的。opentype.js能夠在瀏覽器將 ttf otf woff 三種文件格式解析為一個 font 類,其實字體裁剪在瀏覽器就能完成。
  • 關於字體:字體預覽,字體識別,字體下載,字體軟體等等相關的,等你來發現
    接下來直接開始主題藝術字體在線生成器  http://www.qt86.com/ (這個網站可以輸入文件然後選擇字體最後可以在線預覽)再來一發,字體天下 http://www.fonts.net.cn/ (這個網站是直接輸入字體,然後網站直接出效果給你,推薦這個網站是因為可以下載哈,自己慢慢體會)
  • web端字體兼容性適配
    IE Browser 須引入 IE hook 針對性的在 IE Browser 為字體添加 padding-top:3px 解決,或者直接不引用瀏覽器不匹配的字體。字體族字符屬於字符的,不需要加引號,否則在 IE6/7 裡面會失效,並且後面的樣式也會不生效!在 Microsoft YaHei 後加上 微軟雅黑 是為了 兼容 opera。
  • 前端引用字體@font-face的若干優化方法
    之前在開發的時候使用了一些自定義字體,這裡總結下自己尋找的的一些處理辦法。本文只列出了引入本地字體,網絡的字體由於實踐不多,這裡介紹就少一些。/font/Regular.otf');}在某個我們要使用的該字體的classA上定義:.classA { font-family:"Regular";}2.1.3 字體壓縮一般的中文字體都要8-10M,相對於整個工程來說太巨大,這裡提供自己實踐過的2種壓縮方法。兩種都需要列舉出你使用過的字。
  • 一招教你使用圖標字體
    圖標字體,相信大家都不陌生。包括 font-awesome,iconic 等等,都是很不錯的圖標字體服務。
  • 帶你入門前端工程(八):性能優化(一)
    假設你的網站需要加載完 abcd 四個文件才能渲染完畢。並且每個文件大小為 1 M。這樣一算:客戶端渲染的網站需要加載 4 個文件和 HTML 文件才能完成首頁渲染,總計大小為 4M(忽略 HTML 文件大小)。
  • 使用NLP和ML來提取和構造Web數據
    本文旨在演示web提取和NLP的一個用例,而不是關於這兩種技術使用的全面初學者教程。如果你是NLP或web提取的新手,我建議你遵循不同的教程,或者瀏覽Spacy、BeautifulSoup和NLTK文檔頁面。
  • 基於 ffmpeg+Webassembly 實現視頻幀提取
    的 drawImage 接口提取出當前時刻的視頻幀。安裝過程中可能會需要訪問 googlesource.com 下載依賴,所以最好找一臺能夠直接訪問外網的機器,否則需要手動下載鏡像進行安裝。安裝完成後可以通過emcc -v 查看版本,本文基於1.39.18版本,如圖3。
  • 前端視頻幀提取 ffmpeg + Webassembly
    ObjectUrl後設置到 video標籤的 src屬性中,再通過 canvas的 drawImage接口提取出當前時刻的視頻幀。emcc的編譯選項可以通過 emcc --help來獲取詳細的說明,具體的編譯配置如下:export TOTAL_MEMORY=33554432export FFMPEG_PATH=/data/web-catch-picture/lib/ffmpeg-emccemcc capture.c ${FFMPEG_PATH}/lib/libavformat.a ${
  • 神器 | 字體在線生成器
    很多人都對字體有一定的要求,但是你的字體真的適合你的內容嗎?相信當你看到大神PPT時候,發現人家的PPT,不僅是構圖好,字體選擇也是非常恰當。時常問自己,為啥子人家就那麼優秀嘞?          大咖的PPT封面,有多優秀呢?
  • 基於 ffmpeg + Webassembly 實現前端視頻幀提取
    --prefix=/data/web-catch-picture,需要通過內存傳遞的方式將視頻幀的RGB數據傳遞給js進行繪製圖像。4M,初始化內存為220M,在線上使用的話會需要加載很長的時間
  • 推薦6個良心好用的在線工具,你肯定需要
    你也可以按照模板的顏色、最新、最熱進行選擇,也可以利用網站的搜索功能直接搜索你需要的圖片模板。它支持在線 AI 摳圖功能,你只需要上傳圖片,標記保留部分和去除部分,下載圖片,簡單的三步最後,你需要留意網站的動態版塊,它提供了關於網站的版權答疑和網站的各種使用教程,特別是版權答疑版塊,你需要仔細去看下。
  • PS免費資源總有你需要的,筆刷,字體包,教程,圖標...
    以下資源均為公眾號後臺設置了關鍵詞的,如果沒及時保存哪時候需要了,也可以後臺回復對應關鍵詞。以下資源質量排序不分先後具體要看你對該資源的認可度好了自己動手吧。加粗字體為後回復的關鍵字。密碼:epgz字體hello,你需要的1G字體包,資源名170929-31種字體包文件連結:https://pan.baidu.com/s/1sbJXN2INogi8WD1kpKiIYw 提取碼:1w9h office下載
  • web server 你真的需要
    對於做慣了嵌入式下位機的猿友來講,大家可能對網頁部分的開發不是很擅長,但是隨著現在對嵌入式程序猿要求的越來越高,以及萬物互聯,IOT,TOE等人們概念的普及和需求,你不得不提高技術儲備,而不要說是自己做底層就不去關心上面的東西,好的程序猿好的攻城獅應該是能寫上位,也能寫下位。在瀏覽器中打開網頁,可以點擊右鍵如下圖中的inspect進入網頁HTML的調試和檢查。
  • 自製字體解包工具分享丨提取TTF利器
    ===使用說明===很多朋友問:怎麼從你分享的字體裡面提取中文TTF?
  • 想修改 Android 字體,你需要先了解一下 Typeface!!!
    一、開篇如果你想要操作字體,無論是使用 Android 系統自帶的字體,還是加載自己內置的 .ttf(TureType) 或者 .otf(OpenType) 格式的字體文件,你都需要使用到 Typeface 這個類。
  • Web正文字體發展簡史
    當你正在糾結選擇什麼樣的字體大小,尤其是在您嘗試適應不同的屏幕和場景時。回顧一下網頁字體發展的歷史變化,或許會給你一個新的視角。當我在 2005 年左右開始研究 Web 的東西時,有兩種非常流行的正文字體樣式:這兩種樣式可能出現在 90% 的專業網站上,供 Windows XP 和更早版本的IE5、IE5.5 和 IE6 的用戶看到。