Topmenü - Englisch

Noises from the basement

It was planned for some time that I would contribute a post here from the development division, but then there was always the next important feature to implement.

I would like to tell a bit about what was an interesting challenge, the text rendering in DramaQueen. Text rendering? Everyone might imagine some different meaning. What I mean is: In the beginning there is a white area, DramaQueen wants to display certain glyphs, and some mysterious software module takes care of some pixels in that white area turning black, others staying white, and yet others turning out a shade of gray. From a distance this all becomes readable text.

But there are some important expectations on text rendering. Most software just uses a ready made module which is made available by the system itself (Mac OS, Windows, etc.). DramaQueen did just the same in the beginning. Later, though, we did run into trouble with that.

Screen plays follow a strict set of rules, so that they may be comparable against each other. When putting together the sometimes sketchy and ambiguous sources, clear rules can be extracted for the layout standard of the Writer’s Guild of America: There are certain indentations and margins. One is to use the original Courier type face of the IMB type writers, or a type face with the same metrics. The old Courier produced exactly ten characters per inch and six lines per inch. There is a freely available font by the renowned font factory Bitstream called “Courier 10 Pitch”, which puts the 10 characters right in the name. The six lines per inch are not mentioned as often, but the information that the type face should be 12 points in size. What exactly does that mean?

The metric “points” in relation to type faces is actually well defined: 72 points fit exactly one inch. The height of the type face is at the same time the smallest possible distance between one base line to the next. In the layout standard of the Writer’s Guild, there is no additional spacing between lines, the so called leading. Presumably, because the old IBM type writers didn’t have it. If 72 points per inch are divided by 12 points font height, then the result is therefore those six lines per inch. Most writing software will however add the commonly used leading of 20% of the font height to the line distance (even at “100%”).

It turned out to be impossible to get the ready made text rendering modules to always produce exactly the expected metrics. So when DramaQueen defined “Courier 10 Pitch” at 12pt height, there would be all sorts of metrics. But never exaktly ten characters and even less so six lines per inch. The conversion from points to screen pixels was different and not conclusive and on top of that there was automatic rounding which could not be influenced. It became even more troublesome when we implemented the Texts panel to be freely zoomable. Nothing fit together anymore, even the word count per line was different per zoom level.

For all these reasons, we drew the conclusion to implement our own text rendering – without regret: The legibility matches the high quality of the Adobe Reader: much less color fringes than Windows Cleartype and much crisper than the Mac OS text rendering. But at the same time absolutely precise regarding the conversion of font metrics to screen pixels. During my tests I was a bit irritated that even Final Draft – using the same page template – would fit a different count of characters per line, depending on whether the Windows or Mac OS version was used. Something like that doesn’t happen in DramaQueen, nothing is left to chance.

Unfortunately until DramaQueen BETA 8, this additional effort was affecting performance. Especially when the Texts panel size was large, typing could become quite laggy. But I am happy that we managed to optimize the text rendering substantially so that no lag is visible during typing anymore. What remains is an absolutely precise implementation of the layout standard of the Writer’s Guild of America and first class display of text.

No comments yet.

Leave a Reply