Andrew E. Dobrowolski
the fonts found on the user's system based on the classification given by these characteristics. I would exclude allcap and offset from the classification, as these are not really properties of a font.
The three transformations listed above are among the easiest. The characteristics affecting one TEX parameter do not necessarily come from a single category. Sometimes the transformation into TEX requires a long and complex algorithm. The seemingly simple request <span span=l> would cause an element to interrupt the current column mode in a multicolumn document, balance off the existing text on the page, switch into one-column mode for the duration of the element contents, and then switch back into the interrupted-column mode. These changes would also affect any parameter whose setting depends on the \hsize. Nonetheless, multicolumn algorithms exist and the required side effects of switching column modes can be rigorously
So the span characteristic can, in
theory, be implemented.
are characteristics that are impossible to
The category that
breaks (keeps) contains widowct, and orphanct.
the characteristics keep, The first is a toggle (0
inhibits the breakability of other two are integers that
the entire control the
number of widow or if the element must
orhan lines to be break. But $
widow/orphan control for first two and the last two the best transformation is
page lines only
breaks between of a paragraph. approximate:
The lettersp category concerns kerns between
can be made to do "track
kerning" in limitied circumstances, but the process is inefficient and the conditions under which it can be used are limited. There seems to be no point in
attempting to implement this capability.
The quadding category controls justification of lines within an element. Among other possibilities, it gives the FOSI designer the power to request that paragraph lines be ragged on the inside margin only or the outside margin only. But 7&X cannot justify the lines of a single paragraph based on which page they fall on, at least not in a one-pass system. This
is yet another esoteric request that would not cause a book designer to lose any sleep if it were glossed over.
Still other FOSI capabilities can be imple- mented by using extensions to 7&X.The category that controls underscoring and overstriking (highlt) may require a TEX extension or some driver assis- tance via \special commands. This same category gives control over the background and foreground colors.
TEX Capabilities That Are Not Expressible In a FOSI
It is interesting to note that just as there are FOSI capabilities that are not possible to implement by
TEX, there are TJ$ described in a FOSI.
capabilities that cannot be
The p l a i n . tex package already provides many typographical parameters to which the FOSI de- signer will have no access. Only parameters and capabilities that may need to be used in the middle of a document will be listed, since the macro pack- age can set up the other parameters easily. The list includes: horizontal kerning; \vboxes and \hboxes to any fixed dimension; the capabilities of \ h a l i p . \valign, and simple tabbing; mathematics and all parameters related to mathematics; \looseness, \par shape, and the paragraph-hanging parameters; \lineskip and \lineskiplimit control; \topskip; multilingual hyphenation patterns; marks of various flavors; and \xspaceskip, although interword space can be adjusted.
Adding macro packages increases the short- comings of the FOSI. Add to the list: mixed multi-column modes on one page, although span- ning to one column is possible; precise control of figure placement and many insert categories; side-by-side paragraphs; "picture" modes; multiple levels of footnotes; marginal notes; paragraph line numbering. The list goes on.
In general, the major advanced capabilities
has over FOSI capabilities are macro ex-
pandability, contitionals, and the ability to define custom output routines. For the time being, these are not serious limitations. It is more important to find an interim solution to the arbitrary DTD for- matting problem. The FOSI-driven TE_rC formatting engine provides a good solution. Its wide accep- tance in the SGML community would also mean a wide acceptance of w,a factor that would weigh
strongly in W ' s favor.
TUGboat, Volume 12 (1991), No. 3 -Proceedings
of the 1991 Annual Meeting