① まず結論
MacとWindowsでは、最初から入っている標準フォントが違い、さらに「文字を画面に描く仕組み(描画エンジン)」も違います。だから同じCSSを書いても、文字の太さ・行間・改行位置が少し変わります。完全に同じには絶対になりません。
② たとえ話
楽譜と楽器の関係に置き換えると分かりやすいです。
HTML/CSSは「楽譜」。MacとWindowsは「楽器」。同じ楽譜でも、ピアノで弾くかオルガンで弾くかで音色が変わるのと同じで、同じCSSでもOSによって表示される音色(見え方)が変わります。
これは「どちらかが間違っている」のではなく、楽器が違うから当然そうなる、という話です。実装ミスを疑う前に、まずOS差の可能性を頭の片隅に置いておくと、無駄なバグ探しが減ります。
実装ミスより先に、OS差を疑う。
③ 図解で見る
MacとWindowsで何が違うかを並べたもの。
| 要素 | Mac | Windows |
|---|---|---|
| 標準の和文ゴシック | ヒラギノ角ゴ | Yu Gothic UI / Meiryo |
| 標準の欧文サンセリフ | SF Pro / Helvetica Neue | Segoe UI |
| 描画エンジン | Quartz / Core Text | DirectWrite |
| アンチエイリアス | 強めで丸く見える | やや細く見える |
| 同じ指定での印象 | 少し太く・やわらかく | 少し細く・シャープに |
ChromeやFirefoxなどブラウザごとの差も加わるので、完全一致は前提にしないのが安全です。
④ よくある失敗
Macで完璧に整えたカンプを、Windowsで開いたら見出しが2行になった
Macの
font-family: 'Hiragino Sans' だけ指定して、Windowsで効かなかった
Windowsには
デザインカンプと実装の差を全部「実装ミス」だと思う
1pxの
⑤ 実務ではこう判断する
完全一致が必要なら、Webフォントで両OSに同じものを配信
ブランドの
本文や注釈は「OS別フォントスタック」で十分
本文まで
カンプ作成時に「もう一方のOSでも開く」習慣をつける
Macで
⑥ 用語メモ
- フォントスタック
- CSSの font-family に複数フォントを並べた指定。最初のフォントが無ければ次、という順で適用される。
- 描画エンジン
- 文字を画面に描くためのOS側の仕組み。Macは丸く・太く、Windowsはシャープに描く傾向。
- アンチエイリアス
- 文字のフチを滑らかに見せる処理。OSによって強さや方式が違う。
⑦ 学習後のチェック
- MacとWindowsで標準フォントが違うことを知った
- 描画エンジンの違いがあると言える
- フォントスタックの書き方を理解した
- 「完全一致が必要な場面」と「差を許容する場面」を分けて判断できる
関連フォント