iOS

【iOS】システムフォントはUILableとUITextViewで違う

More than 1 year has passed since last update.

これは何

システムフォントを指定した場合、和文フォントが UILable と UITextView で違うっぽいのでメモ。

※間違っていたらコメントください!マサカリ歓迎

テスト環境

  • 実機
    • iPhone 6 Plus / iOS 8
    • iPhone 6s / iOS 9
  • 実機の言語設定は「日本語」
  • CFBundleDevelopmentRegion には Japan 指定

実験

  • UILabel と UITextView だけの Storyboard を作る
    • 上が UILabel
    • 下が UITextView
  • 「System」を指定した時と「ヒラギノ角ゴ」を指定した時の違いを比べる

フォントは Storyboard 上で指定。

image

iOS 8

システムフォント指定

image

  • UILabel は「ヒラギノ角ゴシック」に
  • UITextView も「ヒラギノ角ゴシック」になった

ヒラギノ角ゴシック W3 指定

image

  • UILabel は「ヒラギノ角ゴシック」に
  • UITextView も「ヒラギノ角ゴシック」になった

iOS 9

システムフォント指定

image

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

ヒラギノ角ゴシック W3 指定

image

  • UILabel は「ヒラギノ角ゴシック」に
  • UITextView も「ヒラギノ角ゴシック」になった(文字間隔もUILabelと揃った)

結論

  • システムフォントを指定した場合、和文フォントが UILable と UITextView で異なる
  • iOS 9の場合のみ起こる(iOS 8では起こらなかった)

ちなみに今回はあくまで和文フォントの話であり、欧文フォントの場合は

iOS 8 - Helvetica Neue
iOS 9 - San Francisco

が使われます。

参考リンク