org.gnu.jfiglet.core
Class FIGFontLayout

java.lang.Object
  extended byorg.gnu.jfiglet.core.FIGFontLayout

public class FIGFontLayout
extends java.lang.Object

Layout of a FIGFont.

Version:
$Id: FIGFontLayout.java,v 1.3 2004/04/27 20:09:28 sbrunot Exp $
Author:
Sebastien Brunot

Field Summary
static int HORIZONTAL_LAYOUT_MODE_FITTING_ONLY
          Horizontal layout mode "Fitting only".
static int HORIZONTAL_LAYOUT_MODE_FULL_SIZE
          Horizontal layout mode "Full size".
static int HORIZONTAL_LAYOUT_MODE_SMUSHING
          Horizontal layout mode "smushing" Moves FIGcharacters one step closer after they touch, so that they partially occupy the same space.
static int HORIZONTAL_SMUSHING_RULE_BIG_X
           
static int HORIZONTAL_SMUSHING_RULE_EQUALS_CHARACTER
           
static int HORIZONTAL_SMUSHING_RULE_HARDBLANK
           
static int HORIZONTAL_SMUSHING_RULE_HIERARCHY
           
static int HORIZONTAL_SMUSHING_RULE_OPPOSITE_PAIR
           
static int HORIZONTAL_SMUSHING_RULE_UNDERSCORE
           
static int VERTICAL_LAYOUT_MODE_FITTING_ONLY
           
static int VERTICAL_LAYOUT_MODE_FULL_SIZE
          Vertical layout modes
static int VERTICAL_LAYOUT_MODE_SMUSHING
           
static int VERTICAL_SMUSHING_RULE_EQUALS_CHARACTER
           
static int VERTICAL_SMUSHING_RULE_HIERARCHY
           
static int VERTICAL_SMUSHING_RULE_HORIZONTAL_LINE
           
static int VERTICAL_SMUSHING_RULE_UNDERSCORE
           
static int VERTICAL_SMUSHING_RULE_VERTICAL_LINE
           
 
Constructor Summary
FIGFontLayout(int theOldLayoutSpecification, java.lang.Integer theFullLayoutSpecification)
           
 
Method Summary
 int getHorizontalMode()
           
 int getVerticalMode()
           
 boolean hasHorizontalSmushingRule(int theSmushingRule)
           
 boolean hasVerticalSmushingRule(int theSmushingRule)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HORIZONTAL_LAYOUT_MODE_FULL_SIZE

public static final int HORIZONTAL_LAYOUT_MODE_FULL_SIZE
Horizontal layout mode "Full size". Represents each FIGcharacter occupying the full width of its arrangement of sub-characters as designed.

See Also:
Constant Field Values

HORIZONTAL_LAYOUT_MODE_FITTING_ONLY

public static final int HORIZONTAL_LAYOUT_MODE_FITTING_ONLY
Horizontal layout mode "Fitting only". Moves FIGcharacters closer together until they touch. Typographers use the term "kerning" for this phenomenon when applied to the horizontal axis, but fitting also includes this as a vertical behavior, for which there is apparently no established typographical term.

See Also:
Constant Field Values

HORIZONTAL_LAYOUT_MODE_SMUSHING

public static final int HORIZONTAL_LAYOUT_MODE_SMUSHING
Horizontal layout mode "smushing" Moves FIGcharacters one step closer after they touch, so that they partially occupy the same space. A FIGdriver must decide what sub-character to display at each junction. There are two ways of making these decisions: by controlled smushing or by universal smushing. Controlled smushing uses a set of "smushing rules" selected by the designer of a FIGfont. Each rule is a comparison of the two sub-characters which must be joined to yield what to display at the junction. Controlled smushing will not always allow smushing to occur, because the compared sub-characters may not correspond to any active rule. Wherever smushing cannot occur, fitting occurs instead. Universal smushing simply overrides the sub-character from the earlier FIGcharacter with the sub-character from the later FIGcharacter. This produces an "overlapping" effect with some FIGfonts, wherin the latter FIGcharacter may appear to be "in front". A FIGfont which does not specify any smushing rules for a particular axis indicates that universal smushing is to occur when smushing is requested. Therefore, it is not possible for a FIGfont designer to "forbid" smushing. However there are ways to ensure that smushing does not cause a FIGfont to be illegible when smushed. This is especially important for smaller FIGfonts.

See Also:
Constant Field Values

VERTICAL_LAYOUT_MODE_FULL_SIZE

public static final int VERTICAL_LAYOUT_MODE_FULL_SIZE
Vertical layout modes

See Also:
Constant Field Values

VERTICAL_LAYOUT_MODE_FITTING_ONLY

public static final int VERTICAL_LAYOUT_MODE_FITTING_ONLY
See Also:
Constant Field Values

VERTICAL_LAYOUT_MODE_SMUSHING

public static final int VERTICAL_LAYOUT_MODE_SMUSHING
See Also:
Constant Field Values

HORIZONTAL_SMUSHING_RULE_EQUALS_CHARACTER

public static final int HORIZONTAL_SMUSHING_RULE_EQUALS_CHARACTER
See Also:
Constant Field Values

HORIZONTAL_SMUSHING_RULE_UNDERSCORE

public static final int HORIZONTAL_SMUSHING_RULE_UNDERSCORE
See Also:
Constant Field Values

HORIZONTAL_SMUSHING_RULE_HIERARCHY

public static final int HORIZONTAL_SMUSHING_RULE_HIERARCHY
See Also:
Constant Field Values

HORIZONTAL_SMUSHING_RULE_OPPOSITE_PAIR

public static final int HORIZONTAL_SMUSHING_RULE_OPPOSITE_PAIR
See Also:
Constant Field Values

HORIZONTAL_SMUSHING_RULE_BIG_X

public static final int HORIZONTAL_SMUSHING_RULE_BIG_X
See Also:
Constant Field Values

HORIZONTAL_SMUSHING_RULE_HARDBLANK

public static final int HORIZONTAL_SMUSHING_RULE_HARDBLANK
See Also:
Constant Field Values

VERTICAL_SMUSHING_RULE_EQUALS_CHARACTER

public static final int VERTICAL_SMUSHING_RULE_EQUALS_CHARACTER
See Also:
Constant Field Values

VERTICAL_SMUSHING_RULE_UNDERSCORE

public static final int VERTICAL_SMUSHING_RULE_UNDERSCORE
See Also:
Constant Field Values

VERTICAL_SMUSHING_RULE_HIERARCHY

public static final int VERTICAL_SMUSHING_RULE_HIERARCHY
See Also:
Constant Field Values

VERTICAL_SMUSHING_RULE_HORIZONTAL_LINE

public static final int VERTICAL_SMUSHING_RULE_HORIZONTAL_LINE
See Also:
Constant Field Values

VERTICAL_SMUSHING_RULE_VERTICAL_LINE

public static final int VERTICAL_SMUSHING_RULE_VERTICAL_LINE
See Also:
Constant Field Values
Constructor Detail

FIGFontLayout

public FIGFontLayout(int theOldLayoutSpecification,
                     java.lang.Integer theFullLayoutSpecification)
Method Detail

getHorizontalMode

public int getHorizontalMode()

getVerticalMode

public int getVerticalMode()

hasHorizontalSmushingRule

public boolean hasHorizontalSmushingRule(int theSmushingRule)

hasVerticalSmushingRule

public boolean hasVerticalSmushingRule(int theSmushingRule)


Copyright © 2004 Sebastien Brunot. All Rights Reserved.