返回介绍

java.awt.font 类 TextAttribute

发布于 2019-10-04 09:50:21 字数 36301 浏览 991 评论 0 收藏 0

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

public final class TextAttribute
extends AttributedCharacterIterator.Attribute
 

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

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

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

  • 属性值的类型,
  • 有限制时的有效值
  • 相关常量
  • 属性值不存在(或值为 null )时的默认效果。
  • 效果的描述。
  • 请求的精确属性不可用时的应变行为。

值的类型

  • 属性值必须始终是不可变的。
  • 在给出限制列表的地方,集合之外的所有值都是为将来使用保留的,当前则被忽略。
  • 如果该值为 null ,或类型不正确,那么它将具有默认效果。特定值的效果可以使用插值替换,特别是在具有 Multiple Master 字体的情况下。此插值根据请求值的上面和下面最近定义的常量来计算:
    interpolation = (request - below)/(above - below);

插值

  • 字体应将一些值插入到特定的环境中。例如,当 WEIGHT 的值为 2.13 时。如果字体中上下最近的值是 WEIGHT_BOLD = 2.0 和 WEIGHT_HEAVY = 2.25,则字体将 WEIGHT 请求解释为 BOLD 和 HEAVY 之间 52% 处的效果。如果上下最近的值是 WEIGHT_SEMIBOLD = 1.25 和 WEIGHT_ULTRABOLD = 2.75,则将 WEIGHT 请求解释为 SEMIBOLD 和 ULTRABOLD 之间 58.67% 处的效果。
  • 如果字体没有足够的能力处理给定的请求(如上标),则应模拟到其最佳性能。要确定是否正在执行模拟,客户端应查询该字体,了解使用了哪些实际属性。

 

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

 

字段摘要
staticTextAttributeBACKGROUND 背景 Paint 装饰的属性键。
staticTextAttributeBIDI_EMBEDDING 用于嵌套式双向延伸的嵌入级别的属性键。
staticTextAttributeCHAR_REPLACEMENT 用于代替文本中显示的用户定义字形的属性键。
staticTextAttributeFAMILY 用于未本地化字体系列名称的属性键。
staticTextAttributeFONT 用于呈现文本的字体的属性键。
staticTextAttributeFOREGROUND 用于前景 paint 装饰的属性键。
staticTextAttributeINPUT_METHOD_HIGHLIGHT 用于输入方法突出显示样式的属性键。
staticTextAttributeINPUT_METHOD_UNDERLINE 输入方法下划线装饰的属性键。
staticTextAttributeJUSTIFICATION 段落调整的属性键。
staticFloatJUSTIFICATION_FULL 将此行调整到完整的请求宽度。
staticFloatJUSTIFICATION_NONE 不允许调整该行。
staticTextAttributeNUMERIC_SHAPING 将 ASCII 十进制数字转换为其他十进制范围数字的属性键。
staticTextAttributePOSTURE 字体形态的属性键。
staticFloatPOSTURE_OBLIQUE 标准斜体形态。
staticFloatPOSTURE_REGULAR 标准直立形态。
staticTextAttributeRUN_DIRECTION 行延伸方向的属性键。
staticBooleanRUN_DIRECTION_LTR 从左到右的延伸方向。
staticBooleanRUN_DIRECTION_RTL 从右到左的延伸方向。
staticTextAttributeSIZE 字体大小的属性键。
staticTextAttributeSTRIKETHROUGH 删除线装饰的属性键。
staticBooleanSTRIKETHROUGH_ON 单个删除线。
staticTextAttributeSUPERSCRIPT 用于上标和下标的属性键。
staticIntegerSUPERSCRIPT_SUB 标准下标。
staticIntegerSUPERSCRIPT_SUPER 标准上标。
staticTextAttributeSWAP_COLORS 交换前景和背景 Paint(或 Color)的属性键。
staticBooleanSWAP_COLORS_ON 交换前景和背景。
staticTextAttributeTRANSFORM 转换字体的属性键。
staticTextAttributeUNDERLINE 下划线装饰的属性键。
staticIntegerUNDERLINE_LOW_DASHED 单像素短划线低下划线。
staticIntegerUNDERLINE_LOW_DOTTED 单像素点线式低下划线。
staticIntegerUNDERLINE_LOW_GRAY 双像素灰色低下划线。
staticIntegerUNDERLINE_LOW_ONE_PIXEL 单像素实心低下划线。
staticIntegerUNDERLINE_LOW_TWO_PIXEL 双像素实心低下划线。
staticIntegerUNDERLINE_ON 标准下划线,位于用于罗马字体文本的罗马基线处,并在其他文本的下降位置之下。
staticTextAttributeWEIGHT 字体 weight 的属性键。
staticFloatWEIGHT_BOLD 标准的粗体 weight。
staticFloatWEIGHT_DEMIBOLD 比 BOLD 稍轻的 weight。
staticFloatWEIGHT_DEMILIGHT LIGHT 和 STANDARD 之间的中间 weight。
staticFloatWEIGHT_EXTRA_LIGHT 最轻的预定义 weight。
staticFloatWEIGHT_EXTRABOLD 特别重的 weight。
staticFloatWEIGHT_HEAVY 比 BOLD 稍重的 weight。
staticFloatWEIGHT_LIGHT 标准的轻 weight。
staticFloatWEIGHT_MEDIUM REGULAR 和 BOLD weight 之间的中间 weight。
staticFloatWEIGHT_REGULAR 标准 weight。
staticFloatWEIGHT_SEMIBOLD 比 REGULAR 稍重的 weight。
staticFloatWEIGHT_ULTRABOLD 最重的预定义 weight。
staticTextAttributeWIDTH 字体宽度的属性键。
staticFloatWIDTH_CONDENSED 最精简的预定义 width。
staticFloatWIDTH_EXTENDED 最宽的预定义 width。
staticFloatWIDTH_REGULAR 标准 width。
staticFloatWIDTH_SEMI_CONDENSED 适度精简的 width。
staticFloatWIDTH_SEMI_EXTENDED 适度扩展的 width。
从类 java.text.AttributedCharacterIterator.Attribute 继承的字段
INPUT_METHOD_SEGMENT, LANGUAGE, READING
构造方法摘要
protectedTextAttribute(Stringname) 构造一个具有指定名称的 TextAttribute
方法摘要
protected ObjectreadResolve() 将反序列化的实例解析成预定义常量。
从类 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。平移的结果是产生 的偏移量。原 advance 点为 ;旋转之后为 ;添加偏移后变成 ,投射到(水平)基线上后,它将成为新的 advance 点:.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(Stringname)
构造一个具有指定名称的 TextAttribute
参数:
name - 分配给此 TextAttribute 的属性名

方法详细信息

readResolve

protected Object readResolve()
                      throws InvalidObjectException
将反序列化的实例解析成预定义常量。
覆盖:
AttributedCharacterIterator.Attribute 中的 readResolve
抛出:
InvalidObjectException

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文