35
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOSアプリでカスタムフォントを利用する

Last updated at Posted at 2015-01-06

iOSアプリで自分で用意したフォントを使いたいときってありますよね。
今回はその実装方法を紹介します。

##フォントの形式
Xcode6で利用できるフォントの形式は

  • OpenTypeFont (*.otf)
  • TrueTypeFont (*.ttf)
  • TrueTypeCollection (*.ttc)

の3つのようです。

##組み込み方法

  1. Xcodeのプロジェクト内にフォントファイルをドラッグ&コピーする
    (Copy items if neededにチェックマークを入れるのを忘れずに!)

  2. プロジェクト > TARGET > Build Phases を開く

  3. Copy Bundle Resources にフォントを追加する
    (これは自動で追加されていると思いますので、確認してください)

Xcode5まではInfo.plistを編集しなければならなかったのですが、
Xcode6からは必要ないみたいです。
簡単になりましたね!

##利用方法
###StoryBoardで設定する

  1. 設置した UILabel を選択する
  2. Font 項目を選択し、 Custom に変更する
    (デフォルトは System になっている部分です)
  3. Family で用意したフォントを選択する

Xcode6からはStoryBoard上でカスタムフォントを設定できるようになりました。
実際に見ながら組めるので、とても便利!

###ソースコードで設定する

UILabel *label = [UILabel new];

UIFont *font = [UIFont fontWithName:@"MyFontName" size:15.f];
[label setFont:font];

これは今までと一緒ですね。
フォント名は PostScript名 という物を指定する必要が有るみたいです。

##PostScript名を調べる
###Font Bookを利用する

  1. フォントをMacにインストールする
  2. Font Bookを開く
  3. ユーザータブを選択する
  4. インストールしたフォントを選択する
  5. PostScript名項目を確認

###Terminalで調べる
Fontをインストールしたくない場合は、Terminalを使って調べることもできます。

$ mdls /Users/Owner/Downloads/CustomFont.ttc

ターミナルで mdls の後にスペースを開けて調べたいフォントファイルをドラッグすると、
自動でパスも入力されるので楽ちんです。
コマンドを走らせると、ずらずらとたくさん出てきますね。
その中の
com_apple_ats_name_postscript
PostScript名 です。

下記はMacにデフォルトで入っている Futura フォントで調べてみました

com_apple_ats_name_postscript  = (
    "Futura-CondensedExtraBold",
    "Futura-CondensedMedium",
    "Futura-Medium",
    "Futura-MediumItalic"
)

4種類ありますね。

Original

$ mdls /Library/Fonts/Futura.ttc

