JavaTM 2 Platform
Standard Ed. 5.0

java.awt.font
类 TextAttribute

java.lang.Object
  继承者 java.text.AttributedCharacterIterator.Attribute
      继承者 java.awt.font.TextAttribute
所有已实现的接口:
Serializable

public final class TextAttribute
extends AttributedCharacterIterator.Attribute

TextAttribute 类定义用于呈现文本的属性键和属性值。

TextAttribute 实例用作属性键,识别 AttributedCharacterIteratorFont 和处理文本属性的其他类中的属性。此类中定义的其他常量用作属性值。

对于每个文本属性,文档描述了:

值的类型

插值

另请参见:
AttributedCharacterIterator, Font, 序列化表格

字段摘要
static TextAttribute BACKGROUND
          背景 Paint 装饰的属性键。
static TextAttribute BIDI_EMBEDDING
          用于嵌套式双向延伸的嵌入级别的属性键。
static TextAttribute CHAR_REPLACEMENT
          用于代替文本中显示的用户定义字形的属性键。
static TextAttribute FAMILY
          用于未本地化字体系列名称的属性键。
static TextAttribute FONT
          用于呈现文本的字体的属性键。
static TextAttribute FOREGROUND
          用于前景 paint 装饰的属性键。
static TextAttribute INPUT_METHOD_HIGHLIGHT
          用于输入方法突出显示样式的属性键。
static TextAttribute INPUT_METHOD_UNDERLINE
          输入方法下划线装饰的属性键。
static TextAttribute JUSTIFICATION
          段落调整的属性键。
static Float JUSTIFICATION_FULL
          将此行调整到完整的请求宽度。
static Float JUSTIFICATION_NONE
          不允许调整该行。
static TextAttribute NUMERIC_SHAPING
          将 ASCII 十进制数字转换为其他十进制范围数字的属性键。
static TextAttribute POSTURE
          字体形态的属性键。
static Float POSTURE_OBLIQUE
          标准斜体形态。
static Float POSTURE_REGULAR
          标准直立形态。
static TextAttribute RUN_DIRECTION
          行延伸方向的属性键。
static Boolean RUN_DIRECTION_LTR
          从左到右的延伸方向。
static Boolean RUN_DIRECTION_RTL
          从右到左的延伸方向。
static TextAttribute SIZE
          字体大小的属性键。
static TextAttribute STRIKETHROUGH
          删除线装饰的属性键。
static Boolean STRIKETHROUGH_ON
          单个删除线。
static TextAttribute SUPERSCRIPT
          用于上标和下标的属性键。
static Integer SUPERSCRIPT_SUB
          标准下标。
static Integer SUPERSCRIPT_SUPER
          标准上标。
static TextAttribute SWAP_COLORS
          交换前景和背景 Paint(或 Color)的属性键。
static Boolean SWAP_COLORS_ON
          交换前景和背景。
static TextAttribute TRANSFORM
          转换字体的属性键。
static TextAttribute UNDERLINE
          下划线装饰的属性键。
static Integer UNDERLINE_LOW_DASHED
          单像素短划线低下划线。
static Integer UNDERLINE_LOW_DOTTED
          单像素点线式低下划线。
static Integer UNDERLINE_LOW_GRAY
          双像素灰色低下划线。
static Integer UNDERLINE_LOW_ONE_PIXEL
          单像素实心低下划线。
static Integer UNDERLINE_LOW_TWO_PIXEL
          双像素实心低下划线。
static Integer UNDERLINE_ON
          标准下划线,位于用于罗马字体文本的罗马基线处,并在其他文本的下降位置之下。
static TextAttribute WEIGHT
          字体 weight 的属性键。
static Float WEIGHT_BOLD
          标准的粗体 weight。
static Float WEIGHT_DEMIBOLD
          比 BOLD 稍轻的 weight。
static Float WEIGHT_DEMILIGHT
          LIGHT 和 STANDARD 之间的中间 weight。
static Float WEIGHT_EXTRA_LIGHT
          最轻的预定义 weight。
static Float WEIGHT_EXTRABOLD
          特别重的 weight。
static Float WEIGHT_HEAVY
          比 BOLD 稍重的 weight。
