java::awt::font::TextAttribute Class Reference

Inheritance diagram for java::awt::font::TextAttribute:

Inheritance graph
java::text::AttributedCharacterIterator::Attributejava::lang::Object
[legend]
Collaboration diagram for java::awt::font::TextAttribute:

Collaboration graph
java::text::AttributedCharacterIterator::Attributejava::lang::Objectjava::lang::Stringjava::lang::Interfacejava::lang::ObjectRefjava::lang::Numberjava::lang::Booleanjava::lang::Comparablejava::lang::Floatjava::lang::Integer
[legend]

List of all members.


Detailed Description

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:
java.text.AttributedCharacterIterator

java.awt.Font


Public Member Functions

 TextAttribute ()
 Default constructor.

Static Public Attributes

static const
TextAttribute 
FAMILY
 Attribute key for the unlocalized font family name.
static const
TextAttribute 
WEIGHT
 Attribute key for the weight of a font.
static const Float WEIGHT_EXTRA_LIGHT
 The lightest predefined weight.
static const Float WEIGHT_LIGHT
 The standard light weight.
static const Float WEIGHT_DEMI_LIGHT
 An intermediate weight between LIGHT and STANDARD.
static const Float WEIGHT_REGULAR
 The standard weight.
static const Float WEIGHT_SEMI_BOLD
 A moderately heavier weight than REGULAR.
static const Float WEIGHT_MEDIUM
 An intermediate weight between the REGULAR and BOLD weights.
static const Float WEIGHT_DEMI_BOLD
 A moderately lighter weight than BOLD.
static const Float WEIGHT_BOLD
 The standard bold weight.
static const Float WEIGHT_HEAVY
 A moderately heavier weight than BOLD.
static const Float WEIGHT_EXTRA_BOLD
 An extra heavy weight.
static const Float WEIGHT_ULTRA_BOLD
 The heaviest predefined weight.
static const
TextAttribute 
WIDTH
 Attribute key for the width of a font.
static const Float WIDTH_CONDENSED
 The most condensed predefined width.
static const Float WIDTH_SEMI_CONDENSED
 A moderately condensed width.
static const Float WIDTH_REGULAR
 The standard width.
static const Float WIDTH_SEMI_EXTENDED
 A moderately extended width.
static const Float WIDTH_EXTENDED
 The most extended predefined width.
static const
TextAttribute 
POSTURE
 Attribute key for the posture of a font.
static const Float POSTURE_REGULAR
 The standard posture, upright.
static const Float POSTURE_OBLIQUE
 The standard italic posture.
static const
TextAttribute 
SIZE
 Attribute key for the font size.
static const
TextAttribute 
TRANSFORM
 Attribute key for the transform of a font.
static const
TextAttribute 
SUPERSCRIPT
 Attribute key for super and subscripting.
static const Integer SUPERSCRIPT_SUPER
 Standard superscript.
static const Integer SUPERSCRIPT_SUB
 Standard subscript.
static const
TextAttribute 
FONT
 Attribute key for the font to use to render text.
static const
TextAttribute 
CHAR_REPLACEMENT
 Attribute key for a user_defined glyph to display in the text in lieu of a character.
static const
TextAttribute 
FOREGROUND
 Attribute key for the foreground paint adornment.
static const
TextAttribute 
BACKGROUND
 Attribute key for the background Paint adornment.
static const
TextAttribute 
UNDERLINE
 Attribute key for underline adornments.
static const Integer UNDERLINE_ON
 Standard underline at the roman baseline for roman text, and below the decenders for other text.
static const
TextAttribute 
STRIKETHROUGH
 Attribute key for the strikethrough adornment.
static const Boolean STRIKETHROUGH_ON
 A single strikethrough.
static const
TextAttribute 
RUN_DIRECTION
 Attribute key for the run direction of the line.
static const Boolean RUN_DIRECTION_LTR
 Left-to-right run direction.
static const Boolean RUN_DIRECTION_RTL
 Right-to-left run direction.
static const
TextAttribute 
BIDI_EMBEDDING
 Attribute key for the embedding level for nested bidirectional runs.
static const
TextAttribute 
JUSTIFICATION
 Attribute key for the justification of a paragraph.
static const Float JUSTIFICATION_FULL
 Justify the line to the full requested width.
static const Float JUSTIFICATION_NONE
 Do not allow the line to be justified.
static const
TextAttribute 
INPUT_METHOD_HIGHLIGHT
 Attribute key for input method highlight styles.
