NSString の表示
Mac OS X v10.4 で新機能が追加されてたのでここにメモ。
NSAttributeString
- (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options
文字列を指定した範囲名に、optionを指定した様に表示させる。
NSStringDrawingOptionsの内容
文字列を描画する際にオプションとして指定する。全部、Mac OS X v10.4 以降でなければ使用できない。
typedef enum { NSStringDrawingUsesLineFragmentOrigin = (1 << 0), NSStringDrawingUsesFontLeading = (1 << 1), NSStringDrawingDisableScreenFontSubstitution = (1 << 2), NSStringDrawingUsesDeviceMetrics = (1 << 3), NSStringDrawingOneShot = (1 << 4)} NSStringDrawingOptions;
- NSStringDrawingUsesLineFragmentOrigin
- 指定原点はベースラインではなく、ラインフラグメントである。(The specified origin is the line fragment origin, not the base line origin.)
- NSStringDrawingUsesFontLeading
- 線の高さから計算し、フォントを選び使用する。(Uses the font leading for calculating line heights.)
- NSStringDrawingDisableScreenFontSubstitution
- スクリーンフォントの取り替えをしません。つまり、[NSLayoutManager setUsesScreenFonts:NO]と同じ事です。(Disable screen font substitution (equivalent to [NSLayoutManager setUsesScreenFonts:NO]).)
- NSStringDrawingUsesDeviceMetrics
- 表示する文字列は、表示する限界で区切る。(Uses image glyph bounds instead of typographic bounds.)
- NSStringDrawingOneShot
- レイアウト情報をキャッシュする。(Suppresses caching layout information.)
ぐだぐだな訳でごめんなさい・・・orz