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
支持最TextAttribute
s。这使得一些操作,如显示带下划线的文本,方便,因为不需要显式地构造一个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_FONT
or
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_FONT
or
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
-(在
char
s)为指定数组
char
值
limit
-指定的结束偏移量(在
char
s)为指定数组
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.