de.dante.extex.language.ligature.impl
Class LigatureBuilderImpl

java.lang.Object
  extended byde.dante.extex.language.ligature.impl.LigatureBuilderImpl
All Implemented Interfaces:
LigatureBuilder, java.io.Serializable

public class LigatureBuilderImpl
extends java.lang.Object
implements LigatureBuilder

This class provides an implementation for a ligature builder. Kerning and ligatures are inserted according to the specification from the font.

Version:
$Revision: 1.11 $
Author:
Gerd Neugebauer
See Also:
Serialized Form

Field Summary
protected static long serialVersionUID
          The constant serialVersionUID contains the id for serialization.
 
Constructor Summary
LigatureBuilderImpl()
          Creates a new object.
 
Method Summary
 UnicodeChar getLigature(UnicodeChar c1, UnicodeChar c2, Font f)
          Get a single ligature of to characters.
 int insertLigatures(NodeList list, int start)
          Take a node list and transform character sequences into ligatures where appropriate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

protected static final long serialVersionUID
The constant serialVersionUID contains the id for serialization.

See Also:
Constant Field Values
Constructor Detail

LigatureBuilderImpl

public LigatureBuilderImpl()
Creates a new object.

Method Detail

getLigature

public UnicodeChar getLigature(UnicodeChar c1,
                               UnicodeChar c2,
                               Font f)
Description copied from interface: LigatureBuilder
Get a single ligature of to characters.

Specified by:
getLigature in interface LigatureBuilder
Parameters:
c1 - the first character
c2 - the second character
f - the current font
Returns:
the ligature of c1 and c2 or null if none exists
See Also:
LigatureBuilder.getLigature( de.dante.util.UnicodeChar, de.dante.util.UnicodeChar, de.dante.extex.interpreter.type.font.Font)

insertLigatures

public int insertLigatures(NodeList list,
                           int start)
                    throws HyphenationException
Description copied from interface: LigatureBuilder
Take a node list and transform character sequences into ligatures where appropriate. The processing should extend over all characters with the same font and non-character nodes. It should return the control to the caller as soon as a character node with another font is found.

Specified by:
insertLigatures in interface LigatureBuilder
Parameters:
list - the node list to create ligatures for
start - the index in the list to start processing
Returns:
the index after last node processed
Throws:
HyphenationException - in case of an error
See Also:
LigatureBuilder.insertLigatures( de.dante.extex.typesetter.type.NodeList, int)