WebFont IFT 標準追蹤與相容性閘門
基準日期:2026-07-19
狀態:追蹤中;OdfKit 尚未實作或宣稱支援 Incremental Font Transfer。
標準狀態
W3C 的 Incremental Font Transfer 目前是 Candidate
Recommendation Draft。W3C
出版歷史顯示 2025-07-31 曾發布 Candidate
Recommendation Snapshot,2025-11-18 發布後續 Candidate Recommendation Draft。這仍是可變動的候選
標準,不是已完成互通報告的 W3C Recommendation;W3C 最新發布頁亦明載目前沒有完成的
implementation report,測試套件仍在開發。版本由
eng/webfont-standards-dependency-policy.json 鎖定,超過 90 天未複查會使發布閘門失敗。
複查紀錄
| 複查日期 | 標準狀態 | 結論 |
|---|---|---|
| 2026-07-20 | 仍為 Candidate Recommendation Draft(2025-11-18) | 閘門維持關閉 |
2026-07-20 複查:W3C 發布頁顯示 IFT 自 2025-11-18 的 Candidate Recommendation Draft 起未再前進,仍未成為 Recommendation。Web Fonts WG 章程 原訂 2026 年第二季完成,該時程已逾期而標準狀態未變。因此本文件所列的實作前提 (穩定的 patch 格式、完成的 implementation report、可用的測試套件)仍未成立, 閘門維持關閉。
此複查本身即為文件所定 90 天週期的一次執行;前次記載基準為 2025-11-18,至本次 複查已逾期,後續應恢復按週期執行。
W3C 2025 TPAC 的官方展示明確使用 WebAssembly polyfill,而不是穩定瀏覽器原生實作;Mozilla
追蹤項目 1977870 截至基準日仍為 NEW。
因此目前的 Chromium/Firefox/WebKit Playwright matrix 不能作為 IFT client oracle,也不能只
測試 tech(incremental) CSS 是否可解析就宣稱 wire interoperability。參考
W3C IFT TPAC demo。
IFT 同時定義 table-keyed 與 glyph-keyed patch。保留 glyph ID 只協助 glyph-keyed patch 的穩定 glyph-to-ID 指派;它不會自動產生 IFT/IFTX table、patch map、compatibility ID、patch 檔案、 feature closure 或伺服器協定。因此文件不得把目前的 retain-gids 策略描述為「低成本即可支援 IFT」或「已與 IFT 相容」。
目前已實證的相容性基礎
- TrueType 子集保留來源
maxp.numGlyphs,未使用的 outline 以空 glyph 保留位置。 - format matrix 對每個成功的真實來源、TTF/WOFF/WOFF2 輸出,比較要求 scalar 的來源與輸出 glyph ID,並確認 glyph count 未改變。
- manifest、CSS 與資產仍使用內容定址;這是日後 patch cache 可重用的基礎,但不是 IFT wire compatibility 的證據。
升級閘門
只有下列項目全部具可重現證據後,才能新增 experimental IFT 輸出:
- 鎖定精確 IFT Candidate Recommendation 版本及變更紀錄。
- 以 clean-room C# 實作 IFT/IFTX table、patch map、compatibility ID 與至少一種 patch format。
- 驗證 glyph、layout feature、variation design space 與複合 glyph closure。
- 以獨立 validator 及實際支援 IFT 的瀏覽器完成 base font、增量 patch、cache reuse 與錯誤注入。
- 對 patch URL 的內容推論、跨 origin cache、拒絕服務與租戶隔離完成安全審查。
- 比較 IFT、固定 Unicode slice 與精確動態補洞在真實 CNS corpus 上的傳輸量、CPU、峰值記憶體 與 cache hit ratio;沒有實測優勢不得改成預設。
在這些閘門完成前,穩定 Unicode bucket 與受控動態補洞是可部署路徑,IFT 僅維持標準追蹤。 W3C polyfill 可作為獨立測試 oracle 的候選,但不得進入產品 runtime,也不得取代純 managed encoder/decoder、穩定瀏覽器實證或 clean-room 來源紀錄。