static const
TextAttribute 
INPUT_METHOD_UNDERLINE
 Attribute key for input method underline adornments.
static const Integer UNDERLINE_LOW_ONE_PIXEL
 Single pixel solid low underline.
static const Integer UNDERLINE_LOW_TWO_PIXEL
 Double pixel solid low underline.
static const Integer UNDERLINE_LOW_DOTTED
 Single pixel dotted low underline.
static const Integer UNDERLINE_LOW_GRAY
 Double pixel gray low underline.
static const Integer UNDERLINE_LOW_DASHED
 Single pixel dashed low underline.
static const
TextAttribute 
SWAP_COLORS
 Attribute key for swapping foreground and background Paints (or Colors).
static const Boolean SWAP_COLORS_ON
 Swap foreground and background.
static const
TextAttribute 
NUMERIC_SHAPING
 Attribute key for converting ASCII decimal digits to other decimal ranges.

Protected Member Functions

 TextAttribute (const String &name)
 Constructs a TextAttribute with the specified name.

Constructor & Destructor Documentation

java::awt::font::TextAttribute::TextAttribute (  ) 

Default constructor.

java::awt::font::TextAttribute::TextAttribute ( const String name  )  [protected]

Constructs a TextAttribute with the specified name.

Parameters:
name the attribute name to assign to this TextAttribute


Member Data Documentation

const TextAttribute java::awt::font::TextAttribute::FAMILY [static]

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.

const TextAttribute java::awt::font::TextAttribute::WEIGHT [static]

Attribute key for the weight of a font.

Key

WEIGHT

Value

Float

Constants

WEIGHT_EXTRA_LIGHT = 0.5,
WEIGHT_LIGHT = 0.75,
WEIGHT_DEMI_LIGHT = 0.875,
WEIGHT_REGULAR = 1.0,
WEIGHT_SEMI_BOLD = 1.25,
WEIGHT_MEDIUM = 1.5,
WEIGHT_DEMI_BOLD = 1.75,
WEIGHT_BOLD = 2.0,
WEIGHT_HEAVY = 2.25,
WEIGHT_EXTR_ABOLD = 2.5,
WEIGHT_ULTRA_BOLD = 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.

const Float java::awt::font::TextAttribute::WEIGHT_EXTRA_LIGHT [static]

The lightest predefined weight.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_LIGHT [static]

The standard light weight.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_DEMI_LIGHT [static]

An intermediate weight between LIGHT and STANDARD.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_REGULAR [static]

The standard weight.

This weight is used if WEIGHT is unspecified.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_SEMI_BOLD [static]

A moderately heavier weight than REGULAR.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_MEDIUM [static]

An intermediate weight between the REGULAR and BOLD weights.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_DEMI_BOLD [static]

A moderately lighter weight than BOLD.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_BOLD [static]

The standard bold weight.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_HEAVY [static]

A moderately heavier weight than BOLD.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_EXTRA_BOLD [static]

An extra heavy weight.

See also:
WEIGHT

const Float java::awt::font::TextAttribute::WEIGHT_ULTRA_BOLD [static]

The heaviest predefined weight.

See also:
WEIGHT

const TextAttribute java::awt::font::TextAttribute::WIDTH [static]

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.

const Float java::awt::font::TextAttribute::WIDTH_CONDENSED [static]

The most condensed predefined width.

See also:
WIDTH

const Float java::awt::font::TextAttribute::WIDTH_SEMI_CONDENSED [static]

A moderately condensed width.

See also:
WIDTH

const Float java::awt::font::TextAttribute::WIDTH_REGULAR [static]

The standard width.

This width is used if WIDTH is unspecified.

See also:
WIDTH

const Float java::awt::font::TextAttribute::WIDTH_SEMI_EXTENDED [static]

A moderately extended width.

See also:
WIDTH

const Float java::awt::font::TextAttribute::WIDTH_EXTENDED [static]

The most extended predefined width.

See also:
WIDTH

const TextAttribute java::awt::font::TextAttribute::POSTURE [static]

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:
java.awt.Font::getItalicAngle()

const Float java::awt::font::TextAttribute::POSTURE_REGULAR [static]

The standard posture, upright.

See also:
POSTURE

const Float java::awt::font::TextAttribute::POSTURE_OBLIQUE [static]

The standard italic posture.

See also:
POSTURE

const TextAttribute java::awt::font::TextAttribute::SIZE [static]

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.