static Float WEIGHT_LIGHT
          标准的轻 weight。
static Float WEIGHT_MEDIUM
          REGULAR 和 BOLD weight 之间的中间 weight。
static Float WEIGHT_REGULAR
          标准 weight。
static Float WEIGHT_SEMIBOLD
          比 REGULAR 稍重的 weight。
static Float WEIGHT_ULTRABOLD
          最重的预定义 weight。
static TextAttribute WIDTH
          字体宽度的属性键。
static Float WIDTH_CONDENSED
          最精简的预定义 width。
static Float WIDTH_EXTENDED
          最宽的预定义 width。
static Float WIDTH_REGULAR
          标准 width。
static Float WIDTH_SEMI_CONDENSED
          适度精简的 width。
static Float WIDTH_SEMI_EXTENDED
          适度扩展的 width。
 
从类 java.text.AttributedCharacterIterator.Attribute 继承的字段
INPUT_METHOD_SEGMENT, LANGUAGE, READING
 
构造方法摘要
protected TextAttribute(String name)
          构造一个具有指定名称的 TextAttribute
 
方法摘要
protected  Object readResolve()
          将反序列化的实例解析成预定义常量。
 
从类 java.text.AttributedCharacterIterator.Attribute 继承的方法
equals, getName, hashCode, toString
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

字段详细信息

FAMILY

public static final TextAttribute FAMILY
用于未本地化字体系列名称的属性键。

FAMILY

String

常量

"Serif", "SansSerif"

默认值

Host default;

描述

字体系列的名称。如果未发现系列名,则使用默认字体。该名称不应是完整的字体名称,或指定了其他属性(如名称 "Helvetica Bold ")。如果该名称与已知的系列名称不匹配,则可能导致使用默认字体。


WEIGHT

public static final TextAttribute WEIGHT
字体 weight 的属性键。

WEIGHT

Float

常量

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

默认值

WEIGHT_REGULAR

描述

该值大致为词干宽度与常规 weight 的比。如果字体有一个不同的特定常量值,则按照类描述中的说明插入该值。

应变方法

目前没有。不过,以后可能会使用形状处理
来模拟没有这些属性值的字体的 weight 变化。


WEIGHT_EXTRA_LIGHT

public static final Float WEIGHT_EXTRA_LIGHT
最轻的预定义 weight。

另请参见:
WEIGHT

WEIGHT_LIGHT

public static final Float WEIGHT_LIGHT
标准的轻 weight。

另请参见:
WEIGHT

WEIGHT_DEMILIGHT

public static final Float WEIGHT_DEMILIGHT
LIGHT 和 STANDARD 之间的中间 weight。

另请参见:
WEIGHT

WEIGHT_REGULAR

public static final Float WEIGHT_REGULAR
标准 weight。如果未指定 WEIGHT,则使用此 weight。

另请参见:
WEIGHT

WEIGHT_SEMIBOLD

public static final Float WEIGHT_SEMIBOLD
比 REGULAR 稍重的 weight。

另请参见:
WEIGHT

WEIGHT_MEDIUM

public static final Float WEIGHT_MEDIUM
REGULAR 和 BOLD weight 之间的中间 weight。

另请参见:
WEIGHT

WEIGHT_DEMIBOLD

public static final Float WEIGHT_DEMIBOLD
比 BOLD 稍轻的 weight。

另请参见:
WEIGHT

WEIGHT_BOLD

public static final Float WEIGHT_BOLD
标准的粗体 weight。

另请参见:
WEIGHT

WEIGHT_HEAVY

public static final Float WEIGHT_HEAVY
比 BOLD 稍重的 weight。

另请参见:
WEIGHT

WEIGHT_EXTRABOLD

public static final Float WEIGHT_EXTRABOLD
特别重的 weight。

另请参见:
WEIGHT

WEIGHT_ULTRABOLD

public static final Float WEIGHT_ULTRABOLD
最重的预定义 weight。

另请参见:
WEIGHT

WIDTH

public static final TextAttribute WIDTH
字体宽度的属性键。

WIDTH

Float

常量

