public final class GlyphMetrics extends Object
GlyphMetrics
类一字形代表信息。一个字形是一个或多个字符的视觉表示。许多不同的符号可以用来表示一个字符或字符组合。
GlyphMetrics
实例是由
Font
和适用于某一特定的符号
Font
。
字形标准,结扎,结合,或组件。
GlyphVector
象形文字不符合特定字符在文本模式。相反,象形文字加上印刷的原因,如阿拉伯语的理由。可通过GlyphMetrics
其他指标是进步的成分,视觉范围,及左右侧轴承。
一个旋转的字体字形,或从一个GlyphVector
采用了旋转的字形,可以包含x和y分量的研究进展。通常只需一个组件。
字形的前进是从字形的起源到下一个字形的起源的距离沿基线,这是垂直或水平。需要注意的是,在GlyphVector
,从字形到以下符号的距离可能不是字形的前进,因为字距或其他定位的调整。
的界限是最小的矩形,完全包含了字形的轮廓。边界矩形是相对于字形的起源。左侧轴承是从字形原点到它的边界矩形的左边的距离。如果左侧轴承为负值,则将该符号的一部分绘制在其原点的左边。右侧轴承是从边界矩形的右侧到下一字形原点(原点加上前进)的距离。如果否定,则该符号的一部分被绘制到下一个字形的起源的右边。请注意,界限不一定把所有的像素渲染字形影响时,由于光栅化和像素调整的影响。
虽然GlyphMetrics
实例可以直接构造,它们几乎总是从一个GlyphVector
获得。一旦建成,GlyphMetrics
对象是不可变的。
例子:
查询信息Font
字形
Font font = ...; int glyphIndex = ...; GlyphMetrics metrics = GlyphVector.getGlyphMetrics(glyphIndex); int isStandard = metrics.isStandard(); float glyphAdvance = metrics.getAdvance();
Font
,
GlyphVector
Modifier and Type | Field and Description |
---|---|
static byte |
COMBINING
表示一个符号代表一个组合字符,如变音。
|
static byte |
COMPONENT
指示在后台存储区中没有相应字符的标志符号。
|
static byte |
LIGATURE
指示符号表示多个字符作为一个结扎,例如“fi”或“FFI”。
|
static byte |
STANDARD
指示表示一个单一标准字符的字形。
|
static byte |
WHITESPACE
指示一个没有可视化表示的字形。
|
Constructor and Description |
---|
GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds, byte glyphType)
构建了一个
GlyphMetrics 对象。
|
GlyphMetrics(float advance, Rectangle2D bounds, byte glyphType)
构建了一个
GlyphMetrics 对象。
|
Modifier and Type | Method and Description |
---|---|
float |
getAdvance()
返回沿基线(无论是水平或垂直)标志符号的前进。
|
float |
getAdvanceX()
返回的值提高X。
|
float |
getAdvanceY()
返回的值提前进行。
|
Rectangle2D |
getBounds2D()
返回字形的界限。
|
float |
getLSB()
返回字形的左(顶)侧轴承。
|
float |
getRSB()
返回符号的右(底部)侧轴承。
|
int |
getType()
返回原始符号类型代码。
|
boolean |
isCombining()
返回
true 如果这是一个结合字形。
|
boolean |
isComponent()
返回
true 如果这是一个符号。
|
boolean |
isLigature()
如果这是一个回报
true 连字字形。
|
boolean |
isStandard()
返回
true 如果这是一个标准的符号。
|
boolean |
isWhitespace()
返回
true 如果这是一个空格符号。
|
public static final byte STANDARD
public static final byte LIGATURE
public static final byte COMBINING
public static final byte COMPONENT
public static final byte WHITESPACE
public GlyphMetrics(float advance, Rectangle2D bounds, byte glyphType)
GlyphMetrics
对象。
advance
-字形前进的宽度
bounds
-字形的黑盒子的界限
glyphType
-字形的类型
public GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds, byte glyphType)
GlyphMetrics
对象。
horizontal
-如果是真的,指标是一个水平基准线,否则是一个垂直的基线
advanceX
-字形前进的X
advanceY
-字形的提前进行
bounds
-字形的视觉范围
glyphType
-字形的类型
public float getAdvance()
public float getAdvanceX()
public float getAdvanceY()
public Rectangle2D getBounds2D()
Rectangle2D
,字形的界限。
public float getLSB()
这是从0的距离, 0左(上)字形的界限。如果字形的界限是左侧(上图)的起源,LSB是负的。
public float getRSB()
这是从右边(底部)的字形边界的距离的距离。如果字形的界限是正确的(下面)的发展,它是负的。
public int getType()
public boolean isStandard()
true
如果这是一个标准的符号。
true
如果这是一个标准的字形;
false
否则。
public boolean isLigature()
true
连字字形。
true
连字字形;
false
否则。
public boolean isCombining()
true
如果这是一个结合字形。
true
如果这是一个结合
false
否则字形。
public boolean isComponent()
true
如果这是一个符号。
true
组件
false
否则字形。
public boolean isWhitespace()
true
如果这是一个空格符号。
true
如果这是一个空格符号;
false
否则。
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.