2011年12月24日土曜日

iOSで使えるフォント

iOSは5になってフォント数が増えた。
日本語で言えば、「ヒラギノ明朝体」が使えるようになったのは大きい。

iOS5でのみ使えるフォントをUILabel等表示で使っているとき、これをiOS4にもって行っても代替フォントで表示されるので、若干意図する表示とは異なるだろうが、大きな問題にはならない。

しかし、プログラム的にフォントを選択するような場合には、その追加されたフォントは選択出来ないようしなければならない。これは、フォントは番号ではなく名称で管理する必要があることを意味する。

フォントにはfamilyNameとfontNameの2つがある。大分類と詳細名と考えれば良い。

使える全フォントを全部表示するプログラムは以下の通り。

NSArray *namesArray=[NSArray arrayWithArray:[UIFont familyNames]];
NSEnumerator *emu=[namesArray objectEnumerator];
NSString *name;
while (name=[emu nextObject]) {
    NSLog(@"Font familyNames=%@",name);
    NSArray *namesArray2=[NSArray arrayWithArray:[UIFont fontNamesForFamilyName:name]];
    NSEnumerator *emu2=[namesArray2 objectEnumerator];
    NSString *name2;
    while (name2=[emu2 nextObject]) {
        NSLog(@"+-Font fontNames=%@",name2);
    }
}
ついでにそのフォントで例文でも表示させれば良いかも。

・・・追記

逆に、iOS5使えなくなったフォントもある。
気がついた限りでは「Heiti_K」とか。代替フォントはあるけど。

・・・2012/11/30追記
iOS6でもフォントが幾つか追加されている。
でもiOS5から1つフォントが削除された。いわゆる7セグLEDフォント。
電卓や時計に使っている人いるんじゃないかなぁ。
どのフォントが追加・削除され、結局どういうフォント体系になったかは拙作「X−BASIC for iOS」の説明書の中に書いたので、よろしければご購入をm(_ _)m。





0 件のコメント:

コメントを投稿