WIDTH_CONDENSED = 0.75,
WIDTH_SEMI_CONDENSED = 0.875,
WIDTH_REGULAR = 1.0,
WIDTH_SEMI_EXTENDED = 1.25,
WIDTH_EXTENDED = 1.5

默认值

WIDTH_REGULAR

描述

该值大致为 advance 宽度与常规宽度的比。如果字体有一个不同的特定常量值,则按照类描述中的说明插入该值。

应变方法

如果 Narrow 字体可用且匹配,则使用该字体。否则,根据值来扩展转换形式。


WIDTH_CONDENSED

public static final Float WIDTH_CONDENSED
最精简的预定义 width。

另请参见:
WIDTH

WIDTH_SEMI_CONDENSED

public static final Float WIDTH_SEMI_CONDENSED
适度精简的 width。

另请参见:
WIDTH

WIDTH_REGULAR

public static final Float WIDTH_REGULAR
标准 width。如果未指定 WIDTH,则使用此 width。

另请参见:
WIDTH

WIDTH_SEMI_EXTENDED

public static final Float WIDTH_SEMI_EXTENDED
适度扩展的 width。

另请参见:
WIDTH

WIDTH_EXTENDED

public static final Float WIDTH_EXTENDED
最宽的预定义 width。

另请参见:
WIDTH

POSTURE

public static final TextAttribute POSTURE
字体形态的属性键。

POSTURE

Float

常量

POSTURE_REGULAR = 0,
POSTURE_OBLIQUE = 0.20

默认值

POSTURE_REGULAR

描述

