Flow Object Characteristics
A flow object is really just a formatting object-a typographic component like a paragraph, a table, an area, a mathematical equation, and so on. Flow objects have specific characteristics according to their nature (there's not much point in specifying a page size for a table!); for details of the characteristics, you should refer to the DSSSL-o specification or the DSSSL specification itself (both are freely available on the Web). However, most of the characteristics are pretty obvious (with the exception of quadding, which means the alignment). A summary of the most important flow object classes and their characteristics follows:
- • display-space-before, space-after, keep-with-previous?, keep-with-next?
- • simple-page-sequence-page-width, page-height, left-margin, right-margin, top-margin, bottom-margin, header-margin, footer-margin, left-header, center-header, right-header, left-footer, center-footer, right-footer
- • paragraph-min-leading, line-spacing, first-line-start-indent, last-line-end-indent, font-family-name, font-name, font-size, font-weight, start-indent, end-indent, space-before, space-after, quadding
- • line-field-field-width, field-align
- • sideline-sideline-side, sideline-sep, color, line-cap, line-thickness
- • character-font-family-name, font-name, font-weight, font-size
- • leader-length
- • rule-orientation, length, color, line-thickness, start-indent, end-indent, space-before, space-after
- • external-graphic-scale, max-width, max-height, entity-system-id, notation-system-id, color, start-indent, end-indent, space-before, space-after, position-point-x, position-point-y
- • score-type, color, line-thickness
- • box-box-type, background-color, box-size-before, box-size-after, color, length, line-thickness, start-indent, end-indent, space-before, space-after
- • table-table-width, table-border, before-row-border, after-row-border, before-column-border, after-column-border, start-indent, end-indent, space-before, space-after
- • table-part-start-indent, end-indent, space-before, space-after
- • table-column-column-number, n-columns-spanned, width, start-indent, end-indent
- • table-cell-column-number, n-columns-spanned, n-rows-spanned, cell-before-row-margin, cell-after-row-margin, cell-before-column-margin, cell-after-column-margin, cell-row-alignment, cell-background?, background-color, cell-before-row-border, cell-after-row-border, cell-before-column-border, cell-after-column-border, starts-row?, ends-row?, line-thickness
- • table-border-border-present?, color, line-thickness
- • scroll-background-color, background-tile, start-margin, end-margin
- • link-destination
In addition to the "official" flow object classes, jade adds a few of its own. While these flow object classes are non-standard, they are extremely useful:
- • heading-level-A value between 1 and 9 that outputs the paragraph as a header of the specified level. This characteristic allows Microsoft Word to provide useful outline views and a document map.
- • page-number-format-Controls the format of the number used by page-number-sosofo and current-page-number-sosofo for references to pages in the simple-page-sequence. The initial value is 1. It applies to simple-page-sequence flow objects.
- • page-number-restart?-If true, then for the purposes of page-number-sosofo and current-page-number-sosofo, the page numbers for this simple-page-sequence restart from 1. The initial value is #f. It applies to simple-page-sequence flow objects.
- • page-n-columns-A strictly positive integer giving the number of columns. The initial value is 1. It applies to simple-page-sequence flow objects.
- • page-column-sep-The separation between columns. The initial value is .5in. It applies to simple-page-sequence flow objects.
- • page-balance-columns?-If true, the columns on the final page of the page-sequence should be balanced. The initial value is #f. It applies to simple-page-sequence flow objects.
- • superscript-height-The height of the baseline of a superscript above its parent's baseline. It applies to superscript and script flow objects.
- • subscript-depth-The depth of the baseline of a subscript below its parent's baseline. It applies to subscript and script flow objects.
- • over-mark-height-The height of the baseline of the contents of the over-mark area of a mark flow object above the baseline of the contents of the main area. It also controls the height of the contents of the mid-sup area of the script flow object. It applies to mark and script flow objects.
- • under-mark-depth-The depth of the baseline of the contents of the under-mark area of a mark flow object below the baseline of the contents of the main area. It also controls the depth of the contents of the mid-sub area of the script flow object. It applies to mark and script flow objects.
- • grid-row-sep-The separation between rows of a grid flow object.
- • grid-column-sep-The separation between columns of a grid flow object.
If you want to use one of these characteristics, you must add a declaration like this to your DSSSL style sheet for the particular characteristic:
(declare-characteristic page-n-columns "UNREGISTERED::James Clark//Procedure::page-n-columns")