This chapter addresses the final few formatting objects not yet discussed. These objects are not used by many stylesheet writers, but are critically important to those who do need them. The functionality is focused in two particular areas: character-level processing and constructs of a global nature.
One of the most powerful features of XSL-FO processors is that they are obliged to respect the inherent direction property of every Unicode character as defined by the Unicode standard. This relieves the stylesheet writer from the responsibility of detecting and acting on the characters in a bidirectional flow where right-to-left characters are intermixed with left-to-right characters. The author of the XML document being transformed into XSL-FO is responsible for the text characters being rendered and will use a mixture of directional character paths as required by their needs. The XSL-FO stylesheet writer can rest assured the inherent properties will be respected by a conformant processor. However, should the stylesheet want to present characters in an alternative character path , overriding the bidirectionality inherent in the characters themselves , a formatting object is needed to instruct the processor to act accordingly .
The abstraction of the character formatting object in the formatting object tree, instantiated by text in the XSL-FO instance, is available as a stand-alone object if explicitly specified using the vocabulary. This allows the stylesheet writer to override character-level properties on a per-character basis without relying on inheritance by using wrappers or other inline constructs.
Color is critically important to many compositors . Although XSL-FO supports RGB color values as used in HTML and CSS, many other color systems are available in printing software and hardware. To take advantage of other color systems, one can indicate the system in the stylesheet and then access it from other constructs. This brings up the need for information of a global nature that must reside outside of the information being flowed on the canvas.
Included in this chapter. This chapter includes discussion of the following XSL-FO objects: