public final class TextAttribute
extends AttributedCharacterIterator.Attribute
java.lang.Object | ||
↳ | java.text.AttributedCharacterIterator.Attribute | |
↳ | java.awt.font.TextAttribute |
TextAttribute
类定义用于文本呈现的属性键和属性值。
TextAttribute
实例作为属性键来识别处理文本属性的类中的属性。 此类中定义的其他常量可以用作属性值。
对于每个文本属性,文档提供:
null
is treated the same as the default value and results in the default behavior. TextAttribute.WEIGHT_BOLD
and new Float(2.0)
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. 也可以看看:
Fields |
|
---|---|
public static final TextAttribute |
BACKGROUND 用于绘制文本背景的绘画的属性键。 |
public static final TextAttribute |
BIDI_EMBEDDING 文本嵌入级别的属性键。 |
public static final TextAttribute |
CHAR_REPLACEMENT 用户自定义字形的属性键代替字符的字体标准字形显示。 |
public static final TextAttribute |
FAMILY 字体名称的属性键。 |
public static final TextAttribute |
FONT 用于提供字体以用于呈现文本的属性键。 |
public static final TextAttribute |
FOREGROUND 用于呈现文本的绘画的属性键。 |
public static final TextAttribute |
INPUT_METHOD_HIGHLIGHT 输入法高亮样式的属性键。 |
public static final TextAttribute |
INPUT_METHOD_UNDERLINE 输入法的属性键加下划线。 |
public static final TextAttribute |
JUSTIFICATION 属性键用于一段的理由。 |
public static final Float |
JUSTIFICATION_FULL 证明线路满足要求的宽度。 |
public static final Float |
JUSTIFICATION_NONE 不要让这条线是合理的。 |
public static final TextAttribute |
KERNING 用于请求字距调整的属性键。 |
public static final Integer |
KERNING_ON 请求标准字距。 |
public static final TextAttribute |
LIGATURES 用于启用可选连字的属性键。 |
public static final Integer |
LIGATURES_ON 请求标准可选连字。 |
public static final TextAttribute |
NUMERIC_SHAPING 用于将ASCII十进制数字转换为其他小数范围的属性键。 |
public static final TextAttribute |
POSTURE 字体姿态的属性键。 |
public static final Float |
POSTURE_OBLIQUE 标准的斜体姿势。 |
public static final Float |
POSTURE_REGULAR 标准的姿势,直立。 |
public static final TextAttribute |
RUN_DIRECTION 行的运行方向的属性键。 |
public static final Boolean |
RUN_DIRECTION_LTR 从左到右运行方向。 |
public static final Boolean |
RUN_DIRECTION_RTL 从右向左运行方向。 |
public static final TextAttribute |
SIZE 字体大小的属性键。 |
public static final TextAttribute |
STRIKETHROUGH 删除线的属性键。 |
public static final Boolean |
STRIKETHROUGH_ON 一个删除线。 |
public static final TextAttribute |
SUPERSCRIPT 用于上标和下标的属性键。 |
public static final Integer |
SUPERSCRIPT_SUB 标准下标。 |
public static final Integer |
SUPERSCRIPT_SUPER 标准上标。 |
public static final TextAttribute |
SWAP_COLORS 用于交换前景和背景的属性键 |
public static final Boolean |
SWAP_COLORS_ON 交换前景和背景。 |
public static final TextAttribute |
TRACKING 用于控制跟踪的属性键。 |
public static final Float |
TRACKING_LOOSE 执行松散跟踪。 |
public static final Float |
TRACKING_TIGHT 执行紧密跟踪。 |
public static final TextAttribute |
TRANSFORM 用于字体转换的属性键。 |
public static final TextAttribute |
UNDERLINE 下划线的属性键。 |
public static final Integer |
UNDERLINE_LOW_DASHED 单像素虚线下划线。 |
public static final Integer |
UNDERLINE_LOW_DOTTED 单个像素点缀低下划线。 |
public static final Integer |
UNDERLINE_LOW_GRAY 双像素灰色低下划线。 |
public static final Integer |
UNDERLINE_LOW_ONE_PIXEL 单像素实心低下划线。 |
public static final Integer |
UNDERLINE_LOW_TWO_PIXEL 双像素实心低下划线。 |
public static final Integer |
UNDERLINE_ON 标准下划线。 |
public static final TextAttribute |
WEIGHT 字体重量的属性键。 |
public static final Float |
WEIGHT_BOLD 标准的粗体重量。 |
public static final Float |
WEIGHT_DEMIBOLD 重量轻于 |
public static final Float |
WEIGHT_DEMILIGHT 介于 |
public static final Float |
WEIGHT_EXTRABOLD 一个额外的重量。 |
public static final Float |
WEIGHT_EXTRA_LIGHT 最轻的预定重量。 |
public static final Float |
WEIGHT_HEAVY 比 |
public static final Float |
WEIGHT_LIGHT 标准重量轻。 |
public static final Float |
WEIGHT_MEDIUM 介于 |
public static final Float |
WEIGHT_REGULAR 标准重量。 |
public static final Float |
WEIGHT_SEMIBOLD 比 |
public static final Float |
WEIGHT_ULTRABOLD 最重的预定重量。 |
public static final TextAttribute |
WIDTH 字体宽度的属性键。 |
public static final Float |
WIDTH_CONDENSED 最精简的预定义宽度。 |
public static final Float |
WIDTH_EXTENDED 最广泛的预定义宽度。 |
public static final Float |
WIDTH_REGULAR 标准宽度。 |
public static final Float |
WIDTH_SEMI_CONDENSED 宽度适中。 |
public static final Float |
WIDTH_SEMI_EXTENDED 宽度适中扩展。 |
Inherited fields |
---|
From class java.text.AttributedCharacterIterator.Attribute
|
Protected constructors |
|
---|---|
TextAttribute(String name) 用指定名称构造一个 |
Protected methods |
|
---|---|
Object |
readResolve() 将正在反序列化的实例解析为预定义的常量。 |
Inherited methods |
|
---|---|
From class java.text.AttributedCharacterIterator.Attribute
|
|
From class java.lang.Object
|
TextAttribute BACKGROUND
用于绘制文本背景的绘画的属性键。 值是Paint
实例。 默认值为null,表示不应渲染背景。
文本的逻辑边界将使用此 Paint
填充,然后文本将呈现在顶部(但请参阅 SWAP_COLORS
)。
如有必要,文本的可视范围将扩展至包含逻辑范围。 大纲不受影响。
TextAttribute BIDI_EMBEDDING
文本嵌入级别的属性键。 值是Integer
实例。 默认值是null
,表示双向算法应该在没有明确嵌入的情况下运行。
正值1到61是嵌入级别,负值-1到-61是覆盖级别。 值0表示使用基线方向。 这些级别通过embedding levels数组传递给Bidi
构造函数。
注意:如果此属性存在于段落中的任何位置,则该段落中的任何Unicode双向控制字符(RLO,LRO,RLE,LRE和PDF)将被忽略,并且该属性不存在的文本运行将被视为它存在并且具有值0。
也可以看看:
TextAttribute CHAR_REPLACEMENT
用户自定义字形的属性键代替字符的字体标准字形显示。 值是GraphicAttribute的实例。 默认值为空,表示应使用字体提供的标准字形。
该属性用于为嵌入在文本行中的图形或其他组件预留空间。 在执行双向重新排序(参见Bidi
)时,需要正确定位“在线”组件。 每个字符(Unicode代码点)将使用提供的GraphicAttribute进行渲染。 通常,应用此属性的字符应为\uFFFC
。
GraphicAttribute确定文本的逻辑和视觉范围; 实际的字体值将被忽略。
也可以看看:
TextAttribute FAMILY
字体名称的属性键。 值是String
实例。 默认值为"Default"
,这会导致使用平台默认字体系列。
Font
类定义逻辑字体名称的常量。
这将定义的值作为name
传递给Font
构造函数。 逻辑和物理字体名称都是允许的。 如果找不到所需名称的字体,则使用默认字体。
注意:不幸的是,这个属性是错误的,因为它指定了脸部名称,而不仅仅是家庭。 因此,如果“Lucida Sans Bold”存在,则会选择该面部。 但请注意,如果请求的脸部不存在,默认情况下将使用常规体重。 名字中的“粗体”是面名的一部分,而不是单独要求字体的粗体。
TextAttribute FONT
用于提供字体以用于呈现文本的属性键。 默认值为空,表示应该执行属性的Font
正常解析。
TextLayout
和AttributedCharacterIterator
按Maps
的TextAttributes
。 通常,所有属性都会被检查并用于选择和配置一个Font
实例。 如果存在FONT
属性,则将使用其关联的Font
。 这为用户提供了将字体属性的分辨率重写为Font
或强制使用特定Font
实例的方法。 这也允许用户指定的子类Font
的情况下,一个Font
可以被继承。
FONT
用于客户已有Font
实例但仍需使用基于Map
的API的特殊情况。 通常情况下,会有在没有其他属性Map
除了FONT
属性。 基于Map
的API的常见情况是单独指定所有属性,因此不需要或不需要FONT
。
但是,如果FONT
和其他属性都出现在Map
,则渲染系统会将Font
定义的属性与其他属性合并。 该合并过程将TextAttributes
分为两组。 一个组,即“主要”组,被认为是字体的选择和度量行为的基础。 这些属性是FAMILY
, WEIGHT
, WIDTH
, POSTURE
, SIZE
, TRANSFORM
, SUPERSCRIPT
,并TRACKING
。 另一组,“次要”组,除了FONT
本身之外,由所有其他定义的属性组成。
以生成新的Map
,首先Font
从得到FONT
属性,和其所有属性提取到一个新Map
。 然后,只有原来的Map
的辅助属性被添加到新的Map
。 因此初级属性的值从所述单独来Font
,和次要属性的值与起源Font
但是可以通过其他的值在被覆盖Map
。
TextAttribute FOREGROUND
用于呈现文本的绘画的属性键。 值是Paint
实例。 默认值为空,表示使用渲染时在Paint
设置的Graphics2D
。
无论 Graphics
(参见 SWAP_COLORS
)上设置的 Paint
值如何,使用此 Paint
都将呈现字形。
TextAttribute INPUT_METHOD_HIGHLIGHT
输入法高亮样式的属性键。 默认值为null
,这意味着输入方法样式不应在渲染前应用。
也可以看看:
TextAttribute INPUT_METHOD_UNDERLINE
输入法的属性键加下划线。 值是Integer
实例。 默认值是-1
,这意味着没有下划线。
提供了几个常量值,见 UNDERLINE_LOW_ONE_PIXEL
, UNDERLINE_LOW_TWO_PIXEL
, UNDERLINE_LOW_DOTTED
, UNDERLINE_LOW_GRAY
,并 UNDERLINE_LOW_DASHED
。
如果需要,可以与UNDERLINE
一起使用。 主要目的是通过输入法使用。 其他用于简单装饰的下划线可能会混淆用户。
输入法下划线同时影响文本的视觉边界和轮廓。
TextAttribute JUSTIFICATION
属性键用于一段的理由。 值是Number
实例。 缺省值为1,表示对齐应使用提供的全宽。 数值固定在[0..1]的范围内。
提供了常量 JUSTIFICATION_FULL
和 JUSTIFICATION_NONE
。
指定在TextLayout
上请求对齐时要使用的额外空间的分数。 例如,如果线条宽度为50点并且要求对齐至70点,则0.75值将填充以使用剩余空间的四分之三或15点,以使得所得线条将成为65点长度。
注意:这应该对段落中的所有文本具有相同的值,否则行为不确定。
Float JUSTIFICATION_FULL
证明线路满足要求的宽度。 这是JUSTIFICATION
的默认值。
也可以看看:
TextAttribute KERNING
用于请求字距调整的属性键。 值是Integer
实例。 默认值是0
,它不请求字距调整。
提供了常数值 KERNING_ON
。
单个字符的默认前进不适用于某些字符序列,例如“To”或“AWAY”。 如果不加紧,相邻的字符就会被太多空间分隔开来。 字距导致选定的字符序列间隔不同,以获得更令人愉悦的视觉效果。
TextAttribute LIGATURES
用于启用可选连字的属性键。 值是Integer
实例。 默认值是0
,这意味着不要使用可选连字。
定义了常数值 LIGATURES_ON
。
书写系统所需的连结始终处于启用状态。
TextAttribute NUMERIC_SHAPING
用于将ASCII十进制数字转换为其他小数范围的属性键。 值是NumericShaper
实例。 默认值是null
,这意味着不执行数字整形。
定义数字成形器时,在对文本执行任何其他分析之前,文本首先由成形器处理。
注意:这应该对段落中的所有文本具有相同的值,否则行为不确定。
也可以看看:
TextAttribute POSTURE
字体姿态的属性键。 值是Number
实例。 默认值是POSTURE_REGULAR
。
提供了两个常数值, POSTURE_REGULAR
和POSTURE_OBLIQUE
。 值POSTURE_OBLIQUE
对应于传递给Font
构造函数的样式值Font.ITALIC
。
该值大致是字体的词根的斜率,表示为上升趋势。 正面价值倾向于正确。
系统可以插入提供的值。
这将影响 Font.getItalicAngle
返回的字体斜体角度。
TextAttribute RUN_DIRECTION
行的运行方向的属性键。 值是Boolean
实例。 默认值为空,表示用于确定运行方向的标准Bidi算法应与值DIRECTION_DEFAULT_LEFT_TO_RIGHT
一起使用。
提供常量 RUN_DIRECTION_RTL
和 RUN_DIRECTION_LTR
。
这确定传递给 Bidi
构造函数的值以选择段落中文本的主要方向。
注意:该属性应该对段落中的所有文本具有相同的值,否则行为不确定。
也可以看看:
TextAttribute SIZE
字体大小的属性键。 值是Number
实例。 默认值是12pt。
这对应于 Font
构造函数的 size
参数。
非常大或小的尺寸会影响渲染性能,渲染系统可能无法以这些尺寸渲染文本。 负尺寸是非法的,并导致默认尺寸。
请注意,带有2x转换的12pt字体的外观和度量可能与不带转换的24点字体的不同。
TextAttribute STRIKETHROUGH
删除线的属性键。 值是Boolean
实例。 默认值是false
,这意味着没有删除线。
提供了常数值 STRIKETHROUGH_ON
。
删除线同时影响文本的视觉边界和轮廓。
TextAttribute SUPERSCRIPT
用于上标和下标的属性键。 值是Integer
实例。 默认值为0,表示不使用上标或下标。
提供了两个常数值,参见SUPERSCRIPT_SUPER
和SUPERSCRIPT_SUB
。 这些值分别为1和-1。 更大幅度的值定义更高级别的上标或下标,例如,2对应于超上标,3对应于超超标,对于负值和下标也相似,达到7(或-7)的水平。 超出此范围的值是保留的; 行为是依赖于平台的。
SUPERSCRIPT
可以影响字体的上升和下降。 然而,上升和下降永远不会变成负面的。
TextAttribute SWAP_COLORS
用于交换前景和背景的属性键Paints
。 值是Boolean
实例。 默认值是false
,这意味着不交换颜色。
定义了常量值 SWAP_COLORS_ON
。
如果设置了FOREGROUND
属性,则其Paint
将用作背景,否则将Paint
当前位于Graphics
。 如果设置了BACKGROUND
属性,则其Paint
将用作前景,否则系统将为(已解析)背景找到对比色,以便文本可见。
也可以看看:
TextAttribute TRACKING
用于控制跟踪的属性键。 值是Number
实例。 默认值是0
,这意味着不需要额外的跟踪。
提供了常数值 TRACKING_TIGHT
和 TRACKING_LOOSE
。
跟踪值乘以字体点大小并通过字体转换,以确定添加到每个字形群集的前进的额外量。 正值跟踪值将抑制可选连字的形成。 跟踪值通常在-0.1
和0.3
之间; 这个范围以外的值通常是不需要的。
TextAttribute TRANSFORM
用于字体转换的属性键。 值是TransformAttribute
实例。 默认值是TransformAttribute.IDENTITY
。
主要目的是支持缩放和倾斜,尽管其他效果也是可能的。
一些变换将导致基线旋转和/或移位。 文本和基线一起转换,以便文本符合新基线。 例如,对于水平基线上的文本,新基线跟随通过变换的单位x向量的方向。 文本指标是根据这个新的基准来衡量的。 所以,例如,在其他条件相同的情况下,使用旋转的TRANSFORM和未旋转的TRANSFORM呈现的文本将被测量为具有相同的上升,下降和前进。
TextAttribute UNDERLINE
下划线的属性键。 值是Integer
实例。 默认值是-1,这意味着没有下划线。
提供了常数值 UNDERLINE_ON
。
下划线同时影响文本的视觉边界和轮廓。
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
。
该值大致是茎宽与正常体重的比值。
系统可以插入提供的值。
Float WEIGHT_DEMILIGHT
介于 WEIGHT_LIGHT
和 WEIGHT_STANDARD
之间的中间体重。
也可以看看:
Float WEIGHT_MEDIUM
介于 WEIGHT_REGULAR
和 WEIGHT_BOLD
之间的中间体重。
也可以看看:
TextAttribute WIDTH
字体宽度的属性键。 值是Number
实例。 默认值是WIDTH_REGULAR
。
提供了几个常量值,见 WIDTH_CONDENSED
, WIDTH_SEMI_CONDENSED
, WIDTH_REGULAR
, WIDTH_SEMI_EXTENDED
, WIDTH_EXTENDED
。
该值大致为提前宽度与常规宽度的比值。
系统可以插入提供的值。
TextAttribute (String name)
用指定名称构造一个 TextAttribute
。
Parameters | |
---|---|
name |
String : the attribute name to assign to this TextAttribute |
Object readResolve ()
将正在反序列化的实例解析为预定义的常量。
Returns | |
---|---|
Object |
Throws | |
---|---|
InvalidObjectException |