const TextAttribute java::awt::font::TextAttribute::TRANSFORM [static]

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.

const TextAttribute java::awt::font::TextAttribute::SUPERSCRIPT [static]

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)

const Integer java::awt::font::TextAttribute::SUPERSCRIPT_SUPER [static]

Standard superscript.

See also:
SUPERSCRIPT

const Integer java::awt::font::TextAttribute::SUPERSCRIPT_SUB [static]

Standard subscript.

See also:
SUPERSCRIPT

const TextAttribute java::awt::font::TextAttribute::FONT [static]

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 particular Font instance. This also allows users to specify subclasses of Font in cases where a Font can be subclassed.

const TextAttribute java::awt::font::TextAttribute::CHAR_REPLACEMENT [static]

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 .

const TextAttribute java::awt::font::TextAttribute::FOREGROUND [static]

Attribute key for the foreground paint adornment.

Key

FOREGROUND

Value

Paint

Default

Color.black

Description

Specify the foreground Paint (or Color) of the text.

const TextAttribute java::awt::font::TextAttribute::BACKGROUND [static]

Attribute key for the background Paint adornment.

Key

BACKGROUND

Value

Paint

Default

null

Description

Specify the background Paint (or Color) of the text.

const TextAttribute java::awt::font::TextAttribute::UNDERLINE [static]

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

const Integer java::awt::font::TextAttribute::UNDERLINE_ON [static]

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

See also:
UNDERLINE

const TextAttribute java::awt::font::TextAttribute::STRIKETHROUGH [static]

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.

const Boolean java::awt::font::TextAttribute::STRIKETHROUGH_ON [static]

A single strikethrough.

See also:
STRIKETHROUGH

const TextAttribute java::awt::font::TextAttribute::RUN_DIRECTION [static]

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.

const Boolean java::awt::font::TextAttribute::RUN_DIRECTION_LTR [static]

Left-to-right run direction.

See also:
RUN_DIRECTION

const Boolean java::awt::font::TextAttribute::RUN_DIRECTION_RTL [static]

Right-to-left run direction.

See also:
RUN_DIRECTION

const TextAttribute java::awt::font::TextAttribute::BIDI_EMBEDDING [static]

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.

const TextAttribute java::awt::font::TextAttribute::JUSTIFICATION [static]

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.

const Float java::awt::font::TextAttribute::JUSTIFICATION_FULL [static]

Justify the line to the full requested width.

See also:
JUSTIFICATION

const Float java::awt::font::TextAttribute::JUSTIFICATION_NONE [static]

Do not allow the line to be justified.

See also:
JUSTIFICATION

const TextAttribute java::awt::font::TextAttribute::INPUT_METHOD_HIGHLIGHT [static]

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:
java.awt.im.InputMethodHighlight

const TextAttribute java::awt::font::TextAttribute::INPUT_METHOD_UNDERLINE [static]

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

const Integer java::awt::font::TextAttribute::UNDERLINE_LOW_ONE_PIXEL [static]

Single pixel solid low underline.

See also:
INPUT_METHOD_UNDERLINE
Since:
1.3

const Integer java::awt::font::TextAttribute::UNDERLINE_LOW_TWO_PIXEL [static]

Double pixel solid low underline.

See also:
INPUT_METHOD_UNDERLINE
Since:
1.3

const Integer java::awt::font::TextAttribute::UNDERLINE_LOW_DOTTED [static]

Single pixel dotted low underline.

See also:
INPUT_METHOD_UNDERLINE
Since:
1.3

const Integer java::awt::font::TextAttribute::UNDERLINE_LOW_GRAY [static]

Double pixel gray low underline.

See also:
INPUT_METHOD_UNDERLINE
Since:
1.3

const Integer java::awt::font::TextAttribute::UNDERLINE_LOW_DASHED [static]

Single pixel dashed low underline.

See also:
INPUT_METHOD_UNDERLINE
Since:
1.3

const TextAttribute java::awt::font::TextAttribute::SWAP_COLORS [static]

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.

const Boolean java::awt::font::TextAttribute::SWAP_COLORS_ON [static]

Swap foreground and background.

const TextAttribute java::awt::font::TextAttribute::NUMERIC_SHAPING [static]

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

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


The documentation for this class was generated from the following file:
Generated on Fri May 16 11:56:21 2008 for CrossPlatformJavaLikeC++API by  doxygen 1.5.3