public class Font extends Object implements Serializable
Font类表示的字体,这是用来在一个可见的方式呈现文本。字体提供所需要的映射字符的顺序序列的字形和渲染在
Graphics和
Component对象符号序列的信息。
'g',拉丁字母G,是一个字符。
一个字形是用来呈现一个字符或一个字符序列的形状。在简单的书写系统中,如拉丁语,通常一个字形代表一个字符。总的来说,然而,字符和符号没有对应。例如,人物á的拉丁文小写字母一个急性的,可以用两个符号表示:一为“A”和一个“´”。另一方面,两个字符串“高保真”可以由一个单一的符号表示,“高保真”结扎。在复杂的书写系统,如阿拉伯语或南亚和东亚文字,字符和字形之间的关系可以更复杂,涉及到符号的上下文相关的选择以及字形排序。字体封装需要渲染一组选定的特征以及需要Map的字符序列的符号对应的序列表符号集。
物理字体包含字形数据和表格图从字符序列符号序列的实际字体库,使用字体技术如TrueType和PostScript Type 1。所有的java平台实现必须支持TrueType字体;其他字体技术支持是依赖于实现的。物理字体可以使用名字如Helvetica,帕拉蒂诺,honmincho,或任何其他的字体名称。通常情况下,每个物理字体只支持一组有限的书写系统,例如,只有拉丁字符或只有日语和基本的拉丁语。可用的物理字体的集合在配置之间变化。应用程序需要特定的字体可以把他们和他们的createFont实例化使用方法。
逻辑字体五字体家族的java平台必须在任何java运行环境支持的定义:衬线、SansSerif、等宽,对话框,和dialoginput。这些逻辑字体不是实际的字体库。相反,逻辑字体名称用java运行环境映射到物理字体。映射是实现的,通常是依赖于区域设置的,所以它们的外观和所提供的度量会有所不同。通常情况下,每个逻辑字体名称映射到几个物理字体,以覆盖一个大范围的字符。
凝视AWT组件,如Label和TextField,只能使用逻辑字体。
对于一个使用物理或逻辑字体的相对优势和劣势的讨论,看Internationalization FAQ文件。
Font可以有很多面,如重介质、斜、哥特式和规则。所有这些面孔有相似的字体设计。
有三个不同的名字,你可以从一个Font对象。逻辑字体名称只是用来构造字体的名称。字体名称,或只是字体名称的简称,是一种特殊的字体的名称,Helvetica大胆。家族名称的字体名称,确定排版设计不同的面孔,像何略体擦。
的Font类代表从收集的字体,在主机系统的资源呈现一个字体的实例。作为例子,Arial Bold和快递大胆斜体的字体。可以有几个Font对象与字体有关,每个不同的大小、风格、变换和字体特征。
该GraphicsEnvironment班getAllFonts方法返回的数组的所有字体的面孔在系统。这些字体有一个大小为1 Font对象返回,身份变换和默认字体的功能。这些基地的字体可以用来派生新的Font对象具有不同的尺寸、款式、变换和字体特征通过deriveFont方法在这类。
Font支持最TextAttributes。这使得一些操作,如显示带下划线的文本,方便,因为不需要显式地构造一个TextLayout对象。属性可设置或获取建设用Map TextAttribute值的字体。
一些TextAttributes的值是不可序列化,因此试图将Font有这样的价值观不会序列化实例。这意味着一个字体反序列化,从这样一个流不相等,包含非序列化的属性原字体。这应该很少造成问题,因为这些属性通常只用于特殊情况下,是不可能被序列化。
FOREGROUND和BACKGROUND使用Paint值。子类Color是可串行化的,而不是GradientPaint和TexturePaint。CHAR_REPLACEMENT使用GraphicAttribute值。子类ShapeGraphicAttribute和ImageGraphicAttribute不是序列化。INPUT_METHOD_HIGHLIGHT使用InputMethodHighlight值,这是不可序列化的。看到InputMethodHighlight。客户创造Paint和GraphicAttribute定制子类可以使其序列化和避免这个问题。谁使用输入法强调客户可以将这些平台特定的属性,强调在当前平台放在字体作为一种解决方法。
的Map-based构造函数和deriveFont API忽略字体属性,它不是由字体保留;静态getFont(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>)方法应该如果字体属性可以使用。更多信息见TextAttribute.FONT。
几个属性将导致额外的渲染开销和潜在的调用布局。如果一个Font具有这样的属性,方法将返回true。hasLayoutAttributes()
注:字体的旋转可以使文本基线旋转。为了解释这个(罕见)的可能性,字体的接口指定返回的指标,并采取参数“在基线相对坐标”。这张Map的“X”坐标向前沿基线,(正X向前沿基线),和“Y”坐标到垂直于基线的距离在“X”(正Y是从基线向量顺时针方向90度)。其中,这是特别重要的是被称为有“基线相对坐标”。
| Modifier and Type | Field and Description |
|---|---|
static int |
BOLD
黑体常量。
|
static int |
CENTER_BASELINE
基线使用的象形文字,像中国、日本和韩国的时候,奠定了文本。
|
static String |
DIALOG
逻辑字体“对话框”的规范族名称的字符串常量。
|
static String |
DIALOG_INPUT
一个字符串常量的典型姓逻辑字体”dialoginput”。
|
static int |
HANGING_BASELINE
基线用于Devanigiri和类似的脚本时,铺设的文字。
|
static int |
ITALIC
斜体风格不变。
|
static int |
LAYOUT_LEFT_TO_RIGHT
一个标志layoutglyphvector说明文字是从左到右的比迪烟分析确定。
|
static int |
LAYOUT_NO_LIMIT_CONTEXT
一个标志layoutglyphvector指示指示限制后的字符数组,文本不应被检查。
|
static int |
LAYOUT_NO_START_CONTEXT
一个标志layoutglyphvector指示在显示启动不应检查数组的文本。
|
static int |
LAYOUT_RIGHT_TO_LEFT
一个标志layoutglyphvector说明文字是从右到左的比迪烟分析确定。
|
static String |
MONOSPACED
一个字符串常量的典型姓逻辑字体“等宽”。
|
protected String |
name
这
Font逻辑名称,作为传递给构造函数。
|
static int |
PLAIN
平原型常数。
|
protected float |
pointSize
在
float这
Font点大小。
|
static int |
ROMAN_BASELINE
用于在大多数罗马脚本的基线时,放置文本。
|
static String |
SANS_SERIF
一个字符串常量的典型姓逻辑字体“滑体”。
|
static String |
SERIF
一个字符串常量的典型姓逻辑字体“字体”。
|
protected int |
size
这
Font点大小、圆整。
|
protected int |
style
这
Font风格,作为传递给构造函数。
|
static int |
TRUETYPE_FONT
确定一个类型的TrueType字体资源。
|
static int |
TYPE1_FONT
识别类型Type1字体资源。
|
| Modifier | Constructor and Description |
|---|---|
protected |
Font(Font font)
创建从指定一个新的
Font
font。
|
|
Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
创建具有指定属性的新
Font。
|
|
Font(String name, int style, int size)
创建指定名称的一个新的
Font,样式和大小。
|
| Modifier and Type | Method and Description |
|---|---|
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)
创建一个
GlyphVector映射字符符号一一基于这
Font Unicode CMAP。
|
GlyphVector |
createGlyphVector(FontRenderContext frc, CharacterIterator ci)
用指定的字符映射到符号一一基于这
Font Unicode CMAP创建一个
GlyphVector。
|
GlyphVector |
createGlyphVector(FontRenderContext frc, int[] glyphCodes)
创建一个
GlyphVector映射字符符号一一基于这
Font Unicode CMAP。
|
GlyphVector |
createGlyphVector(FontRenderContext frc, String str)
创建一个
GlyphVector映射字符符号一一基于这
Font Unicode CMAP。
|
static Font |
decode(String str)
返回
Font,
str参数描述。
|
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。
|
Map<TextAttribute,?> |
getAttributes()
返回Map字体属性可在这
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)
|
LineMetrics |
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)
返回与指定的参数创建
LineMetrics对象。
|
Rectangle2D |
getMaxCharBounds(FontRenderContext frc)
返回的最大范围为指定的
FontRenderContext定义的字符范围。
|
int |
getMissingGlyphCode()
返回glyphcode时所用的这
Font没有一个指定的Unicode代码点符号。
|
String |
getName()
返回该
Font逻辑名称。
|
int |
getNumGlyphs()
返回在这
Font符号数。
|
java.awt.peer.FontPeer |
getPeer()
过时的。
字体渲染现在是独立于平台的。
|
String |
getPSName()
返回该
Font后记的名字。
|
int |
getSize()
返回该
Font点大小,圆形的整数。
|
float |
getSize2D()
返回
float价值这
Font点大小。
|
Rectangle2D |
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)
返回指定字符数组中指定的
FontRenderContext逻辑界限。
|
Rectangle2D |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
返回逻辑边界的字符索引指定的
CharacterIterator在指定的
FontRenderContext。
|
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 hashCode。
|
boolean |
hasLayoutAttributes()
如果此字体包含需要额外的布局处理的属性,则返回真值。
|
boolean |
hasUniformLineMetrics()
检查是否有这
Font均匀线指标。
|
boolean |
isBold()
指示是否这个
Font对象的风格是大胆。
|
boolean |
isItalic()
指示是否这个
Font对象的样式为斜体。
|
boolean |
isPlain()
指示是否这个
Font对象的风格质朴。
|
boolean |
isTransformed()
指示是否这个
Font对象有一个变换除了大小属性影响其大小。
|
GlyphVector |
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)
返回一个新的
GlyphVector对象,如果可能的话,对文本进行充分的布局。
|
String |
toString()
将这一
String表示
Font对象。
|
public static final String DIALOG
public static final String DIALOG_INPUT
public static final String SANS_SERIF
public static final String SERIF
public static final String MONOSPACED
public static final int PLAIN
public static final int BOLD
public static final int ITALIC
public static final int ROMAN_BASELINE
public static final int CENTER_BASELINE
public static final int HANGING_BASELINE
public static final int TRUETYPE_FONT
createFont(int, java.io.InputStream) TrueType字体资源。TrueType格式扩展成为OpenType格式,它增加了对PostScript轮廓字体的支持,这个标签,因此引用这些字体,以及那些与TrueType概述。
public static final int TYPE1_FONT
createFont(int, java.io.InputStream)方法type1字体资源。
protected int style
Font风格,作为传递给构造函数。这种风格可以简单,大胆,斜体或粗体和斜体。
getStyle()
protected int size
Font点大小、圆整。
getSize()
protected float pointSize
float这
Font点大小。
getSize(),
getSize2D()
public static final int LAYOUT_LEFT_TO_RIGHT
public static final int LAYOUT_RIGHT_TO_LEFT
public static final int LAYOUT_NO_START_CONTEXT
public static final int LAYOUT_NO_LIMIT_CONTEXT
public Font(String name, int style, int size)
Font,样式和大小。
字体名称可以是一个字体名或一个字体名称。它是用在一起的风格找到一个适当的字体。当指定一个字体名称时,样式参数用于从家庭中选择最合适的人脸。当指定的字体名称时,面部的样式和样式参数被合并,以从同一个家庭中找到最佳匹配的字体。例如如果名脸”的风格Font.ITALIC指定的Arial Bold”,字体系统中寻找“宋体”家庭是粗体和斜体的脸,可能副字体的实例与面对“宋体加粗斜体的字体”。样式参数与指定的脸的样式合并,而不是添加或减去。这意味着,指定粗体和大胆的风格不双壮胆的字体,并指定粗体和平实的风格不减轻字体。
如果没有所请求的样式的脸可以被发现,字体系统可以应用算法的造型,以达到所需的风格。例如,如果请求ITALIC,但没有斜体的脸是可用的,从平面的符号可通过算法倾斜(倾斜)。
字体名称查找是不区分大小写的,使用美国区域设置的情况折叠规则。
如果name参数代表的东西比其他的逻辑字体,即被解释为一个物理字体或家庭,这不能被映射的实现物理字体或兼容的替代品,那么字体系统将Map字体的实例“对话框”,这样,例如,家庭的报道getFamily将“对话”。
name -字体名称。这是一个字体名称和字体名称,并可能代表一个逻辑字体或字体在这
GraphicsEnvironment发现物理。逻辑字体家族名称:对话框,dialoginput,等宽,衬线,或滑体。预先定义的字符串常量存在所有这些名称,例如,
DIALOG。如果
name是
null,逻辑字体名称的新
Font返回的
getName()设置为“默认”。
style为
Font样式参数是一个整数的位掩码,可以
PLAIN恒定的风格,还是一位对
BOLD和/或
ITALIC联盟(例如,
ITALIC或
BOLD|ITALIC)。如果样式的说法不符合一个预期的整数的位掩码,然后样式设置为
PLAIN。
size的
Font点大小
GraphicsEnvironment.getAllFonts(),
GraphicsEnvironment.getAvailableFontFamilyNames()
public Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font。在
TextAttribute只定义键确认。此外,字体属性是不被认可的(见
getAvailableAttributes())构造函数。只有有效的类型的值的属性会影响新
Font。
如果是一个新的Font attributes null,用默认值初始化。
attributes -分配给新的
Font属性,或
null
TextAttribute
protected Font(Font font)
font新
Font。此构造函数使用子类。
font -从创建该
Font。
NullPointerException -如果
font是空的
@Deprecated public java.awt.peer.FontPeer getPeer()
Font同行。
Font同行。
public static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
attributes -分配给新的
Font属性
Font
NullPointerException -如果
attributes是空的。
TextAttribute
public static Font createFont(int fontFormat, InputStream fontStream) throws FontFormatException, IOException
Font。新
Font是与1式
PLAIN点大小了。然后在此基础上的字体可以使用这个类中的
deriveFont方法推导出的新
Font对象具有不同的尺寸、款式、变换和字体特征。此方法不关闭
InputStream。
让Font可用字体构造函数返回的Font必须在GraphicsEnviroment注册通过电话registerFont(Font)。
fontFormat的
Font类型,这是
TRUETYPE_FONT如果TrueType资源指定。或
TYPE1_FONT如果1型资源指定。
fontStream -
InputStream表示字体输入数据。
Font。
TRUETYPE_FONTor
TYPE1_FONT
fontFormat
IllegalArgumentException。
FontFormatException -如果
fontStream数据不包含所需的字体表指定的格式。
IOException -如果
fontStream不能完全读。
GraphicsEnvironment.registerFont(Font)
public static Font createFont(int fontFormat, File fontFile) throws FontFormatException, IOException
Font。新
Font是与1式
PLAIN点大小了。然后在此基础上的字体可以使用这个类中的
deriveFont方法推导出的新
Font对象具有不同的尺寸、款式、变换和字体特征。
fontFormat的
Font类型,这是
TRUETYPE_FONT如果TrueType资源指定或
TYPE1_FONT如果1型资源指定。只要返回的字体,或其派生的字体是引用的实现可以继续访问
fontFile字体数据检索。因此,结果是不确定的,如果该文件被更改,或变得无法访问。
让Font可用字体构造函数返回的Font必须在GraphicsEnviroment注册通过电话registerFont(Font)。
fontFile -代表字体的输入数据
File对象。
Font创建指定的字体。
TRUETYPE_FONTor
TYPE1_FONT
fontFormat
IllegalArgumentException。
NullPointerException -如果
fontFile是空的。
IOException -如果
fontFile无法读取。
FontFormatException -如果
fontFile不包含所需的字体表指定的格式。
SecurityException如果执行的代码没有权限读取文件。
GraphicsEnvironment.registerFont(Font)
public AffineTransform getTransform()
Font。这种变换不一定是用来构建字体的。如果字体有演算法上标或宽度的调整,这将纳入
AffineTransform
通常情况下,字体将不会被转换。客户一般要先打电话isTransformed(),只有调用此方法返回true,如果isTransformed。
AffineTransform表示这
Font对象的变换属性。
public String getFamily()
Font姓。
字体的家族名称是特定字体的。两种字体如Helvetica斜体和黑体加粗有相同的姓氏,nullhelvetica,而他们的字体名称都是空的,空黑体斜体黑体加粗。现有的家庭名单可以通过使用GraphicsEnvironment.getAvailableFontFamilyNames()方法得到的。
使用getName得到字体的逻辑名称。使用getFontName得到字体的字体名称。
String是这个
Font姓。
getName(),
getFontName()
public String getFamily(Locale l)
Font姓,为指定的区域定位。
字体的家族名称是特定字体的。两种字体如Helvetica斜体和黑体加粗有相同的姓氏,nullhelvetica,而他们的字体名称都是空的,空黑体斜体黑体加粗。现有的家庭名单可以通过使用GraphicsEnvironment.getAvailableFontFamilyNames()方法得到的。
使用getFontName得到字体的字体名称。
l -现场所获得的姓
String代表字体家族名称,为指定的区域定位。
getFontName(),
Locale
public String getPSName()
Font后记的名字。使用
getFamily得到字体家族名称。使用
getFontName得到字体的字体名称。
String表示此
Font后记的名字。
public String getName()
Font逻辑名称。使用
getFamily得到字体家族名称。使用
getFontName得到字体的字体名称。
String表示此
Font逻辑名称。
getFamily(),
getFontName()
public String getFontName()
Font字体名称。例如,helvetica大胆可以作为一个字体名返回。使用
getFamily得到字体家族名称。使用
getName得到字体的逻辑名称。
String表示此
Font字体名称。
getFamily(),
getName()
public String getFontName(Locale l)
Font字体名称,为指定的区域定位。例如,Helvetica费特可以为字体名称返回。使用
getFamily得到字体家族名称。
l -现场所获得的字体名称
String表示字体名称,为指定的区域定位。
getFamily(),
Locale
public int getStyle()
Font风格。风格可以平淡,粗体,斜体,粗体和斜体或。
Font风格
isPlain(),
isBold(),
isItalic()
public int getSize()
Font点大小,圆形的整数。大多数用户都熟悉使用空点的大小指定字体字形大小的想法。这一点的大小定义了一个基线之间的一行的基线在一个单一的间隔的文本文档的基线测量。点的大小是基于零印刷点,约1 / 72英寸。
java(TM)2D API采用传统一点的用户相当于一个单元坐标系。当使用归一化变换转换为用户空间坐标到设备空间坐标72个用户空间单位等于1英寸的设备空间。在这种情况下,一个点是1 / 72英寸。
Font点大小。
getSize2D(),
GraphicsConfiguration.getDefaultTransform(),
GraphicsConfiguration.getNormalizingTransform()
public float getSize2D()
float价值这
Font点大小。
Font点大小为
float价值。
getSize()
public boolean isPlain()
Font对象的风格质朴。
true
Font具有质朴的风格;
false否则。
getStyle()
public boolean isBold()
Font对象的风格是大胆。
true
Font对象的风格是大胆的;
false否则。
getStyle()
public boolean isItalic()
Font对象的样式为斜体。
true
Font对象的样式为斜体;
false否则。
getStyle()
public boolean isTransformed()
Font对象有一个变换除了大小属性影响其大小。
true
Font对象具有非同一性点属性。
false否则。
getTransform()
public boolean hasLayoutAttributes()
public static Font getFont(String nm)
Font对象。
nm作为系统属性得到的名字。此属性的
String值然后解释为
Font对象根据
Font.decode(String)规格如果指定的属性不存在,或执行的代码没有权限读取属性,则返回null而不是。
nm -属性名称
Font对象属性名称或描述,如果没有这样的属性存在的空。
NullPointerException如果为空。
decode(String)
public static Font decode(String str)
Font,
str参数描述。为确保此方法返回所需的字体,在这些方面,风格
str参数格式:
"PLAIN",
"BOLD",
"BOLDITALIC",或
"ITALIC" pointsize,和是一个积极的十进制整数表示的点的大小。例如,如果你想要的字体,是Arial的,大胆的,有18个点的大小,你可以调用这个方法:“arial-bold-18”。这相当于调用字库的构造函数:
new Font("Arial", Font.BOLD, 18);和值解释为指定的构造函数。
一个有效的尾随小数字段总是解释为pointsize。因此,为含尾的十进制值不应使用的字体形式。
如果一个样式名称字段不是有效的样式字符串中的一个,它将被解释为字体名称的一部分,并使用默认的样式。
只有一个“或”-“可用于在输入中单独的字段。确定分离器是一个最接近的字符串将有效pointsize结束,或一个有效的风格的名字从剩下的字符串。null(空)和风格领域pointsize被视为该字段的默认值的有效字段。
一些字体名称可能包括分隔符字符''或“-”。如果str不是由3个组件,例如style或pointsize领域是不存在的str,和fontname还包含一个字符来分隔字符这些字符,然后在他们出现的目的是部分fontname可以解释为分离器所以字体名称可能不正确的认识。
默认大小为12,默认的样式为普通。如果str没有指定一个有效的大小,返回的Font有大小12。如果str没有指定一个有效的方式,返回的字体有一个质朴的风格。如果你不在str参数指定一个有效的字体名称,此方法将返回一个字体家族名称“对话框”。确定什么样的字体家族名称在您的系统上,使用GraphicsEnvironment.getAvailableFontFamilyNames()方法。如果str是null,新Font还姓“对话框”,大小为12和质朴的风格。
str -名称的字体,或
null
Font
str描述对象,或一个新的默认
Font如果
str是
null。
getFamily()
public static Font getFont(String nm, Font font)
Font。在
System的
getProperty方法的第一个参数作为系统属性得到的名字。此属性的
String值然后解释为
Font对象。
属性值应该是一个形式被Font.decode(String)如果指定的属性不存在,或执行的代码没有权限读取属性的争论,font返回。
nm -不区分大小写的属性名称
font -默认
Font如果物业
nm没有定义返回
Font价值。
NullPointerException如果为空。
decode(String)
public int hashCode()
Font hashCode。
hashCode 方法重写,继承类
Object
Font hashCode值。
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Font对象到指定的
Object。
equals 方法重写,继承类
Object
obj -
Object比较
true如果参数是一个
Font对象描述相同的字体为该对象的对象都是相同的或
false否则。
Object.hashCode(),
HashMap
public String toString()
String表示
Font对象。
public int getNumGlyphs()
Font字形数。字形码本
Font范围从0到
getNumGlyphs() - 1。
Font符号数。
public int getMissingGlyphCode()
Font没有一个指定的Unicode代码点符号。
Font的glyphcode。
public byte getBaselineFor(char c)
大的字体可以支持不同的书写系统,每个系统都可以使用不同的基线。字符参数决定使用的书写系统。客户端不应该假设所有的字符都使用相同的基线。
c -一个用于识别文字字符
LineMetrics.getBaselineOffsets(),
ROMAN_BASELINE,
CENTER_BASELINE,
HANGING_BASELINE
public Map<TextAttribute,?> getAttributes()
Font。属性包括字符和符号替换。
Font属性图。
public AttributedCharacterIterator.Attribute[] getAvailableAttributes()
Font钥匙。这些属性可以用于派生其他字体。
Font钥匙。
public Font deriveFont(int style, float size)
Font对象和应用一种新的样式和大小创建一个新的
Font对象。
style -新
Font风格
size -新
Font大小
Font对象。
public Font deriveFont(int style, AffineTransform trans)
Font对象通过复制这种
Font对象和应用一种新的风格和变换。
style -新
Font风格
trans -新
Font相关的
AffineTransform
Font对象。
null
trans
IllegalArgumentException
public Font deriveFont(float size)
Font对象和应用新的尺寸,它创建了一个新的
Font对象。
size -新
Font大小。
Font对象。
public Font deriveFont(AffineTransform trans)
Font对象和应用新的变换,它创建了一个新的
Font对象。
trans -新
Font相关的
AffineTransform
Font对象。
null
trans
IllegalArgumentException
public Font deriveFont(int style)
Font对象和应用一种新的风格,它创建了一个新的
Font对象。
style -新
Font风格
Font对象。
public Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font对象和应用一套新的字体属性,它创建了一个新的
Font对象。
attributes -Map的新
Font启用属性
Font对象。
public boolean canDisplay(char c)
Font有一个指定的字符字形。
注:这种方法不能处理 supplementary characters。支持所有Unicode字符,包括补充字符,使用canDisplay(int)方法或canDisplayUpTo方法。
c -字符的字形是必要的
true
Font有此字形;
false否则。
public boolean canDisplay(int codePoint)
Font有一个指定的字符字形。
codePoint -字符(Unicode代码点),一个字形是必要的。
true
Font有字形;
false否则。
IllegalArgumentException -如果代码点不是一个有效的Unicode代码点。
Character.isValidCodePoint(int)
public int canDisplayUpTo(String str)
Font可以显示指定的
String。对于Unicode编码的字符串,它是要知道某一字体可以显示字符串重要。这个方法返回一个偏移到
String
str是不使用缺失字形编码的第一个字符不能显示这
Font。如果
Font可以显示所有的字符,返回- 1。
str -
String对象
str指在
str第一品格,这
Font无法显示;或
-1如果这
Font可以在
str显示所有字符。
public int canDisplayUpTo(char[] text,
int start,
int limit)
Font可以显示字符在指定开始和结束
text
start
limit。此方法是一个方便的过载。
text -指定数组
char值
start -(在
chars)为指定数组
char值
limit -指定的结束偏移量(在
chars)为指定数组
char值
text指在
text第一品格,这
Font无法显示;或
-1如果这
Font可以在
text显示所有字符。
public int canDisplayUpTo(CharacterIterator iter, int start, int limit)
Font可以显示由
iter开始和结束在
start
limit指定的文本。
iter -
CharacterIterator对象
CharacterIterator起始偏移量
start -。
limit -指定的结束偏移到指定的
CharacterIterator。
iter指在
iter第一品格,这
Font无法显示;或
-1如果这
Font可以在
iter显示所有字符。
public float getItalicAngle()
Font倾斜角度。倾斜角度是这
Font姿势最匹配的符号逆坡。
Font斜体风格的角度。
TextAttribute.POSTURE
public boolean hasUniformLineMetrics()
Font均匀线指标。一个逻辑
Font可能是一个复合字体,这意味着它是由不同的物理字体覆盖不同的代码的范围。这些字体可能有不同的
LineMetrics。如果逻辑
Font是单个字体然后将统一度量。
Font
true均匀线指标;
false否则。
public LineMetrics getLineMetrics(String str, FontRenderContext frc)
str -指定
String
frc -指定
FontRenderContext
LineMetrics对象创建指定
String和
FontRenderContext。
public LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)
LineMetrics。
str -指定
String
beginIndex -
str初始偏移
limit的结束偏移
str
frc -指定
FontRenderContext
LineMetrics对象创建指定的参数。
public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)
LineMetrics对象。
chars -一个字符数组
beginIndex -
chars初始偏移
limit的结束偏移
chars
frc -指定
FontRenderContext
LineMetrics对象创建指定的参数。
public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
LineMetrics。
ci -指定
CharacterIterator
beginIndex -
ci初始偏移
limit的结束偏移
ci
frc -指定
FontRenderContext
LineMetrics对象创建指定的参数。
public Rectangle2D getStringBounds(String str, FontRenderContext frc)
FontRenderContext指定的
String逻辑界限。的逻辑边界包含的起源,上升,进步和高度,其中包括领先的。逻辑界限并不总是包围所有的文本。例如,在某些语言和一些字体中,重音符号可以放置在上升或下降的上方。获得视觉包围盒,它将所有的文本,使用
TextLayout的
getBounds方法。
注意:返回的界限是在基线相对坐标(见class notes)。
str -指定
String
frc -指定
FontRenderContext
Rectangle2D包围盒的指定
String在指定的
FontRenderContext。
FontRenderContext,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)
FontRenderContext指定的
String逻辑界限。的逻辑边界包含的起源,上升,进步和高度,其中包括领先的。逻辑界限并不总是包围所有的文本。例如,在某些语言和一些字体中,重音符号可以放置在上升或下降的上方。获得视觉包围盒,它将所有的文本,使用
TextLayout的
getBounds方法。
注意:返回的界限是在基线相对坐标(见class notes)。
str -指定
String
beginIndex -
str初始偏移
str
limit的结束偏移量
frc -指定
FontRenderContext
Rectangle2D包围盒的指定
String在指定的
FontRenderContext。
IndexOutOfBoundsException -如果
beginIndex小于零,或者
limit大于
str长度,或
beginIndex大于
limit。
FontRenderContext,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)
FontRenderContext逻辑界限。的逻辑边界包含的起源,上升,进步和高度,其中包括领先的。逻辑界限并不总是包围所有的文本。例如,在某些语言和一些字体中,重音符号可以放置在上升或下降的上方。获得视觉包围盒,它将所有的文本,使用
TextLayout的
getBounds方法。
注意:返回的界限是在基线相对坐标(见class notes)。
chars -一个字符数组
beginIndex在字符数组的初始偏移
limit
frc -指定
FontRenderContext
Rectangle2D是指定的字符数组中指定的
FontRenderContext包围盒。
IndexOutOfBoundsException -如果
beginIndex小于零,或者
limit大于
chars长度,或
beginIndex大于
limit。
FontRenderContext,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
CharacterIterator在指定的
FontRenderContext。的逻辑边界包含的起源,上升,进步和高度,其中包括领先的。逻辑界限并不总是包围所有的文本。例如,在某些语言和一些字体中,重音符号可以放置在上升或下降的上方。获得视觉包围盒,它将所有的文本,使用
TextLayout的
getBounds方法。
注意:返回的界限是在基线相对坐标(见class notes)。
ci -指定
CharacterIterator
beginIndex -
ci初始偏移
limit的结束偏移量在
ci
frc -指定
FontRenderContext
Rectangle2D包围盒的字符索引指定的
CharacterIterator在指定的
FontRenderContext。
IndexOutOfBoundsException -如果
beginIndex小于
ci开始指数,或
limit大于
ci结束索引,或
beginIndex大于
limit
FontRenderContext,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getMaxCharBounds(FontRenderContext frc)
FontRenderContext定义的字符范围。
注意:返回的界限是在基线相对坐标(见class notes)。
frc -指定
FontRenderContext
Rectangle2D的包围盒的最大边界特征。
public GlyphVector createGlyphVector(FontRenderContext frc, String str)
GlyphVector映射字符符号一一基于这
Font Unicode CMAP。这种方法除了象形文字字符的映射没有其他处理。这意味着,这个方法对于一些脚本,如阿拉伯语、希伯来语、泰国和印度,需要重新排序,整形,或结扎替代。
frc -指定
FontRenderContext
str -指定
String
String和指定的
FontRenderContext创造了一个新的
GlyphVector。
public GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)
GlyphVector映射字符符号一一基于这
Font Unicode CMAP。这种方法除了象形文字字符的映射没有其他处理。这意味着,这个方法对于一些脚本,如阿拉伯语、希伯来语、泰国和印度,需要重新排序,整形,或结扎替代。
frc -指定
FontRenderContext
chars -指定的字符数组
FontRenderContext创造了一个新的
GlyphVector。
public GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)
Font Unicode CMAP创建一个
GlyphVector。这种方法除了象形文字字符的映射没有其他处理。这意味着,这个方法对于一些脚本,如阿拉伯语、希伯来语、泰国和印度,需要重新排序,整形,或结扎替代。
frc -指定
FontRenderContext
ci -指定
CharacterIterator
CharacterIterator和指定的
FontRenderContext创造了一个新的
GlyphVector。
public GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)
GlyphVector映射字符符号一一基于这
Font Unicode CMAP。该方法除了象形文字字符的映射没有其他处理。这意味着,这个方法对于一些脚本,如阿拉伯语、希伯来语、泰国和印度,需要重新排序,整形,或结扎替代。
frc -指定
FontRenderContext
glyphCodes -指定的整数数组
FontRenderContext创造了一个新的
GlyphVector。
public GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)
GlyphVector对象,如果可能的话,对文本进行充分的布局。全面布局是复杂的文本,如阿拉伯语、印地语。支持不同的脚本取决于字体和实现。
布局需要比迪烟分析,进行Bidi,只应在有一个统一的方向的文本行。方向是flags参数表明,利用layout_right_to_left表示从右到左(阿拉伯语和希伯来语)运行方向,或layout_left_to_right表示从左到右(英文)运行方向。
此外,一些操作,如阿拉伯的塑造,需要上下文,以便在开始和限制的字符可以有适当的形状。有时在提供的范围之外的缓冲区中的数据没有有效的数据。价值观layout_no_start_context和layout_no_limit_context可以添加Flags参数表明启动之前的文本,或在限制,分别不应检查上下文。
所有标志参数的所有其他值都保留。
frc -指定
FontRenderContext
text -布局文本
start -文本使用的
GlyphVector开始
limit -文本使用的
GlyphVector极限
flags -控制标志如上
GlyphVector,选择和定位,以最能代表文本符号
ArrayIndexOutOfBoundsException如果启动或限制出界
Bidi,
LAYOUT_LEFT_TO_RIGHT,
LAYOUT_RIGHT_TO_LEFT,
LAYOUT_NO_START_CONTEXT,
LAYOUT_NO_LIMIT_CONTEXT
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.