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)に貼り付けると、絵文字は期待どおりに表示されます(通常のサイズのカラーまたは豆腐のいずれかで):
なぜこれが発生するのですか、どうすれば修正できますか?
承認された回答:
ここではいくつかの問題が発生しています:
- デフォルトのシステムフォントはDejaVuSansで、白黒の絵文字が含まれています。
- ブラウザには、
EmojiOneMozilla.ttf
と呼ばれる独自の絵文字固有のフォントがバンドルされています。 (元々はFirefoxにバンドルされていましたが、PureBrowserフォークにも含まれています)、カラー絵文字が含まれています。 (補足:ライセンスの変更により、Firefoxバンドルの最近のバージョンTwemoji
代わりに。) - 能登絵文字もインストールしました。これには、異なるスタイルの新しい色の絵文字が含まれています。このフォントのスケーリングは、PureBrowserがフォークされているFirefoxのバージョンによって正しく処理されません。
絵文字が検出されると、ブラウザはこれら3つのフォントから選択して、それらのレンダリング方法を決定します。上記の順序は優先順位であり、カバレッジが増加する順序でもあるため、古い/一般的な絵文字はDeja Vuでレンダリングされ、最新の絵文字はEmoji Oneでレンダリングされ、最先端の絵文字はスケールの悪い能登絵文字でレンダリングされます。
「正しい」解決策は、ブラウザやNotoを修正して、ブラウザのNoto絵文字のスケーリングが正しくなるようにすることです。さらに、フォントヒントを更新して、システムのデフォルトフォントよりもカラー絵文字記号が優先されるようにします。これらの問題を解決することは簡単ではありません。手始めに、以下を参照してください:
- https://github.com/googlei18n/noto-emoji/issues/36
- https://superuser.com/questions/1111369
- https://github.com/eosrei/emojione-color-font/issues/17
当面の間、回避策の1つは、EmojiOneMozilla.tff
を置き換えることです。 正しく拡大縮小され、能登と同等以上のシンボルカバレッジを持つカラー絵文字フォントを使用:
- https://github.com/eosrei/twemoji-color-font/releasesから最新のTwemoji/eosreiリリースをダウンロードします(zip形式)
-
TwitterColorEmoji-SVGinOT.ttf
を抽出します -
/usr/lib/purebrowser/fonts/EmojiOneMozilla.ttf
を削除します - コピー
TwitterColorEmoji-SVGinOT.ttf
そのフォルダに
Twemoji TTFの絵文字カバレッジが等しいため、能登絵文字記号は表示されなくなりました。 Notoのカバレッジが向上し、Notoパッケージが更新されると、新しい絵文字シンボルで問題が再発します。その時点で、新しいTwemoji / eosreiのリリースを待って、回避策を再適用する必要があります。
関連:GNOME Shellアクティビティバーを常に小さくするにはどうすればよいですか?PureBrowserパッケージが更新されると、EmojiOneMozilla.ttfが再度追加される場合があります。その場合は、再度削除する必要があります。 TwitterColorEmoji-SVGinOT.ttfが削除される可能性があります。その場合は、再度追加する必要があります。