TextAttribute (Java 2 Platform SE 5.0) (original) (raw)


java.awt.font

Class TextAttribute

java.lang.Object extended by java.text.AttributedCharacterIterator.Attribute extended by java.awt.font.TextAttribute

All Implemented Interfaces:

Serializable


public final class TextAttribute

extends AttributedCharacterIterator.Attribute

The TextAttribute class defines attribute keys and attribute values used for text rendering.

TextAttribute instances are used as attribute keys to identify attributes in AttributedCharacterIterator, Font, and other classes handling text attributes. Other constants defined in this class are used as attribute values.

For each text attribute, the documentation describes:

Types of Values

Interpolation

See Also:

AttributedCharacterIterator, Font, Serialized Form


Field Summary
static TextAttribute BACKGROUND Attribute key for the background Paint adornment.
static TextAttribute BIDI_EMBEDDING Attribute key for the embedding level for nested bidirectional runs.
static TextAttribute CHAR_REPLACEMENT Attribute key for a user_defined glyph to display in the text in lieu of a character.
static TextAttribute FAMILY Attribute key for the unlocalized font family name.
static TextAttribute FONT Attribute key for the font to use to render text.
static TextAttribute FOREGROUND Attribute key for the foreground paint adornment.
static TextAttribute INPUT_METHOD_HIGHLIGHT Attribute key for input method highlight styles.
static TextAttribute INPUT_METHOD_UNDERLINE Attribute key for input method underline adornments.
static TextAttribute JUSTIFICATION Attribute key for the justification of a paragraph.
static Float JUSTIFICATION_FULL Justify the line to the full requested width.
static Float JUSTIFICATION_NONE Do not allow the line to be justified.
static TextAttribute NUMERIC_SHAPING Attribute key for converting ASCII decimal digits to other decimal ranges.
static TextAttribute POSTURE Attribute key for the posture of a font.
static Float POSTURE_OBLIQUE The standard italic posture.
static Float POSTURE_REGULAR The standard posture, upright.
static TextAttribute RUN_DIRECTION Attribute key for the run direction of the line.
static Boolean RUN_DIRECTION_LTR Left-to-right run direction.
static Boolean RUN_DIRECTION_RTL Right-to-left run direction.
static TextAttribute SIZE Attribute key for the font size.
static TextAttribute STRIKETHROUGH Attribute key for the strikethrough adornment.
static Boolean STRIKETHROUGH_ON A single strikethrough.
static TextAttribute SUPERSCRIPT Attribute key for super and subscripting.
static Integer SUPERSCRIPT_SUB Standard subscript.
static Integer SUPERSCRIPT_SUPER Standard superscript.
static TextAttribute SWAP_COLORS Attribute key for swapping foreground and background Paints (or Colors).
static Boolean SWAP_COLORS_ON Swap foreground and background.
static TextAttribute TRANSFORM Attribute key for the transform of a font.
static TextAttribute UNDERLINE Attribute key for underline adornments.
static Integer UNDERLINE_LOW_DASHED Single pixel dashed low underline.
static Integer UNDERLINE_LOW_DOTTED Single pixel dotted low underline.
static Integer UNDERLINE_LOW_GRAY Double pixel gray low underline.
static Integer UNDERLINE_LOW_ONE_PIXEL Single pixel solid low underline.
static Integer UNDERLINE_LOW_TWO_PIXEL Double pixel solid low underline.
static Integer UNDERLINE_ON Standard underline at the roman baseline for roman text, and below the decenders for other text.
static TextAttribute WEIGHT Attribute key for the weight of a font.
static Float WEIGHT_BOLD The standard bold weight.
static Float WEIGHT_DEMIBOLD A moderately lighter weight than BOLD.
static Float WEIGHT_DEMILIGHT An intermediate weight between LIGHT and STANDARD.
static Float WEIGHT_EXTRA_LIGHT The lightest predefined weight.
static Float WEIGHT_EXTRABOLD An extra heavy weight.
static Float WEIGHT_HEAVY A moderately heavier weight than BOLD.
static Float WEIGHT_LIGHT The standard light weight.
static Float WEIGHT_MEDIUM An intermediate weight between the REGULAR and BOLD weights.
static Float WEIGHT_REGULAR The standard weight.
static Float WEIGHT_SEMIBOLD A moderately heavier weight than REGULAR.
static Float WEIGHT_ULTRABOLD The heaviest predefined weight.
static TextAttribute WIDTH Attribute key for the width of a font.
static Float WIDTH_CONDENSED The most condensed predefined width.
static Float WIDTH_EXTENDED The most extended predefined width.
static Float WIDTH_REGULAR The standard width.
static Float WIDTH_SEMI_CONDENSED A moderately condensed width.
static Float WIDTH_SEMI_EXTENDED A moderately extended width.
Fields inherited from class java.text.AttributedCharacterIterator.Attribute
INPUT_METHOD_SEGMENT, LANGUAGE, READING
Constructor Summary
protected TextAttribute(String name) Constructs a TextAttribute with the specified name.
Method Summary
protected Object readResolve() Resolves instances being deserialized to the predefined constants.
Methods inherited from class java.text.AttributedCharacterIterator.Attribute
equals, getName, hashCode, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, [wait](../../../java/lang/Object.html#wait%28long, int%29)
Field Detail

FAMILY

public static final TextAttribute FAMILY

Attribute key for the unlocalized font family name.

Key FAMILY
Value String
Constants "Serif", "SansSerif"
Default Host default;
Description The name of the font family. If the family name is not found, the default font is used. The name should not be the full font name or specify other attributes (such as the name "Helvetica Bold"). Such names might result in the default font if the name does not match a known family name.

WEIGHT

public static final TextAttribute WEIGHT

Attribute key for the weight of a font.

Key WEIGHT
Value Float
Constants WEIGHT_EXTRA_LIGHT = 0.5, WEIGHT_LIGHT = 0.75, WEIGHT_DEMILIGHT = 0.875, WEIGHT_REGULAR = 1.0, WEIGHT_SEMIBOLD = 1.25, WEIGHT_MEDIUM = 1.5, WEIGHT_DEMIBOLD = 1.75, WEIGHT_BOLD = 2.0, WEIGHT_HEAVY = 2.25, WEIGHT_EXTRABOLD = 2.5, WEIGHT_ULTRABOLD = 2.75
Default WEIGHT_REGULAR
Description The value is roughly the ratio of the stem width to that of the regular weight. If the font has a different value for specific constants, then the value is interpolated as described in the class description.
Fallback Currently none. However, in the future, shape manipulations might be available to simulate weight variations for fonts that don't have them.

WEIGHT_EXTRA_LIGHT

public static final Float WEIGHT_EXTRA_LIGHT

The lightest predefined weight.

See Also:

WEIGHT


WEIGHT_LIGHT

public static final Float WEIGHT_LIGHT

The standard light weight.

See Also:

WEIGHT


WEIGHT_DEMILIGHT

public static final Float WEIGHT_DEMILIGHT

An intermediate weight between LIGHT and STANDARD.

See Also:

WEIGHT


WEIGHT_REGULAR

public static final Float WEIGHT_REGULAR

The standard weight. This weight is used if WEIGHT is unspecified.

See Also:

WEIGHT


WEIGHT_SEMIBOLD

public static final Float WEIGHT_SEMIBOLD

A moderately heavier weight than REGULAR.

See Also:

WEIGHT


WEIGHT_MEDIUM

public static final Float WEIGHT_MEDIUM

An intermediate weight between the REGULAR and BOLD weights.

See Also:

WEIGHT


WEIGHT_DEMIBOLD

public static final Float WEIGHT_DEMIBOLD

A moderately lighter weight than BOLD.

See Also:

WEIGHT


WEIGHT_BOLD

public static final Float WEIGHT_BOLD

The standard bold weight.

See Also:

WEIGHT


WEIGHT_HEAVY

public static final Float WEIGHT_HEAVY

A moderately heavier weight than BOLD.

See Also:

WEIGHT


WEIGHT_EXTRABOLD

public static final Float WEIGHT_EXTRABOLD

An extra heavy weight.

See Also:

WEIGHT


WEIGHT_ULTRABOLD

public static final Float WEIGHT_ULTRABOLD

The heaviest predefined weight.

See Also:

WEIGHT


WIDTH

public static final TextAttribute WIDTH

Attribute key for the width of a font.

Key WIDTH
Value Float
Constants WIDTH_CONDENSED = 0.75, WIDTH_SEMI_CONDENSED = 0.875, WIDTH_REGULAR = 1.0, WIDTH_SEMI_EXTENDED = 1.25, WIDTH_EXTENDED = 1.5
Default WIDTH_REGULAR
Description The value is roughly the ratio of the advance width to that of the regular width. If the font has a different value for specific constants, then the value is interpolated as described in the class description.
Fallback If a Narrow font is available and matches, use that. Otherwise scale with a transform based on the value.

WIDTH_CONDENSED

public static final Float WIDTH_CONDENSED

The most condensed predefined width.

See Also:

WIDTH


WIDTH_SEMI_CONDENSED

public static final Float WIDTH_SEMI_CONDENSED

A moderately condensed width.

See Also:

WIDTH


WIDTH_REGULAR

public static final Float WIDTH_REGULAR

The standard width. This width is used if WIDTH is unspecified.

See Also:

WIDTH


WIDTH_SEMI_EXTENDED

public static final Float WIDTH_SEMI_EXTENDED

A moderately extended width.

See Also:

WIDTH


WIDTH_EXTENDED

public static final Float WIDTH_EXTENDED

The most extended predefined width.

See Also:

WIDTH


POSTURE

public static final TextAttribute POSTURE

Attribute key for the posture of a font.

Key POSTURE
Value Float
Constants POSTURE_REGULAR = 0, POSTURE_OBLIQUE = 0.20
Default POSTURE_REGULAR
Description The value is interpreted generally as a skew slope, positive leans to the right. If the font has a different value for specific constants, then the value is interpolated as described in the class description. With fonts that have italic faces, not only the skew of the character changes, but also the letter shapes might change. Notes: To set the value by angle, use: value = new Float(Math.tan(Math.PI*degrees/180.0) To determine the angle from the value, use: angle = Math.atan(value.floatValue())*180/Math.PI
Fallback If an Oblique font is available and matches, use that. Otherwise skew with a transform using the posture value interpreted as run/rise.

See Also:

Font.getItalicAngle()


POSTURE_REGULAR

public static final Float POSTURE_REGULAR

The standard posture, upright.

See Also:

POSTURE


POSTURE_OBLIQUE

public static final Float POSTURE_OBLIQUE

The standard italic posture.

See Also:

POSTURE


SIZE

public static final TextAttribute SIZE

Attribute key for the font size.

Key SIZE
Value Float
Default from System Properties
Description Represents point size. Note that the appearance and metrics of a 12pt font with a 2X transform might be different than that of a 24 point font with no transform.
Fallback Scale to provided size.

TRANSFORM

public static final TextAttribute TRANSFORM

Attribute key for the transform of a font.

Key TRANSFORM
Value TransformAttribute
Default Identity transform
Description Used to transform glyphs rendered by this font. The primary intent is to support scaling, skewing, and translation. In general, large rotations do not produce very useful results. The transform modifies both the glyph and the advance. The translations in the transform are interpreted as a ratio of the point size. That is, with a point size of 12, a translation of 0.5 results in a movement of 6 points. The advance point of the transformed glyph is the transform of the advance point projected onto the baseline. If the advance ends up to the left (top) of the glyph origin, the two points are swapped.Example one: The point size is 20, the original advance is 10.0, and the transform is a 60 degree counterclockwise rotation plus an offset up and to the right of 0.1, -0.1. The translation results in an offset of <2.0, -2.0>. The original advance point is <10.0, 0.0>; after the rotation it is <6.0, -8.0>; when adding the offset this becomes <8.0,-10.0>, when projecting on the (horizontal) baseline this becomes the new advance point: <8.0, 0.0>. The advance width is the distance from the origin to the advance point: 8.0. The rotated glyph is rendered two points up and to the right of its origin and rotated. This does not affect the baseline for subsequent glyphs.

SUPERSCRIPT

public static final TextAttribute SUPERSCRIPT

Attribute key for super and subscripting.

Key SUPERSCRIPT
Value Integer
Constants SUPERSCRIPT_NONE = 0, SUPERSCRIPT_SUPER = 1, SUPERSCRIPT_SUB = -1
Default SUPERSCRIPT_NONE
Description Requests that the font display the characters with glyphs at a particular superscript level: 0 = none, 1 = superscript, 2 = superscript of superscript,...-1 = subscript, -2 = subscript of subscript,... Requests that the font display text using default superscript (or subscript) glyphs and/or scaling.
Fallback Use transform with translation of +/-1/2 and scale of 2/3, progressively for each level. That is, for the transform at level N (with N != 0): offset = sign(N)*1/2*(2/3)^(abs(N)-1) scale = (2/3)^abs(N)

SUPERSCRIPT_SUPER

public static final Integer SUPERSCRIPT_SUPER

Standard superscript.

See Also:

SUPERSCRIPT


SUPERSCRIPT_SUB

public static final Integer SUPERSCRIPT_SUB

Standard subscript.

See Also:

SUPERSCRIPT


FONT

public static final TextAttribute FONT

Attribute key for the font to use to render text.

Key FONT
Value Font
Default None, perform default resolution
Description A way for users to override the resolution of font attributes into a Font, or force use of a particularFont instance. This also allows users to specify subclasses of Font in cases where a Font can be subclassed.

CHAR_REPLACEMENT

public static final TextAttribute CHAR_REPLACEMENT

Attribute key for a user_defined glyph to display in the text in lieu of a character.

Key CHAR_REPLACEMENT
Value GraphicAttribute
Description Allows the user to specify an empty position plus metric information. This method is used to reserve space for a graphic or other embedded component. Required for correct BIDI position of 'inline' components within a line. An optional convenience method allows drawing for simple cases. Follows the Microsoft model: the character that this is applied to should be \uFFFC.

FOREGROUND

public static final TextAttribute FOREGROUND

Attribute key for the foreground paint adornment.

Key FOREGROUND
Value Paint
Default Color.black
Description Specify the foreground Paint (or Color) of the text.

BACKGROUND

public static final TextAttribute BACKGROUND

Attribute key for the background Paint adornment.

Key BACKGROUND
Value Paint
Default null
Description Specify the background Paint (or Color) of the text.

UNDERLINE

public static final TextAttribute UNDERLINE

Attribute key for underline adornments.

Key UNDERLINE
Value Integer
Constants UNDERLINE_ON = 0
Default none
Description An embellishment added to the glyphs rendered by a font.
Fallback

UNDERLINE_ON

public static final Integer UNDERLINE_ON

Standard underline at the roman baseline for roman text, and below the decenders for other text.

See Also:

UNDERLINE


STRIKETHROUGH

public static final TextAttribute STRIKETHROUGH

Attribute key for the strikethrough adornment.

Key STRIKETHROUGH
Value Boolean
Constants true = on, false = off
Default off
Description An embellishment added to the glyphs rendered by a font.

STRIKETHROUGH_ON

public static final Boolean STRIKETHROUGH_ON

A single strikethrough.

See Also:

STRIKETHROUGH


RUN_DIRECTION

public static final TextAttribute RUN_DIRECTION

Attribute key for the run direction of the line.

Key RUN_DIRECTION
Value Boolean
Constants RUN_DIRECTION_LTR = true, RUN_DIRECTION_RTL = false
Default Use the default Unicode base direction from the BIDI algorithm.
Description Specifies which base run direction to use when positioning mixed directional runs within a paragraph. If this value is RUN_DIRECTION_DEFAULT, TextLayout uses the default Unicode base direction from the BIDI algorithm. This attribute should have the same value over the whole paragraph.

RUN_DIRECTION_LTR

public static final Boolean RUN_DIRECTION_LTR

Left-to-right run direction.

See Also:

RUN_DIRECTION


RUN_DIRECTION_RTL

public static final Boolean RUN_DIRECTION_RTL

Right-to-left run direction.

See Also:

RUN_DIRECTION


BIDI_EMBEDDING

public static final TextAttribute BIDI_EMBEDDING

Attribute key for the embedding level for nested bidirectional runs.

Key BIDI_EMBEDDING
Value Integer
Limits Positive values 1 through 61 are embedding levels, negative values through -61 are override levels
Default Use standard BIDI to compute levels from formatting characters in the text.
Description Specifies the bidi embedding level of the character. When this attribute is present anywhere in a paragraph, then the Unicode characters RLO, LRO, RLE, LRE, PDF are disregarded in the BIDI analysis of that paragraph. See the Unicode Standard v. 2.0, section 3-11.

JUSTIFICATION

public static final TextAttribute JUSTIFICATION

Attribute key for the justification of a paragraph.

Key JUSTIFICATION
Value Float
Limits 0.0 through1.0
Default 1.0
Description Specifies which fraction of the extra space to use when justification is requested. For example, if the line is 50 points wide and the margins are 70 points apart, a value of 0.5 means that the line is padded to reach a width of 60 points. This attribute should have the same value over the whole paragraph.

JUSTIFICATION_FULL

public static final Float JUSTIFICATION_FULL

Justify the line to the full requested width.

See Also:

JUSTIFICATION


JUSTIFICATION_NONE

public static final Float JUSTIFICATION_NONE

Do not allow the line to be justified.

See Also:

JUSTIFICATION


INPUT_METHOD_HIGHLIGHT

public static final TextAttribute INPUT_METHOD_HIGHLIGHT

Attribute key for input method highlight styles.

Values are instances of InputMethodHighlight. These instances should be wrapped in Annotation instances if segments need to be highlighted separately.

Input method highlights are used while text is being composed using an input method. Text editing components should retain them even if they generally only deal with unstyled text, and make them available to the drawing routines.

See Also:

InputMethodHighlight


INPUT_METHOD_UNDERLINE

public static final TextAttribute INPUT_METHOD_UNDERLINE

Attribute key for input method underline adornments.

Key INPUT_METHOD_UNDERLINE
Value Integer
Constants UNDERLINE_LOW_ONE_PIXEL, UNDERLINE_LOW_TWO_PIXEL, UNDERLINE_LOW_DOTTED, UNDERLINE_LOW_GRAY, UNDERLINE_LOW_DASHED
Default no underline

Since:

1.3


UNDERLINE_LOW_ONE_PIXEL

public static final Integer UNDERLINE_LOW_ONE_PIXEL

Single pixel solid low underline.

Since:

1.3

See Also:

INPUT_METHOD_UNDERLINE


UNDERLINE_LOW_TWO_PIXEL

public static final Integer UNDERLINE_LOW_TWO_PIXEL

Double pixel solid low underline.

Since:

1.3

See Also:

INPUT_METHOD_UNDERLINE


UNDERLINE_LOW_DOTTED

public static final Integer UNDERLINE_LOW_DOTTED

Single pixel dotted low underline.

Since:

1.3

See Also:

INPUT_METHOD_UNDERLINE


UNDERLINE_LOW_GRAY

public static final Integer UNDERLINE_LOW_GRAY

Double pixel gray low underline.

Since:

1.3

See Also:

INPUT_METHOD_UNDERLINE


UNDERLINE_LOW_DASHED

public static final Integer UNDERLINE_LOW_DASHED

Single pixel dashed low underline.

Since:

1.3

See Also:

INPUT_METHOD_UNDERLINE


SWAP_COLORS

public static final TextAttribute SWAP_COLORS

Attribute key for swapping foreground and background Paints (or Colors).

Values are instances of Boolean. The default is not to swap the foreground and background. If the foreground and background attributes are both defined, this causes them to be swapped when rendering text. If either is defaulted, the exact effect is undefined--generally it will produce an 'inverted' appearance.


SWAP_COLORS_ON

public static final Boolean SWAP_COLORS_ON

Swap foreground and background.


NUMERIC_SHAPING

public static final TextAttribute NUMERIC_SHAPING

Attribute key for converting ASCII decimal digits to other decimal ranges.

Values are instances of NumericShaping. The default is not to perform numeric shaping.

Constructor Detail

TextAttribute

protected TextAttribute(String name)

Constructs a TextAttribute with the specified name.

Parameters:

name - the attribute name to assign to this TextAttribute

Method Detail

readResolve

protected Object readResolve() throws InvalidObjectException

Resolves instances being deserialized to the predefined constants.

Overrides:

[readResolve](../../../java/text/AttributedCharacterIterator.Attribute.html#readResolve%28%29) in class [AttributedCharacterIterator.Attribute](../../../java/text/AttributedCharacterIterator.Attribute.html "class in java.text")

Throws:

[InvalidObjectException](../../../java/io/InvalidObjectException.html "class in java.io")



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.