Previous |
Table of Contents |
Bottom |
Next |
The following sections describe the properties of the XSL formatting objects.
A number of properties are copied from the CSS2 specification. In addition, the CSS2 errata all apply. See [CSS2].
Properties copied from CSS2 are placed in a box with wide black borders, and properties derived from CSS2 properties are placed in a box with thin black borders.
The first nine sets of property definitions have been arranged into groups based on similar functionality and the fact that they apply to many formatting objects. In the formatting object descriptions the group name is referred to rather than referring to the individual properties.
Common Accessibility Properties
This set of properties are used to support accessibility.
Common Absolute Position Properties
This set of properties controls the position and size of formatted areas with absolute positioning.
Common Aural Properties
This group of properties controls the aural rendition of the content of a formatting object. They appear on all formatting objects that contain content and other formatting objects that group other formatting objects and where that grouping is necessary for the understanding of the aural rendition. An example of the latter is fo:table-and-caption.
Common Border, Padding, and Background Properties
This set of properties controls the backgrounds and borders on the block-areas and inline-areas.
Common Font Properties
This set of properties controls the font selection on all formatting objects that can contain text.
Common Hyphenation Properties
Control of hyphenation for line-breaking, including language, script, and country.
Common Margin Properties-Block
These properties set the spacing and indents surrounding block-level formatting objects.
Common Margin Properties-Inline
These properties set the spacing surrounding inline-level formatting objects.
Common Relative Position Properties
This set of properties controls the position of formatted areas with relative positioning.
The remaining properties are used on a number of formatting objects. These are arranged into clusters of similar functionality to organize the property descriptions. In the formatting object description the individual properties are referenced.
Area Alignment Properties
Properties that control the alignment of inline-areas with respect to each other, particularly in relation to the mixing of different baselines for different scripts. In addition, there are two properties: "display-align" and "relative-align" that control the placement of block-areas.
Area Dimension Properties
Properties that control the dimensions of both block-areas and inline-areas.
Block and Line-related Properties
Properties that govern the construction of line-areas and the placement of these line-areas within containing block-areas.
Character Properties
Properties that govern the presentation of text, including word spacing, letter spacing, and word space treatment and suppression.
Color-related Properties
Properties that govern color and color-model selection.
Float-related properties
Properties governing the placement of both side-floats (start- and end-floats) and before-floats ("top" floats in "lr-tb" writing-mode).
Keeps and Breaks Properties
Properties that control keeps and breaks across pages, columns, and lines, including widow and orphan control and keeping content together.
Layout-related Properties
These properties control what is "top" ("reference-orientation") as well as clipping, overflow, and column-spanning conditions.
Leader and Rule Properties
Properties governing the construction of leaders and horizontal rules.
Properties for Dynamic Effects
Properties governing the presentation and actions associated with links and other dynamic effects.
Properties for Markers
Properties governing the creation and retrieval of markers. Markers are used typically for "dictionary" headers and footers.
Properties for Number to String Conversions
Properties used in the construction of page-numbers and other formatter-based numbering.
Pagination and Layout Properties
These properties govern the sequencing, layout, and instantiation of pages, including: the page size and orientation, sizes of regions on the page-master, the identification and selection of page-masters, division of the body region into columns, and the assignment of content flows to layout regions.
Table Properties
Properties governing the layout and presentation of tables.
Writing-mode-related Properties
Properties related to various aspects of "directionality" and writing-mode influencing block-progression-direction and inline-progression-direction.
Miscellaneous Properties
These properties did not reasonably fit into any of the other categories.
Shorthand Properties
Shorthand properties that are part of the complete conformance set. Shorthands expand to the individual properties that may be used in place of shorthands.
This section describes how to interpret property descriptions which incorporate the CSS2 definition of the same property. In CSS2, "boxes" are generated by "elements" in the same way that XSL areas are generated by formatting objects. Any references in the CSS2 definition to "boxes" are to be taken as referring to "areas" in the XSL area model, and where "element" appears in a CSS2 definition, except in the "Applies to" summary, it should be taken to refer to a "formatting object".
The CSS term, positioned element will in XSL be taken as referring to an XSL FO that has one of the following: an "absolute-position" property with a computed value other than "auto" and/or a "relative-position" property with a computed value other than "static".
NOTE:
Since in XSL, the "position" property is a shorthand for the "absolute-position" and "relative-position" properties, this is equivalent to the CSS definition.
The position and size of a box are normally taken to refer to the position and size of the area's content-rectangle. Additional correspondences between the CSS2 Box Model and the XSL Area Model are contained in the following table.
| Box | Area |
|---|---|
| top content edge | top edge of the content-rectangle |
| padding edge | padding-rectangle |
| content area | interior of the content-rectangle |
| padding area | region between the content-rectangle and the padding-rectangle |
| border area | region between the padding-rectangle and the border-rectangle |
| background | background |
| containing block | closest ancestor block-area that is not a line-area (see below for additional information when the "containing block" is used as a reference for percentage calculations) |
| caption | area generated by fo:table-caption |
| inline box | inline-area |
| line box | line-area |
| block box | block-area which is not a line-area |
| page box | page-area |
Box margins map to area traits in accordance with the description of how area traits are computed from property values in [5 Property Refinement / Resolution].
Allowed conversions for percentages, specified on the property definition, is typically in terms of the content-rectangle of some area. That area is determined as follows:
For properties defined in CSS2 referring to the "containing block" the content-rectangle of the closest ancestor block-area that is not a line-area is used.
For properties defined by XSL, the property definition specifies which area's content-rectangle is used.
Exceptions to the rules above for determining which area is used are:
When used on fo:root, fo:page-sequence, and fo:title and any descendant of fo:title where there is no ancestor block-area the rectangle used has the dimensions corresponding to the "auto" value of the "page-height" and "page-width" properties. The block-progression-dimension and inline-progression-dimension is then determined based on the computed value of the reference-orientation and writing-mode on the formatting object for which the percentage is computed, or on fo:title in the case of a descentdant of fo:title.
When used on fo:static-content and fo:flow the content rectangle used is based on the region on the first page into which the content is directed. For region-body it is the normal-flow-reference-area and for the other regions it is the region-reference-area.
When used on fo:footnote-body, and fo:float that generates an area with area-class "xsl-before-float" the rectangle used is the content rectangle of the footnote-reference-area and the before-float-reference-area respectively.
When used on fo:float that generates an area with area-class "xsl-side-float" the content rectangle used is the closest ancestor block-area that is not a line-area of the area of area-type "xsl-anchor" that was generated by the fo:float.
When the absolute-position is "fixed", the containing block is defined by the nearest ancestor viewport area. If there is no ancestor viewport area, the containing block is defined by the user agent.
When the absolute-position is "absolute", the containing block is established by the nearest ancestor area A which has an area-class different from xsl-normal or a relative-position of "relative".
In the case where A is a block-area, the rectangle used is the padding-rectangle of A.
In the case where A is an inline-area, generated by some formatting object F, the rectangle used is a virtual rectangle whose before-edge and start-edge are the before-edge and start-edge of the first area generated by F, and whose after-edge and end-edge are the after-edge and end-edge of the last area generated by F. This "rectangle" may have negative extent.
If the formatting object generating the identified area generates a sequence of such areas the first area is used for the conversion.
XSL Definition:
| Value: | <uri-specification> [<uri-specification>]* | none | inherit |
| Initial: | none |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | all |
It is used by all formatting objects that can be contained in fo:flow or fo:static-content (all formatting objects that can be directly created from an XML source element).
Values have the following meanings:
The source document is transient, unknown, or unspecified.
A URI-specification giving a reference to the (sub)resource used as input to the stylesheet.
This property provides a pointer back to the original XML document(s) used to create this formatting object tree, in accordance with the Dublin Core definition of "Source" ("A Reference to a resource from which the present resource is derived." See: http://purl.org/DC/documents/rec-dces-19990702.htm.) The value is not validated by and has no inherent standardized semantics for any XSL processor.
W3C Accessibility guidelines, http://www.w3.org/TR/WCAG20/, http://www.w3.org/TR/ATAG10/, and http://www.w3.org/TR/UAAG10/, strongly encourage the use of this property either on the fo:root or on the first formatting object generated from a given source document.
The URI reference is useful for alternate renderers (aural readers, etc.) whenever the structure of the formatting object tree is inappropriate for that renderer.
XSL Definition:
| Value: | <string> | <uri-specification> | none | inherit |
| Initial: | none |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | all |
It is used by all formatting objects that can be contained in fo:flow or fo:static-content (all formatting objects that can be directly created from an XML source element).
Values have the following meanings:
Indicates that no semantic tag is cited by this formatting object.
The value is a string representing a semantic identifier that may be used in rendering this formatting object.
A URI-specification, indicating an RDF resource [RDF]; that is, an XML object that is syntactically valid with respect to the RDF grammar.
This property provides a hint for alternate renderers (aural readers, etc.) as to the role of the XML element or elements that were used to construct this formatting object, if one could be identified during XSLT tree construction. This information can be used to prepare alternate renderings when the normal rendering of a formatting object is not appropriate or satisfactory; for example, the role information can be used to provide better aural renderings of visually formatted material.
To aid alternate renderers, the <string> value should be the qualified name (QName [XML Names]) of the element from which this formatting object is constructed. If a QName does not provide sufficient context, the <uri-specification> can be used to identify an RDF resource that describes the role in more detail. This RDF resource may be embedded in the result tree and referenced with a relative URI or fragment identifier, or the RDF resource may be external to the result tree. This specification does not define any standard QName or RDF vocabularies; these are frequently application area dependent. Other groups, for example the Dublin Core, have defined such vocabularies.
This property is not inherited, but all subsidiary nodes of this formatting object that do not bear a role property should utilize the same alternate presentation properties. (It is not inherited because knowledge of the start and end of the formatting object subtree generated by the element may be needed by the renderer.)
A Property Derived from a CSS2 Property.
| Value: | auto | absolute | fixed | inherit |
| Initial: | auto |
| Applies to: | fo:block-container |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Values have the following meanings:
There is no absolute-positioning constraint. Positioning is in accordance with the relative-position property.
The area's position (and possibly size) is specified with the "left", "right", "top", and "bottom" properties. These properties specify offsets with respect to the area's containing area. Absolutely positioned areas are taken out of the normal flow. This means they have no impact on the layout of later siblings. Also, though absolutely positioned areas have margins, they do not collapse with any other margins.
The area's position is calculated according to the "absolute" model, but in addition, the area is fixed with respect to some reference. In the case of continuous media, the area is fixed with respect to the viewport (and doesn't move when scrolled). In the case of paged media, the area is fixed with respect to the page, even if that page is seen through a viewport (in the case of a print-preview, for example). Authors may wish to specify "fixed" in a media-dependent way. For instance, an author may want an area to remain at the top of the viewport on the screen, but not at the top of each printed page.
The following additional restrictions apply for paged presentations:
Only objects with absolute-position="auto" may have page/column breaks.
For other values any keep and break properties are ignored.
The area generated is a descendant of the page-area where the first area from the object would have been placed had the object had absolute-position="auto" specified.
CSS2 Definition: as amended by http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12
| Value: | <length> | <percentage> | auto | inherit |
| Initial: | auto |
| Applies to: | positioned elements |
| Inherited: | no |
| Percentages: | refer to height of containing block |
| Media: | visual |
CSS2 Reference:
"top" property
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-top
This property specifies how far a box's top margin edge is offset below the top edge of the box's containing block.
XSL modifications to the CSS definition:
See definition of property left ([7.5.5 "left"]).
CSS2 Definition: as amended by http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12
| Value: | <length> | <percentage> | auto | inherit |
| Initial: | auto |
| Applies to: | positioned elements |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
CSS2 Reference:
"right" property
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-right
This property specifies how far a box's right margin edge is offset to the left of the right edge of the box's containing block.
XSL modifications to the CSS definition:
See definition of property left ([7.5.5 "left"]).
CSS2 Definition: as amended by http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12
| Value: | <length> | <percentage> | auto | inherit |
| Initial: | auto |
| Applies to: | positioned elements |
| Inherited: | no |
| Percentages: | refer to height of containing block |
| Media: | visual |
CSS2 Reference:
"bottom" property
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-bottom
This property specifies how far a box's bottom margin edge is offset above the bottom edge of the box's containing block.
XSL modifications to the CSS definition:
See definition of property left ([7.5.5 "left"]).
CSS2 Definition: as amended by http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12
| Value: | <length> | <percentage> | auto | inherit |
| Initial: | auto |
| Applies to: | positioned elements |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
CSS2 Reference:
"left" property
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-left
This property specifies how far a box's left margin edge is offset to the right of the left edge of the box's containing block.
The values of the four (position offset) properties have the following meanings:
The effect of this value depends on which of related properties have the value "auto" as well. See the sections on the width and height of absolutely positioned, non-replaced elements for details.
The offset is a fixed distance from the reference edge.
The offset is a percentage of the containing block's width (for "left" or "right") or "height" (for "top" and "bottom"). For "top" and "bottom", if the "height" of the containing block is not specified explicitly (i.e., it depends on content height), the percentage value is interpreted like "auto".
For absolutely positioned boxes, the offsets are with respect to the box's containing block. For relatively positioned boxes, the offsets are with respect to the outer edges of the box itself (i.e., the box is given a position in the normal flow, then offset from that position according to these properties).
XSL modifications to the CSS definition:
These properties set the position of the content-rectangle of the associated area.
If both "left" and "right" have a value other than "auto", then if the "width" is "auto" the width of the content-rectangle is overridden; else the geometry is overconstrained and is resolved in accordance with [5.3.4 Overconstrained Geometry]. Similarly, if both "top" and "bottom" have a value other than "auto", then if the "height" is "auto" the height of the content-rectangle is overridden; else the geometry is overconstrained and is resolved in accordance with [5.3.4 Overconstrained Geometry].
CSS2 Definition:
| Value: | <angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit |
| Initial: | center |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"azimuth" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-azimuth
CSS2 Definition:
| Value: | <uri-specification> | none | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"cue-after" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-after
XSL modifications to the CSS definition:
The <uri> value has been changed to a <uri-specification>.
CSS2 Definition:
| Value: | <uri-specification> | none | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"cue-before" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-before
XSL modifications to the CSS definition:
The <uri> value has been changed to a <uri-specification>.
CSS2 Definition:
| Value: | <angle> | below | level | above | higher | lower | inherit |
| Initial: | level |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"elevation" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-elevation
CSS2 Definition:
| Value: | <time> | <percentage> | inherit |
| Initial: | depends on user agent |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | see prose |
| Media: | aural |
CSS2 Reference:
"pause-after" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-after
CSS2 Definition:
| Value: | <time> | <percentage> | inherit |
| Initial: | depends on user agent |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | see prose |
| Media: | aural |
CSS2 Reference:
"pause-before" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-before
CSS2 Definition:
| Value: | <frequency> | x-low | low | medium | high | x-high | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"pitch" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch
CSS2 Definition:
| Value: | <number> | inherit |
| Initial: | 50 |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"pitch-range" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch-range
CSS2 Definition:
| Value: | <uri-specification> mix? repeat? | auto | none | inherit |
| Initial: | auto |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"play-during" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-play-during
XSL modifications to the CSS definition:
The <uri> value has been changed to a <uri-specification>.
CSS2 Definition:
| Value: | <number> | inherit |
| Initial: | 50 |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"richness" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-richness
CSS2 Definition:
| Value: | normal | none | spell-out | inherit |
| Initial: | normal |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"speak" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak
CSS2 Definition:
| Value: | once | always | inherit |
| Initial: | once |
| Applies to: | elements that have table header information |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"speak-header" property
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-speak-header
CSS2 Definition:
| Value: | digits | continuous | inherit |
| Initial: | continuous |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"speak-numeral" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-numeral
CSS2 Definition:
| Value: | code | none | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"speak-punctuation" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-punctuation
CSS2 Definition:
| Value: | <number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"speech-rate" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speech-rate
CSS2 Definition:
| Value: | <number> | inherit |
| Initial: | 50 |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"stress" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-stress
CSS2 Definition:
| Value: | [[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit |
| Initial: | depends on user agent |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | aural |
CSS2 Reference:
"voice-family" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-voice-family
CSS2 Definition:
| Value: | <number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | refer to inherited value |
| Media: | aural |
CSS2 Reference:
"volume" property
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-volume
The following common-border-padding-and-background-properties are taken from CSS2. Those "border", "padding", and "background" properties that have a before, after, start, or end suffix are writing-mode relative and are XSL-only properties.
CSS2 Definition:
| Value: | scroll | fixed | inherit |
| Initial: | scroll |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"background-attachment" property
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-attachment
The background-image may scroll with the enclosing object.
The background-image is to be fixed within the viewable area of the enclosing object.
If a background-image is specified, this property specifies whether it is fixed with regard to the viewport (fixed) or scrolls along with the document (scroll).
Even if the image is fixed, it is still only visible when it is in the background or padding area of the element. Thus, unless the image is tiled ("background-repeat: repeat"), it may be invisible.
User agents may treat fixed as scroll. However, it is recommended they interpret fixed correctly, at least for the HTML and BODY elements, since there is no way for an author to provide an image only for those browsers that support fixed. See the section on conformance for details.
XSL modifications to the CSS definition:
The last paragraph in the CSS description does not apply.
CSS2 Definition:
| Value: | <color> | transparent | inherit |
| Initial: | transparent |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"background-color" property
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-color
This property sets the background color of an element, either a <color> value or the keyword transparent, to make the underlying colors shine through.
The underlying colors will shine through.
Any valid color specification.
XSL modifications to the CSS definition:
XSL adds an "rgb-icc" function (see [5.10.2 Color Functions]) as a valid value of this property.
CSS2 Definition:
| Value: | <uri-specification> | none | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"background-image" property
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-image
This property sets the background image of an element. When setting a "background-image", authors should also specify a background-color that will be used when the image is unavailable. When the image is available, it is rendered on top of the background color. (Thus, the color is visible in the transparent parts of the image).
Values for this property are either <uri-specification>, to specify the image, or "none", when no image is used.
No image is specified.
XSL modifications to the CSS definition:
The <uri> value has been changed to a <uri-specification>.
CSS2 Definition:
| Value: | repeat | repeat-x | repeat-y | no-repeat | inherit |
| Initial: | repeat |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"background-repeat" property
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-repeat
If a background image is specified, this property specifies whether the image is repeated (tiled), and how. All tiling covers the content and padding areas of a box. Values have the following meanings:
The image is repeated both horizontally and vertically.
The image is repeated horizontally only.
The image is repeated vertically only.
The image is not repeated: only one copy of the image is drawn.
XSL modifications to the CSS definition:
"Horizontal" and "vertical" are defined relative to the reference-orientation; "horizontal" is "left" to "right", and "vertical" is "top" to "bottom".
NOTE:
Thus for a rotated area the tiling is also rotated. It is, however, independent of the writing-mode.
A Property Derived from a CSS2 Property.
| Value: | <percentage> | <length> | left | center | right | inherit |
| Initial: | 0% |
| Applies to: | all formatting objects to which background applies |
| Inherited: | no |
| Percentages: | refer to the size of the padding-rectangle |
| Media: | visual |
If a "background-image" has been specified, this property specifies its initial position horizontally.
Specifies that a point, at the given percentage across the image from left-to-right, shall be placed at a point at the given percentage across, from left-to-right, the area's padding-rectangle.
NOTE:
For example with a value of 0%, the left-edge of the image is aligned with the left-edge of the area's padding-rectangle. A value of 100% places the right-edge of the image aligned with the right-edge of the padding-rectangle. With a value of 14%, a point 14% across the image is to be placed at a point 14% across the padding-rectangle.
Specifies that the left-edge of the image shall be placed at the specified length to the right of the left-edge of the padding-rectangle.
NOTE:
For example with a value of 2cm, the left-edge of the image is placed 2cm to the right of the left-edge of the padding-rectangle.
Same as 0%.
Same as 50%.
Same as 100%.
XSL modifications to the CSS definition:
"Left" and "right" are defined relative to the reference-orientation.
A Property Derived from a CSS2 Property.
| Value: | <percentage> | <length> | top | center | bottom | inherit |
| Initial: | 0% |
| Applies to: | all formatting objects to which background applies |
| Inherited: | no |
| Percentages: | refer to the size of the padding-rectangle |
| Media: | visual |
If a "background-image" has been specified, this property specifies its initial position vertically.
Specifies that a point, at the given percentage down the image from top-to-bottom, shall be placed at a point at the given percentage down, from top-to-bottom, the area's padding-rectangle.
NOTE:
For example with a value of 0%, the top-edge of the image is aligned with the top-edge of the area's padding-rectangle. A value of 100% places the bottom-edge of the image aligned with the bottom-edge of the padding-rectangle. With a value of 84%, a point 84% down the image is to be placed at a point 84% down the padding-rectangle.
Specifies that the top-edge of the image shall be placed at the specified length below the top-edge of the padding-rectangle.
NOTE:
For example with a value of 2cm, the top-edge of the image is placed 2cm below the top-edge of the padding-rectangle.
Same as 0%.
Same as 50%.
Same as 100%.
XSL modifications to the CSS definition:
"Top" and "bottom" are defined relative to the reference-orientation.
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the color of the border on the before-edge of a block-area or inline-area.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-style for the before-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-width> | <length-conditional> | inherit |
| Initial: | medium |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-width for the before-edge.
See definition of property border-top-width ([7.7.21 "border-top-width"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the border for the before-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the border should be 0pt or retained if its associated edge is a leading-edge in a reference-area for areas generated from this formatting object that have an is-first value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "discard".
If border-before-width is specified using <length>, the formatter shall convert the single value to components as follows:
border-before-width.length: the resultant computed value of the <length>.
border-before-width.conditional: discard.
If border-before-width is specified using one of the width keywords the .conditional component is set to "discard" and the .length component to a User Agent dependent length.
NOTE:
If the border-style is "none" the computed value of the width is forced to "0pt".
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the color of the border on the after-edge of a block-area or inline-area.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-style for the after-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-width> | <length-conditional> | inherit |
| Initial: | medium |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-width for the after-edge.
See definition of property border-top-width ([7.7.21 "border-top-width"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the border for the after-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the border should be 0 or retained if its associated edge is a trailing-edge in a reference-area for areas generated from this formatting object that have an is-last value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "discard".
NOTE:
If the border-style is "none" the computed value of the width is forced to "0pt".
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the color of the border on the start-edge of a block-area or inline-area.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-style for the start-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-width> | <length-conditional> | inherit |
| Initial: | medium |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-width for the start-edge.
NOTE:
If the border-style is "none" the computed value of the width is forced to "0pt".
See definition of property border-top-width ([7.7.21 "border-top-width"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the border for the start-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the border should be 0 or retained if its associated edge is a leading-edge in a line-area for areas generated from this formatting object that have an is-first value of "false". See [4.3.1 Space-resolution Rules] for further details. The initial value of the .conditionality component is "discard".
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the color of the border on the end-edge of a block-area or inline-area.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-style for the end-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <border-width> | <length-conditional> | inherit |
| Initial: | medium |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
Specifies the border-width for the end-edge.
NOTE:
If the border-style is "none" the computed value of the width is forced to "0pt".
See definition of property border-top-width ([7.7.21 "border-top-width"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the border for the end-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the border should be 0 or retained if its associated edge is a trailing-edge in a line-area for areas generated from this formatting object that have an is-last value of "false". See [4.3.1 Space-resolution Rules] for further details. The initial value of the .conditionality component is "discard".
CSS2 Definition:
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-top-color" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-color
The 'border-color' property sets the color of the four borders. Values have the following meanings:
Any valid color specification.
If an element's border color is not specified with a "border" property, user agents must use the value of the element's "color" property as the computed value for the border color.
CSS2 Definition: as amended by http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x9
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-top-style" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-style
The border style properties specify the line style of a box's border (solid, double, dashed, etc.).
The properties defined in this section refer to the <border-style> value type, which may take one of the following:
No border. This value forces the computed value of 'border-width' to be '0'.
Same as 'none', except in terms of border conflict resolution for table elements.
The border is a series of dots.
The border is a series of short line segments.
The border is a single line segment.
The border is two solid lines. The sum of the two lines and the space between them equals the value of 'border-width'.
The border looks as though it were carved into the canvas.
The opposite of 'groove': the border looks as though it were coming out of the canvas.
The border makes the entire box look as though it were embedded in the canvas.
The opposite of 'inset': the border makes the entire box look as though it were coming out of the canvas.
All borders are drawn on top of the box's background. The color of borders drawn for values of 'groove', 'ridge', 'inset', and 'outset' should be based on the element's 'border-color' property, but UAs may choose their own algorithm to calculate the actual colors used. For instance, if the 'border-color' has the value 'silver', then a UA could use a gradient of colors from white to dark gray to indicate a sloping border.
Conforming HTML user agents may interpret 'dotted', 'dashed', 'double', 'groove', 'ridge', 'inset', and 'outset' to be 'solid'.
CSS2 Definition:
| Value: | <border-width> | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-top-width" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-width
The border width properties specify the width of the border area. The properties defined in this section refer to the <border-width> value type, which may take one of the following values:
A thin border.
A medium border.
A thick border.
The border's thickness has an explicit value. Explicit border widths cannot be negative.
The interpretation of the first three values depends on the user agent. The following relationships must hold, however:
'thin' <='medium' <= 'thick'.
Furthermore, these widths must be constant throughout a document.
CSS2 Definition:
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-bottom-color" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-color
Specifies the border color for the bottom-edge.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
CSS2 Definition:
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-bottom-style" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-style
Specifies the border style for the bottom-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
CSS2 Definition:
| Value: | <border-width> | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-bottom-width" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-width
Specifies the border width for the bottom-edge.
See definition of property border-top-width ([7.7.21 "border-top-width"]).
CSS2 Definition:
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-left-color" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-color
Specifies the border color for the left-edge.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
CSS2 Definition:
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-left-style" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-style
Specifies the border style for the left-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
CSS2 Definition:
| Value: | <border-width> | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-left-width" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-width
Specifies the border width for the left-edge.
See definition of property border-top-width ([7.7.21 "border-top-width"]).
CSS2 Definition:
| Value: | <color> | inherit |
| Initial: | the value of the 'color' property |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-right-color" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-color
Specifies the border color for the right-edge.
See definition of property border-top-color ([7.7.19 "border-top-color"]).
CSS2 Definition:
| Value: | <border-style> | inherit |
| Initial: | none |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-right-style" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-style
Specifies the border style for the right-edge.
See definition of property border-top-style ([7.7.20 "border-top-style"]).
CSS2 Definition:
| Value: | <border-width> | inherit |
| Initial: | medium |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"border-right-width" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-width
Specifies the border width for the right-edge.
See definition of property border-top-width ([7.7.21 "border-top-width"]).
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <padding-width> | <length-conditional> | inherit |
| Initial: | 0pt |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
Specifies the width of the padding on the before-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the padding for the before-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the padding should be 0 or retained if its associated edge is a leading-edge in a reference-area for areas generated from this formatting object that have an is-first value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "discard".
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <padding-width> | <length-conditional> | inherit |
| Initial: | 0pt |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
Specifies the width of the padding on the after-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the padding for the after-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the padding should be 0 or retained if its associated edge is a trailing-edge in a reference-area for areas generated from this formatting object that have an is-last value of "false". See [4.3 Spaces and Conditionality] for further details. The initial value of the .conditionality component is "discard".
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <padding-width> | <length-conditional> | inherit |
| Initial: | 0pt |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
Specifies the width of the padding on the start-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the padding for the start-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the padding should be 0 or retained if its associated edge is a leading-edge in a line-area for areas generated from this formatting object that have an is-first value of "false". See [4.3.1 Space-resolution Rules] for further details. The initial value of the .conditionality component is "discard".
Writing-mode Relative Equivalent of a CSS2 Property.
| Value: | <padding-width> | <length-conditional> | inherit |
| Initial: | 0pt |
| Applies to: | see prose |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
Specifies the width of the padding on the end-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
XSL modifications to the CSS definition:
The following value type has been added for XSL:
A compound value specifying the width and any conditionality of the padding for the end-edge.
The .length component is a <length>. It may not be negative. The .conditionality component may be set to "discard" or "retain" to control if the padding should be 0 or retained if its associated edge is a trailing-edge in a line-area for areas generated from this formatting object that have an is-last value of "false". See [4.3.1 Space-resolution Rules] for further details. The initial value of the .conditionality component is "discard".
CSS2 Definition:
| Value: | <padding-width> | inherit |
| Initial: | 0pt |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
CSS2 Reference:
"padding-top" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-top
Specifies the width of the padding on the top-edge of a block-area or inline-area. Unlike margin properties, values for padding properties cannot be negative.
CSS2 Definition:
| Value: | <padding-width> | inherit |
| Initial: | 0pt |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
CSS2 Reference:
"padding-bottom" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-bottom
Specifies the width of the padding on the bottom-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
CSS2 Definition:
| Value: | <padding-width> | inherit |
| Initial: | 0pt |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
CSS2 Reference:
"padding-left" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-left
Specifies the width of the padding on the left-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
CSS2 Definition:
| Value: | <padding-width> | inherit |
| Initial: | 0pt |
| Applies to: | all elements |
| Inherited: | no |
| Percentages: | refer to width of containing block |
| Media: | visual |
CSS2 Reference:
"padding-right" property
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-right
Specifies the width of the padding on the right-edge of a block-area or inline-area.
See definition of property padding-top ([7.7.35 "padding-top"]).
The following common-font-properties all are taken from CSS2. The reference to CSS2 is: http://www.w3.org/TR/REC-CSS2/fonts.html
NOTE:
Although these properties reference the individual properties in the CSS specification, it is recommended that you read the entire font section of the CSS2 specification.
XSL uses an abstract model of a font. This model is described in this section and is based on current font technology as exemplified by the OpenType specification [OpenType].
A font consists of a collection of glyphs together with the information, the font tables, necessary to use those glyphs to present characters on some medium. A glyph is a recognizable abstract graphic symbol which is independent of any specific design. The combination of the collection of glyphs and the font tables is called the font data.
The font tables include the information necessary to map characters to glyphs, to determine the size of glyph areas and to position the glyph area. Each font table consists of one or more font characteristics, such as the font-weight and font-style.
The geometric font characteristics are expressed in a coordinate system based on the em box. (The em is a relative measure of the height of the glyphs in the font; see [5.9.7.2 Relative Lengths].) This box that is 1 em high and 1 em wide is called the design space. Points in this design space are expressed in geometric coordinates in terms of fractional units of the em.
The coordinate space of the em box is called the design space coordinate system. For scalable fonts, the curves and lines that are used to draw a glyph are represented using this coordinate system.
NOTE:
Most often, the (0,0) point in this coordinate system is positioned on the left edge of the em box, but not at the bottom left corner. The Y coordinate of the bottom of a Roman capital letter is usually zero. In addition, the descenders on lower case Roman letters have negative coordinate values.
XSL assumes that the font tables will provide at least three font characteristics: an ascent, a descent and a set of baseline-tables. The coordinate values for these are given in the design space coordinate system. The ascent is given by the vertical coordinate of the top of the em box; the descent is given by the vertical coordinate of the bottom of the em box. The baseline-table is explained below.
The glyphs of a given script are positioned so that a particular point on each glyph, the alignment-point, is aligned with the alignment-points of the other glyphs in that script. The glyphs of different scripts are typically aligned at different points on the glyph. For example, Western glyphs are aligned on the bottoms of the capital letters, certain Indic glyphs (including glyphs from the Devanagari, Gurmukhi and Bengali scripts) are aligned at the top of a horizontal stroke near the top of the glyphs and Far Eastern glyphs are aligned either at the bottom or center of the em box of the glyph. Within a script and within a line of text having a single font-size, the sequence of alignment-points defines, in the inline-progression-direction, a geometric line called a baseline. Western and most other alphabetic and syllabic glyphs are aligned to an "alphabetic" baseline, the above Indic glyphs are aligned to a "hanging" baseline and the Far Eastern glyphs are aligned to an "ideographic" baseline.
This figure shows the vertical position of the alignment-point for alphabetic and many syllabic scripts, illustrated by a Roman "A"; for certain Indic scripts, illustrated by a Gurmukhi syllable "ji"; and for ideographic scripts, illustrated by the ideograhic glyph meaning "country". The thin black rectangle around the ideographic glyph illustrates the em box for that glyph and shows the typical positioning of the "black marks" of the glyph within the em box.
A baseline-table specifies the position of one or more baselines in the design space coordinate system. The function of the baseline table is to facilitate the alignment of different scripts with respect to each other when they are mixed on the same text line. Because the desired relative alignments may depend on which script is dominant in a line (or block), there may be a different baseline table for each script. In addition, different alignment positions are needed for horizontal and vertical writing modes. Therefore, the font may have a set of baseline tables: typically, one or more for horizontal writing-modes and zero or more for vertical writing-modes.
Examples of horizontal and vertical baseline positions. The thin lined box in each example is the "em box". For the Latin glyphs, only the em box of the first glyph is shown. Example 1 shows typical Latin text written horizontally. This text is positioned relative to the alphabetic baseline, shown in blue. Example 2 shows a typical ideographic glyph positioned on the horizontal ideographic baseline. Note that the em box is positioned differently for these two cases. Examples 3 and 4 show the same set of baselines used in vertical writing. The Latin text, example 3, is shown with a glyph-orientation of 90 degrees which is typical for proportionally space Latin glyphs in vertical writing. Even though the ideographic glyph in example 4 is positioned on the vertical ideographic baseline, because it is centered in the em box, all glyphs with the same em box are centered, vertically, with respect to one another. Additional examples showing the positioning of mixed scripts are given in the introductions to [7.13 Area Alignment Properties] and [7.27 Writing-mode-related Properties].
The font tables for a font include font characteristics for the individual glyphs in the font. XSL assumes that the font tables include, for each glyph in the font, one width value, one alignment-baseline and one alignment-point for the horizontal writing-modes. If vertical writing-modes are supported, then each glyph must have another width value, alignment-baseline and alignment-point for the vertical writing-modes. (Even though it is specified as a width, for vertical writing-modes the width is used in the vertical direction.)
The script to which a glyph belongs determines an alignment-baseline to which the glyph is to be aligned. The position of this baseline in the design space coordinate system determines the default block-progression-direction position of the alignment-point. The inline-progression-direction position of the alignment-point is on the start-edge of the glyph. (These positions are adjusted according to the specifications in [7.13.1 "alignment-adjust"] when an instance of a glyph is used in an inline or block formatting object. The "space-start" and/or the "space-end" properties of the fo:character that maps to the glyph may be adjusted to effect "kerning" with respect to adjacent glyphs.)
This figure shows glyphs from three different scripts, each with its em box and within the em box, the baseline table applicable to that glyph. The alignment-point of each glyph is shown by an "X" on the start edge of the em box and by making alignment-baseline blue. The baseline-table of the parent formatting object of the characters that mapped to these glyphs is shown as a set of dashed lines.
In addition to the font characteristics required above, a font may also supply substitution and positioning tables that can be used by a formatter to re-order, combine, and position a sequence of glyphs to make one or more composite glyphs. The combination may be as simple as a ligature, or as complex as an Indic syllable which combines, usually with some re-ordering, multiple consonants and vowel glyphs. See [4.7.2 Line-building].
NOTE:
If the font tables do not define values for required font characteristics, heuristics may be used to approximate these values.
CSS2 Definition: as amended by http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x73
| Value: | [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>] | inherit |
| Initial: | depends on user agent |
| Applies to: | all elements |
| Inherited: | yes |
| Percentages: | N/A |
| Media: | visual |
CSS2 Reference:
"font-family" property
http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-family
This property specifies a prioritized list of font family names and/or generic family names. To deal with the problem that a single font may not contain glyphs to display all the characters in a document, or that not all fonts are available on all systems, this property allows authors to specify a list of fonts, all of the same sty