• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047)


  • Subject: Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047)
  • From: "Ken Ferry" <email@hidden>
  • Date: Wed, 19 Nov 2008 14:22:48 -0800

On Tue, Nov 18, 2008 at 1:57 PM, Rua Haszard Morris
<email@hidden> wrote:
> What are the different options for flipping the coordinates of the
> destination view? I've tried doing it by scaling and translating the
> CGContext, but this results in problems with underlining or the character
> orientation (depending on whether i flip the view back before or after
> drawing the text).
>
> At the moment the only method which results in correct text is to have a
> custom view and override isFlipped - is this the only recommended method?

Doug answered the overall question, but maybe I'll chime on this bit
specifically.

As you're finding, -isFlipped and the CTM are entirely orthogonal
pieces of data.  If you're using NSLayoutManager, you need the current
context to return YES to -[NSGraphicsContext isFlipped], and you also
want the CTM set up so that the text goes where you want.

There is no setter for -[NSGraphicsContext isFlipped], but you don't
need to use a custom view.  [NSGraphicsContext
graphicsContextWithGraphicsPort:[originalContext graphicsPort]
flipped:YES] would give you a graphics context object that is flipped
without otherwise modifying the CTM or anything.

-Ken

> I ask because I have to use these strings within custom views (which may for
> example have rotated contexts), as well as in standard controls, and simpler
> custom views purely for drawing these attributed strings. If the only method
> to have the attributes (particularly underline) interpreted correctly is to
> perform the drawing in a isFlipped NSView subclass, then I need to rejig
> things so the complex custom views embed an NSView rather than draw the
> attributed string manually.
>
> thanks
> Rua HM.
>
> On Nov 19, 2008, at 9:40 am, 11(November)/19/08, Rua Haszard Morris wrote:
>
>> Thanks for the link, you are right, I had not seen that document!
>>
>> On Nov 19, 2008, at 9:33 am, 11(November)/19/08, Douglas Davidson wrote:
>>
>>>
>>> On Nov 18, 2008, at 12:18 PM, Rua Haszard Morris wrote:
>>>
>>>> To follow up.. below I have pasted the code that draws the text (for my
>>>> test app, as opposed to the more complex ways of reproducing the bug
>>>> elsewhere in my code). (the full test app is attached to the radar bug)
>>>>
>>>> I have been consulting the Text System Overview documentation, which I
>>>> don't believe mentions this fact.
>>>>
>>>> http://developer.apple.com/documentation/Cocoa/Conceptual/TextArchitecture/TextArchitecture.html
>>>>
>>>> I can understand that drawing text top to bottom makes sense, but I am
>>>> surprised that the coordinate system of the destination context has such
>>>> far-reaching side effects.
>>>
>>> You're looking at the Text Systems Overview, which is very general
>>> conceptual documentation, the sort you would consult to decide which class
>>> to use.  What you want is the Text Layout Programming Guide for Cocoa, which
>>> gives more detailed direction as to how to use these classes.  The first
>>> section,
>>> http://developer.apple.com/documentation/Cocoa/Conceptual/TextLayout/Concepts/LayoutManager.html under
>>> the heading "Glyph Drawing" says, "The text system expects view coordinates
>>> to be flipped, like those of NSTextView."  If you are going to be drawing
>>> using the layout manager directly, this is a hard-and-fast rule.
>>>
>>> Douglas Davidson
>>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> 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:
>>
>>
>> This email sent to email@hidden
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> 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:
>
> This email sent to email@hidden
>
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047)
      • From: Aki Inoue <email@hidden>
References: 
 >NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Rua Haszard Morris <email@hidden>)
 >Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Douglas Davidson <email@hidden>)
 >Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Rua Haszard Morris <email@hidden>)
 >Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Douglas Davidson <email@hidden>)
 >SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Rua Haszard Morris <email@hidden>)
 >Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Douglas Davidson <email@hidden>)
 >Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Rua Haszard Morris <email@hidden>)
 >Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047) (From: Rua Haszard Morris <email@hidden>)

  • Prev by Date: Re: Outlets / IBOutlet declarations (was Re: Interface Builder &Wiring Objects)
  • Next by Date: Re: Question about NSThread?
  • Previous by thread: Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047)
  • Next by thread: Re: SOLVED Re: NSAttributedString rendering bugs when rendered with Cocoa Text (rdar://6379047)
  • Index(es):
    • Date
    • Thread