该值通常被解释为向右倾斜的斜度。如果字体有一个不同的特定常量值,则按照类描述中的说明插入该值。对于斜体形式的字体,不仅字符的斜度会发生变化,而且字母形状也可能发生变化。
注:
要根据角度设置该值,请使用:
value = new Float(Math.tan(Math.PI*degrees/180.0)
要通过值确定角度,请使用:
angle = Math.atan(value.floatValue())*180/Math.PI

应变方法

如果 Oblique 字体可用且匹配,则使用该字体。否则,使用解释为排列/上升的形态值来获得倾斜转换形式。

另请参见:
Font.getItalicAngle()

POSTURE_REGULAR

public static final Float POSTURE_REGULAR
标准直立形态。

另请参见:
POSTURE

POSTURE_OBLIQUE

public static final Float POSTURE_OBLIQUE
标准斜体形态。

另请参见:
POSTURE

SIZE

public static final TextAttribute SIZE
字体大小的属性键。

SIZE

Float

默认值

来自系统属性

描述

表示点大小。注意,进行 2X 转换的 12pt 字体的外观和规格可能与没有进行转换的 24pt 字体不同。

应变方法

缩放到提供的大小。


TRANSFORM

public static final TextAttribute TRANSFORM
转换字体的属性键。

TRANSFORM

TransformAttribute

默认值

恒等变换

描述

用于转换由此字体呈现的字形。主要目的是支持缩放、倾斜和平移。一般情况下,较大的旋转不会生成非常有用的结果。转换将同时修改字形和 advance。转换中的平移被解释为点大小的比率。也就是说,对于大小为 12 的点,平移 0.5 的结果是移动 6 个点。

被转换字形的 advance 点是投射到基线上的 advance 点的转换。如果 advance 在字形原点的左边(顶端)结束,则交换这两个点。

一个示例:点大小为 20,原 advance 为 10.0,并且转换为逆时钟旋转 60 度加上向上和向右偏移 0.1、-0.1。平移的结果是产生 <2.0, -2.0> 的偏移量。原 advance 点为 <10.0, 0.0>;旋转之后为 <6.0, -8.0>;添加偏移后变成 <8.0,-10.0>,投射到(水平)基线上后,它将成为新的 advance 点:<8.0, 0.0>.advance 宽度是从原点到 advance 点的距离:8.0. 旋转字形呈现为位于原点右上方并被旋转的两点。这不影响后续字形的基线。


SUPERSCRIPT

public static final TextAttribute SUPERSCRIPT
用于上标和下标的属性键。

SUPERSCRIPT

Integer

常量

SUPERSCRIPT_NONE = 0,
SUPERSCRIPT_SUPER = 1,
SUPERSCRIPT_SUB = -1

默认值

SUPERSCRIPT_NONE

描述

请求字体使用特定上标级别字形来显示字符:0 = none、1 = superscript、2 = superscript of superscript,...-1 = subscript、-2 = subscript of subscript,...请求字体使用默认上标(或下标)字形和/或缩放显示文本。

应变方法

对每个级别渐进使用平移 +/-1/2 和缩放 2/3 的转换。也就是说,在级别 N (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
标准上标。

另请参见:
SUPERSCRIPT

SUPERSCRIPT_SUB

public static final Integer SUPERSCRIPT_SUB
标准下标。

另请参见:
SUPERSCRIPT

FONT

public static final TextAttribute FONT
用于呈现文本的字体的属性键。

FONT

Font

默认值

无,执行默认分辨率

描述

用户将字体属性的分辨率重写到 Font 的一种方法,或强制使用特定的 Font 实例的一种方法。这允许用户指定 Font 的子类,在这种情况下,可以为 Font 创建子类。


CHAR_REPLACEMENT

public static final TextAttribute CHAR_REPLACEMENT
用于代替文本中显示的用户定义字形的属性键。

CHAR_REPLACEMENT

GraphicAttribute

描述

允许用户指定空位置和规格信息。此方法用于为图形或其他嵌入组件保留空间。在某一行中,正确的“内嵌”组件 BIDI 位置是必须的。一个可选的便捷方法可以允许对简单的情形进行绘制。按照 Microsoft 模型:应用的字符应为 \uFFFC


FOREGROUND

public static final TextAttribute FOREGROUND
用于前景 paint 装饰的属性键。

FOREGROUND

Paint

默认值

Color.black

描述

指定文本的前景 Paint(或 Color)。


BACKGROUND

public static final TextAttribute BACKGROUND
背景 Paint 装饰的属性键。

BACKGROUND

Paint

默认值

null

描述

指定文本的背景 Paint(或 Color)。


UNDERLINE

public static final TextAttribute UNDERLINE
下划线装饰的属性键。

UNDERLINE

Integer

常量

UNDERLINE_ON = 0

默认值

描述

添加到由字体呈现的字形的装饰。

应变方法


UNDERLINE_ON

public static final Integer UNDERLINE_ON
标准下划线,位于用于罗马字体文本的罗马基线处,并在其他文本的下降位置之下。

另请参见:
UNDERLINE

STRIKETHROUGH

public static final TextAttribute STRIKETHROUGH
删除线装饰的属性键。

STRIKETHROUGH

Boolean

常量

true = on, false = off

默认值

off

描述

添加到由字体呈现的字形的装饰。


STRIKETHROUGH_ON

public static final Boolean STRIKETHROUGH_ON
单个删除线。

另请参见:
STRIKETHROUGH

RUN_DIRECTION

public static final TextAttribute RUN_DIRECTION
行延伸方向的属性键。

RUN_DIRECTION

Boolean

常量

RUN_DIRECTION_LTR = true, RUN_DIRECTION_RTL = false

默认值

根据 BIDI 算法使用默认 Unicode 基本方向。

描述

在一个段落中放置混向排列的文本时,指定使用的基本延伸方向。如果此值为 RUN_DIRECTION_DEFAULT,则 TextLayout 将根据 BIDI 算法使用默认 Unicode 基本方向。

此属性应在整个段落中具有相同的值。


RUN_DIRECTION_LTR

public static final Boolean RUN_DIRECTION_LTR
从左到右的延伸方向。

另请参见:
RUN_DIRECTION

RUN_DIRECTION_RTL

public static final Boolean RUN_DIRECTION_RTL
从右到左的延伸方向。

另请参见:
RUN_DIRECTION

BIDI_EMBEDDING

public static final TextAttribute BIDI_EMBEDDING
用于嵌套式双向延伸的嵌入级别的属性键。

BIDI_EMBEDDING

Integer

限制

1 到 61 的正值为嵌入 级别,-1
到 -61 的负值为重写 级别

默认值

使用标准 BIDI 计算文本中格式化字符的级别。

描述

指定字符的 bidi 嵌入级别。如果此属性出现在一个段落中的任何位置,则 Unicode 字符 RLO、LRO、RLE、LRE、PDF 在该段的 BIDI 分析中将被丢弃。请参阅《Unicode Standard v. 2.0》的第 3-11 节。


JUSTIFICATION

public static final TextAttribute JUSTIFICATION
段落调整的属性键。

JUSTIFICATION

Float

限制

0.0 到 1.0

默认值

1.0

描述

在请求调整时,指定使用额外空间的哪个片段。例如,如果该行为 50 个点宽,页边距为 70 个点宽,则值 0.5 是指填补该行以达到 60 个点的宽度。

此属性应在整个段落中具有相同的值。


JUSTIFICATION_FULL

public static final Float JUSTIFICATION_FULL
将此行调整到完整的请求宽度。

另请参见:
JUSTIFICATION

JUSTIFICATION_NONE

public static final Float JUSTIFICATION_NONE
不允许调整该行。

另请参见:
JUSTIFICATION

INPUT_METHOD_HIGHLIGHT

public static final TextAttribute INPUT_METHOD_HIGHLIGHT
用于输入方法突出显示样式的属性键。

这些值是 InputMethodHighlight 的实例。如果需要分别突出显示各段,这些实例应包装在 Annotation 实例中。

在使用输入方法撰写文本时,将使用输入方法突出显示。即使是通常只处理无样式的文本的文本编辑组件,也应保留输入方法突出显示,并使它们可用于绘制例程。

另请参见:
InputMethodHighlight

INPUT_METHOD_UNDERLINE

public static final TextAttribute INPUT_METHOD_UNDERLINE
输入方法下划线装饰的属性键。

INPUT_METHOD_UNDERLINE

Integer

常量

UNDERLINE_LOW_ONE_PIXEL, UNDERLINE_LOW_TWO_PIXEL, UNDERLINE_LOW_DOTTED, UNDERLINE_LOW_GRAY, UNDERLINE_LOW_DASHED

默认值

无下划线

从以下版本开始:
1.3

UNDERLINE_LOW_ONE_PIXEL

public static final Integer UNDERLINE_LOW_ONE_PIXEL
单像素实心低下划线。

从以下版本开始:
1.3
另请参见:
INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_TWO_PIXEL

public static final Integer UNDERLINE_LOW_TWO_PIXEL
双像素实心低下划线。

从以下版本开始:
1.3
另请参见:
INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_DOTTED

public static final Integer UNDERLINE_LOW_DOTTED
单像素点线式低下划线。

从以下版本开始:
1.3
另请参见:
INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_GRAY

public static final Integer UNDERLINE_LOW_GRAY
双像素灰色低下划线。

从以下版本开始:
1.3
另请参见:
INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_DASHED

public static final Integer UNDERLINE_LOW_DASHED
单像素短划线低下划线。

从以下版本开始:
1.3
另请参见:
INPUT_METHOD_UNDERLINE

SWAP_COLORS

public static final TextAttribute SWAP_COLORS
交换前景和背景 Paint(或 Color)的属性键。

这些值是 Boolean 的实例。默认情况下为不交换前景和背景。如果同时定义了前景和背景属性,那么这会导致在呈现文本时交换这些属性。如果将其中一个属性值作为默认值,则准确的效果是不明确的,通常会产生“反白”显示。


SWAP_COLORS_ON

public static final Boolean SWAP_COLORS_ON
交换前景和背景。


NUMERIC_SHAPING

public static final TextAttribute NUMERIC_SHAPING
将 ASCII 十进制数字转换为其他十进制范围数字的属性键。

这些值是 NumericShaping 的实例。默认情况下不执行数字整形。

构造方法详细信息

TextAttribute

protected TextAttribute(String name)
构造一个具有指定名称的 TextAttribute

参数:
name - 分配给此 TextAttribute 的属性名
方法详细信息

readResolve

protected Object readResolve()
                      throws InvalidObjectException
将反序列化的实例解析成预定义常量。

覆盖:
AttributedCharacterIterator.Attribute 中的 readResolve
抛出:
InvalidObjectException

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策