public final class TextAttribute extends AttributedCharacterIterator.Attribute
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
由系统内,可选择“最近的可用的字体或使用其他技术来逼近用户的要求。Key | Value Type | Principal Constants | Default Value |
---|---|---|---|
FAMILY |
String | See Font DIALOG , DIALOG_INPUT ,SERIF , SANS_SERIF , and MONOSPACED . |
"Default" (use platform 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 | none | 12.0 |
TRANSFORM |
TransformAttribute |
See TransformAttribute IDENTITY |
TransformAttribute.IDENTITY |
SUPERSCRIPT |
Integer | SUPERSCRIPT_SUPER, SUPERSCRIPT_SUB | 0 (use the standard glyphs and metrics) |
FONT |
Font |
none | null (do not override font resolution) |
CHAR_REPLACEMENT |
GraphicAttribute |
none | null (draw text using font glyphs) |
FOREGROUND |
Paint |
none | null (use current graphics paint) |
BACKGROUND |
Paint |
none | null (do not render background) |
UNDERLINE |
Integer | UNDERLINE_ON | -1 (do not render underline) |
STRIKETHROUGH |
Boolean | STRIKETHROUGH_ON | false (do not render strikethrough) |
RUN_DIRECTION |
Boolean | RUN_DIRECTION_LTR RUN_DIRECTION_RTL |
null (use Bidi standard default) |
BIDI_EMBEDDING |
Integer | none | 0 (use base line direction) |
JUSTIFICATION |
Number | JUSTIFICATION_FULL | JUSTIFICATION_FULL |
INPUT_METHOD_HIGHLIGHT |
InputMethodHighlight ,Annotation |
(see class) | null (do not apply input highlighting) |
INPUT_METHOD_UNDERLINE |
Integer | UNDERLINE_LOW_ONE_PIXEL, UNDERLINE_LOW_TWO_PIXEL |
-1 (do not render underline) |
SWAP_COLORS |
Boolean | SWAP_COLORS_ON | false (do not swap colors) |
NUMERIC_SHAPING |
NumericShaper |
none | null (do not shape digits) |
KERNING |
Integer | KERNING_ON | 0 (do not request kerning) |
LIGATURES |
Integer | LIGATURES_ON | 0 (do not form optional ligatures) |
TRACKING |
Number | TRACKING_LOOSE, TRACKING_TIGHT | 0 (do not add tracking) |
Modifier and Type | Field and Description |
---|---|
static TextAttribute |
BACKGROUND
用于渲染文本背景的油漆的属性键。
|
static TextAttribute |
BIDI_EMBEDDING
文本嵌入级别的属性键。
|
static TextAttribute |
CHAR_REPLACEMENT
为用户定义的一个用户定义的字形的属性键来显示一个字符的标准字形。
|
static TextAttribute |
FAMILY
字体名称的属性键。
|
static TextAttribute |
FONT
属性键用于提供用于渲染文本的字体。
|
static TextAttribute |
FOREGROUND
用于渲染文本的油漆的属性键。
|
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
属性键superscripting和下标。
|
static Integer |
SUPERSCRIPT_SUB
标准的下标。
|
static Integer |
SUPERSCRIPT_SUPER
标准上标。
|
static TextAttribute |
SWAP_COLORS
属性键交换前景色和背景
Paints 。
|
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
字体重量的属性键。
|
static Float |
WEIGHT_BOLD
标准黑体重量。
|
static Float |
WEIGHT_DEMIBOLD
一个比
WEIGHT_BOLD 中等重量更轻。
|
static Float |
WEIGHT_DEMILIGHT
WEIGHT_LIGHT 和
WEIGHT_STANDARD 之间的一个中间量。
|
static Float |
WEIGHT_EXTRA_LIGHT
最轻的预定义重量。
|
static Float |
WEIGHT_EXTRABOLD
一个额外的重。
|
static Float |
WEIGHT_HEAVY
一个比
WEIGHT_BOLD 中度重。
|
static Float |
WEIGHT_LIGHT
标准重量。
|
static Float |
WEIGHT_MEDIUM
WEIGHT_REGULAR 和
WEIGHT_BOLD 之间的一个中间量。
|
static Float |
WEIGHT_REGULAR
标准重量。
|
static Float |
WEIGHT_SEMIBOLD
一个比
WEIGHT_REGULAR 中度重。
|
static Float |
WEIGHT_ULTRABOLD
最重的预定义重量。
|
static TextAttribute |
WIDTH
字体宽度的属性键。
|
static Float |
WIDTH_CONDENSED
最浓缩的预定义宽度。
|
static Float |
WIDTH_EXTENDED
最扩展的预定义宽度。
|
static Float |
WIDTH_REGULAR
标准宽度。
|
static Float |
WIDTH_SEMI_CONDENSED
中等浓缩宽度。
|
static Float |
WIDTH_SEMI_EXTENDED
中等宽度。
|
INPUT_METHOD_SEGMENT, LANGUAGE, READING
Modifier | Constructor and Description |
---|---|
protected |
TextAttribute(String name)
构建了一个具有指定名称的
TextAttribute 。
|
Modifier and Type | Method and Description |
---|---|
protected Object |
readResolve()
解决的情况下被反序列化到预定义的常量。
|
equals, getName, hashCode, toString
public static final TextAttribute FAMILY
String
。默认值是
"Default"
,使平台的默认字体家族使用。
的Font
类定义了逻辑字体名称DIALOG
,DIALOG_INPUT
,SANS_SERIF
,SERIF
常数,和MONOSPACED
。
这个定义为name
的Font
构造函数传递的值。逻辑和物理字体名称都允许。如果没有找到所请求的名称的字体,则使用默认的字体。
注意:这个属性是名不副实的,因为它指定名脸不只是家庭。因此,如“Lucida Sans大胆”,如果它存在,面对价值选择。请注意,虽然,如果所请求的面不存在,默认将使用普通的重量。“大胆”的名字是人脸名称的一部分,而不是一个单独的要求,字体的重量是大胆的。
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.BOLD
作为传递给Font
构造函数。
该值大致是茎宽与正常体重的比值。
该系统可以对提供的价值。
public static final Float WEIGHT_DEMILIGHT
WEIGHT_LIGHT
和
WEIGHT_STANDARD
之间的一个中间量。
WEIGHT
public static final Float WEIGHT_MEDIUM
WEIGHT_REGULAR
和
WEIGHT_BOLD
之间的一个中间量。
WEIGHT
public static final TextAttribute WIDTH
Number
实例。默认值是
WIDTH_REGULAR
。
几个恒定值提供,看到WIDTH_CONDENSED
,WIDTH_SEMI_CONDENSED
,WIDTH_REGULAR
,WIDTH_SEMI_EXTENDED
,WIDTH_EXTENDED
。
该值大致为普通宽度的提前宽度之比。
该系统可以对提供的价值。
public static final TextAttribute POSTURE
Number
。默认值是
POSTURE_REGULAR
。
提供两个恒定值,POSTURE_REGULAR
和POSTURE_OBLIQUE
。价值POSTURE_OBLIQUE
对应的样式值Font.ITALIC
作为传递给Font
构造函数。
该值大致是斜率的字体的字体,表示为运行在上升。积极价值观。
该系统可以对提供的价值。
这会影响字体的倾斜角的返回Font.getItalicAngle
。
Font.getItalicAngle()
public static final TextAttribute SIZE
Number
实例。默认值为12。
与此对应的Font
size
构造函数的参数。
非常大或小的大小将影响渲染性能,渲染系统可能无法在这些大小的文本。负面的大小是非法的,并导致默认大小。
注意,一个2磅字体外观和度量变换可能是不同的比一个没有变换的24点字体。
public static final TextAttribute TRANSFORM
TransformAttribute
实例。默认值是
TransformAttribute.IDENTITY
的TransformAttribute
类定义的常数IDENTITY
。
这对应于变换通过Font.deriveFont(AffineTransform)
。由于变换是可变的,TextAttribute
值不得,TransformAttribute
包装类的使用。
的主要目的是支持缩放和倾斜,虽然其他的效果是可能的。
一些变换将导致基线旋转和/或移位。文本和基线被转换在一起,使文本遵循新的基线。例如,在一个水平基线上的文本,新的基线如下的单位x矢量通过变换的方向。针对这一新的基线测量文本度量。所以,例如,其他的事情都是平等的,文本呈现一个旋转变换和旋转变换将测量具有相同的上升、下降、前进。
在文字样式,对于每一次这样的运行基线对齐一前一后可能对整个文本运行产生一个非线性的基线。更多信息,见TextLayout.getLayoutPath()
。
public static final TextAttribute SUPERSCRIPT
Integer
实例。默认值为0,这意味着没有使用上标或下标。
提供两个恒定值,看SUPERSCRIPT_SUPER
和SUPERSCRIPT_SUB
。这些都值1和1分别。更大的幅度值定义更高级别的上标或下标,例如,2对应于超标,3超超标,同样为负值下标,达到7(或7)。超出此范围的值是保留的;行为是依赖于平台的。
SUPERSCRIPT
可以影响一个字体的上升和下降。上升和下降永远不会成为负面的,但是。
public static final Integer SUPERSCRIPT_SUPER
SUPERSCRIPT
public static final Integer SUPERSCRIPT_SUB
SUPERSCRIPT
public static final TextAttribute FONT
Font
实例。默认值为零,表明正常分辨率的
Font
从属性应进行。
在Maps
TextAttributes
条款的TextLayout
和AttributedCharacterIterator
工作。通常情况下,所有的属性进行检查,用于选择和配置Font
实例。如果一个FONT
属性存在,但其相关的Font
将使用。这为用户提供了覆盖字体属性为Font
分辨率的方法,或一个特定的Font
实例使用武力。这也允许用户指定子Font
如果Font
可以定义。
FONT
用于特殊情况下,客户已经有了一个Font
实例,但仍然需要使用Map
-based API。通常情况下,不会有其他属性的Map
除了FONT
属性。与Map
-based API,常见的情况是,到指定的所有属性的个体,因此是不必要的或可取FONT
。
然而,如果FONT
等属性在Map
,渲染系统将合并与附加属性定义的属性Font
。这个合并的过程将TextAttributes
分成两组。一组,“主”组,被认为是基本的字体的选择和度量的行为。这些属性是FAMILY
,WEIGHT
,WIDTH
,POSTURE
,SIZE
,TRANSFORM
,SUPERSCRIPT
,和TRACKING
。另一组的“次要”组,包括所有其他定义的属性,与FONT
本身的例外。
产生新的Map
,首先是从FONT
属性获得的Font
,及其所有属性提取到一个新的Map
。那么只有次属性从原来的Map
添加到那些在新Map
。因此,主属性的值是单独从Font
,和次属性的值来自于Font
但也可以被其他的价值在Map
。
注:Font's
Map
-based构造函数和deriveFont
方法不处理FONT
属性,因为这些都是用于创建新的Font
对象。相反,Font.getFont(Map)
应该用来处理FONT
属性。
Font
public static final TextAttribute CHAR_REPLACEMENT
此属性用于嵌入在文本行中的图形或其他组件的空间。它需要正确定位“内联”的组件内的线时,双向排序(见Bidi
)进行。每个字符(Unicode代码点)将使用提供的graphicattribute渲染。通常,此属性应用的汉字应该\uFFFC
。
的graphicattribute确定文本的逻辑和视觉范围的实际字体的值将被忽略。
GraphicAttribute
public static final TextAttribute FOREGROUND
Paint
。默认值为零,表明
Paint
设置在
Graphics2D
在渲染时使用。
符号将使用这个Paint
不管的Paint
值设置在Graphics
渲染(但看SWAP_COLORS
)。
Paint
,
SWAP_COLORS
public static final TextAttribute BACKGROUND
Paint
实例。默认值为零,表明背景不应该被渲染。
文本的逻辑界限将使用这个Paint
填充,然后将该文本在上面渲染(但看SWAP_COLORS
)。
文本的可视范围扩展到包括逻辑边界,如果必要的话。轮廓不受影响。
Paint
,
SWAP_COLORS
public static final TextAttribute UNDERLINE
public static final TextAttribute STRIKETHROUGH
public static final Boolean STRIKETHROUGH_ON
STRIKETHROUGH
public static final TextAttribute RUN_DIRECTION
Boolean
实例。默认值为空,这表明确定运行方向标准比迪算法应该用价值
Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT
。
提供RUN_DIRECTION_RTL
和RUN_DIRECTION_LTR
常数。
这就决定了对Bidi
构造函数选择在段落文本的主要价值取向。
注意:这个属性应该具有一个段落中所有文本的相同的值,否则行为是不确定的。
Bidi
public static final Boolean RUN_DIRECTION_LTR
RUN_DIRECTION
public static final Boolean RUN_DIRECTION_RTL
RUN_DIRECTION
public static final TextAttribute BIDI_EMBEDDING
Integer
实例。默认值是
null
,表明双向算法应该运行没有明确的嵌入。
正值1到61是嵌入水平,负值- 1通过- 61是覆盖水平。值0意味着使用基准线方向。这些级别是在嵌入水平阵列的Bidi
构造器传递。
注:当这个属性是段落中的任何地方,那么任何Unicode比迪控制字符(RLO,LRO,RLE,发动机,和PDF)段中被忽视,而这个属性不存在原文作为如果它是有价值的0。
Bidi
public static final TextAttribute JUSTIFICATION
Number
实例。默认值为1,说明理由应该使用提供的全宽度。值被固定到范围[ 0 .. 1 ]。
提供JUSTIFICATION_FULL
和JUSTIFICATION_NONE
常数。
指定的额外空间的分数时使用的理由是在TextLayout
要求。例如,如果线是50点宽,它要求证明到70点,一个值0.75将垫使用四分之三的剩余空间,或15点,使所得到的线将是65个点的长度。
注意:这应该有一个段落中所有文本的相同的值,否则的行为是不确定的。
public static final Float JUSTIFICATION_FULL
JUSTIFICATION
默认值。
JUSTIFICATION
public static final Float JUSTIFICATION_NONE
JUSTIFICATION
public static final TextAttribute INPUT_METHOD_HIGHLIGHT
价值观是InputMethodHighlight
或Annotation
实例。默认值是null
,这意味着输入法风格不应该被应用在渲染之前。
如果用同样的InputMethodHighlight
文本相邻运行需要单独渲染,这InputMethodHighlights
应包在Annotation
实例。
输入法突出使用,而文本是由输入法。文本编辑组件应该保留他们,即使他们一般只处理文本样式,并将它们提供给绘图程序。
Font
,
InputMethodHighlight
,
Annotation
public static final TextAttribute INPUT_METHOD_UNDERLINE
Integer
实例。默认值是
-1
,这意味着没有下划线。
几个恒定值提供,看到UNDERLINE_LOW_ONE_PIXEL
,UNDERLINE_LOW_TWO_PIXEL
,UNDERLINE_LOW_DOTTED
,UNDERLINE_LOW_GRAY
,和UNDERLINE_LOW_DASHED
。
这可能是如果需要配合使用UNDERLINE
。主要目的是使用输入法。这些简单的装饰,强调使用可能会混淆用户。
输入法下划线会影响视觉范围和文本的轮廓。
public static final Integer UNDERLINE_LOW_ONE_PIXEL
INPUT_METHOD_UNDERLINE
public static final Integer UNDERLINE_LOW_TWO_PIXEL
INPUT_METHOD_UNDERLINE
public static final Integer UNDERLINE_LOW_DOTTED
INPUT_METHOD_UNDERLINE
public static final Integer UNDERLINE_LOW_GRAY
INPUT_METHOD_UNDERLINE
public static final Integer UNDERLINE_LOW_DASHED
INPUT_METHOD_UNDERLINE
public static final TextAttribute SWAP_COLORS
Paints
。价值观是
Boolean
实例。默认值是
false
,即不改变颜色。
常数值SWAP_COLORS_ON
定义。
如果FOREGROUND
属性设置,其Paint
将作为背景,否则Paint
目前在Graphics
将使用。如果BACKGROUND
属性设置,其Paint
将作为前景,否则系统会发现对比色的(解决)背景,文本是可见的。
FOREGROUND
,
BACKGROUND
public static final Boolean SWAP_COLORS_ON
SWAP_COLORS
public static final TextAttribute NUMERIC_SHAPING
NumericShaper
。默认的是
null
,这意味着不执行数字整形。
当一个数字整形的定义,本文首先经过整形之前执行任何其他文本分析。
注意:这应该有相同的值,在该段中的所有文本,否则的行为是不确定的。
NumericShaper
public static final TextAttribute KERNING
Integer
。默认值是
0
,不要求字距。
提供恒定的价值KERNING_ON
。
单个字符的默认的进步是不适合一些字符序列,例如“到”或“离开”。没有字距相邻的角色似乎有太多的空间分离。字距调整导致性状的选择序列是一个更愉快的视觉外观的间隔不同。
public static final TextAttribute LIGATURES
public static final TextAttribute TRACKING
Number
。默认值是
0
,这意味着没有额外的跟踪。
提供恒定值TRACKING_TIGHT
和TRACKING_LOOSE
。
跟踪值乘以字体点的大小,并通过字体变换,以确定一个额外的金额添加到每个字形集群的前进。积极跟踪值将抑制可选连字形成。跟踪值通常-0.1
和0.3
之间;超出此范围的值一般不可取。
protected TextAttribute(String name)
TextAttribute
。
name
-属性名称分配给该
TextAttribute
protected Object readResolve() throws InvalidObjectException
readResolve
方法重写,继承类
AttributedCharacterIterator.Attribute
Attribute
对象
InvalidObjectException
如果解决的对象是不
Attribute
实例
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.