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>
|