Now revealed! Secrets of line spacing in OpenOffice.org Writer
The fact that OpenOffice.org Writer is more than a word processor is an open secret. Designed to write long documents, Writer is in many ways a document processor comparable to FrameMaker, suitable for designing books and dissertations while falling short of a complete desktop publishing solution. For this reason, it includes a number of tools for tweaking lines of text, including Tools > Language > Hyphenation and the tools for adjusting character width and letter space for individual characters. However, by far the least understood of these high-end tools is Writer's ability to adjust line-spacing.
Somewhere in the transitions from a private company to Sun Microsystem's property to a free software project, exact knowledge of the line-spacing tools was lost. The central mystery is: how does Writer control line-spacing by default? Until you know, working with its line-spacing tools requires guesswork.
What follows is the results of my experiments to recreate that knowledge.
The basics of line spacing
Line spacing is one of the main tools in typography. It is defined as the space between two baselines in a body of text -- that is, between the imaginary line at the bottom of capital letters and letters like "m" or "o." Usually, typographers want enough line spacing so that letters that have ascenders (strokes that extend above the height of "m" or "o" such as "b" or "d"), or descenders (strokes that fall below the bottom of "m" or "o" such as "g" or "y) do not interfere with legibility. At the same time, if the line spacing is too great, the body of text is hard to read.
Because line spacing is so important in typography, specialized terms have gathered around it. Like typefaces, line spacing is usually measured in points (one point is about 1/72nd of an inch). Since both typeface size and line spacing are usually thought of together, a standard notation has evolved to express them. For instance, text set in 12/14 uses a 12 point font with 14 points of line spacing.
Text in which the font size and line spacing are the same -- for example, 12/12 -- is "set solid" and relatively rare. More often, text is easier to read if the line spacing is greater than the font size. Technically, the amount of line spacing that is greater than the font size is called "leading," after the practice of inserting strips of lead between lines to increase spacing in manual typesetting. However, at times, all line spacing is referred to as leading, which can cause some confusion. For example, when the line spacing is less than the font size, the text is said to have "negative leading."
Word processors and desktop publishing program usually handle leading automatically, with simpler software offering only single, double, or one and a half spaces. For many uses, these defaults are adequate, just as the on-the-fly hyphenation of such programs is. However, if you are really interested in improving the look of your documents, you'll frequently want to set line spacing yourself.
According to Robert Bringhurst, in The Elements of Tyopgraphic Style, one of the main references for typographical standards and practice, you should consider increasing line spacing for :
- longer lines of text (in other words, text in one-column pages needs more line spacing than when it is in two-column pages)
- typefaces both larger and smaller than 10-12 points (larger ones need relatively more leading, while smaller ones are harder to read without relatively more leading)
- darker typefaces (not just bold weights, but ones that appear darker than other fonts for any reason)
- large-bodied typefaces (ones in which letters like "o" are relatively high compared to ones like "b")
- typefaces with vertical axises (which means than elliptical or italic fonts, both of which are sloped,generally require less line spacing)
- most sans serif typefaces (serifs are fonts that have a hook or foot at the end of ascenders and descenders, as in Time Roman)
- any text that regularly uses superscript or subscript characters, capital letters, or different sizes of type
I have altered Bringhurst's terminology to make his rules easier for average readers to understand. But the point is, if you care about the finer points of document design, the default line spacing offered by many programs is often not optimal. In some circumstances, it can be downright ugly. A very common problem is the default line spacing for small font sizes, which tend to be too small in many programs for easy reading.
Choosing Writer's line spacing options
Writer's line spacing options are available from the Indents and Spacing tab of a paragraph style or the window that opens when you select Format > Spacing from the menu. The line spacing combo box on the tab offers seven choices: Single, 1.5 lines, Double, Proportional, At Least, Leading, Fixed.
The first three sound simple enough -- until you realize that you have no idea what measurement they represent. In some programs, automatic line spacing proceeds in a pattern. One common pattern is to add 2 points of leading to typeface sizes of 10-14 points, and 3 points to typefaces of 15-18 points. Another pattern is to make all line spacing 120% of the typeface size. Unfortunately, nothing in OpenOffice.org help indicates what pattern Writer uses. Not only do you not know exactly what you are doing when choosing these three settings, but you are equally ignorant of what you are choosing with Proportional, which sets line spacing as a proportion of Single, as well as with Leading, which adds extra points to Single.
The clue to Writer's pattern comes when you choose Fixed, and a default appears. However, this default only varies if you are using one of the pre-existing paragraph styles in Writer. With a pre-existing style, you will soon find that a 12 point typeface defaults to 14.2 points of line spacing, while a 20 point typeface defaults to 23 points. In other words, for pre-existing styles, Writer defaults to the first common pattern.
The trouble is, for paragraph styles you create yourself or for altered pre-defined styles, choosing Fixed always defaults to 14.2 points -- regardless of what style your custom one is based on or the actual size of the typeface. However, comparisons suggest that the same pattern is used here as well, but differences of one or two points are hard to see on screen, even when you change the vertical ruler's measurements to points. To get an accurate measurement, you need a print out and a ruler marked off in points, which is not exactly a common household item.
A more practical solution is to avoid standard line spacing choices as well as Proportional and Leading when you use custom styles. Since anyone interested in typography would probably choose this approach for all styles, it is not very onerous, and it is the only way to know precisely what you are doing.
You can set Fixed to use points up to one decimal point; otherwise, the line spacing entered is rounded up to the nearest tenth of a point. If you have a line with different font sizes in it, then you can use At Least to control line spacing around it, although an equally valid solution might be to adjust the line spacing around it manually using Fixed.
Based on these observations, I conclude that at least five of the choices Writer offers for line spacing are poor choices for pre-existing paragraph styles, and chancy for custom styles. In other words, the sense of choice is only illusory for typographers. Single, 1.5 lines, and Double exist largely for the non-typographer, Proportional and Leading are too imprecise for custom styles, and, when you might use At Least, you can make manual adjustments just as well with Fixed.
However, if anyone has reached a different conclusion or made different observations, I'd be interested in hearing from them. If I haven't found what is happening, maybe this is a mystery that we can crack together.
Bruce Byfield (nanday)
- Let's Go to Mars with Martian Lander
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- My Childhood in a Cigar Box
- Returning Values from Bash Functions
- Papa's Got a Brand New NAS
- Tech Tip: Really Simple HTTP Server with Python
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- GENIVI Alliance's GENIVI Vehicle Simulator
- Panther MPC, Inc.'s Panther Alpha