Jump to content
Storyist Forums
warrenao

Text kerning?

Recommended Posts

This has come up once before in the fora, as far as I can tell, but the kerning in Storyist for Mac is … apparently nonexistent. I realize that's probably a somewhat esoteric concern for some, but a properly kerned page onscreen makes the difference between smooth readability for editing, and having your eyes hang up on strange spacing between C's, L's, and O's (for instance).

 

I'm aware that some typefaces, such as the monospaced ones, don't have this problem, but I don't find monospaced type particularly readable in any circumstance, particularly on any kind of screen.

 

To me it looks as though Storyist is not using standard OSX tools for rendering type to screen, or the kerning would be handled automatically. This is something TextEdit and TextWrangler both do (of course neither is adequate for writing anything of real length), which suggests it's available for general use in the Xcode toolkit - so am I missing a setting someplace, or has kerning not been implemented in Storyist for Mac?

 

Interestingly, this problem does not seem to appear on the iPad version.

Share this post


Link to post
Share on other sites

Hi warrenao,

 

Actually, Storyist for Mac does use the OS X text system, and you should see the same results in Storyist as you see in TextEdit. Can you tell me more about what the issue is? It would be helpful to see a screenshot of TextEdit showing what you're trying to accomplish.

 

-Steve

Share this post


Link to post
Share on other sites

Hi, Steve! Thanks for taking the time to reply. I've attached a screenshot here that shows Storyist's text rendering on the left, and TextEdit's on the right. I've highlighted a specific word in each document window that illustrates the kerning problem I mean.

 

As you can see, the letter spacing in Storyist doesn't have the same kind of hinting as what TextEdit does; and you can see that it's a consistent problem throghout. The typeface is Helvetica in both documents, but this problem happens in all proportional-width typefaces I try in Storyist, such as Georgia, Verdana, Times, etc. It looks to me like there's no kerning being applied at all, actually.

 

None of the items I select from the kerning menu seem to smooth out the spacing between glyphs; if I select 'Loosen', for instance, I still get the odd spacing, just more loosely between glyphs.

 

Now I don't see the same thing under iOS, which makes me wonder if there's a setting somewhere that I'm missing.

 

post-3895-0-69645000-1388506049_thumb.png

Share this post


Link to post
Share on other sites

Interesting. I'm not seeing that. What versions of OS X and Storyist are you running?

 

Storyist uses Apple's NSTextView, (as does TextEdit) which handles kerning functions. Storyist doesn't do anything to disable it.

 

-Steve

Share this post


Link to post
Share on other sites

Hi warrenao,

 

I did some digging and found something interesting. The issue appears to be whether or not the text system is using sub pixel letter spacing. As the attached image shows, on 10.9.1, NSTextView (which uses Apple's native text renderer) handles letter spacing differently depending on whether the application is linked against the Mavericks SDK or the Snow Leopard SDK.

 

Kerning.png

 

Normally, when an application runs on a new OS, it inherits the enhancements made to the OS automatically. In some cases though, Apple checks to see what version of the SDK the application was linked against to determine (usually for compatibility reasons) whether to use the new or old functionality. This appears to be the case for sub pixel text layout.

 

In order to support older versions of OS X (back to Tiger), the released version of Storyist 2.4.5 is linked against the Snow Leopard SDK.

 

I'll take a look at work-arounds for sub pixel layout for the next release. Unfortunately, simply linking against the Mavericks SDK is problematic. To link against the Mavericks SDK, I'd need to update the code base to use Xcode 5, which only runs on Mavericks and Mountain Lion. This means I wouldn't be able to debug (or run unit tests) on Lion and earlier.

 

For those who wonder why developers drop support for older versions, this is one example. I call it getting whacked by Apple's invisible upgrade hand.

 

-Steve

 

Share this post


Link to post
Share on other sites

And you can usually trust me to find the problem, whatever it might be. Sigh. I don't suppose it's as simple as querying the OS environment on load, and linking to the correct text renderer based on the result?

Share this post


Link to post
Share on other sites

Well, if you usually find the problem, perhaps you'd like to join the beta team... :)

 

Unfortunately, it's probably not as simple as dynamically loading a renderer (which would not be as simple as it sounds).

 

-Steve

Share this post


Link to post
Share on other sites

I wrote code for a number of years, so Ah Feel Yer Pain. If you want a beta tester I can give it a shot.

 

And no, I didn't think it would be quite as easy as loading an environment specific component; that would be a little too obvious and backward-compatible for Apple. This is, after all, the same company that left iPad v.1 out to dry after just one year. I was just hoping, as I do, because otherwise aaaaaaaaaaaaaaa.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...