iPhoneでフォントを指定するときは、
UIFont *font = [UIFont fontWithName:@"Marker Felt" size:32];
という具合に、フォント名とサイズ(縦幅)を指定する。
じゃあ、どんなフォントがあるのさ? ということは当然知りたくなる。
そんな人のために、使用できるフォントの一覧を取得する関数も用意されている。
NSLog(@"%@", [UIFont familyNames]);
NSStringの配列で、フォント名が返ってくる。これを標準出力にでも出せば、使えるフォントの一覧が見られる。
iOS SDK4.2だと、以下のようになった。
2011-05-06 22:46:49.799 brain[4334:207] (
Zapfino,
"Arial Hebrew",
"Oriya Sangam MN",
Cochin,
Baskerville,
Palatino,
"Chalkboard SE",
"Gurmukhi MN",
Verdana,
"Tamil Sangam MN",
"Marker Felt",
"Courier New",
Courier,
"Trebuchet MS",
"DB LCD Temp",
"Apple Color Emoji",
"Arial Rounded MT Bold",
"Bangla Sangam MN",
"Telugu Sangam MN",
"American Typewriter",
Arial,
Kailasa,
AppleGothic,
"Hiragino Kaku Gothic ProN",
"Heiti SC",
"Malayalam Sangam MN",
Thonburi,
Helvetica,
"Gujarati Sangam MN",
"Heiti K",
Futura,
"Devanagari Sangam MN",
"Heiti TC",
"Sinhala Sangam MN",
"Kannada Sangam MN",
Georgia,
"Heiti J",
"Times New Roman",
"Snell Roundhand",
"Geeza Pro",
"Helvetica Neue"
)
41種類ある。
(ダブルクォートの有無の違いは…多分、フォント名にスペースを含むものが囲ってあるというぐらいだろう)
しかしよく見ると、この関数名は"familyNames"となっている。
ここに羅列した名前は、フォントのすべてではなく、フォントファミリーの一覧であるようだ。
ファミリーということは、似たフォントがまとまった単位だろうと予測がつく。
UIFontクラスを見てみると、もう一つ
"fontNamesForFamilyName"という関数もある。
NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Marker Felt"]);
この関数に先ほどのファミリーネームを渡すと、ファミリーに属する全フォント名が返って来るようだ。
ということで、ファミリーネームを全部渡して改めて全部のフォント名を表示してみる。
2011-05-06 22:46:49.800 brain[4334:207] (
Zapfino
)
2011-05-06 22:46:49.800 brain[4334:207] (
ArialHebrew,
"ArialHebrew-Bold"
)
2011-05-06 22:46:49.801 brain[4334:207] (
"OriyaSangamMN-Bold",
OriyaSangamMN
)
2011-05-06 22:46:49.801 brain[4334:207] (
"Cochin-BoldItalic",
Cochin,
"Cochin-Bold",
"Cochin-Italic"
)
2011-05-06 22:46:49.802 brain[4334:207] (
Baskerville,
"Baskerville-Italic",
"Baskerville-BoldItalic",
"Baskerville-Bold"
)
2011-05-06 22:46:49.803 brain[4334:207] (
"Palatino-Roman",
"Palatino-BoldItalic",
"Palatino-Italic",
"Palatino-Bold"
)
2011-05-06 22:46:49.803 brain[4334:207] (
"ChalkboardSE-Bold",
"ChalkboardSE-Regular"
)
2011-05-06 22:46:49.804 brain[4334:207] (
"GurmukhiMN-Bold",
GurmukhiMN
)
2011-05-06 22:46:49.806 brain[4334:207] (
Verdana,
"Verdana-Bold",
"Verdana-BoldItalic",
"Verdana-Italic"
)
2011-05-06 22:46:49.807 brain[4334:207] (
"TamilSangamMN-Bold",
TamilSangamMN
)
2011-05-06 22:46:49.807 brain[4334:207] (
"MarkerFelt-Thin",
"MarkerFelt-Wide"
)
2011-05-06 22:46:49.808 brain[4334:207] (
"CourierNewPS-BoldItalicMT",
"CourierNewPS-BoldMT",
"CourierNewPS-ItalicMT",
CourierNewPSMT
)
2011-05-06 22:46:49.808 brain[4334:207] (
"Courier-Bold",
Courier,
"Courier-BoldOblique",
"Courier-Oblique"
)
2011-05-06 22:46:49.809 brain[4334:207] (
"TrebuchetMS-Italic",
"TrebuchetMS-Bold",
TrebuchetMS,
"Trebuchet-BoldItalic"
)
2011-05-06 22:46:49.809 brain[4334:207] (
DBLCDTempBlack
)
2011-05-06 22:46:49.810 brain[4334:207] (
AppleColorEmoji
)
2011-05-06 22:46:49.810 brain[4334:207] (
ArialRoundedMTBold
)
2011-05-06 22:46:49.812 brain[4334:207] (
"BanglaSangamMN-Bold",
BanglaSangamMN
)
2011-05-06 22:46:49.812 brain[4334:207] (
TeluguSangamMN,
"TeluguSangamMN-Bold"
)
2011-05-06 22:46:49.813 brain[4334:207] (
AmericanTypewriter,
"AmericanTypewriter-Bold"
)
2011-05-06 22:46:49.813 brain[4334:207] (
"Arial-ItalicMT",
"Arial-BoldItalicMT",
ArialMT,
"Arial-BoldMT"
)
2011-05-06 22:46:49.814 brain[4334:207] (
"Kailasa-Bold",
Kailasa
)
2011-05-06 22:46:49.814 brain[4334:207] (
AppleGothic
)
2011-05-06 22:46:49.814 brain[4334:207] (
"HiraKakuProN-W6",
"HiraKakuProN-W3"
)
2011-05-06 22:46:49.815 brain[4334:207] (
"STHeitiSC-Medium",
"STHeitiSC-Light"
)
2011-05-06 22:46:49.815 brain[4334:207] (
"MalayalamSangamMN-Bold",
MalayalamSangamMN
)
2011-05-06 22:46:49.816 brain[4334:207] (
"Thonburi-Bold",
Thonburi
)
2011-05-06 22:46:49.817 brain[4334:207] (
"Helvetica-BoldOblique",
Helvetica,
"Helvetica-Bold",
"Helvetica-Oblique"
)
2011-05-06 22:46:49.817 brain[4334:207] (
GujaratiSangamMN,
"GujaratiSangamMN-Bold"
)
2011-05-06 22:46:49.818 brain[4334:207] (
"STHeitiK-Medium",
"STHeitiK-Light"
)
2011-05-06 22:46:49.818 brain[4334:207] (
"Futura-MediumItalic",
"Futura-CondensedExtraBold",
"Futura-Medium"
)
2011-05-06 22:46:49.819 brain[4334:207] (
"DevanagariSangamMN-Bold",
DevanagariSangamMN
)
2011-05-06 22:46:49.819 brain[4334:207] (
"STHeitiTC-Light",
"STHeitiTC-Medium"
)
2011-05-06 22:46:49.820 brain[4334:207] (
"SinhalaSangamMN-Bold",
SinhalaSangamMN
)
2011-05-06 22:46:49.821 brain[4334:207] (
KannadaSangamMN,
"KannadaSangamMN-Bold"
)
2011-05-06 22:46:49.821 brain[4334:207] (
"Georgia-BoldItalic",
Georgia,
"Georgia-Bold",
"Georgia-Italic"
)
2011-05-06 22:46:49.822 brain[4334:207] (
"STHeitiJ-Medium",
"STHeitiJ-Light"
)
2011-05-06 22:46:49.823 brain[4334:207] (
"TimesNewRomanPS-BoldItalicMT",
"TimesNewRomanPS-ItalicMT",
TimesNewRomanPSMT,
"TimesNewRomanPS-BoldMT"
)
2011-05-06 22:46:49.823 brain[4334:207] (
SnellRoundhand,
"SnellRoundhand-Bold"
)
2011-05-06 22:46:49.824 brain[4334:207] (
GeezaPro,
"GeezaPro-Bold"
)
2011-05-06 22:46:49.825 brain[4334:207] (
"HelveticaNeue-Italic",
"HelveticaNeue-Bold",
"HelveticaNeue-BoldItalic",
HelveticaNeue
)
全部で100種類くらいあるということが分かった。
どう使い分けるか、、、と言っても、フォント名を見てもよくわからない。
Italicと付いていれば斜体、Boldと付いていれば太字、ということは分かるけれど。
等幅フォントを使いたくて探していたのだが、"Courier"の2ファミリーだけが該当した。
ぜんぶ並べて表示するアプリを作っておいても良いかもね。
PR