Google Chrome 98將支持新版矢量彩色字體 蘋果明確提出反對

1月初,Google Chrome
97登陸穩定頻道,帶來了大量的新功能,包括更新的鍵盤API,該API被蘋果和Mozilla駁回,因為它太容易侵犯用戶隱私了。經過四周的開發周期,今天我們可以期待Chrome
98的發布,雖然它沒有那麼多的爭議,但有一個功能“COLRv1”絕對是突出的,不僅如此它還引發了爭議。

image.png

Google Chrome 98增加了對COLRv1彩色漸變矢量字體的支持,這是其COLRv0的進化版。 它們以漸變、合成、變換、多色字母的形式帶來了更具表現力的視覺能力,甚至在非常小的字體尺寸下也是如此。Google對此介紹說,它能夠使用COLRv1字體格式渲染諾托彩色表情符號,經過WOFF2壓縮后的大小為1.85MB。同時,對於同樣的表情符號,標準的位圖字體佔用了9MB,在節省系統資源開銷上,這是個重大的改進。

與任何新的瀏覽器功能一樣,獲得其他網絡瀏覽器供應商和網絡開發者的支持以確保無縫的交叉兼容是非常重要的。儘管Mozilla和網絡開發者已經提到他們對新的矢量字體的支持,但蘋果的WebKit和Core Text團隊則反對該提議,他們反對COLRv1的理由如下:

它重新發明了車輪。這種新的格式與任何通用的2D圖形序列化格式一樣,具有很強的表現力和功能。現有的通用2D圖形的序列化格式有很多很多。

它還不存在於Chrome的開發者行列之外。OT-SVG同樣具有表達能力,存在並在DirectWrite、Core Text、Firefox和許多(大部分)Adobe創作應用程序中擁有運輸實現。許多OT-SVG字體已經存在。

因為這個建議在Chrome之外還不存在,所以在現有的創作工具中沒有生態系統。相反,許多設計創作工具已經導出了SVG。

同時支持OT-SVG和這個新的提議是兩倍(-ish)的維護負擔,而這種格式並不比我們已經支持的格式更具表現力。

同時支持OT-SVG和這個新提議會增加我們的二進制大小。我們預計額外的二進制大小的增加大致相當於我們在實施 OT-SVG 后觀察到的二進制大小的增加。(OT-SVG 涉及到一個 XML 解析器,但是 WebKit 已經與一個 XML 解析器關聯,所以預計這個新提議的大小與我們在實現 OT-SVG 后看到的大小增加大致相等,而這個提議需要它自己的新型解析/溢出檢測/解釋代碼)。

同時支持OT-SVG和這個新提議,使基於矢量的彩色字體的安全攻擊的表面積增加了一倍。

即使考慮到一個只支持這個建議而不支持SVG的引擎,也沒有看到任何證據表明,與一個新的二進制格式相比,避免使用XML會減少安全漏洞。歷史上,在WebKit中,我們觀察到不透明的二進制格式(如圖像格式)有很多自己的安全漏洞。

這個規範有2500多行,規範的images/目錄有77個數字,而這個建議只有一個實現。它足夠複雜,以至於我們沒有信心它能夠被互操作地實現。我們擔心繪圖操作的行為可能是Skia特有的,而在Core Graphics上很難/不可能實現。例如,乍一看,我們不確定這個提案中的徑向梯度是否可以在Core Graphics上實現。據我們所知,這個建議並沒有經過許多獨立的利益相關者的嚴格的標準化過程。

在彩色字體表格中嵌入光柵圖像數據在今天是很常見的,但是這個新的提議沒有允許這樣做的能力,儘管它的矢量設施與任何通用的2D圖形序列化格式一樣具有表現力。因此,它實際上並沒有改善彩色字體表碎片的情況,而這被廣泛認為是當今彩色字體的最大缺點之一。

不過,不管蘋果方面如何反對,COLRv1字體格式將首先在Chrome 98中得到支持。

除此以外,Chrome 98中還包括其他較小的改進和提高。用於密鑰交換的簡單數據加密標準(SDES)也正在被淘汰,因為它被稱為”歷史性的”,因此是一種安全風險。

一個CSS媒體查詢也被提供給網頁開發人員,以便他們能夠自動檢測HDR顯示器並相應地渲染他們的內容。對於顏色調整,”only”關鍵字已被重新引入到CSS色彩模式規範中。

為了替代潛在的性能優勢和對某些用例的簡易開發,正在為”ClipboardItem”對象添加對承諾的支持。此外,開發者還可以利用”self.structuredClone()”方法來克隆和轉移對象。為了避免混淆並實現與標準規範的互操作性,一些用於窗口彈出的API也被改變。

流寫入現在可以立即被終止,跨源資源共享(CORS)預檢請求也可以發送到私人網絡上的目標服務器,在訪問子資源之前首先明確詢問權限。另一種方法使開發人員能夠使用文件句柄更容易地刪除文件,而不是被迫先訪問父目錄。

了解有關COLRv1更多細節:

https://developer.chrome.com/blog/colrv1-fonts/

但這還不是全部,Chrome 98的DevTools中還有不少改進,您可以在這裡查看所有的內容:

https://developer.chrome.com/blog/new-in-devtools-98/

Chrome 98將在今天晚些時候開始推出。如果你在一天中沒有自動更新到98版,請到幫助>關於Google Chrome,一旦有了更新,就可以觸發它。接下來是Chrome 99,它將於2月3日進入Beta通道,並將於3月1日登陸穩定版。

(0)
上一篇 2022-02-01 18:04
下一篇 2022-02-01 18:04

相关推荐