macOS 12.3, Xcode Version 8.2.1 (8C1002).

I am trying to get bounding rects in a TextView:

NSRange glyphRange =    [ layoutManager glyphRangeForCharacterRange:    
someCharRange 
                                                                                
        actualCharacterRange:           NULL
                                                        ];
NSTextContainer *container =    [ layoutManager textContainerForGlyphAtIndex:   
glyphRange.location  
                                                                                
                        effectiveRange:         NULL            
                                                                        ];
CGRect rect = [ layoutManager boundingRectForGlyphRange: glyphRange 
inTextContainer: container ];

The problem:

using the ruler of the TextView I know the actual x-range of someCharRange.
But the rect is much bigger on both sides.
E.g. selecting a string which occupies 1 cm from 19 cm to 20 cm on the ruler I 
get a rect : 18.16 +   3.63 =  21.79

The error (not very surprisingly) depends on the font used.

How can I get a rectangle from my string which closely resembles what is seen 
on the screen? 

Gerriet.


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to