|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt
类 Font
java.lang.Object java.awt.Font
- 所有已实现的接口:
- Serializable
- 直接已知子类:
- FontUIResource
-
public class Font
- extends Object
- implements Serializable
Font
类表示字体,用来以可见方式呈现文本。字体提供将字符 序列映射到字形 序列所需要的信息,以便在 Graphics
对象和 Component
对象上呈现字形序列。
字符和字形
字符 是表示项的符号(如字母、数字或具有抽象意义的标点)。例如,'g'
、LATIN SMALL LETTER G 是字符。
字形 是用来呈现字符或字符序列的一种形状。在简单的书写系统(如拉丁文)中,通常一个字形就表示一个字符。但是,通常字符和字形并没有一对一的对应关系。例如,字符 'á' LATIN SMALL LETTER A WITH ACUTE 可以由两个字形表示:一个是 'a',一个是 '´'。另一方面,两字符的字符串 "fi" 可以由单个字形 "fi" 连字表示。在复杂的书写系统(如阿拉伯语或南亚和东南亚语言)中,字符与字形之间的关系可能更复杂,涉及到依赖于上下文的字形选择以及字形重排序。 字体封装了呈现所选择的字符集所需的字形集,还封装了将字符序列映射到相应的字形序列所需的表。
物理字体和逻辑字体
Java 2 平台可以区分两种字体:物理 字体和逻辑 字体。物理 字体是实际的字体库,包含字形数据和表,这些数据和表使用字体技术(如 TrueType 或 PostScript Type 1)将字符序列映射到字形序列。Java 2 平台的所有实现都支持 TrueType 字体;对其他字体技术的支持是与实现相关的。物理字体可以使用字体名称,如 Helvetica、Palatino、HonMincho 或任意数量的其他字体名称。通常,每种物理字体只支持有限的书写系统集合,例如,只支持拉丁文字符或只支持日文和基本拉丁文。可用的物理字体集合随配置的不同而不同。要求特定字体的应用程序可以使用 createFont
方法来捆绑这些字体,并对其进行实例化。
逻辑 字体是由必须受所有 Java 运行时环境支持的 Java 平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput。这些逻辑字体不是实际的字体库。而是由 Java 运行时环境将逻辑字体名称映射到物理字体。映射关系与实现和通常语言环境相关,因此它们提供的外观和规格各不相同。通常,为了覆盖庞大的字符范围,每种逻辑字体名称都映射到几种物理字体。
同级的 AWT 组件(如 Label
和 TextField
)只可以使用逻辑字体。
有关使用物理字体或逻辑字体的相对优势和劣势的讨论,请参阅 Internationalization FAQ 文档。
字体外观和名称
Font
可以有多个外观,如 heavy、medium、oblique、gothic 和 regular。所有这些外观都有相似的排字设计。
可以从 Font
对象获得三种不同的名称。逻辑字体名称 只是用来构造字体的名称。字体外观名称,或外观名称 是特定字体外观的名称,如 Helvetica Bold。系列名 是字体系列的名称,用来确定多种外观(如 Helvetica)的排字设计。
Font
类表示字体外观集合中字体外观的实例,字体外观集合位于主机系统的系统资源中。例如,Arial Bold 和 Courier Bold Italic 是字体外观。有几个 Font
对象与字体外观相关,每个对象在大小、样式、变换和字体特征上都有所不同。GraphicsEnvironment
类的 getAllFonts
方法返回系统中所有可用字体外观的数组。这些字体外观作为 Font
对象返回,对象的大小为 1,具有恒等变换和默认字体特征。这些基本字体可以用来派生新的 Font
对象,使之具有变化的大小、样式、变换和字体特征,这通过此类中的 deriveFont
方法实现。
- 另请参见:
- 序列化表格
字段摘要 | |
---|---|
static int |
BOLD 粗体样式常量。 |
static int |
CENTER_BASELINE 布置文本时,在表意文字的脚本(如中文、日文和韩文)中使用的基线。 |
static int |
HANGING_BASELINE 布置文本时,在 Devanigiri 和类似脚本中使用的基线。 |
static int |
ITALIC 斜体样式常量。 |
static int |
LAYOUT_LEFT_TO_RIGHT layoutGlyphVector 的标志,指示文本是从左到右的,这由 Bidi 分析确定。 |
static int |
LAYOUT_NO_LIMIT_CONTEXT layoutGlyphVector 的标志,指示不应该检查指定 limit 之后的 char 数组中的文本。 |
static int |
LAYOUT_NO_START_CONTEXT layoutGlyphVector 的标志,指示不应该检查指定 start 之前的 char 数组中的文本。 |
static int |
LAYOUT_RIGHT_TO_LEFT layoutGlyphVector 的标志,指示文本是从右到左的,这由 Bidi 分析确定。 |
protected String |
name Font 的逻辑名称,它被传递到构造方法中。 |
static int |
PLAIN 普通样式常量。 |
protected float |
pointSize 以 float 形式表示的 Font 的点大小。 |
static int |
ROMAN_BASELINE 布置文本时,在大多数 Roman 脚本中使用的基线。 |
protected int |
size Font 的点大小,舍入为整数。 |
protected int |
style Font 的样式,它被传递到构造方法中。 |
static int |
TRUETYPE_FONT 标识 TRUETYPE 类型的字体资源。 |
static int |
TYPE1_FONT 标识 TYPE1 类型的字体资源。 |
构造方法摘要 | |
---|---|
Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) 创建一个具有指定属性的新 Font 。 |
|
Font(String name, int style, int size) 根据指定名称、样式和点大小,创建一个新 Font 。 |
方法摘要 | |
---|---|
boolean |
canDisplay(char c) 检查此 Font 是否具有指定字符的字形。 |
boolean |
canDisplay(int codePoint) 检查此 Font 是否具有指定字符的字形。 |
int |
canDisplayUpTo(char[] text, int start, int limit) 指示此 Font 是否可以显示指定 text 中从 start 开始至 limit 结束的所有字符。 |
int |
canDisplayUpTo(CharacterIterator iter, int start, int limit) 指示此 Font 是否可以显示由 iter 指定的文本(从 start 开始至 limit 结束)。 |
int |
canDisplayUpTo(String str) 指示此 Font 是否可以显示指定的 String 。 |
static Font |
createFont(int fontFormat, File fontFile) 返回一个使用指定字体类型和指定字体文件的新 Font 。 |
static Font |
createFont(int fontFormat, InputStream fontStream) 返回一个使用指定字体类型和输入数据的新 Font 。 |
GlyphVector |
createGlyphVector(FontRenderContext frc, char[] chars) 根据此 Font 中的 Unicode cmap 将字符一一映射到字形,从而创建一个 GlyphVector 。 |
GlyphVector |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) 根据此 Font 中的 Unicode cmap 将指定字符一一映射到字形,从而创建一个 GlyphVector 。 |
GlyphVector |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) 根据此 Font 中的 Unicode cmap 将字符一一映射到字形,从而创建一个 GlyphVector 。 |
GlyphVector |
createGlyphVector(FontRenderContext frc, String str) 根据此 Font 中的 Unicode cmap 将字符一一映射到字形,从而创建一个 GlyphVector 。 |
static Font |
decode(String str) 返回 str 参数所描述的 Font 。 |
Font |
deriveFont(AffineTransform trans) 通过复制当前 Font 对象并应用新的变换,创建一个新 Font 对象。 |
Font |
deriveFont(float size) 通过复制当前 Font 对象并应用新的大小,创建一个新 Font 对象。 |
Font |
deriveFont(int style) 通过复制当前的 Font 对象,并应用新的样式,创建一个新 Font 对象。 |
Font |
deriveFont(int style, AffineTransform trans) 通过复制此 Font 对象并应用新样式和变换,创建一个新 Font 对象。 |
Font |
deriveFont(int style, float size) 通过复制此 Font 对象并应用新样式和大小,创建一个新 Font 对象。 |
Font |
deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) 通过复制当前 Font 对象并应用新的字体属性集,创建一个新 Font 对象。 |
boolean |
equals(Object obj) 将此 Font 对象与指定 Object 进行比较。 |
protected void |
finalize() 移除本机 Font 对象。 |
Map<TextAttribute,?> |
getAttributes() 返回此 Font 中可用的字体属性的映射。 |
AttributedCharacterIterator.Attribute[] |
getAvailableAttributes() 返回由此 Font 支持的所有属性的键。 |
byte |
getBaselineFor(char c) 返回适合于显示此字符的基线。 |
String |
getFamily() 返回此 Font 的系列名称。 |
String |
getFamily(Locale l) 返回此 Font 的系列名称(已经针对指定语言环境进行了本地化)。 |
static Font |
getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) 返回适合于此属性集合的 Font 。 |
static Font |
getFont(String nm) 从系统属性列表返回一个 Font 对象。 |
static Font |
getFont(String nm, Font font) 从系统属性列表获取指定的 Font 。 |
String |
getFontName() 返回此 Font 的字体外观名称。 |
String |
getFontName(Locale l) 返回此 Font 的字体外观名称(已经针对指定语言环境进行了本地化)。 |
float |
getItalicAngle() 返回此 Font 的斜角。 |
LineMetrics |
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) 返回使用指定参数创建的 LineMetrics 对象。 |
LineMetrics |
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) 返回使用指定参数创建的 LineMetrics 对象。 |
LineMetrics |
getLineMetrics(String str, FontRenderContext frc) 返回一个使用指定 String 和 FontRenderContext 创建的 LineMetrics 对象。 |
LineMetrics |
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) 返回使用指定参数创建的 LineMetrics 对象。 |
Rectangle2D |
getMaxCharBounds(FontRenderContext frc) 返回最大边界定义在 FontRenderContext 中的字符的边界。 |
int |
getMissingGlyphCode() 返回此 Font 不具有指定的 unicode 字形时所使用的 glyphCode。 |
String |
getName() 返回此 Font 的逻辑名称。 |
int |
getNumGlyphs() 返回此 Font 中的字形数量。 |
java.awt.peer.FontPeer |
getPeer() 已过时。 现在,字体呈现与平台无关。 |
String |
getPSName() 返回此 Font 的 postscript 名称。 |
int |
getSize() 返回此 Font 的点大小,舍入为整数。 |
float |
getSize2D() 返回此 Font 的点大小(以 float 值表示)。 |
Rectangle2D |
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) 返回指定 FontRenderContext 指定字符数组的逻辑边界。 |
Rectangle2D |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) 返回指定 FontRenderContext 中针对指定 CharacterIterator 进行索引的字符的逻辑边界。 |
Rectangle2D |
getStringBounds(String str, FontRenderContext frc) 返回指定 FontRenderContext 中指定 String 的逻辑边界。 |
Rectangle2D |
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) 返回指定 FontRenderContext 中指定 String 的逻辑边界。 |
int |
getStyle() 返回此 Font 的样式。 |
AffineTransform |
getTransform() 返回与此 Font 相关的变换的副本。 |
int |
hashCode() 返回此 Font 的哈希码。 |
boolean |
hasUniformLineMetrics() 检查此 Font 是否具有统一的行规格。 |
boolean |
isBold() 指示此 Font 对象的样式是否为 BOLD。 |
boolean |
isItalic() 指示此 Font 对象的样式是否为 ITALIC。 |
boolean |
isPlain() 指示此 Font 对象的样式是否为 PLAIN。 |
boolean |
isTransformed() 指示此 Font 对象是否具有影响其大小以及 Size 属性的变换。 |
GlyphVector |
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) 返回一个新 GlyphVector 对象,执行完整的文本布局(如有可能)。 |
String |
toString() 将此 Font 对象转换为 String 表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
PLAIN
public static final int PLAIN
-
普通样式常量。
- 另请参见:
- 常量字段值
BOLD
public static final int BOLD
-
粗体样式常量。可以与其他样式常量(PLAIN 除外)进行组合以得到混合样式。
- 另请参见:
- 常量字段值
ITALIC
public static final int ITALIC
-
斜体样式常量。可以与其他样式常量(PLAIN 除外)进行组合以得到混合样式。
- 另请参见:
- 常量字段值
ROMAN_BASELINE
public static final int ROMAN_BASELINE
-
布置文本时,在大多数 Roman 脚本中使用的基线。
- 另请参见:
- 常量字段值
CENTER_BASELINE
public static final int CENTER_BASELINE
-
布置文本时,在表意文字的脚本(如中文、日文和韩文)中使用的基线。
- 另请参见:
- 常量字段值
HANGING_BASELINE
public static final int HANGING_BASELINE
-
布置文本时,在 Devanigiri 和类似脚本中使用的基线。
- 另请参见:
- 常量字段值
TRUETYPE_FONT
public static final int TRUETYPE_FONT
-
标识 TRUETYPE 类型的字体资源。用于为
createFont(int, java.io.InputStream)
方法指定一个 TrueType 字体资源。- 从以下版本开始:
- 1.3
- 另请参见:
- 常量字段值