Chrome 33 は Linux で醜く、角ばった、ピクセル化されたフォントを表示する

Chrome 33 は Linux で醜く、角ばった、ピクセル化されたフォントを表示する

Gentoo Linux ボックスで Chrome を最新バージョン (33) にアップデートした後、GitHub などの特定のサイトが、アンチエイリアス処理されていない醜いピクセル化されたフォントでレンダリングされるようになりました。小さなテキストは、基本的に読むことができません。

ここに画像の説明を入力してください

これまで、GitHub は Windows、Linux、Mac のコンピューターで同じように表示されていました。では、ここで何が起こっているのでしょうか。また、どうすれば修正できるのでしょうか。

編集: Chrome 34 の安定版リリースで修正されたようです。

答え1

これは Helvetica フォントの Chromium のバグのようです。ここで議論されています:

https://forums-web1.gentoo.org/viewtopic-t-984870.html?sid=d8fa5b8fc9ae0c83520d1769dc366d58

そのスレッドによると、この解決策で問題は解決しました:

  • 空のディレクトリに次のファイルを作成します
  • chrome://extensions にアクセスします
  • 開発者モードのチェックボックスをオンにします
  • 解凍された拡張機能を読み込む
  • 新しいディレクトリを指す

マニフェスト

{ 
  "name": "Fix Helvetica", 
  "description": "Fix Helvetica", 
  "version": "0.1", 

  "content_scripts": [ { 
  "css": [ "Custom.css" ], 
  "matches": [ "http://*/*", "https://*/*" ] 
  } ], 

  "manifest_version": 2 
} 

カスタム.css

@font-face { font-family: 'Helvetica'; src: local('Arial')}

答え2

Chromium 33-34 および KDE 4.11.5 でも同じ問題が発生しました。

デペの提案により問題は解決しました。

eselect fontconfig enable 70-no-bitmaps.conf

またはすでに有効になっている場合:

eselect fontconfig disable 70-yes-bitmaps.conf

答え3

私は Ubuntu 12.04 を実行していますが、同じ問題が発生しました。/etc/fonts/conf.d から 70 個ほどの設定をすべて削除し、リンクし 70-no-bitmaps.conf -> ../conf.avail/70-no-bitmaps.confてチェックしたところ、xml の selectfont 要素がコメント アウトされておらず、次のように表示され、フォントが再び適切にレンダリングされるようになりました。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Reject bitmap fonts -->
  <selectfont>
    <rejectfont>
      <pattern>
        <patelt name="scalable"><bool>false</bool></patelt>
      </pattern>
    </rejectfont>
  </selectfont>
</fontconfig>

答え4

最近、XFCE を搭載した Debian (テスト) 上の Chrome で同じ問題に悩まされました。.fonts.confホーム ディレクトリのファイルに次のコードを追加しました。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="antialias" mode="assign"><bool>true</bool></edit>
  </match>
  <match target="font">
    <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
  </match>
  <match target="font">
   <edit mode="assign" name="hinting"><bool>false</bool></edit>
  </match>
</fontconfig>

このコードは基本的にヒントを無効にし、アンチエイリアシングを有効にします。これですべてがうまく動作するようになりました。

ソース

関連情報