<!-- $Id: charics.ent,v 1.16 1995/12/10 12:43:07 jjc Exp $ -->
<!entity c.language
"<li>
<code/language:/ is #f or a symbol specifying the ISO 639 language code
in upper-case.
This affects line composition in a system-dependent way.
The initial value is #f.">
<!entity c.country
"<li>
<code/country:/ is #f or a symbol specifying the ISO 3166 country
code in upper-case.
This affects line composition in a system-dependent way.
The initial value is #f.">
<!entity c.color
"<li>
<code/color:/ is an object of type color that specifies the color
in which the flow object's marks should be made.
The initial value is the default color in the Device Gray color space.">
<!entity c.background-color
"<li>
<code/background-color:/ is either #f or an object of type color that
specifies the color
in which the marks for the flow object's background should be made.
The initial value is #f.">
<!entity c.layer
"<li>
<code/layer:/ is an integer specifying the layer of the
marks of the areas resulting
from the flow object.  An area shall be imaged after any area whose
layer has a lower value.
The initial value is 0.">
<!entity c.background-layer
"<li>
<code/background-layer:/ is an integer specifying the layer of the
marks of the areas resulting
from the background of a flow object.
The initial value is -1.">
<!entity c.line-join
"<li>
<code>line-join:</code> is one of the symbols <code/miter/,
<code/round/, or <code/bevel/ specifying the join style of the line.
The initial value is <code/miter/.">
<!entity c.line-cap
"<li>
<code>line-cap:</code> is one of the symbols <code/butt/,
<code/round/, or <code/square/ specifying the cap style for the line.
The initial value is <code/butt/.">
<!entity c.line-dash
"<li>
<code>line-dash:</code> is a list of one or more lengths that
specifies the dash pattern of the line.  The first length specifies
the number component of the CurrentDashPattern graphics state variable
in ISO/IEC 10180.  The remaining lengths specify the vector component
of the CurrentDashPattern graphics state variable.
The initial value is a list containing the length 0pt.">
<!entity c.line-thickness
"<li>
<code>line-thickness:</code> is a length that specifies the
thickness of the line or lines.
The initial value is 1pt.">
<!entity c.line-repeat
"<li>
<code>line-repeat:</code> is a strictly positive integer that specifies
the number of parallel lines to be drawn.  For example, a value of 2
indicates a double line.
The initial value is 1.">
<!entity c.line-sep
"<li>
<code>line-sep:</code> is a length that gives the distance between
the centers of parallel lines.
The initial value is 1pt.">
<!entity c.line-miter-limit
"<li>
<code>line-miter-limit:</code> is a number that specifies the miter
limit for line joins.
The semantics of the miter limit are described in ISO/IEC 10180.
The initial value is 10.">
<!entity c.position-preference
"<li>
<code/position-preference:/ is either #f or one of the symbols
<code/top/ or <code/bottom/.  This applies if the flow object
is directed into a port on a column-set-sequence flow object
that is flowed into both the top-float and bottom-float zones
of a column-subset and indicates whether the areas from
this flow object may be flowed into only one of the zones.
This characteristic is not inherited.
The default value is #f.">
<!entity c.display-alignment
"<li>
<code/display-alignment:/ is one of the symbols <code/start/,
<code/center/, <code/end/, <code/inside/, or <code/outside/ specifying
the alignment of the areas resulting from the flow object in the
direction of the writing-mode.
The initial value is <code/start/.
This determines how the flow object expands
its areas so their size is equal to the display size in the direction
perpendicular to the area container's filling-direction.  First space
is added to the area so that its size is equal to the display size
less the sum of the start and end indents:
<ul>
<li>
if the alignment is <code/start/, the space is all added
at the end in the direction of the writing-mode;
<li>
if the alignment is <code/end/, the space is all added
at the start in the direction of the writing-mode;
<li>
if the alignment is <code/center/, the space is added equally
at the start and the end in the direction of the writing-mode;
<li>
if the alignment is <code/inside/, then the flow object shall have an
ancestor of class page-sequence, the direction of the writing-mode
shall be perpendicular to the <code/binding-edge:/ of the
page-sequence, and the space shall be added on the edge that is
outside with respect to the spread;
<li>
if the alignment is <code/outside/, then the flow object shall have an
ancestor of class page-sequence, the direction determined by the
writing-mode shall
be perpendicular to the <code/binding-edge:/ of the page-sequence, and
the space shall be added on the edge that is inside with respect to
the spread.
</ul>
<p>Then an amount of space equal to the start-indent is added
at the start in the direction of the writing-mode, and an amount
of space equal to the end-indent is added at the end in
the direction of the writing-mode.">
<!entity c.start-indent
"<li>
<code/start-indent:/ is a length-spec specifying the indent
for the edge of the area at the start in the direction of the writing-mode.
The initial value is 0pt.">
<!entity c.end-indent
"<li>
<code/end-indent:/ is a length-spec specifying the indent
for the edge of the area at the end in the direction of the writing-mode.
The initial value is 0pt.">
<!entity c.position-point-x
"<li>
<code/position-point-x:/ is a length-spec giving the x-coordinate of
the position point of the resulting area in the area's coordinate
system.  For this purpose, the area is considered to have a coordinate
system in the same way as an area container.  This shall apply only when
the flow object is inlined.  This characteristic is not inherited.  If
this characteristic is not specified and the <code/writing-mode:/
characteristic is <code/left-to-right/ or <code/right-to-left/, then
the value shall default to 0.">
<!entity c.position-point-y
"<li>
<code/position-point-y:/ is a length-spec giving the y-coordinate of
the position point of the resulting area in the area's coordinate
system.  For this purpose, the area is considered to have a coordinate
system in the same way as an area container.  This applies only when
the flow object is inlined.  This characteristic is not inherited.  If
this characteristic is not specified and the <code/writing-mode:/
characteristic is <code/top-to-bottom/, then
the value shall default to 0.">
<!entity c.escapement-direction
"<li>
<code/escapement-direction:/ is one of the symbols
<code/top-to-bottom/, <code/left-to-right/, <code/bottom-to-top/, or
<code/right-to-left/ specifying the escapement direction of the
resulting area relative to the area's coordinate system.  For this
purpose, the area is considered to have a coordinate system in the
same way as an area container.  This applies only when the flow object
is inlined.  This characteristic is not inherited.  If this
characteristic is not specified, then its value shall default to the
value of the <code/writing-mode:/ characteristic.">
<!entity c.writing-mode
"<li>
<code/writing-mode:/ is one of the symbols <code/left-to-right/,
<code/right-to-left/, or <code/top-to-bottom/.  The direction
determined by the writing-mode
shall be perpendicular to the placement direction.  The
initial value is <code/left-to-right/.">
<!entity c.span
"<li>
<code/span:/ is a strictly positive integer specifying the number of columns
that the areas resulting from this flow object shall span.
This characteristic shall apply if the flow object is directed into
a port on a column-set-sequence flow object that is flowed
into the top-float, bottom-float, or body-text zone of a spannable
column-subset.  The initial value is 1.">
<!entity c.span-weak
"<li>
<code/span-weak?:/ is a boolean specifying whether the areas resulting
from this flow object span weakly rather than strongly.  See <hdref
refid=colmode>.  This characteristic applies if the flow object is
directed into a port on a column-set-sequence flow object that is
flowed into the top-float, bottom-float, or body-text zone of a
spannable
column-subset and has a <code/span:/ characteristic with a value
greater than 1.  The initial value is #f.">
<!entity c.space-before
"<li>
<code/space-before:/ is an object of type display-space specifying
space to be inserted before, in the placement direction,
the areas produced by the flow object.
This characteristic is not inherited.
The default is for no space before to be inserted.">
<!entity c.space-after
"<li>
<code/space-after:/ is an object of type display-space specifying
space to be inserted after, in the placement direction,
the areas produced by the flow object.
This characteristic is not inherited.
The default is for no space after to be inserted.">
<!entity c.keep-with-previous
"<li>
<code/keep-with-previous?:/ is a boolean specifying whether the flow
object shall be kept in the same area as the previous flow object.
This characteristic is not inherited.
The default value is #f.">
<!entity c.keep-with-next
"<li>
<code/keep-with-next?:/ is a boolean specifying whether the flow
object shall be kept in the same area as the next flow object.  This
characteristic is not inherited.
The default value is #f.">
<!entity c.break-before
"<li>
<code/break-before:/ is #f or one of the symbols <code/page/,
<code/page-region/, <code/column/, or <code/column-set/
specifying that the flow object shall start an area of that type.
This characteristic is not inherited.
The default is #f.">
<!entity c.break-after
"<li>
<code/break-after:/ is #f or one of the symbols <code/page/,
<code/page-region/, <code/column/, or <code/column-set/
specifying that the flow object shall end an area of that type.
This characteristic is not inherited.
The default is #f.">
<!entity c.keep
"<li>
<code/keep:/ is one of the following:
<ul>
<li>
#t meaning that the areas produced by this flow object shall be kept
together within the smallest possible area.
<li>
the symbol <code/page/ indicating that the areas produced by the flow
object shall lie within the same page; in this case, the flow object
shall have an ancestor flow object of class page-sequence.
<li>
the symbol <code/column-set/ indicating that the areas produced by the
flow object shall lie within the same column set; in this case, the flow
object shall have an ancestor of class column-set-sequence.
<li>
the symbol <code/column/ indicating that the areas produced by the
flow object shall lie within the same column set, and that the first
column that each area spans in the column set shall be the same.
<li>
#f indicating that this characteristic is to be ignored.
</ul>
<p>This characteristic is not inherited. The default value is #f.">
<!entity c.may-violate-keep-before
"<li>
<code/may-violate-keep-before?:/ is a boolean which, if true,
specifies that constraints imposed by the <code/keep:/
characteristics of ancestor flow objects
on the relative positioning of this flow
object and its previous flow object may not be respected.
This characteristic is not inherited.
The default value is #f.">
<!entity c.may-violate-keep-after
"<li>
<code/may-violate-keep-after?:/ is a boolean which, if true,
specifies that constraints imposed by <code/keep:/
characteristics of ancestor flow objects
on the relative positioning of this flow
object and its next flow object may not be respected.
This characteristic is not inherited.
The default value is #f.">
<!entity c.position-point-shift
"<li>
<code/position-point-shift:/ is a length-spec specifying a shift of
the position point in the line-progression direction.
The initial value is 0pt.">
<!entity c.inhibit-line-breaks
"<li>
<code/inhibit-line-breaks?:/ is a boolean specifying whether
line breaks shall be inhibited before and after
each area produced by this flow object.
This applies only to line breaks introduced by the
formatter to make lines fit in the available space.
The initial value is #f.">
<!entity c.font-family-name
"<li>
<code/font-family-name:/ is either #f, indicating that any font family
is acceptable, or a string giving the font family name property of
the desired font resource.
The initial value is <code/iso-serif/.
<note>
ISO/IEC 10180 defines a mandatory font set for interchange
comprising the font families <code/iso-serif/, <code/iso-sanserif/,
and <code/iso-monospace/.
</note>">
<!entity c.font-weight
"<li>
<code/font-weight:/ is either #f, indicating that any font weight is
acceptable, or one of the symbols <code/not-applicable/,
<code/ultra-light/, <code/extra-light/, <code/light/,
<code/semi-light/, <code/medium/, <code/semi-bold/, <code/bold/,
<code/extra-bold/, or <code/ultra-bold/, giving the weight property of
the desired font resource.  The initial value is
<code/medium/.">
<!entity c.font-posture
"<li>
<code/font-posture:/ is either #f, indicating that any posture is
acceptable,
or one of the symbols <code/not-applicable/, <code/upright/,
<code/oblique/, <code/back-slanted-oblique/, <code/italic/, or
<code/back-slanted-italic/, giving the posture property of the desired
font resource.  The initial value is <code/upright/.">
<!entity c.font-structure
"<li>
<code/font-structure:/ is either #f, indicating that any structure is
applicable, or one of the symbols <code/not-applicable/, <code/solid/,
or <code/outline/.  The initial value is <code/solid/.">
<!entity c.font-proportionate-width
"<li>
<code/font-proportionate-width:/ is either #f, indicating that any
proportionate width is acceptable, or one of the symbols
<code/not-applicable/, <code/ultra-condensed/, <code/extra-condensed/,
<code/condensed/, <code/semi-condensed/, <code/medium/,
<code/semi-expanded/, <code/expanded/, <code/extra-expanded/, or
<code/ultra-expanded/.  The initial value is
<code/medium/.">
<!entity c.font-name
"<li>
<code/font-name:/ is either #f, indicating that any font name is
acceptable, or a string which is the public identifier for the font
name property of the desired font resource.
When the value is a string, the values of the
<code/font-family-name:/, <code/font-weight:/, <code/font-posture:/,
<code/font-structure:/, and <code/font-proportionate-width:/
characteristics are not used in font selection.
The initial value is #f.">
<!entity c.font-size
"<li>
<code/font-size:/ is a length specifying the body size to which
the font resource should be scaled.
The initial value is 10pt.">
<!entity c.math-display-mode
"<li>
<code/math-display-mode:/ is
one of the symbols <code/display/ or <code/inline/ specifying
the style of formatting.
The initial value is <code/display/.">
<!entity c.break-before-priority
"<li>
<code/break-before-priority:/ is an integer that affects whether a
break is allowed before this flow object.  The <hp1/break priority/ of a
potential breakpoint is the maximum of the break-after-priority of the
flow object immediately preceding the potential breakpoint and the
break-before-priorities of the flow object immediately following the
potential breakpoint, and any characters immediately following that
character for which the <code/drop-after-line-break?:/ characteristic
is true.  A break shall be allowed at a potential breakpoint only if the
break priority is even.  This characteristic is not inherited.
The default value is 0.">
<!entity c.break-after-priority
"<li>
<code/break-after-priority:/ is an integer that affects
whether a break is allowed after this flow object as described in the
specification of the <code/break-before-priority:/ characteristic.
This characteristic is not inherited.
The default value is 0.">
<!entity c.glyph-alignment-mode
"<li>
<code/glyph-alignment-mode:/ is one of the symbols <code/base/,
<code/center/, <code/top/, <code/bottom/, or <code/font/ specifying the
alignment mode to be used for glyphs. <code/font/ means that the
nominal alignment mode of the font in the flow object's writing-mode
should be used.
The initial value is <code/font/.">
