|  | The OpenJade MIF backendCreated by Kathleen
        Marszalek and Paul PrescodSponsored by ISOGEN International Corp
ContentsSupported Flow Objects
            
                | 
		      character
		    |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    font-weight font-posture font-name font-size input-whitespace-treatment position-point-shift language country color  |  
		 Back to top 
            
                | display-group |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  | 
                    space-before space-after keep-with-previous? keep-with-next? break-before (#f, page) break-after (#f, page) keep (#f, page) may-violate-keep-before? may-violate-keep-after?  |  
		 Back to top
            
                | rule |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    line-cap line-thickness line-repeat line-sep position-point-shift display-alignment (start, end, center) start-indent end-indent span (spans all columns if > 1) color  | 
                    orientation (horizontal, escapement) length space-before space-after keep-with-previous? keep-with-next? break-before (#f, page) break-after (#f, page) keep (#f, page) may-violate-keep-before? may-violate-keep-after?  |  
		 Back to top
            
                | score |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    line-repeat (1 for type of before and
                        through, 1 or 2 for after) | 
                    type (before, through, after) |  
		 Back to top
            
                | line-field* |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  |  |  
                | *
                At the beginning of paragraph only. |  
		 Back to top
            
                | leader* |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  |  |  
                | * On the last line of paragraph only. The principal
                port (the leader string itself) can contain
                characters only.  The content of the flow object is ignored: 
		    a dotted leader will always be used. The specified length is ignored: 
	          it always fills out the line.  |  
		 Back to top
            
                | link |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  | 
                    destination [#f, objects returned by (idref-address
                        ...) and (current-node-address ...)]  |  
		 Back to top
            
                | index-entry |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  | 
                    components page-number? sort-string starts-page-range? ends-page-range?  |  
                | 
                    components is a list of strings that represent index
                        entry levels. This characteristic is not
                        inherited and shall be specified. page-number? is a boolean specifying whether this
                        index entry should contain page number
                        information. This characteristic is not
                        inherited. The default is #t. sort-string is either #f, specifying that this index
                        entry's components should be used for
                        sorting the index, or a string that
                        should be used for sorting. This
                        characteristic is not inherited. The
                        default is #f. starts-page-range? is a boolean specifying whether the index
                        entry starts a page range. This
                        characteristic is not inherited. The
                        default is #f. ends-page-range? is a boolean specifying whether the index
                        entry starts a page range. This
                        characteristic is not inherited. The
                        default is #f.  |  
                | Here's how to
                enable the above extension: (declare-flow-object-class index-entry
 "UNREGISTERED::ISOGEN//Flow
                Object Class::index-entry")
 
 |  
		 Back to top
            
                | external-graphic |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  | 
                    display? scale (max) max-width max-height entity-system-id display-alignment start-indent end-indent span (spans all columns if > 1) space-before space-after keep-with-previous? keep-with-next? break-before (#f, page) break-after (#f, page) keep (#f, page) may-violate-keep-before? may-violate-keep-after?  |  
		 Back to top
            
                | paragraph |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    lines (wrap, asis-wrap) hyphenation-ladder-count hyphenation-remain-char-count hyphenation-push-char-count font-weight font-posture font-name font-size quadding widow-count orphan-count language country  | 
                    span (spans all columns if > 1) space-before space-after keep-with-previous? keep-with-next? break-before (#f, page) break-after (#f, page) keep (#f, page) may-violate-keep-before? may-violate-keep-after? line-spacing min-leading (#f or 0 for proportional
                        line spacing) first-line-start-indent  |  
		 Back to top
            
                | simple-page-sequence |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    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  |  
                | 
                    (page-number-sosofo) (current-node-page-number-sosofo) "UNREGISTERED::James Clark//Procedure::if-first-page"
                    This can be used only in the
                        specification of the value of one of the
                        header/footer characteristics of simple-page-sequence.
                        It returns a sosofo that will display as
                        sosofo1 if the page is the first page of
                        the simple-page-sequence and as sosofo2
                        otherwise. "UNREGISTERED::James Clark//Procedure::if-front-page"
                    This can be used only in the
                        specification of the value of one of the
                        header/footer characteristics of simple-page-sequence.
                        It returns a sosofo that will display as
                        sosofo1 if the page is a front (ie recto,
                        odd-numbered) page and as sosofo2 if it
                        is a back (i.e. verso, even-numbered)
                        page. "UNREGISTERED::James Clark//Characteristic::page-n-columns"
                    Value is a strictly positive integer,
                        specifying the number of columns. The
                        initial value is 1. "UNREGISTERED::James Clark//Characteristic::page-column-sep"
                    Value is a length, specifying the
                        separation between columns. The initial
                        value is .5in. "UNREGISTERED::James Clark//Characteristic::page-balance-columns?"
                    Value is a boolean. If true, the columns
                        on the final page of the page-sequence
                        should be balanced. The initial value is
                        #f.  |  
                | Here's how to
                enable the above extensions: (define if-first-page (external-procedure
 "UNREGISTERED::James
                Clark//Procedure::if-first-page"))
 (define if-front-page (external-procedure
 "UNREGISTERED::James
                Clark//Procedure::if-front-page"))
 (declare-characteristic page-n-columns
 "UNREGISTERED::James
                Clark//Characteristic::page-n-columns" 1)
 (declare-characteristic page-n-columns
 "UNREGISTERED::James
                Clark//Characteristic::page-column-gap" (*
                36 1pt))
 (declare-characteristic page-balance-columns?
 "UNREGISTERED::James
                Clark//Characteristic::page-balance-columns?"
                #f)
 
 |  
		 Back to top
            
                | table |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    table-border display-alignment start-indent end-indent  | 
                    table-width before-row-border after-row-border before-column-border after-column-border span (spans all columns if > 1) space-before space-after keep-with-previous? keep-with-next? break-before (#f, page) break-after (#f, page) keep (#f, page) may-violate-keep-before? may-violate-keep-after?  |  
		 Back to top
            
                | table-part |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  | 
                    space-before space-after keep-with-previous? keep-with-next? break-before (#f, page) break-after (#f, page) keep (#f, page) may-violate-keep-before? may-violate-keep-after?  |  
                |  |  
		 Back to top
            
                | table-column |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                |  | 
                    column-number n-columns-spanned width  |  
                |  |  
		 Back to top
            
                | table-cell |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    cell-before-row-margin cell-after-row-margin cell-before-column-margin cell-after-column-margin cell-row-alignment cell-before-row-border cell-after-row-border cell-before-column-border cell-after-column-border cell-background? background-color  | 
                    column-number n-columns-spanned n-rows-spanned starts-row? ends-row?  |  
		 Back to top
            
                | table-border |  
                | Inherited
                characteristics | Non-inherited
                characteristics |  
                | 
                    border-present? line-thickness line-repeat (0, 1, or 2) line-sep color  |  |  
		 Back to topProblems & Limitations  Table border resolutionIt's not clear how to predictably enforce cell borders
        that have mixed line styles. I've posted a question about
        this to comp.text.frame, but there were no responses so
        far.   External graphic width and heightIn order to place external graphics inside a text flow
        one must use an anchored frame containing the <ImportObject...>
        statement. The ImportObject within the frame can shrink-wrap
        the referenced graphics, however the anchored frame
        itself cannot - in general the size of an anchored frame
        has to be specified explicitly. I've asked about this in
        comp.text.frame, but the only solutions involved using
        external programs to read the graphic size from graphic
        files.   Space before non-paragraph displayed objectsFlow objects like external-graphic need to be anchored
        to empty paragraphs so that that frame can determine
        their position on the page automatically. Since the
        smallest paragraph height is 2pt (smallest font size that
        can be used), the total space before such objects should
        be larger than that. This does not apply to the paragraph
        flow objects themselves, and to the rule flow object. The
        rule flow object has the placement direction display size
        of 0 and it's possible to use negative PgfLeading to let
        the next paragraph move up if necessary.   The vertical positioning of the displayed rule
        flow objectSince the rule is position using inlined anchored
        frame, the placement is relative to the font baseline. It's
        assumed that the baseline is 1/3 the font size from the
        bottom.   The box flow objectNot sure how to implement it since anchored frames
        must have fixed height. Maybe using tables would work
        here(?)   Tips  Creating hypertext documentsYou must decide on the filename extension you'll use
        at the stage when you run jade. If you don't want the .mif
        extension for your final document, feel free to use other
        extension when specifying the file name using the -o
        option. 
            Open the book file. While holding SHIFT, select File->Open
                All Files in Book from the menu. Save each file using View Only format -
                make sure you use original filenames.    Updating page numbering
            Open the book file. While holding SHIFT, select File->Open
                All Files in Book from the menu. Select File->Generate/Update... and
                then press Update.    Specifying colorsOpenJade supports all color spaces specified in DSSSL. 
        The following example uses the RGB color space to create
        a red rule: 
            
                | (make rule color: (color (color-space
                "ISO/IEC 10179:1996//Color-Space Family::Device
                RGB")
 1 0 0)
 ...
 )
 |  |