java.awt.font

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

public final class TextAttribute
     
extends AttributedCharacterIterator.Attribute

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

TextAttribute 实例被用作属性键,标识 FontTextLayoutAttributedCharacterIterator 和其他处理文本属性的类中的属性。此类中定义的其他常量可以用作属性值。

对于每个文本属性,文档提供了:

  • 其值的类型,
  • 相关预定义常量(如果有)
  • 属性不存在时的默认效果
  • 有限制时的有效值
  • 效果的描述。

  • 属性值必须始终是不可变的。
  • 在给出值限制的情况下,限制集合以外的任何值都是为将来使用保留的,该值将被视为默认值。
  • null 值将被视为默认值并导致默认行为。
  • 如果值的类型不正确,则忽略该属性。
  • 值的标识无关紧要,只要是实际值即可。例如,TextAttribute.WEIGHT_BOLDnew Float(2.0) 指示相同的 WEIGHT
  • Number 类型的属性值(用于 WEIGHTWIDTHPOSTURESIZEJUSTIFICATIONTRACKING)随其自然范围的变化而变化,且不受预定义常量的限制。Number.floatValue() 用于从 Number 中获取实际值。
  • WEIGHTWIDTHPOSTURE 的值由系统插入,系统可以选择“最适用的”字体或者其他技巧来大致满足用户请求。

属性摘要

值类型 主要常量 默认值
FAMILY String 请参阅 Font DIALOGDIALOG_INPUT
SERIFSANS_SERIFMONOSPACED
"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_LIGHTWEIGHT_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_REGULARWEIGHT_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
 

字段详细信息

FAMILY

public static final TextAttribute FAMILY
字体名称的属性键。这些值是 String 的实例。默认值是 "Default",该值导致使用平台默认字体系列。

Font 类定义用于逻辑字体名称 DIALOGDIALOG_INPUTSANS_SERIFSERIFMONOSPACED 的常量。

这定义了作为 name 传递给 Font 构造方法的值。逻辑字体名称和实际字体名称都允许使用。如果没有发现具有所请求名称的字体,则使用默认字体。

注:此属性不幸被错误命名,因为它指定了外观名称,而不只是系列名称。因此,“Lucida Sans Bold”之类的值会选择该外观(如果存在)。注意,如果请求的外观不存在,则默认字体可以与常规 weight 一起使用。该名称中的“Bold”是外观名称的一部分,而不是字体 weight 为粗体的单独请求。


WEIGHT

public static final TextAttribute WEIGHT
字体 weight 的属性键。这些值是 Number 的实例。默认值为 WEIGHT_REGULAR

这里提供了一些常量值,请参阅 WEIGHT_EXTRA_LIGHTWEIGHT_LIGHTWEIGHT_DEMILIGHTWEIGHT_REGULARWEIGHT_SEMIBOLDWEIGHT_MEDIUMWEIGHT_DEMIBOLDWEIGHT_BOLDWEIGHT_HEAVYWEIGHT_EXTRABOLDWEIGHT_ULTRABOLDWEIGHT_BOLD 值对应于传递给 Font 构造方法的样式值 Font.BOLD

该值大致为词干宽度与常规 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
WEIGHT_LIGHTWEIGHT_STANDARD 之间的中间 weight。

另请参见:
WEIGHT

WEIGHT_REGULAR

public static final Float WEIGHT_REGULAR
标准 weight。这是 WEIGHT 的默认值。

另请参见:
WEIGHT

WEIGHT_SEMIBOLD

public static final Float WEIGHT_SEMIBOLD
WEIGHT_REGULAR 稍重的 weight。

另请参见:
WEIGHT

WEIGHT_MEDIUM

public static final Float WEIGHT_MEDIUM
WEIGHT_REGULARWEIGHT_BOLD 之间的中间 weight。

另请参见:
WEIGHT

WEIGHT_DEMIBOLD

public static final Float WEIGHT_DEMIBOLD
WEIGHT_BOLD 稍轻的 weight。

