src/share/classes/java/awt/font/TextLayout.java

Print this page




  43 import java.awt.Color;
  44 import java.awt.Font;
  45 import java.awt.Graphics2D;
  46 import java.awt.Rectangle;
  47 import java.awt.Shape;
  48 import java.awt.font.NumericShaper;
  49 import java.awt.font.TextLine.TextLineMetrics;
  50 import java.awt.geom.AffineTransform;
  51 import java.awt.geom.GeneralPath;
  52 import java.awt.geom.NoninvertibleTransformException;
  53 import java.awt.geom.Point2D;
  54 import java.awt.geom.Rectangle2D;
  55 import java.text.AttributedString;
  56 import java.text.AttributedCharacterIterator;
  57 import java.text.AttributedCharacterIterator.Attribute;
  58 import java.text.CharacterIterator;
  59 import java.util.Map;
  60 import java.util.HashMap;
  61 import java.util.Hashtable;
  62 import sun.font.AttributeValues;

  63 import sun.font.CoreMetrics;
  64 import sun.font.Decoration;
  65 import sun.font.FontLineMetrics;
  66 import sun.font.FontResolver;
  67 import sun.font.GraphicComponent;
  68 import sun.font.LayoutPathImpl;
  69 import sun.text.CodePointIterator;
  70 
  71 /**
  72  *
  73  * <code>TextLayout</code> is an immutable graphical representation of styled
  74  * character data.
  75  * <p>
  76  * It provides the following capabilities:
  77  * <ul>
  78  * <li>implicit bidirectional analysis and reordering,
  79  * <li>cursor positioning and movement, including split cursors for
  80  * mixed directional text,
  81  * <li>highlighting, including both logical and visual highlighting
  82  * for mixed directional text,
  83  * <li>multiple baselines (roman, hanging, and centered),
  84  * <li>hit testing,
  85  * <li>justification,
  86  * <li>default font substitution,
  87  * <li>metric information such as ascent, descent, and advance, and
  88  * <li>rendering
  89  * </ul>




  43 import java.awt.Color;
  44 import java.awt.Font;
  45 import java.awt.Graphics2D;
  46 import java.awt.Rectangle;
  47 import java.awt.Shape;
  48 import java.awt.font.NumericShaper;
  49 import java.awt.font.TextLine.TextLineMetrics;
  50 import java.awt.geom.AffineTransform;
  51 import java.awt.geom.GeneralPath;
  52 import java.awt.geom.NoninvertibleTransformException;
  53 import java.awt.geom.Point2D;
  54 import java.awt.geom.Rectangle2D;
  55 import java.text.AttributedString;
  56 import java.text.AttributedCharacterIterator;
  57 import java.text.AttributedCharacterIterator.Attribute;
  58 import java.text.CharacterIterator;
  59 import java.util.Map;
  60 import java.util.HashMap;
  61 import java.util.Hashtable;
  62 import sun.font.AttributeValues;
  63 import sun.font.CodePointIterator;
  64 import sun.font.CoreMetrics;
  65 import sun.font.Decoration;
  66 import sun.font.FontLineMetrics;
  67 import sun.font.FontResolver;
  68 import sun.font.GraphicComponent;
  69 import sun.font.LayoutPathImpl;

  70 
  71 /**
  72  *
  73  * <code>TextLayout</code> is an immutable graphical representation of styled
  74  * character data.
  75  * <p>
  76  * It provides the following capabilities:
  77  * <ul>
  78  * <li>implicit bidirectional analysis and reordering,
  79  * <li>cursor positioning and movement, including split cursors for
  80  * mixed directional text,
  81  * <li>highlighting, including both logical and visual highlighting
  82  * for mixed directional text,
  83  * <li>multiple baselines (roman, hanging, and centered),
  84  * <li>hit testing,
  85  * <li>justification,
  86  * <li>default font substitution,
  87  * <li>metric information such as ascent, descent, and advance, and
  88  * <li>rendering
  89  * </ul>