# Package org.jfree.layouting.input.style.keys.line

    5.1.

  ## Class Summary

  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.