另请参见:
WEIGHT

WEIGHT_BOLD

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

另请参见:
WEIGHT

WEIGHT_HEAVY

public static final Float WEIGHT_HEAVY
WEIGHT_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
字体宽度的属性键。这些值是 Number 的实例。默认值为 WIDTH_REGULAR

这里提供了一些常量值,请参阅 WIDTH_CONDENSEDWIDTH_SEMI_CONDENSEDWIDTH_REGULARWIDTH_SEMI_EXTENDEDWIDTH_EXTENDED

该值大致为 advance 宽度与常规宽度的比。

系统可以插入提供的值。


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_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
字体形态的属性键。这些值是 Number 的实例。默认值为 POSTURE_REGULAR

这里提供了两个常量值 POSTURE_REGULARPOSTURE_OBLIQUEPOSTURE_OBLIQUE 值对应于传递给 Font 构造方法的样式值 Font.ITALIC

该值粗略地表示了字体词干的倾斜度,它以邻边除以对边的形式表示。正值表示向右倾斜。

系统可以插入提供的值。

这将会影响字体的倾斜角度,该角度由 Font.getItalicAngle 返回。

另请参见:
Font.getItalicAngle()

POSTURE_REGULAR

public static final Float POSTURE_REGULAR
标准直立形态。这是 POSTURE 的默认值。

另请参见:
POSTURE

POSTURE_OBLIQUE

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

另请参见:
POSTURE

SIZE

public static final TextAttribute SIZE
字体大小的属性键。这些值是 Number 的实例。默认值为 12pt。

这对应于 Font 构造方法的 size 参数。

非常大或非常小的大小将影响呈现性能,呈现系统可能不会以这些大小呈现文本。负大小是非法的,会导致使用默认尺寸。

注意,采用 2x 转换的 12pt 字体的外观和规格可能与未转换的 24pt 字体不同。


TRANSFORM

public static final TextAttribute TRANSFORM
字体转换的属性键。这些值是 TransformAttribute 的实例。默认值为 TransformAttribute.IDENTITY

TransformAttribute 类定义了常量 IDENTITY

这对应于传递给 Font.deriveFont(AffineTransform) 的转换。由于该转换是可变的,并且 TextAttribute 值不可以为 null,所以使用的是 TransformAttribute 包装器类。

该值主要用于支持缩放和倾斜,但可能还有其他作用。

某些转换会导致基线旋转和/或移位。将文本和基线一起转换,从而文本将遵循新的基线。例如,对于水平基线上的文本,新的基线将遵循通过转换得到的 x 向量单元的方向。文本规格是针对此新基线进行测量的。因此,如果其他属性相同,使用旋转的 TRANSFORM 和非旋转的 TRANSFORM 呈现的文本都将视为具有相同上行高度 (ascent)、下行高度 (descent) 和步进 (advance)。

在样式化文本中,每个这样延伸的基线都将一个接一个地排列,从而可能为整个文本延伸创建一条非线性的基线。有关更多信息,请参阅 TextLayout.getLayoutPath()

另请参见:
TransformAttribute, AffineTransform

SUPERSCRIPT

public static final TextAttribute SUPERSCRIPT
用于上标和下标的属性键。这些值是 Integer 的实例。默认值为 0,意味着没有使用上标或下标。

这里提供了两个常量值,请参阅 SUPERSCRIPT_SUPERSUPERSCRIPT_SUB。这两个常量的值分别为 1 和 -1。较大的大小值定义上标或下标的较高级别,例如,2 对应于 super-superscript,3 对应于 super-super-superscript,同样地,对于负值和下标,级别可以高达 7(或 -7)。超出此范围的值被保留;这些值代表的行为与平台有关。

SUPERSCRIPT 会影响字体的 ascent 和 descent。但是,ascent 和 descent 始终不能为负。


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 的实例。默认值为 null,指示应该根据属性执行 Font 的正常分辨率。

TextLayoutAttributedCharac