ブラウザの標準フォントを全部メイリオとかにするのが嫌で
個人的にはラテン文字はArialとかTimesとかの標準的なフォントにして、
日本語部分をメイリオだとか游明朝あたり1で補完するのが好み。
ユーザースタイルシートを使えばほとんどのブラウザ2でこれが実装できる
Font Link的なのをCSSでやる
http://y-log.net/archives/2012/10/02/2350
しかし、Google Chrome 31 (30?) からCSSの仕様が変わった?ようで、
アップデート後から上記の方法だと思うように反映されない。
font-faceでunicode-rangeを指定すると
非指定の部分の指定が反映されずに強制的にMSゴシックになる。
試行錯誤の結果、一応の対処方法を見つけた。
@font-face {
font-family: 'Meiryo UI';
src: local('Arial');
unicode-range: U+0000-007F; /* ラテン文字はArial */
}
@font-face {
font-family: 'Meiryo UI';
src: local('Meiryo UI');
unicode-range: U+007F-FFFF; /* その他はMeiryo UI */
}
font-familyのまま置換しないところのunicode-rangeについても
きちんと明記してやれば反映されるようで。
最新のCSS動向とかよく知らないんだけど、これがvaildなのかなぁ。
以下、今回のまとめ。
Custom.css
@charset "UTF-8";
/* default */
@font-face {
font-family: 'Meiryo UI';
src: local('Arial');
unicode-range: U+0000-007F;
}
@font-face {
font-family: 'Meiryo UI';
src: local('Meiryo UI');
unicode-range: U+007F-FFFF;
}
/* sans-serif */
@font-face {
font-family: sans-serif;
src: local('Arial');
unicode-range: U+0000-007F;
}
@font-face {
font-family: sans-serif;
src: local("メイリオ");
unicode-range: U+007F-FFFF;
}
/* serif */
@font-face {
font-family: serif;
src: local('Times New Roman');
unicode-range: U+0000-007F;
}
@font-face {
font-family: serif;
src: local("游明朝");
unicode-range: U+007F-FFFF;
}
/* monospace */
@font-face {
font-family: monospace;
src: local('Courier New');
unicode-range: U+0000-007F;
}
@font-face {
font-family: monospace;
src: local('MeiryoKe_Gothic');
unicode-range: U+007F-FFFF;
}
/* cursive */
@font-face {
font-family: cursive;
src: local('Comic Sans MS');
unicode-range: U+0000-007F;
}
@font-face {
font-family: cursive;
src: local("メイリオ");
unicode-range: U+007F-FFFF;
}
/* fantasy */
@font-face {
font-family: fantasy;
src: local('Gabriola');
unicode-range: U+0000-007F;
}
@font-face {
font-family: fantasy;
src: local("游明朝 Light");
unicode-range: U+007F-FFFF;
}
