at_yasu's blog

ロード的なことを

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