com_apple_ats_name_family      = (
    Futura
)
com_apple_ats_name_fond        = (
    "Futura-CondensedExtraBold",
    "Futura-CondensedMedium",
    "Futura-Medium",
    "Futura-MediumItalic"
)
com_apple_ats_name_full        = (
    "Futura Condensed ExtraBold",
    "Futura Condensed Medium",
    "Futura Medium",
    "Futura Medium Italic"
)
com_apple_ats_name_postscript  = (
    "Futura-CondensedExtraBold",
    "Futura-CondensedMedium",
    "Futura-Medium",
    "Futura-MediumItalic"
)
com_apple_ats_name_style       = (
    "Condensada extranegrita",
    "Condensada mediana",
    Condensado,
    Condensato,
    "Condensato medio",
    "Condensed ExtraBold",
    "Condensed Medium",
    "Condense\U0301 extragras",
    "Condense\U0301 moyen",
    "Fortettet ekstra fet",
    "Fortettet medium",
    "Gecomprimeerd ExtraVet",
    "Gecomprimeerd Gemiddeld",
    "Gemiddeld Cursief",
    Halbfett,
    "Halbfett, Kursiv",
    "Ita\U0301lico Me\U0301dio",
    "Kavennettu lihava",
    "Kavennettu voimakas",
    Medel,
    "Medel kursiv",
    Media,
    "Mediana cursiva",
    Medio,
    "Medio corsivo",
    Medium,
    "Medium Italic",
    "Medium kursiivi",
    "Medium kursiv",
    Moyen,
    "Moyen italique",
    "Me\U0301dio",
    "Schmal, Extrafett",
    "Schmal, Halbfett",
    "Smal ekstra fed",
    "Smal extrafet",
    "Smal medium",
    "\U0421\U0440\U0435\U0434\U043d\U0438\U0438\U0306",
    "\U0421\U0440\U0435\U0434\U043d\U0438\U0438\U0306 \U043a\U0443\U0440\U0441\U0438\U0432\U043d\U044b\U0438\U0306",
    "\U0423\U0437\U043a\U0438\U0438\U0306 \U0441\U0432\U0435\U0440\U0445\U0436\U0438\U0440\U043d\U044b\U0438\U0306",
    "\U0423\U0437\U043a\U0438\U0438\U0306 \U0441\U0440\U0435\U0434\U043d\U0438\U0438\U0306",
    "\U30b3\U30f3\U30c6\U3099\U30f3\U30b9\U30fb\U30a8\U30af\U30b9\U30c8\U30e9\U30db\U3099\U30fc\U30eb\U30c8\U3099",
    "\U30b3\U30f3\U30c6\U3099\U30f3\U30b9\U30fb\U30df\U30c6\U3099\U30a3\U30a2\U30e0",
    "\U30df\U30c6\U3099\U30a3\U30a2\U30e0",
    "\U30df\U30c6\U3099\U30a3\U30a2\U30e0\U30fb\U30a4\U30bf\U30ea\U30c3\U30af",
    "\U4e2d\U659c\U9ad4",
    "\U4e2d\U7b49",
    "\U4e2d\U7b49\U659c\U4f53",
    "\U4e2d\U9ed1",
    "\U58d3\U7e2e\U4e2d\U9ad4",
    "\U58d3\U7e2e\U52a0\U9ed1\U9ad4",
    "\U7a84\U52a0\U9ed1\U9ad4",
    "\U7d27\U7f29\U4e2d\U7b49\U4f53",
    "\U110c\U1161\U1100\U1161\U11ab \U110e\U116e\U11a8\U1109\U1169 \U1100\U1167\U11ab\U110e\U116e\U11af\U110e\U1166",
    "\U110c\U1161\U1100\U1161\U11ab \U110e\U116e\U11a8\U1109\U1169 \U110c\U116e\U11bc\U1100\U1161\U11ab\U110e\U1166",
    "\U110c\U116e\U11bc\U1100\U1161\U11ab \U110b\U1175\U1110\U1162\U11af\U1105\U1175\U11a8\U110e\U1166",
    "\U110c\U116e\U11bc\U1100\U1161\U11ab\U110e\U1166"
)
com_apple_ats_names            = (
    "9.0d2e1",
    "Condensada extranegrita",
    "Condensada mediana",
    Condensado,
    Condensato,
    "Condensato medio",
    "Condensed ExtraBold",
    "Condensed Medium",
    "Condense\U0301 extragras",
    "Condense\U0301 moyen",
    "Fortettet ekstra fet",
    "Fortettet medium",
    Futura,
    "Futura Condensed ExtraBold",
    "Futura Condensed Medium",
    "Futura Medium",
    "Futura Medium Italic",
    "Futura-CondensedExtraBold",
    "Futura-CondensedMedium",
    "Futura-Medium",
    "Futura-MediumItalic",
    "Gecomprimeerd ExtraVet",
    "Gecomprimeerd Gemiddeld",
    "Gemiddeld Cursief",
    Halbfett,
    "Halbfett, Kursiv",
    "Ita\U0301lico Me\U0301dio",
    "Kavennettu lihava",
    "Kavennettu voimakas",
    Medel,
    "Medel kursiv",
    Media,
    "Mediana cursiva",
    Medio,
    "Medio corsivo",
    Medium,
    "Medium Italic",
    "Medium kursiivi",
    "Medium kursiv",
    Moyen,
    "Moyen italique",
    "Me\U0301dio",
    "Paul Renner (1928)",
    "Schmal, Extrafett",
    "Schmal, Halbfett",
    "Smal ekstra fed",
    "Smal extrafet",
    "Smal medium",
    "\U00a9 Copyright 1998, Neufville Digital. ALL RIGHTS RESERVED. This font is licensed, not sold, and may not be reproduced without the written consent of Neufville Digital. Parts \U00a9 Visualogik Technology & Design, 1998.",
    "\U0421\U0440\U0435\U0434\U043d\U0438\U0438\U0306",
    "\U0421\U0440\U0435\U0434\U043d\U0438\U0438\U0306 \U043a\U0443\U0440\U0441\U0438\U0432\U043d\U044b\U0438\U0306",
    "\U0423\U0437\U043a\U0438\U0438\U0306 \U0441\U0432\U0435\U0440\U0445\U0436\U0438\U0440\U043d\U044b\U0438\U0306",
    "\U0423\U0437\U043a\U0438\U0438\U0306 \U0441\U0440\U0435\U0434\U043d\U0438\U0438\U0306",
    "\U30b3\U30f3\U30c6\U3099\U30f3\U30b9\U30fb\U30a8\U30af\U30b9\U30c8\U30e9\U30db\U3099\U30fc\U30eb\U30c8\U3099",
    "\U30b3\U30f3\U30c6\U3099\U30f3\U30b9\U30fb\U30df\U30c6\U3099\U30a3\U30a2\U30e0",
    "\U30df\U30c6\U3099\U30a3\U30a2\U30e0",
    "\U30df\U30c6\U3099\U30a3\U30a2\U30e0\U30fb\U30a4\U30bf\U30ea\U30c3\U30af",
    "\U4e2d\U659c\U9ad4",
    "\U4e2d\U7b49",
    "\U4e2d\U7b49\U659c\U4f53",
    "\U4e2d\U9ed1",
    "\U58d3\U7e2e\U4e2d\U9ad4",
    "\U58d3\U7e2e\U52a0\U9ed1\U9ad4",
    "\U7a84\U52a0\U9ed1\U9ad4",
    "\U7d27\U7f29\U4e2d\U7b49\U4f53",
    "\U110c\U1161\U1100\U1161\U11ab \U110e\U116e\U11a8\U1109\U1169 \U1100\U1167\U11ab\U110e\U116e\U11af\U110e\U1166",
    "\U110c\U1161\U1100\U1161\U11ab \U110e\U116e\U11a8\U1109\U1169 \U110c\U116e\U11bc\U1100\U1161\U11ab\U110e\U1166",
    "\U110c\U116e\U11bc\U1100\U1161\U11ab \U110b\U1175\U1110\U1162\U11af\U1105\U1175\U11a8\U110e\U1166",
    "\U110c\U116e\U11bc\U1100\U1161\U11ab\U110e\U1166"
)
kMDItemAuthors                 = (
    "Paul Renner (1928)"
)
kMDItemContentCreationDate     = 2014-09-09 22:53:24 +0000
kMDItemContentModificationDate = 2014-09-09 22:53:24 +0000
kMDItemContentType             = "public.truetype-collection-font"
kMDItemContentTypeTree         = (
    "public.truetype-collection-font",
    "public.truetype-font",
    "public.font",
    "public.data",
    "public.item"
)
kMDItemCopyright               = "© Copyright 1998, Neufville Digital. ALL RIGHTS RESERVED. This font is licensed, not sold, and may not be reproduced without the written consent of Neufville Digital. Parts © Visualogik Technology & Design, 1998."
kMDItemDateAdded               = 2014-10-17 07:41:56 +0000
kMDItemDisplayName             = "Futura.ttc"
kMDItemFonts                   = (
    "Condensada extranegrita",
    "Condensada mediana",
    Condensado,
    Condensato,
    "Condensato medio",
    "Condensed ExtraBold",
    "Condensed Medium",
    "Condense\U0301 extragras",
    "Condense\U0301 moyen",
    "Fortettet ekstra fet",
    "Fortettet medium",
    Futura,
    "Futura Condensed ExtraBold",
    "Futura Condensed Medium",
    "Futura Medium",
    "Futura Medium Italic",
    "Futura-CondensedExtraBold",
    "Futura-CondensedMedium",
    "Futura-Medium",
    "Futura-MediumItalic",
    "Gecomprimeerd ExtraVet",
    "Gecomprimeerd Gemiddeld",
    "Gemiddeld Cursief",
    Halbfett,
    "Halbfett, Kursiv",
    "Ita\U0301lico Me\U0301dio",
    "Kavennettu lihava",
    "Kavennettu voimakas",
    Medel,
    "Medel kursiv",
    Media,
    "Mediana cursiva",
    Medio,
    "Medio corsivo",
    Medium,
    "Medium Italic",
    "Medium kursiivi",
    "Medium kursiv",
    Moyen,
    "Moyen italique",
    "Me\U0301dio",
    "Schmal, Extrafett",
    "Schmal, Halbfett",
    "Smal ekstra fed",
    "Smal extrafet",
    "Smal medium",
    "\U0421\U0440\U0435\U0434\U043d\U0438\U0438\U0306",
    "\U0421\U0440\U0435\U0434\U043d\U0438\U0438\U0306 \U043a\U0443\U0440\U0441\U0438\U0432\U043d\U044b\U0438\U0306",
    "\U0423\U0437\U043a\U0438\U0438\U0306 \U0441\U0432\U0435\U0440\U0445\U0436\U0438\U0440\U043d\U044b\U0438\U0306",
    "\U0423\U0437\U043a\U0438\U0438\U0306 \U0441\U0440\U0435\U0434\U043d\U0438\U0438\U0306",
    "\U30b3\U30f3\U30c6\U3099\U30f3\U30b9\U30fb\U30a8\U30af\U30b9\U30c8\U30e9\U30db\U3099\U30fc\U30eb\U30c8\U3099",
    "\U30b3\U30f3\U30c6\U3099\U30f3\U30b9\U30fb\U30df\U30c6\U3099\U30a3\U30a2\U30e0",
    "\U30df\U30c6\U3099\U30a3\U30a2\U30e0",
    "\U30df\U30c6\U3099\U30a3\U30a2\U30e0\U30fb\U30a4\U30bf\U30ea\U30c3\U30af",
    "\U4e2d\U659c\U9ad4",
    "\U4e2d\U7b49",
    "\U4e2d\U7b49\U659c\U4f53",
    "\U4e2d\U9ed1",
    "\U58d3\U7e2e\U4e2d\U9ad4",
    "\U58d3\U7e2e\U52a0\U9ed1\U9ad4",
    "\U7a84\U52a0\U9ed1\U9ad4",
    "\U7d27\U7f29\U4e2d\U7b49\U4f53",
    "\U110c\U1161\U1100\U1161\U11ab \U110e\U116e\U11a8\U1109\U1169 \U1100\U1167\U11ab\U110e\U116e\U11af\U110e\U1166",
    "\U110c\U1161\U1100\U1161\U11ab \U110e\U116e\U11a8\U1109\U1169 \U110c\U116e\U11bc\U1100\U1161\U11ab\U110e\U1166",
    "\U110c\U116e\U11bc\U1100\U1161\U11ab \U110b\U1175\U1110\U1162\U11af\U1105\U1175\U11a8\U110e\U1166",
    "\U110c\U116e\U11bc\U1100\U1161\U11ab\U110e\U1166"
)
kMDItemFSContentChangeDate     = 2014-09-09 22:53:24 +0000
kMDItemFSCreationDate          = 2014-09-09 22:53:24 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "Futura.ttc"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 0
kMDItemFSOwnerUserID           = 0
kMDItemFSSize                  = 348696
kMDItemFSTypeCode              = ""
kMDItemKind                    = "TrueType font collection"
kMDItemLogicalSize             = 348696
kMDItemPhysicalSize            = 167936
kMDItemVersion                 = "9.0d2e1"
35
32
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?