Pages: Problem with non-breaking space, line spacing and Type 1 fonts

Posted by Pierre Igot in: Microsoft, Pages
February 7th, 2005 • 12:29 am

There must be something about non-breaking spaces and Type 1 fonts in Mac OS X… First, it was Word 2004 with its bug where a non-breaking space in a Type 1 font causes the word processor to switch to Times New Roman… And now this bug in Pages.

Type a paragraph of text in a Type 1 font in Pages, say in size 11 pt with line spacing of 1.1 pts. Then in any line other than the first line of the paragraph, type a non-breaking space (option-spacebar). As soon as the non-breaking space is inserted, Pages moves the line of text containing the non-breaking space down several pixels, as if the line spacing for this particular line was different:

Non-breaking space in Pages

This only affect Type 1 (Postscript) fonts, and not all of them as far as I can tell. I was able to reproduce the problem with ITC Stone Serif.

Once again, French writers (who use the non-breaking space all the time, since it’s an integral part of French typography) are being punished here… I guess Pages was not tested thoroughly with French users.


5 Responses to “Pages: Problem with non-breaking space, line spacing and Type 1 fonts”

  1. Warren Beck says:

    Thanks for the post about UnicodeChecker.

    I agree that Pages needs to provide some additional infrastructure to be a fully satisfying word processor/page layout tool. It appears to rely almost exclusively on the underlying Cocoa typography, which provides in my opinion a lot of flashy stuff but not the bread-and-butter stuff that people ordinarily expect. For instance, we are used to the traditional QuickDraw typesetting in the Classic Mac OS (and perhaps still in the Carbon apps) that provided a means to prepare synthetic italics and boldface fonts even if the font did not explicitly include these characters; Cocoa cannot provide this at present. This is perhaps the cost of using a real unicode typesetting engine.

    Pages is providing some additional stuff on top of Cocoa, such as the ability to insert superscripts and subscripts. Try doing that in TextEdit or Stone Create, and you’ll see some unsightly raising and lower of text baselines. To be fully satisfactory, however, Pages needs to have the ability to hold the baselines constant, an exact leading setting, which is as you point out not available at present. I wonder if this can be provided without a major updating of the core typesetting engine in Cocoa, and I have not heard about this being a feature of the upcoming Tiger release of the operating system (10.4). Here’s hoping for the best.

  2. Warren Beck says:

    Pages is evidently getting the non-breaking space character from another typeface, so the leading changes. If you try your experiment with Helvetica, the default typeface, you will not see the change in leading.

    The change in leading occurs also with any insertion of a special character from another typeface, such as a greek letter or symbol. This occurs often in my work, so I am forced to choose a set of fonts (Lucida/Lucida Sans/Lucida Math Italic) that have the same leading for the characters of a given size and include the greek letters that I need. Another approach is to employ one of Adobe’s “Pro” opentype fonts, which are unicode fonts that include most of the required characters. Most do not include a non-breaking space character (at least one that is labeled as such).

  3. Pierre Igot says:

    Yes, it does appear that the problem only affects fonts that do not include the non-breaking space in their standard character set. I didn’t realize that there is quite a number of (older) Type 1 fonts that do not include the character — even though they do include the accented characters and therefore are designed to be used for text in a language such as French, which pretty much requires the non-breaking space.

    Still, one would expect a word processor such as Pages to handle such a situation more gracefully, i.e. make sure that the non-breaking space character “borrowed” from another typeface does not impact the line spacing. And it doesn’t seem possible to force Pages to use a fixed amount of line spacing regardless of what individual characters in the paragraph might normally require.

    That being said, there are quite a few older Type 1 fonts that do include the non-breaking space, so those ones can still be used in Pages.

  4. Pierre Igot says:

    Interestingly, in the same situation, for Type 1 fonts that do not include a non-breaking space, option-spacebar in TextEdit inserts… nothing.

  5. Pierre Igot says:

    Also, Sven-S. Porst has a small utility called UnicodeChecker that lets you check if your font includes the non-breaking space or not. (It’s not always easy to tell, since it’s an invisible character…) Just launch the UnicodeChecker application and locate the non-breaking space in the list of characters. Its code is

    U+00A0

    Select that code. Now look at the menu of fonts available on the right hand side. The menu includes all the fonts on your system that do include that particular character. If the menu does not include your font, that it means that your font does not have a character for the non-breaking space — and will have this problem in Pages.

Leave a Reply

Comments are closed.