これは何
システムフォントを指定した場合、和文フォントが UILable と UITextView で違うっぽいのでメモ。
※間違っていたらコメントください!マサカリ歓迎
テスト環境
- 実機
- iPhone 6 Plus / iOS 8
- iPhone 6s / iOS 9
- 実機の言語設定は「日本語」
-
CFBundleDevelopmentRegion
には Japan 指定
実験
- UILabel と UITextView だけの Storyboard を作る
- 上が UILabel
- 下が UITextView
- 「System」を指定した時と「ヒラギノ角ゴ」を指定した時の違いを比べる
フォントは Storyboard 上で指定。
iOS 8
システムフォント指定

- UILabel は「ヒラギノ角ゴシック」に
- UITextView も「ヒラギノ角ゴシック」になった
ヒラギノ角ゴシック W3 指定

- UILabel は「ヒラギノ角ゴシック」に
- UITextView も「ヒラギノ角ゴシック」になった
iOS 9
システムフォント指定

- UILabel は「ヒラギノ角ゴシック」に
- UITextView は「謎のフォント(仮)」になった(「や」を比較するとわかりやすい。文字間隔もせまい)
ヒラギノ角ゴシック W3 指定

- UILabel は「ヒラギノ角ゴシック」に
- UITextView も「ヒラギノ角ゴシック」になった(文字間隔もUILabelと揃った)
結論
- システムフォントを指定した場合、和文フォントが UILable と UITextView で異なる
- iOS 9の場合のみ起こる(iOS 8では起こらなかった)
ちなみに今回はあくまで和文フォントの話であり、欧文フォントの場合は
iOS 8 - Helvetica Neue
iOS 9 - San Francisco
が使われます。