java.lang.Object java.text.AttributedCharacterIterator.Attribute java.awt.font.TextAttribute
public final class TextAttribute
TextAttribute
类定义用于呈现文本的属性键和属性值。
TextAttribute
实例被用作属性键,标识 Font
、TextLayout
、AttributedCharacterIterator
和其他处理文本属性的类中的属性。此类中定义的其他常量可以用作属性值。
对于每个文本属性,文档提供了:
null
值将被视为默认值并导致默认行为。 TextAttribute.WEIGHT_BOLD
和 new Float(2.0)
指示相同的 WEIGHT
。 Number
类型的属性值(用于 WEIGHT
、WIDTH
、POSTURE
、SIZE
、JUSTIFICATION
和 TRACKING
)随其自然范围的变化而变化,且不受预定义常量的限制。Number.floatValue()
用于从 Number
中获取实际值。 WEIGHT
、WIDTH
和 POSTURE
的值由系统插入,系统可以选择“最适用的”字体或者其他技巧来大致满足用户请求。
键 | 值类型 | 主要常量 | 默认值 |
---|---|---|---|
FAMILY |
String | 请参阅 Font DIALOG 、DIALOG_INPUT 、SERIF 、SANS_SERIF 和 MONOSPACED 。 |
"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 | 无 | 12.0 |
TRANSFORM |
TransformAttribute |
请参阅 TransformAttribute IDENTITY |
TransformAttribute.IDENTITY |
SUPERSCRIPT |
Integer | SUPERSCRIPT_SUPER、SUPERSCRIPT_SUB | 0(使用标准字形和规格) |
FONT |
Font |
无 | null(不重写字体分辨率) |
CHAR_REPLACEMENT |
GraphicAttribute |
无 | null(使用字体字形绘制文本) |
FOREGROUND |
Paint |
无 | null(使用当前图形绘制) |
BACKGROUND |
Paint |
无 | null(不呈现背景) |
UNDERLINE |
Integer | UNDERLINE_ON | -1(不呈现下划线) |
STRIKETHROUGH |
Boolean | STRIKETHROUGH_ON | false(不呈现删除线) |
RUN_DIRECTION |
Boolean | RUN_DIRECTION_LTR、 RUN_DIRECTION_RTL |
null(使用 Bidi 标准默认值) |
BIDI_EMBEDDING |
Integer | 无 | 0(使用基线方向) |
JUSTIFICATION |
Number | JUSTIFICATION_FULL | JUSTIFICATION_FULL |
INPUT_METHOD_HIGHLIGHT |
InputMethodHighlight 和 Annotation |
(参见类) | null(不应用输入高亮显示) |
INPUT_METHOD_UNDERLINE |
Integer | UNDERLINE_LOW_ONE_PIXEL、 UNDERLINE_LOW_TWO_PIXEL |
-1(不呈现下划线) |
SWAP_COLORS |
Boolean | SWAP_COLORS_ON | false(不交换颜色) |
NUMERIC_SHAPING |
NumericShaper |
无 | null(不对数字进行定形) |
KERNING |
Integer | KERNING_ON | 0(不要求进行字距调整) |
LIGATURES |
Integer | LIGATURES_ON | 0(不形成可选的连字) |
TRACKING |
Number | TRACKING_LOOSE、TRACKING_TIGHT | 0(不添加跟踪) |
Font
,
TextLayout
,
AttributedCharacterIterator
,
序列化表格
字段摘要 | |
---|---|
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 |
KERNING 请求进行字距调整的属性键。 |
static Integer |
KERNING_ON 请求标准字距调整。 |
static TextAttribute |
LIGATURES 启用可选连字的属性键。 |
static Integer |
LIGATURES_ON 请求标准可选连字。 |
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 的属性键。 |
static Boolean |
SWAP_COLORS_ON 交换前景和背景。 |
static TextAttribute |
TRACKING 控制跟踪的属性键。 |
static Float |
TRACKING_LOOSE 执行宽松跟踪。 |
static Float |
TRACKING_TIGHT 执行紧密跟踪。 |
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 比 WEIGHT_BOLD 稍轻的 weight。 |
static Float |
WEIGHT_DEMILIGHT WEIGHT_LIGHT 和 WEIGHT_STANDARD 之间的中间 weight。 |
static Float |
WEIGHT_EXTRA_LIGHT 最轻的预定义 weight。 |
static Float |
WEIGHT_EXTRABOLD 特别重的 weight。 |
static Float |
WEIGHT_HEAVY 比 WEIGHT_BOLD 稍重的 weight。 |
static Float |
WEIGHT_LIGHT 标准的轻 weight。 |
static Float |
WEIGHT_MEDIUM WEIGHT_REGULAR 和 WEIGHT_BOLD 之间的中间 weight。 |
static Float |
WEIGHT_REGULAR 标准 weight。 |
static Float |
WEIGHT_SEMIBOLD 比 WEIGHT_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 |
字段详细信息 |
---|
public static final TextAttribute FAMILY
String
的实例。默认值是
"Default"
,该值导致使用平台默认字体系列。
Font
类定义用于逻辑字体名称 DIALOG
、DIALOG_INPUT
、SANS_SERIF
、SERIF
和 MONOSPACED
的常量。
这定义了作为 name
传递给 Font
构造方法的值。逻辑字体名称和实际字体名称都允许使用。如果没有发现具有所请求名称的字体,则使用默认字体。
注:此属性不幸被错误命名,因为它指定了外观名称,而不只是系列名称。因此,“Lucida Sans Bold”之类的值会选择该外观(如果存在)。注意,如果请求的外观不存在,则默认字体可以与常规 weight 一起使用。该名称中的“Bold”是外观名称的一部分,而不是字体 weight 为粗体的单独请求。
public static final TextAttribute WEIGHT
Number
的实例。默认值为
WEIGHT_REGULAR
。
这里提供了一些常量值,请参阅 WEIGHT_EXTRA_LIGHT
、WEIGHT_LIGHT
、WEIGHT_DEMILIGHT
、WEIGHT_REGULAR
、WEIGHT_SEMIBOLD
、WEIGHT_MEDIUM
、WEIGHT_DEMIBOLD
、WEIGHT_BOLD
、WEIGHT_HEAVY
、WEIGHT_EXTRABOLD
和 WEIGHT_ULTRABOLD
。WEIGHT_BOLD
值对应于传递给 Font
构造方法的样式值 Font.BOLD
。
该值大致为词干宽度与常规 weight 的比。
系统可以插入提供的值。
public static final Float WEIGHT_EXTRA_LIGHT
WEIGHT
public static final Float WEIGHT_LIGHT
WEIGHT
public static final Float WEIGHT_DEMILIGHT
WEIGHT_LIGHT
和
WEIGHT_STANDARD
之间的中间 weight。
WEIGHT
public static final Float WEIGHT_REGULAR
WEIGHT
的默认值。
WEIGHT
public static final Float WEIGHT_SEMIBOLD
WEIGHT_REGULAR
稍重的 weight。
WEIGHT
public static final Float WEIGHT_MEDIUM
WEIGHT_REGULAR
和
WEIGHT_BOLD
之间的中间 weight。
WEIGHT
public static final Float WEIGHT_DEMIBOLD
WEIGHT_BOLD
稍轻的 weight。
WEIGHT
public static final Float WEIGHT_BOLD
WEIGHT
public static final Float WEIGHT_HEAVY
WEIGHT_BOLD
稍重的 weight。
WEIGHT
public static final Float WEIGHT_EXTRABOLD
WEIGHT
public static final Float WEIGHT_ULTRABOLD
WEIGHT
public static final TextAttribute WIDTH
Number
的实例。默认值为
WIDTH_REGULAR
。
这里提供了一些常量值,请参阅 WIDTH_CONDENSED
、WIDTH_SEMI_CONDENSED
、WIDTH_REGULAR
、WIDTH_SEMI_EXTENDED
和 WIDTH_EXTENDED
。
该值大致为 advance 宽度与常规宽度的比。
系统可以插入提供的值。
public static final Float WIDTH_CONDENSED
WIDTH
public static final Float WIDTH_SEMI_CONDENSED
WIDTH
public static final Float WIDTH_REGULAR
WIDTH
的默认值。
WIDTH
public static final Float WIDTH_SEMI_EXTENDED
WIDTH
public static final Float WIDTH_EXTENDED
WIDTH
public static final TextAttribute POSTURE
Number
的实例。默认值为
POSTURE_REGULAR
。
这里提供了两个常量值 POSTURE_REGULAR
和 POSTURE_OBLIQUE
。POSTURE_OBLIQUE
值对应于传递给 Font
构造方法的样式值 Font.ITALIC
。
该值粗略地表示了字体词干的倾斜度,它以邻边除以对边的形式表示。正值表示向右倾斜。
系统可以插入提供的值。
这将会影响字体的倾斜角度,该角度由 Font.getItalicAngle
返回。
Font.getItalicAngle()
public static final Float POSTURE_REGULAR
POSTURE
的默认值。
POSTURE
public static final Float POSTURE_OBLIQUE
POSTURE
public static final TextAttribute SIZE
Number
的实例。默认值为 12pt。
这对应于 Font
构造方法的 size
参数。
非常大或非常小的大小将影响呈现性能,呈现系统可能不会以这些大小呈现文本。负大小是非法的,会导致使用默认尺寸。
注意,采用 2x 转换的 12pt 字体的外观和规格可能与未转换的 24pt 字体不同。
public static final TextAttribute TRANSFORM
TransformAttribute
的实例。默认值为
TransformAttribute.IDENTITY
。
TransformAttribute
类定义了常量 IDENTITY
。
这对应于传递给 Font.deriveFont(AffineTransform)
的转换。由于该转换是可变的,并且 TextAttribute
值不可以为 null,所以使用的是 TransformAttribute
包装器类。
该值主要用于支持缩放和倾斜,但可能还有其他作用。
某些转换会导致基线旋转和/或移位。将文本和基线一起转换,从而文本将遵循新的基线。例如,对于水平基线上的文本,新的基线将遵循通过转换得到的 x 向量单元的方向。文本规格是针对此新基线进行测量的。因此,如果其他属性相同,使用旋转的 TRANSFORM 和非旋转的 TRANSFORM 呈现的文本都将视为具有相同上行高度 (ascent)、下行高度 (descent) 和步进 (advance)。
在样式化文本中,每个这样延伸的基线都将一个接一个地排列,从而可能为整个文本延伸创建一条非线性的基线。有关更多信息,请参阅 TextLayout.getLayoutPath()
。
public static final TextAttribute SUPERSCRIPT
Integer
的实例。默认值为 0,意味着没有使用上标或下标。
这里提供了两个常量值,请参阅 SUPERSCRIPT_SUPER
和 SUPERSCRIPT_SUB
。这两个常量的值分别为 1 和 -1。较大的大小值定义上标或下标的较高级别,例如,2 对应于 super-superscript,3 对应于 super-super-superscript,同样地,对于负值和下标,级别可以高达 7(或 -7)。超出此范围的值被保留;这些值代表的行为与平台有关。
SUPERSCRIPT
会影响字体的 ascent 和 descent。但是,ascent 和 descent 始终不能为负。
public static final Integer SUPERSCRIPT_SUPER
SUPERSCRIPT
public static final Integer SUPERSCRIPT_SUB
SUPERSCRIPT
public static final TextAttribute FONT
Font
的实例。默认值为 null,指示应该根据属性执行
Font
的正常分辨率。
TextLayout
和 AttributedCharac