Slava,

Calculating an optimal vertical layout is pretty involved. At least, the Cocoa Text System has sophisticated logic to determine the ideal layout because of the numerous and varying design target for different fonts.

For example, as you found out, many fonts designed in 80s have pretty tight ascent and zero leading. Modern Asian fonts tend to have enormous leading (30 ~ 40% of ascent + descent).

The Text System encapsulates the logic to determine the ideal layout. It's not just queried from a font instance. It requires the context of an entire line.

If NSTextView is too abstract for your needs, you could use NSLayoutManager. If NSLayoutManager proved to be still too abstract, you can integrate NSATSTypesetter into your text rendering engine.

NSATSTypesetter taps into the power of CoreText and still provides additional abstraction and functionalities (attachment, all the NSParagraphStyle attributes, etc).

Aki


Is there a way to compute what the default leading would be for a
font? This is for a Mac OS backend of a cross-platform GUI toolkit, so
I can't really just use NSTextView here.

Slava

On Fri, Feb 13, 2009 at 9:16 PM, Graham Cox <graham....@bigpond.com> wrote:
Line spacing (or to be more precise, leading) is an attribute of the
paragraph style. This is added to the lineheight of the font as you have
calculated.

--Graham



_______________________________________________

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/aki%40apple.com

This email sent to a...@apple.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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

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

Reply via email to