なげやりろぐ

フテイキコウシン

iTunesのフォントはやっぱダメだ

以前もちらっとだけ取り上げましたけど、WebKitITMSの表示に利用するようになってからのiTunesはフォントがとっても見づらいというか汚いというか・・・
Mac OSX版でならキレイなんですけどWindows版ではどうにもよろしくない。文字のジャギーが目立ってとてもApple製のアプリとは思えないですよね。

で、WebKitでの描画なら当然スタイルを指定しているファイルが必要なわけですが、iTunesのインストール先にあるiTunes.Resourcesフォルダ内にiTunes.cssというファイルがあって、これを編集することである程度はフォントを変更出来ることまでつかめていました。
しかし、アスタリスクで全適用させてみても変化してくれないところがかなりあったので、これはやはり個別にidやclassが指定されているに違いないなと。
では、それを指定しているファイルはどこにあるのかとPC内を探ってみましたがどこにも見あたらず、ネットワークチェッカーでiTunesの通信先をチェックしてみたら…リソースが多すぎて追い切れませんでした(笑)
そこで次に目をつけたのが、AppDataに格納されていたデータベースファイル。
Win7(Vistaでも同様)だとユーザーフォルダ/AppData/Local/Apple Computer/iTunesの中にあるCache.dbというヤツですが、これをデータベース内を参照できるアプリ、tashizaurusを使って覗いてみたところそれっぽいのを見つけることができまして、そのアドレスにSleipnirでアクセスしてみたらファイルとして落っこちてきてくれました♪

CSSファイルへのリンク



しかしこのcsszという拡張子のファイルは秀丸で開いたらどうやっても正確なエンコードで表示してくれません。
しょうがないのでChromeへアドレス渡したらちゃんと読めましたのでそれを全選択してエディタへとコピー。


これでゆっくりとCSSの解析が出来るってなモンです♪

CSS自体は圧縮されて一行になっているので目的のフォント周りを指定している部分を見つけるのが困難でしたが、これ見てわかったのは日本のITMSでは専用のclassがつかわれているらしいということ。*1
つまり、

body,button,input{font-family:"Helvetica","Arial";font-smooth:always;}body.jpn,body.jpn button,body.jpn input{font-family:"HiraKakuProN-W3","HiraKakuProN-W6","MS PGothic","Helvetica","Arial";}

に対して各要素の属性を指定すればいいらしいということがわかったわけです。
で、通常のWindowsを利用していればこの中で使われるフォントはMS PGothicが優先*2されますので、例のきちゃない表示になっちゃうんですね。
ここは当然メイリオなどの日本語でもクリアタイプが有効になるフォントを指定すべき*3、ってことで早速iTunesインストールフォルダ/iTunes.Resources/iTunes.cssをエディタで開いて先頭部分へ以下を追記して保存。

body,li,p,div,td,button,input{
	font-family:Meiryo !important;
	font-smooth:always;
}
body.jpn,
body.jpn button,
body.jpn input,
body.jpn h1,
body.jpn h2,
body.jpn h3,
body.jpn h4,
body.jpn h5,
body.jpn h6,
body.jpn dl,
body.jpn dt,
body.jpn dd,
body.jpn pre,
body.jpn code,
body.jpn form,
body.jpn fieldset,
body.jpn legend,
body.jpn li,
body.jpn textarea,
body.jpn p,
body.jpn blockquote,
body.jpn table,
body.jpn thead,
body.jpn th,
body.jpn tbody,
body.jpn td,
body.jpn em,
body.jpn div {
	font-family:Meiryo !important ;
	font-smooth:always;}

あとはiTunesを立ち上げ直すと・・・

↓ノーマル CSS適用後♪ ↓ちなみにMac OSX版iTunesはこんな感じ


まぁ思いつくままの要素に対してフォントをメイリオ*4で表示するように指定してみたのですが、極小フォント部分に対してはビットマップが使われちゃうようです。

これが気になる向きはビットマップ抜きフォントを作成するなりネットから拾ってくるなりして指定すればよろしいかと。*5
あと見出し部分にWebKitのみで利用可能なEffectが適用されていますが、Windowsではなんかイマイチな感じがしますね。このEffect切れば普通に表示されそうですけど今回はそこまで手をつけていません。


そんなこんなで今までどうにもストレスの元だったiTunesの表示をちょっとだけでも改良できたのでよかったです♪ サイドバーとかもWebKitでの表示だったらいいんだけどその辺はまだ未確認。

*1:あとからStyleneat - CSS Organizer http://styleneat.com/ でCSSを整形し直してちゃんと確認しましたけどね♪

*2:Mac OSXならヒラギノが使われるのでキレイ♪

*3:WebKit上でクリアタイプが有効になるのかは疑問でしたが結果オーライ!?

*4:メイリオでは間延びしていてイヤだというヒトはダブルクオートで括って"Meiryo UI"にするといいかも。

*5:自分も一応ビットマップ抜きメイリオを作って適用してみましたが、なんだか全体的にぼけぼけな感じになっちゃうので元に戻しました。