|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.font.GlyphMetrics
public final class GlyphMetrics
GlyphMetrics
類別表示單個字形的資訊。字形是一個或多個字元的可視化表示形式。可以使用多個不同的字形來表示單個字元或字元組合。GlyphMetrics
實例由 Font
產生,並可應用於特定 Font
中的具體字形。
字形可以是 STANDARD、LIGATURE、COMBINING 或 COMPONENT。
GlyphVector
中的 COMPONENT 字形不對應文本模型中的特定字元。取而代之的是,由於印刷原因(如阿拉伯語調整)添加 COMPONENT 字形。
通過 GlyphMetrics
可使用的其他規格是 advance、可視邊界以及左跨距和右跨距份量。
對於旋轉字體的字形或從已對字形應用旋轉的 GlyphVector
獲得的字形,可以具有包含 X 和 Y 份量的 advance。advance 通常僅有一個份量。
字形的 advance 是從該字形原點沿基線(可以是垂直的,也可以是水平的)到下一個字形原點的距離。注意,在 GlyphVector
中,由於字距調整和其他位置調整,所以從一個字形到其下一個字形之間的距離可能不是該字形的 advance。
邊界是完全包含該字形輪廓的最小矩形。邊界矩形是相對於該字形原點的。左跨距是從字形原點到其邊界矩形左邊的距離。如果左跨距為負,則將該字形的一部分繪製到其原點的左邊。右跨距是從該邊界矩形的右邊到下一個字形原點的距離(原點加上 advance)。如果為負,則將該字形的一部分繪製到下一個字形原點的右邊。注意,當呈現該字形時,由於光柵化和像素調整效果,該邊界不一定包括受到影響的所有像素。
雖然可以直接建構 GlyphMetrics
的實例,但是幾乎總是從 GlyphVector
獲得它們。一旦建構 GlyphMetrics
物件之後,它就是不可變的。
範例:
查詢 Font
,瞭解字形資訊
Font font = ...; int glyphIndex = ...; GlyphMetrics metrics = GlyphVector.getGlyphMetrics(glyphIndex); int isStandard = metrics.isStandard(); float glyphAdvance = metrics.getAdvance();
Font
,
GlyphVector
欄位摘要 | |
---|---|
static byte |
COMBINING
指示表示組合字元的字形,例如元音變音。 |
static byte |
COMPONENT
指示在內部存儲中沒有相應字元的字形。 |
static byte |
LIGATURE
指示將多個字元表示成連字(例如,'fi' 或 'ffi')的字形。 |
static byte |
STANDARD
指示表示單個標準字元的字形。 |
static byte |
WHITESPACE
指示一個無可視化表示形式的字形。 |
建構子摘要 | |
---|---|
GlyphMetrics(boolean horizontal,
float advanceX,
float advanceY,
Rectangle2D bounds,
byte glyphType)
建構一個 GlyphMetrics 物件。 |
|
GlyphMetrics(float advance,
Rectangle2D bounds,
byte glyphType)
建構一個 GlyphMetrics 物件。 |
方法摘要 | |
---|---|
float |
getAdvance()
返回沿基線(水平基線或垂直基線)的字形 advance。 |
float |
getAdvanceX()
返回字形 advance 的 x 份量。 |
float |
getAdvanceY()
返回字形 advance 的 y 份量。 |
Rectangle2D |
getBounds2D()
返回該字形的邊界。 |
float |
getLSB()
返回該字形的左(上)跨距。 |
float |
getRSB()
返回該字形的右(底)跨距。 |
int |
getType()
返回原始字形型別程式碼。 |
boolean |
isCombining()
如果這是一個組合字形,則返回 true 。 |
boolean |
isComponent()
如果這是一個份量字形,則返回 true 。 |
boolean |
isLigature()
如果這是一個連字字形,則返回 true 。 |
boolean |
isStandard()
如果這是一個標準字形,則返回 true 。 |
boolean |
isWhitespace()
如果這是一個空白字形,則返回 true 。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
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
- 該字形的 advance 寬度bounds
- 該字形的黑框邊界glyphType
- 該字形的型別public GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds, byte glyphType)
GlyphMetrics
物件。
horizontal
- 如果為 true,則規格用於水平基線;否則用於垂直基線advanceX
- 該字形的 advance 的 X 份量advanceY
- 該字形的 advance 的 Y 份量bounds
- 該字形的可視化邊界glyphType
- 該字形的型別方法詳細資訊 |
---|
public float getAdvance()
public float getAdvanceX()
public float getAdvanceY()
public Rectangle2D getBounds2D()
Rectangle2D
。public float getLSB()
這是從 0, 0 到該字形邊界的左(上)邊的距離。如果該字形的邊界在原點的左(上)邊,則 LSB 為負。
public float getRSB()
這是從該字形邊界的右(底)邊到該 advance 的距離。如果該字形的邊界在 advance 的右(下)邊,則 RSB 為負。
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
。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。