Package org.jfree.layouting.input.style.keys.line
AlignmentAdjust | Creation-Date: 24.11.2005, 16:50:16
|
AlignmentBaseline | Creation-Date: 24.11.2005, 16:50:16
|
BaselineShift | Creation-Date: 24.11.2005, 17:06:06
|
DominantBaseline | Creation-Date: 24.11.2005, 16:50:16
|
DropInitialAfterAdjust | Creation-Date: 28.11.2005, 19:23:08
|
DropInitialBeforeAdjust | Creation-Date: 28.11.2005, 19:23:08
|
InlineBoxAlign | Creation-Date: 24.11.2005, 17:17:38
|
LineHeight | ===========================================
LibLayout : a free Java layouting library
===========================================
Project Info: http://reporting.pentaho.org/liblayout/
(C) Copyright 2006-2007, by Pentaho Corporation and Contributors. |
LineStackingRuby | Creation-Date: 24.11.2005, 16:43:12
|
LineStackingShift | Creation-Date: 24.11.2005, 16:43:12
|
LineStackingStrategy | Creation-Date: 24.11.2005, 16:38:22
|
LineStyleKeys | Drop-Initials are left out for now. |
TextHeight | Creation-Date: 24.11.2005, 16:20:55
|
VerticalAlign | Creation-Date: 24.11.2005, 17:08:01
|
5.1. Initial line
On a block element containing inline elements, the initial line is very often
presented differently. For example it may use a difference typeface, a color,
font-size or even casing (like all uppercase). The presentation of that
initial
line can be controlled by applying a limited set of style properties to the
::first-line pseudo element. Only the following properties can be applied to
the
::first-line pseudo elements:
font properties
color properties
background properties
text decoration properties
baseline alignment properties
'word-spacing'
'letter-spacing'
'line-height' (may be ignored depending on the block line-stacking strategy)
'text-shadow'
'clear'
Although there is no properties only applicable to ::first-line pseudo
elements,
in essence the 'text-indent' property which is applied to 'block-level'
elements
is in fact only effective on the first line of the block element.
5.2. Drop Initial overview
Drop initial is a typographic effect emphasizing the initial letter(s) of a
block element with a presentation similar to a 'floated' element. It can be
described as the combination of the following effects:
For the purpose of drop initial, an initial letter has two alignment points:
an 'after' alignment point and a 'before' alignment point. (For
writing-mode:lr-tb, 'after' corresponds to bottom and 'before' to 'top').
The 'after' alignment point connects with one of the alignment point of the
nth line of the block element of which the initial letter is part of. The
value 'n' is the number of lines by which the initial letter is dropped. That
connection point is called the primary connection point. The union of the two
alignment lines makes a connection line.
If no drop initial size is explicitly provided, there is a secondary
connection point where the 'before' alignment points connects with one of the
alignment point of the initial line. In that case the initial letter is
totally sunken.
If a drop initial size is provided, there is no secondary connection point as
it would result otherwise in an over constraint situation. In that case the
initial letter may not be totally sunken, especially if the size is provided
in 'line' unit with a number larger than the drop.
The values provided above result in the creation of an 'ink box' which is
filled by the initial letter. Depending on the selected alignment points, part
of the glyphs may bleed beyond the ink box.
The character content of the drop initial influences greatly how the drop
initial letters are best aligned with the rest of the block element content.
The CSS mechanism to 'select' the drop initial content is the ::first-letter
pseudo element. The first letter is defined as including all starting
punctuation characters (defined in Unicode as 'open' (Ps), 'close' (Pe) and
'other' (Po), if any, followed by the first non-punctuation character cluster.
A character cluster may be a single character, a combining sequences (base
character followed by combining characters) or a stacked set of characters
(like in Thai).
Only the following properties can be applied to the ::first-letter pseudo
elements:
font properties
color properties
background properties
text decoration properties
baseline alignment properties (only if 'float' is 'none')
'text-transform'
'letter-spacing'
'line-height' (may be ignored depending on the block line-stacking strategy)
margin properties
padding properties
border properties
'float'
text-shadow
'clear'
all properties described in this section (drop-initial-...)
In addition, one property: 'text-indent' although applying to block-level
elements is in fact effective on its first line of text and has therefore an
influence on the indentation of the first-letter versus the start edge of the
containing block. Using the 'text-indent' allows the correction of optical
effect (like uppercase 'O') or even pushing the starting piece of the initial
letter in a 'virtual' margin.