getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:bidiLevels:
グリフの情報を参照で返します
-(unsigned int)getGlyphsInRange:(NSRange)glyphsRange: glyphs:(NSGlyph *)glyphBuffer: characterIndexes:(unsigned *)charIndexBuffer glyphInscriptions:(NSGlyphInscription *)inscribeBuffer elasticBits:(BOOL: glyphInscriptions:(NSGlyphInscription *)inscribeBuffer elasticBits:(BOOL *)elasticBuffer bidiLevels:(unsigned: elasticBits:(BOOL *)elasticBuffer: bidiLevels:(unsigned char *)bidiLevelBuffer:
解説
グリフの情報を参照で返します。
【NSGlyphInscription】
● NSGlyphInscribeBase
● NSGlyphInscribeBelow
● NSGlyphInscribeAbove
● NSGlyphInscribeOverstrike
● NSGlyphInscribeOverBelow
返り値
( unsigned int )
整数値
引数
( NSRange )glyphsRange
( NSGlyph * )glyphBuffer
( unsigned * )charIndexBuffer glyphInscriptions:(NSGlyphInscription *)inscribeBuffer elasticBits:(BOOL
( NSGlyphInscription * )inscribeBuffer elasticBits:(BOOL *)elasticBuffer bidiLevels:(unsigned
( BOOL * )elasticBuffer
( unsigned char * )bidiLevelBuffer
グリフの進行方向(0-61)
http://unicode.org/reports/tr9/
で規定される
偶数は左から右、奇数は右から左
フレームワーク
ApplicationKit
クラス
NSLayoutManager
Instance Methods
使用可能
10.2
参照
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { //myOutletはTextView int i; NSLayoutManager *layM1; NSGlyph gly[10]; unsigned int charIndexBuffer[10]; NSGlyphInscription inscribeBuffer[10]; BOOL elasticBuffer[10]; unsigned char bidiLevelBuffer[10]; layM1 = [myOutlet1 layoutManager]; [layM1 getGlyphsInRange:NSMakeRange(0,4) glyphs: &gly[0] characterIndexes: &charIndexBuffer[0] glyphInscriptions: &inscribeBuffer[0] elasticBits: &elasticBuffer[0] bidiLevels: &bidiLevelBuffer[0] ]; for( i=0 ; i<4 ; i++ ){ NSLog(@"%u,%u,%u,%u,%u",gly[i],charIndexBuffer[i],inscribeBuffer[i],elasticBuffer[i],bidiLevelBuffer[i]); switch (inscribeBuffer[i]){ case NSGlyphInscribeBase: NSLog(@"NSGlyphInscribeBase"); break; case NSGlyphInscribeBelow: NSLog(@"NSGlyphInscribeBelow"); break; case NSGlyphInscribeAbove: NSLog(@"NSGlyphInscribeAbove"); break; case NSGlyphInscribeOverstrike: NSLog(@"NSGlyphInscribeOverstrike"); break; case NSGlyphInscribeOverBelow: NSLog(@"NSGlyphInscribeOverBelow"); break; default: NSLog(@"default"); break; } } } @end