suppressTopSpacingWP – Compat Settings #1

I know a lot of people were worried about a subset of the compatibility settings in wordprocessingML that specified the behavior of an older application should be used (such as "suppressTopSpacingWP"). While the vast majority of the settings were fully documented, there were a few that didn't provide enough information. We were torn over what the best approach would be. We could remove them from the spec, but we know that there are files out there (albeit a very small percentage) that use these properties. So we decided to move them into the deprecated section of the spec (making it clear that new documents should not have these settings specified), and in addition to fully document the behavior so that people could implement them.

Since this was such a highly elevated issue, I thought it would be nice to post the responses to the various compatibility settings so that folks could review them. Here's the TC45 response to the setting suppressTopSpacingWP:

Agreed; we will fully define the information necessary to implement this property (specified below). This description provides all of the information needed to mimic a behavior observed in a previously existing word processing application (WordPerfect 5.x).

In addition, we will remove it from its current location in the specification (Part 4, §2.15.3.51, pages 1,462–1,463), and place it into a new annex for deprecated features.

Following the precedent set by other ISO standards (such as SQL's ISO 9075:2003 Part 1 and C++'s ISO/IEC 14882:1998), we will make use of a new Annex that contains normative descriptions of all deprecated features. The intent of this Annex is to enable a transitional period during which existing binary documents being migrated to DIS 29500 can make use of those deprecated features to preserve their fidelity, while noting that new documents should not use them. Accordingly, the Conformance clause will also be changed to state that newly created documents (those not created by migrating existing binary documents) should not use deprecated features. All deprecated features will be removed from their current locations in the standard, but will be fully defined in this new Annex.

To provide a full description, the existing text in Part 4, §2.15.3.51, pages 1,462, lines 6–20 and page 1,463, lines 1–13, will be replaced with the following:

2.15.3.51 suppressTopSpacingWP (Use Static Text Leading)

(The terms baseline to baseline distance and unitsPerEm, used below, are defined in ISO/IEC 14496-22:2007.)

This element specifies that applications should use the values defined below to calculate the baseline to baseline distance (BTBD) in this document. This can result in lines appearing slightly condensed vertically.

Without this setting, applications calculate baseline to baseline distance using the metrics defined by ISO/IEC 14496-22:2007. This element, when present with a val attribute value of true (or equivalent), specifies that applications should calculate this as follows:

BTBD=unitsPerEm+2pt

[Example: If this compatibility setting is turned on:

<w:compat>
<w:suppressTopSpacingWP />
</w:compat>

Then applications use a baseline to baseline distance as calculated before. With a 16 point font, this would result in a baseline to baseline distance of 18 points. end example]

-Brian