和英文不同,中文字字數太多,完整的中文字型要3MB以上,如整個載入到瀏覽器會太慢。解決方法是先生成一個較少的字型檔,裡頭只包含網頁實際用到的字。

現時有兩種方法生成字型檔:

  1. 線下工具生成
  2. 雲端自動生成,可細分為:
    • 前端 (JavaScript)
    • 後端 API

線下工具最大問題是原字型檔來源,當然如你今本不理版權就另當別論。

雲端自動生成,各家供應商都大同小異。基本上就是先在供應商後台選好要用的字型,再指明在那些 domain(s) 下使用,用作受權和計費管理,都是按 PV (page view) 收費。但有字库是例外,因完全免費,不用指明 domain(s),只需指明用戶 ID 即可;但還是有一日最多生成500套字體的限制。

雲端 JS 方案。用戶不需要任何技術知識,只需把供應商提供的 JS 貼到網頁 source code 就可以。JS 自動把頁面用到的中文字傳送到供應商伺服器,即時生成字型檔再透過 CSS 直接從供應商伺服器載入到瀏覽器。

雲端 API 方案,就是用程式事先把用到的中文字傳送到供應商伺服器,生成並取得 CSS,避免閃爍問題。注意生成的字型檔還是寄存在供應商伺服器。

各供應商字型檔生成方法比較:

線下 雲端 JS 雲端 API (註)
字蛛 O X X
iFontCloud X O X
华康威font云字体 O O O
有字库 X O O
fonts.com X O X 不會移除没有使用的字符
justfont X O X

後台設定,很多都要手動登入供應商網站來管理,只有 fonts.com 有 API 可用。 一般用戶還可以,但我們做 SaaS 的,每一個新用戶都可用自帶的 domain name, 我沒可能手動把他們的 domain 加上去字型供應商的後台吧。。。

另外支援上做一些比較:

繁體字 簡體字 支援 HTTPS (註)
iFontCloud O O X
华康威font云字体 X O X
有字库 O O X
fonts.com O O O 不會移除没有使用的字符
justfont O O O