TextAttribute class defines attribute keys and
attribute values used for text rendering.
TextAttribute instances are used as attribute keys to
identify attributes in
Font,
TextLayout,
AttributedCharacterIterator,
and other classes handling text attributes. Other constants defined
in this class can be used as attribute values.
For each text attribute, the documentation provides:
null is treated the same as the
default value and results in the default behavior.
TextAttribute.WEIGHT_BOLD and
Float.valueOf(2.0f)
indicate the same WEIGHT.
Number (used for
WEIGHT, WIDTH, POSTURE,
SIZE, JUSTIFICATION, and
TRACKING) can vary along their natural range and are
not restricted to the predefined constants.
Number.floatValue() is used to get the actual value
from the Number.
WEIGHT, WIDTH, and
POSTURE are interpolated by the system, which
can select the 'nearest available' font or use other techniques to
approximate the user's request.
| Key | Value Type | Principal Constants | Default Value |
|---|---|---|---|
FAMILY
| String | See Font DIALOG,
DIALOG_INPUT,
SERIF,
SANS_SERIF, and
MONOSPACED.
| "Default" (use platform default) |
WEIGHT
| Number | WEIGHT_REGULAR, WEIGHT_BOLD | WEIGHT_REGULAR |
WIDTH
| Number | WIDTH_CONDENSED, WIDTH_REGULAR, WIDTH_EXTENDED | WIDTH_REGULAR |
POSTURE
| Number | POSTURE_REGULAR, POSTURE_OBLIQUE | POSTURE_REGULAR |
SIZE
| Number | none | 12.0 |
TRANSFORM
| TransformAttribute
| See TransformAttribute IDENTITY
| TransformAttribute.IDENTITY |
SUPERSCRIPT
| Integer | SUPERSCRIPT_SUPER, SUPERSCRIPT_SUB | 0 (use the standard glyphs and metrics) |
FONT
| java.
| none | null (do not override font resolution) |
CHAR_REPLACEMENT
| GraphicAttribute
| none | null (draw text using font glyphs) |
FOREGROUND
| java.
| none | null (use current graphics paint) |
BACKGROUND
| java.
| none | null (do not render background) |
UNDERLINE
| Integer | UNDERLINE_ON | -1 (do not render underline) |
STRIKETHROUGH
| Boolean | STRIKETHROUGH_ON | false (do not render strikethrough) |
RUN_DIRECTION
| Boolean | RUN_DIRECTION_LTR RUN_DIRECTION_RTL | null (use java. standard default)
|
BIDI_EMBEDDING
| Integer | none | 0 (use base line direction) |
JUSTIFICATION
| Number | JUSTIFICATION_FULL | JUSTIFICATION_FULL |
INPUT_METHOD_HIGHLIGHT
| java.,
java.
| (see class) | null (do not apply input highlighting) |
INPUT_METHOD_UNDERLINE
| Integer | UNDERLINE_LOW_ONE_PIXEL, UNDERLINE_LOW_TWO_PIXEL | -1 (do not render underline) |
SWAP_COLORS
| Boolean | SWAP_COLORS_ON | false (do not swap colors) |
NUMERIC_SHAPING
| java.
| none | null (do not shape digits) |
KERNING
| Integer | KERNING_ON | 0 (do not request kerning) |
LIGATURES
| Integer | LIGATURES_ON | 0 (do not form optional ligatures) |
TRACKING
| Number | TRACKING_LOOSE, TRACKING_TIGHT | 0 (do not add tracking) |
java.awt.Font , java.awt.font.TextLayout , java.text.AttributedCharacterIterator
| Modifier and Type | Field and Description |
|---|---|
| public static final TextAttribute | BACKGROUND
Attribute key for the paint used to render the background of the text. |
| public static final TextAttribute | BIDI_EMBEDDING
Attribute key for the embedding level of the text. |
| public static final TextAttribute | CHAR_REPLACEMENT
Attribute key for a user-defined glyph to display in lieu of the font's standard glyph for a character. |
| public static final TextAttribute | FAMILY
Attribute key for the font name. |
| public static final TextAttribute | FONT
Attribute key used to provide the font to use to render text. |
| public static final TextAttribute | FOREGROUND
Attribute key for the paint used to render the text. |
| public static final TextAttribute | INPUT_METHOD_HIGHLIGHT
Attribute key for input method highlight styles. |
| public static final TextAttribute | INPUT_METHOD_UNDERLINE
Attribute key for input method underlines. |
| private static final Map | |
| public static final TextAttribute | JUSTIFICATION
Attribute key for the justification of a paragraph. |
| public static final Float | JUSTIFICATION_FULL
Justify the line to the full requested width. |
| public static final Float | JUSTIFICATION_NONE
Do not allow the line to be justified. |
| public static final TextAttribute | KERNING
Attribute key to request kerning. |
| public static final Integer | KERNING_ON
Request standard kerning. |
| public static final TextAttribute | LIGATURES
Attribute key for enabling optional ligatures. |
| public static final Integer | LIGATURES_ON
Request standard optional ligatures. |
| public static final TextAttribute | NUMERIC_SHAPING
Attribute key for converting ASCII decimal digits to other decimal ranges. |
| public static final TextAttribute | POSTURE
Attribute key for the posture of a font. |
| public static final Float | POSTURE_OBLIQUE
The standard italic posture. |
| public static final Float | POSTURE_REGULAR
The standard posture, upright. |
| public static final TextAttribute | RUN_DIRECTION
Attribute key for the run direction of the line. |
| public static final Boolean | RUN_DIRECTION_LTR
Left-to-right run direction. |
| public static final Boolean | RUN_DIRECTION_RTL
Right-to-left run direction. |
| private static final long | serialVersionUID
Hides java. |
| public static final TextAttribute | SIZE
Attribute key for the font size. |
| public static final TextAttribute | STRIKETHROUGH
Attribute key for strikethrough. |
| public static final Boolean | STRIKETHROUGH_ON
A single strikethrough. |
| public static final TextAttribute | SUPERSCRIPT
Attribute key for superscripting and subscripting. |
| public static final Integer | SUPERSCRIPT_SUB
Standard subscript. |
| public static final Integer | SUPERSCRIPT_SUPER
Standard superscript. |
| public static final TextAttribute | SWAP_COLORS
Attribute key for swapping foreground and background
|
| public static final Boolean | SWAP_COLORS_ON
Swap foreground and background. |
| public static final TextAttribute | TRACKING
Attribute key to control tracking. |
| public static final Float | TRACKING_LOOSE
Perform loose tracking. |
| public static final Float | TRACKING_TIGHT
Perform tight tracking. |
| public static final TextAttribute | TRANSFORM
Attribute key for the transform of a font. |
| public static final TextAttribute | UNDERLINE
Attribute key for underline. |
| public static final Integer | UNDERLINE_LOW_DASHED
Single pixel dashed low underline. |
| public static final Integer | UNDERLINE_LOW_DOTTED
Single pixel dotted low underline. |
| public static final Integer | UNDERLINE_LOW_GRAY
Double pixel gray low underline. |
| public static final Integer | UNDERLINE_LOW_ONE_PIXEL
Single pixel solid low underline. |
| public static final Integer | UNDERLINE_LOW_TWO_PIXEL
Double pixel solid low underline. |
| public static final Integer | UNDERLINE_ON
Standard underline. |
| public static final TextAttribute | WEIGHT
Attribute key for the weight of a font. |
| public static final Float | WEIGHT_BOLD
The standard bold weight. |
| public static final Float | WEIGHT_DEMIBOLD
A moderately lighter weight than |
| public static final Float | WEIGHT_DEMILIGHT
An intermediate weight between |
| public static final Float | WEIGHT_EXTRA_LIGHT
The lightest predefined weight. |
| public static final Float | WEIGHT_EXTRABOLD
An extra heavy weight. |
| public static final Float | WEIGHT_HEAVY
A moderately heavier weight than |
| public static final Float | WEIGHT_LIGHT
The standard light weight. |
| public static final Float | WEIGHT_MEDIUM
An intermediate weight between |
| public static final Float | WEIGHT_REGULAR
The standard weight. |
| public static final Float | WEIGHT_SEMIBOLD
A moderately heavier weight than |
| public static final Float | WEIGHT_ULTRABOLD
The heaviest predefined weight. |
| public static final TextAttribute | WIDTH
Attribute key for the width of a font. |
| public static final Float | WIDTH_CONDENSED
The most condensed predefined width. |
| public static final Float | WIDTH_EXTENDED
The most extended predefined width. |
| public static final Float | WIDTH_REGULAR
The standard width. |
| public static final Float | WIDTH_SEMI_CONDENSED
A moderately condensed width. |
| public static final Float | WIDTH_SEMI_EXTENDED
A moderately extended width. |
| Access | Constructor and Description |
|---|---|
| protected | TextAttribute(String
the attribute name to assign to this
name)TextAttributeConstructs a |
| Modifier and Type | Method and Description |
|---|---|
| protected Object | readResolve()
Overrides java. Resolves instances being deserialized to the predefined constants. |
| BACKGROUND | back to summary |
|---|---|
| public static final TextAttribute BACKGROUND Attribute key for the paint used to render the background of
the text. Values are instances of The logical bounds of the text will be filled using this
The visual bounds of the text is extended to include the logical bounds, if necessary. The outline is not affected.
| |
| BIDI_EMBEDDING | back to summary |
|---|---|
| public static final TextAttribute BIDI_EMBEDDING Attribute key for the embedding level of the text. Values are
instances of Positive values 1 through 61 are embedding levels,
negative values -1 through -61 are override levels.
The value 0 means that the base line direction is used. These
levels are passed in the embedding levels array to the Note When this attribute is present anywhere in a paragraph, then any Unicode bidi control characters (RLO, LRO, RLE, LRE, and PDF) in the paragraph are disregarded, and runs of text where this attribute is not present are treated as though it were present and had the value 0.
| |
| CHAR_REPLACEMENT | back to summary |
|---|---|
| public static final TextAttribute CHAR_REPLACEMENT Attribute key for a user-defined glyph to display in lieu of the font's standard glyph for a character. Values are instances of GraphicAttribute. The default value is null, indicating that the standard glyphs provided by the font should be used. This attribute is used to reserve space for a graphic or
other component embedded in a line of text. It is required for
correct positioning of 'inline' components within a line when
bidirectional reordering (see The GraphicAttribute determines the logical and visual bounds of the text; the actual Font values are ignored.
| |
| FAMILY | back to summary |
|---|---|
| public static final TextAttribute FAMILY Attribute key for the font name. Values are instances of
The This defines the value passed as Note This attribute is unfortunately misnamed, as it specifies the face name and not just the family. Thus values such as "Lucida Sans Bold" will select that face if it exists. Note, though, that if the requested face does not exist, the default will be used with regular weight. The "Bold" in the name is part of the face name, not a separate request that the font's weight be bold. | |
| FONT | back to summary |
|---|---|
| public static final TextAttribute FONT Attribute key used to provide the font to use to render text.
Values are instances of
However, if both To generate the new Note
| |
| FOREGROUND | back to summary |
|---|---|
| public static final TextAttribute FOREGROUND Attribute key for the paint used to render the text. Values are
instances of Glyphs will be rendered using this
| |
| INPUT_METHOD_HIGHLIGHT | back to summary |
|---|---|
| public static final TextAttribute INPUT_METHOD_HIGHLIGHT Attribute key for input method highlight styles. Values are instances of If adjacent runs of text with the same
Input method highlights are used while text is being composed by 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. | |
| INPUT_METHOD_UNDERLINE | back to summary |
|---|---|
| public static final TextAttribute INPUT_METHOD_UNDERLINE Attribute key for input method underlines. Values
are instances of Several constant values are provided, see This may be used in conjunction with The input method underline affects both the visual bounds and the outline of the text.
| |
| instanceMap | back to summary |
|---|---|
| private static final Map<String, TextAttribute> instanceMap Hides java. | |
| JUSTIFICATION | back to summary |
|---|---|
| public static final TextAttribute JUSTIFICATION Attribute key for the justification of a paragraph. Values are
instances of The constants Specifies the fraction of the extra space to use when
justification is requested on a Note This should have the same value for all the text in a paragraph, otherwise the behavior is undetermined.
| |
| JUSTIFICATION_FULL | back to summary |
|---|---|
| public static final Float JUSTIFICATION_FULL Justify the line to the full requested width. This is the
default value for
| |
| JUSTIFICATION_NONE | back to summary |
|---|---|
| public static final Float JUSTIFICATION_NONE Do not allow the line to be justified.
| |
| KERNING | back to summary |
|---|---|
| public static final TextAttribute KERNING Attribute key to request kerning. Values are instances of
The constant value The default advances of single characters are not appropriate for some character sequences, for example "To" or "AWAY". Without kerning the adjacent characters appear to be separated by too much space. Kerning causes selected sequences of characters to be spaced differently for a more pleasing visual appearance.
| |
| KERNING_ON | back to summary |
|---|---|
| public static final Integer KERNING_ON Request standard kerning.
| |
| LIGATURES | back to summary |
|---|---|
| public static final TextAttribute LIGATURES Attribute key for enabling optional ligatures. Values are
instances of The constant value Ligatures required by the writing system are always enabled.
| |
| LIGATURES_ON | back to summary |
|---|---|
| public static final Integer LIGATURES_ON Request standard optional ligatures.
| |
| NUMERIC_SHAPING | back to summary |
|---|---|
| public static final TextAttribute NUMERIC_SHAPING Attribute key for converting ASCII decimal digits to other
decimal ranges. Values are instances of When a numeric shaper is defined, the text is first processed by the shaper before any other analysis of the text is performed. Note This should have the same value for all the text in the paragraph, otherwise the behavior is undetermined.
| |
| POSTURE | back to summary |
|---|---|
| public static final TextAttribute POSTURE Attribute key for the posture of a font. Values are instances
of Two constant values are provided, The value is roughly the slope of the stems of the font, expressed as the run over the rise. Positive values lean right. The system can interpolate the provided value. This will affect the font's italic angle as returned by
| |
| POSTURE_OBLIQUE | back to summary |
|---|---|
| public static final Float POSTURE_OBLIQUE The standard italic posture.
| |
| POSTURE_REGULAR | back to summary |
|---|---|
| public static final Float POSTURE_REGULAR The standard posture, upright. This is the default value for
| |
| RUN_DIRECTION | back to summary |
|---|---|
| public static final TextAttribute RUN_DIRECTION Attribute key for the run direction of the line. Values are
instances of The constants This determines the value passed to the Note This attribute should have the same value for all the text in a paragraph, otherwise the behavior is undetermined.
| |
| RUN_DIRECTION_LTR | back to summary |
|---|---|
| public static final Boolean RUN_DIRECTION_LTR Left-to-right run direction.
| |
| RUN_DIRECTION_RTL | back to summary |
|---|---|
| public static final Boolean RUN_DIRECTION_RTL Right-to-left run direction.
| |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides java. Use serialVersionUID from JDK 1.2 for interoperability. 1.2 will throw an InvalidObjectException if ever asked to deserialize INPUT_METHOD_UNDERLINE. This shouldn't happen in real life. | |
| SIZE | back to summary |
|---|---|
| public static final TextAttribute SIZE Attribute key for the font size. Values are instances of
This corresponds to the Very large or small sizes will impact rendering performance, and the rendering system might not render text at these sizes. Negative sizes are illegal and result in the default 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. | |
| STRIKETHROUGH | back to summary |
|---|---|
| public static final TextAttribute STRIKETHROUGH Attribute key for strikethrough. Values are instances of
The constant value The strikethrough affects both the visual bounds and the outline of the text. | |
| STRIKETHROUGH_ON | back to summary |
|---|---|
| public static final Boolean STRIKETHROUGH_ON A single strikethrough.
| |
| SUPERSCRIPT | back to summary |
|---|---|
| public static final TextAttribute SUPERSCRIPT Attribute key for superscripting and subscripting. Values are
instances of Two constant values are provided, see
| |
| SUPERSCRIPT_SUB | back to summary |
|---|---|
| public static final Integer SUPERSCRIPT_SUB Standard subscript.
| |
| SUPERSCRIPT_SUPER | back to summary |
|---|---|
| public static final Integer SUPERSCRIPT_SUPER Standard superscript.
| |
| SWAP_COLORS | back to summary |
|---|---|
| public static final TextAttribute SWAP_COLORS Attribute key for swapping foreground and background
The constant value If the
| |
| SWAP_COLORS_ON | back to summary |
|---|---|
| public static final Boolean SWAP_COLORS_ON Swap foreground and background.
| |
| TRACKING | back to summary |
|---|---|
| public static final TextAttribute TRACKING Attribute key to control tracking. Values are instances of
The constant values The tracking value is multiplied by the font point size and
passed through the font transform to determine an additional
amount to add to the advance of each glyph cluster. Positive
tracking values will inhibit formation of optional ligatures.
Tracking values are typically between
| |
| TRACKING_LOOSE | back to summary |
|---|---|
| public static final Float TRACKING_LOOSE Perform loose tracking.
| |
| TRACKING_TIGHT | back to summary |
|---|---|
| public static final Float TRACKING_TIGHT Perform tight tracking.
| |
| TRANSFORM | back to summary |
|---|---|
| public static final TextAttribute TRANSFORM Attribute key for the transform of a font. Values are
instances of The This corresponds to the transform passed to
The primary intent is to support scaling and skewing, though other effects are possible. Some transforms will cause the baseline to be rotated and/or shifted. The text and the baseline are transformed together so that the text follows the new baseline. For example, with text on a horizontal baseline, the new baseline follows the direction of the unit x vector passed through the transform. Text metrics are measured against this new baseline. So, for example, with other things being equal, text rendered with a rotated TRANSFORM and an unrotated TRANSFORM will measure as having the same ascent, descent, and advance. In styled text, the baselines for each such run are aligned
one after the other to potentially create a non-linear baseline
for the entire run of text. For more information, see | |
| UNDERLINE | back to summary |
|---|---|
| public static final TextAttribute UNDERLINE Attribute key for underline. Values are instances of
The constant value The underline affects both the visual bounds and the outline of the text. | |
| UNDERLINE_LOW_DASHED | back to summary |
|---|---|
| public static final Integer UNDERLINE_LOW_DASHED Single pixel dashed low underline.
| |
| UNDERLINE_LOW_DOTTED | back to summary |
|---|---|
| public static final Integer UNDERLINE_LOW_DOTTED Single pixel dotted low underline.
| |
| UNDERLINE_LOW_GRAY | back to summary |
|---|---|
| public static final Integer UNDERLINE_LOW_GRAY Double pixel gray low underline.
| |
| UNDERLINE_LOW_ONE_PIXEL | back to summary |
|---|---|
| public static final Integer UNDERLINE_LOW_ONE_PIXEL Single pixel solid low underline.
| |
| UNDERLINE_LOW_TWO_PIXEL | back to summary |
|---|---|
| public static final Integer UNDERLINE_LOW_TWO_PIXEL Double pixel solid low underline.
| |
| UNDERLINE_ON | back to summary |
|---|---|
| public static final Integer UNDERLINE_ON Standard underline.
| |
| WEIGHT | back to summary |
|---|---|
| public static final TextAttribute WEIGHT Attribute key for the weight of a font. Values are instances
of Several constant values are provided, see The value is roughly the ratio of the stem width to that of the regular weight. The system can interpolate the provided value. | |
| WEIGHT_BOLD | back to summary |
|---|---|
| public static final Float WEIGHT_BOLD The standard bold weight.
| |
| WEIGHT_DEMIBOLD | back to summary |
|---|---|
| public static final Float WEIGHT_DEMIBOLD A moderately lighter weight than
| |
| WEIGHT_DEMILIGHT | back to summary |
|---|---|
| public static final Float WEIGHT_DEMILIGHT An intermediate weight between
| |
| WEIGHT_EXTRA_LIGHT | back to summary |
|---|---|
| public static final Float WEIGHT_EXTRA_LIGHT The lightest predefined weight.
| |
| WEIGHT_EXTRABOLD | back to summary |
|---|---|
| public static final Float WEIGHT_EXTRABOLD An extra heavy weight.
| |
| WEIGHT_HEAVY | back to summary |
|---|---|
| public static final Float WEIGHT_HEAVY A moderately heavier weight than
| |
| WEIGHT_LIGHT | back to summary |
|---|---|
| public static final Float WEIGHT_LIGHT The standard light weight.
| |
| WEIGHT_MEDIUM | back to summary |
|---|---|
| public static final Float WEIGHT_MEDIUM An intermediate weight between
| |
| WEIGHT_REGULAR | back to summary |
|---|---|
| public static final Float WEIGHT_REGULAR The standard weight. This is the default value for
| |
| WEIGHT_SEMIBOLD | back to summary |
|---|---|
| public static final Float WEIGHT_SEMIBOLD A moderately heavier weight than
| |
| WEIGHT_ULTRABOLD | back to summary |
|---|---|
| public static final Float WEIGHT_ULTRABOLD The heaviest predefined weight.
| |
| WIDTH | back to summary |
|---|---|
| public static final TextAttribute WIDTH Attribute key for the width of a font. Values are instances of
Several constant values are provided, see The value is roughly the ratio of the advance width to that of the regular width. The system can interpolate the provided value. | |
| WIDTH_CONDENSED | back to summary |
|---|---|
| public static final Float WIDTH_CONDENSED The most condensed predefined width.
| |
| WIDTH_EXTENDED | back to summary |
|---|---|
| public static final Float WIDTH_EXTENDED The most extended predefined width.
| |
| WIDTH_REGULAR | back to summary |
|---|---|
| public static final Float WIDTH_REGULAR The standard width. This is the default value for
| |
| WIDTH_SEMI_CONDENSED | back to summary |
|---|---|
| public static final Float WIDTH_SEMI_CONDENSED A moderately condensed width.
| |
| WIDTH_SEMI_EXTENDED | back to summary |
|---|---|
| public static final Float WIDTH_SEMI_EXTENDED A moderately extended width.
| |
| TextAttribute | back to summary |
|---|---|
| protected TextAttribute(String name) Constructs a
| |
| readResolve | back to summary |
|---|---|
| protected Object readResolve() throws InvalidObjectException Overrides java. Resolves instances being deserialized to the predefined constants.
| |