Edited at

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

More than 3 years have 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

が使われます。


参考リンク