> On Mar 9, 2017, at 7:05 AM, Daryle Walker <dary...@mac.com> wrote: > >> >> On Mar 8, 2017, at 4:17 PM, Daryle Walker <dary...@mac.com> wrote: >> >> I tried: >> >>> // Set the paragraph formatting for the body... >>> let bodyAdvancement = bodyFont.maximumAdvancement >>> let bodyIndent = max(bodyAdvancement.width, >>> bodyAdvancement.height) / 2.0 >>> let bodyParagraphStyle = NSParagraphStyle.default().mutableCopy() >>> as! NSMutableParagraphStyle >>> bodyParagraphStyle.headIndent = bodyIndent >>> bodyParagraphStyle.lineBreakMode = .byWordWrapping >>> >>> // ...and separator >>> let separatorParagraphStyle = bodyParagraphStyle.mutableCopy() >>> as! NSMutableParagraphStyle >>> let separatorTextBlock = NSTextBlock() >>> separatorParagraphStyle.textBlocks.append(separatorTextBlock) >>> >>> // Set the body, but add a line for the initial separator >>> let richSeparator = NSMutableAttributedString(string: " \n", >>> attributes: [NSFontAttributeName: bodyFont, NSParagraphStyleAttributeName: >>> separatorParagraphStyle]) >>> let richBody = NSMutableAttributedString(string: body, >>> attributes: [NSFontAttributeName: bodyFont, NSParagraphStyleAttributeName: >>> bodyParagraphStyle]) >>> result.append(richSeparator) >>> result.append(richBody) >> >> What I wanted: the separator line surrounded by a block. >> What I got: the separator and the body all surrounded by a block. >> >> I originally had the separator and body in a single string, and used a range >> to influence just the separator. This got the same result. I thought >> treating the separator and body in separate strings first wouldn’t infect >> the body with the text block, but it (illogically) does! >> >> How do I end the influence of a block? Put -1 entries in the text-block >> array? > > From tinkering around it seem like there is splatter dynamics when going > across ranges of text with different “textBlocks” settings, UNLESS the second > range uses no blocks. In just that case the second range copies the block > policy of the first range. This makes no sense.
I read the paragraph styles of my paragraphs, and their block settings are as expected. The separator has a single block, and the body has no blocks. This is a straight-up bug, but in Apple’s code (during rendering). That’s the problem with rarely-used/mentioned classes: not only does barely anyone knows how to use them, sometimes the creators didn’t do enough testing. Since the bug is on Apple’s side (# 30968328), I can’t fix it and I’m stuck. The only idea in mind, besides giving up, is to create a 1x1 table. Now for more research…. — Daryle Walker Mac, Internet, and Video Game Junkie darylew AT mac DOT com _______________________________________________ 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