Firefox

為什麼有些表情符號 B&W 和其他的太大了?

  • August 10, 2018

我在 PureOS(~= Debian 主要測試)上執行 PureBrowser(~= Firefox ESR 52.8.0)並已fonts-noto-color-emoji-0~20180424-2安裝。

當我訪問https://en.wikipedia.org/wiki/List_of_Emojis時,我觀察到:

  • 一些表情符號呈現顏色(如預期的那樣)
  • 一些表情符號呈現為線條藝術,而不是全彩
  • 一些表情符號呈現顏色,但太大了
  • 缺少的表情符號顯示為“豆腐”(如預期的那樣)

這在執行後仍然存在fc-cache -f -v

一些表情符號渲染為線條藝術,另一些則太大

如果我將該文本複制並粘貼到文本編輯器 (gedit) 中,表情符號會按預期顯示(以正常大小的顏色顯示,或顯示為豆腐):

相同的表情符號在文本編輯器中正確顯示

為什麼會發生這種情況,我該如何解決?

這裡有幾個問題:

  • 預設系統字型是 Deja Vu Sans,它包含黑白表情符號。
  • 瀏覽器捆綁了自己的表情符號特定字型EmojiOneMozilla.ttf(最初捆綁在 Firefox 中,也包含在 PureBrowser fork 中),它包含彩色表情符號。(旁注:由於許可更改,請使用最新版本的 Firefox 捆綁包Twemoji。)
  • 您還安裝了 Noto Emoji,它包含不同風格的新顏色表情符號。派生 PureBrowser 的 Firefox 版本錯誤地處理了此字型的縮放。

當遇到表情符號字元時,瀏覽器會在這三種字型之間進行選擇以決定如何呈現它們。上面的順序是優先順序,恰好也是覆蓋率增加的順序,所以舊的/常見的表情符號在 Deja Vu 中呈現,在 Emoji One 中呈現更新的表情符號,在嚴重縮放的 Noto Emoji 中呈現前沿的表情符號。

“正確”的解決方案是修復瀏覽器和/或 Noto,以便 Noto 表情符號在瀏覽器中的縮放是正確的。此外,更新字型提示,使彩色表情符號優先於系統預設字型。解決這些問題並非易事。對於初學者,請參閱:

同時,一種解決方法是替換EmojiOneMozilla.tff為正確縮放且符號覆蓋率與 Noto 相同或更好的彩色表情符號字型:

現在 Noto 表情符號不會出現,因為 Twemoji TTF 具有相同的表情符號覆蓋率。如果 Noto 覆蓋率提高並且您的 Noto 包得到更新,任何新的表情符號都會再次出現問題。此時,您將不得不等待新的 Twemoji/eosrei 版本並重新應用解決方法。

如果您的 PureBrowser 軟體包得到更新,它可能會重新添加 EmojiOneMozilla.ttf,在這種情況下您將不得不再次刪除它。它可能會刪除 TwitterColorEmoji-SVGinOT.ttf,在這種情況下,您必須重新添加它。

引用自:https://unix.stackexchange.com/questions/444141