« iTunes 9.0初見 | トップページ | SimpleLyricsPlayer その18(カーソル設定) »

SimpleLyricsPlayer その17(0.5改行への挑戦)

SimpleLyricsPlayer その13(レイアウト最適化): TBBOY'S ROOMで残された課題について。

テキストの場合、段落の区切りを示すのに空白一行を入れる場合が多い。歌詞の表示を可能な限り小さくするのには、この空白一行の高さを半分につまり0.5改行したい。NSParagraphStyleでは、段落の幅を指定できるのでこれで実現しようと模索。まあ結論から書くと失敗に終わるわけだが。

そもそも、通常のテキストには段落の区切り(paragraph separator)を示す文字は入っていない。だが、NSParagraphStyleでは改行文字(CR)が段落の区切りとして扱われている。では、テキストに行の区切り(line separator)を示す文字を入れればよいわけとなる。とりあえず、その文字コードを調べる必要がある。OSXのText EditにはRTF編集モードでこの2つの文字を挿入する機能がある。Text Editはプロジェクトが公開されているので調べてみるとメニューからFirst Responderに接続している。なんと都合よく、NSResponderにinsertLineBreak:が存在する。リファレンスを読むとその記述がある。

NSLineSeparatorCharacter (0x2028)
NSParagraphSeparatorCharacter (0x2029)

これをNSStringにするには以下の通り。

NSString *lineSeparater = [NSString stringWithFormat:@"%C",NSLineSeparatorCharacter];

これを駆使して行区切りを入れたのだが、これもNSParagraphStyleでは、段落の区切りと認識されてしまった。バグ・・・じゃないのか?

|

« iTunes 9.0初見 | トップページ | SimpleLyricsPlayer その18(カーソル設定) »

Mac」カテゴリの記事

SimpleLyricsPlayer」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/31890/46184666

この記事へのトラックバック一覧です: SimpleLyricsPlayer その17(0.5改行への挑戦):

« iTunes 9.0初見 | トップページ | SimpleLyricsPlayer その18(カーソル設定) »