Linux版Chromeでフォントが汚い

Linux版Chromeを使ったところフォントが汚い。
特にBoldが悲惨。

ぐぐって見つけたページ:google-chromeのフォントかすれの原因と対処

google-chrome を愛用するようになってだいぶ経ちますが
サイトによっては、文字がかすれたりギザギザになったりして
とても見づらくなるのに悩んでおりました。

※「文字がかすれる」というのは、フォントの一部が
破線の様になるという症状です。
※ forefoxでは問題なく表示されます。

どうやら、サイトの font-family の指定が MS Gothic や
MS Pゴシック などになっていて、
かつ、それを font-size の指定で拡大あるいは縮小した場合に
発生する現象のようです。

拡大・縮小指定がなければ綺麗ですし、
MS なんちゃらフォントでないものであれば、拡大縮小しても
汚くはなりません。

試しに、かすれている文字を右クリックして「要素の検証」を
選び、右下の css 指定の中から生きている font-family を探し
□ のチェックをはずすと、文字のかすれがなくなります。

試してみたらビンゴ!
MSゴシックなどが悪さをしていたとは!
Firefoxとは全然違う処理なんだねえ~

対処方法は ~/.fonts からMSなんちゃらのフォントを削除。ついでにメイリオ系も削除。

へえ、そんなことがあるんだねえ。


【追記】

さらにいろんなページを見ていると半角英数字が汚い場合があることがわかった。
ChromeはもとよりFirefoxでも。
調べてみると、問題になったページのCSSでのフォントファミリーの指定がこんな感じだった。

font-family:"メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif

これで何が起こるかというと、日本語部分にはsans-serifが使われる(適当なTTフォント)が、半角英数字にはHelveticaのビットマップフォントが使われてしまう。
そのため半角英数字だけにはアンチエイリアスがかからず違和感が生じるようである。
(今まではどちらにもMS PGothicが使われていたので問題にならなかった)

対策であるが、~/.fonts.conf(最近のOSだと違うようなので注意)を使ってMS PGothicとMS Pゴシックを別の適当なフォント(例えばMigu 1C)で置き換えることにした。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
	<match target="pattern">
		<test qual="any" name="family">
			<string>MS Pゴシック</string>
			<string>MS PGothic</string>
		</test>
		<edit name="family" mode="assign" binding="same">
			<string>Migu 1C</string>
		</edit>
	</match> 
</fontconfig>

~/.fonts.confを変更したらfc-cacheを忘れずに。ブラウザーの再起動も必要。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください