Hi,I'm having trouble figuring out how to make the text system not break words that begin with a '/', such as paths, when wrapping. Let's say that we're laying out the following line of text:
===================================== Normally, you should never delete /Applications =====================================I want '/Applications' to stay intact when wrapping. By default, the text system wraps it the following way:
===================================== Normally, you should never delete / Applications ===================================== I'd like it to look like this: ===================================== Normally, you should never delete /Applications =====================================After much searching, the best solution I've come up with so far is a subclass of NSATSTypesetter with the following method implementation in it:
- (BOOL)shouldBreakLineByWordBeforeCharacterAtIndex: (NSUInteger)charIndex
{ NSString *string = [[[self layoutManager] textStorage] string]; if (charIndex >= 1) { NSTextStorage *ts = [[self layoutManager] textStorage];if ([ts attribute:PFPathAttributeName atIndex:charIndex effectiveRange:NULL]) {
// Only break if the previous character is not part of the pathreturn [ts attribute:PFPathAttributeName atIndex:charIndex-1 effectiveRange:NULL] == nil;
} } return YES; }I am setting the attribute PFPathAttributeName to the text storage to mark the path. This works somewhat, but now the problem is that after wrapping, the text looks like this:
===================================== Normally, you should never delete /Applications =====================================This happens because -shouldBreakLineByWordBeforeCharacterAtIndex: never gets called for the '/' and the next time it gets called is for the 'd' in 'delete'.
This modified wrapping behavior makes it seem like 'delete / Applications' is one word. I think it's better than the default behavior but still not ideal.
So how can I make it wrap exactly the way I want? - Andy Kim
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]