JavaTM 2 Platform
Standard Ed. 6

java.awt.font
類別 GlyphMetrics

java.lang.Object
  繼承者 java.awt.font.GlyphMetrics

public final class GlyphMetrics
extends Object

GlyphMetrics 類別表示單個字形的資訊。字形是一個或多個字元的可視化表示形式。可以使用多個不同的字形來表示單個字元或字元組合。GlyphMetrics 實例由 Font 產生,並可應用於特定 Font 中的具體字形。

字形可以是 STANDARD、LIGATURE、COMBINING 或 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
 

欄位詳細資訊

STANDARD

public static final byte STANDARD
指示表示單個標準字元的字形。

另請參見:
常數欄位值

LIGATURE

public static final byte LIGATURE
指示將多個字元表示成連字(例如,'fi' 或 'ffi')的字形。它後跟用於剩餘字元的填充字形。可以將填充字形和組合字形混合,以控制重音符號邏輯上在前置連字上的位置。

另請參見:
常數欄位值

COMBINING

public static final byte COMBINING
指示表示組合字元的字形,例如元音變音。在此字形和前置字形之間沒有插入符的位置。

另請參見:
常數欄位值

COMPONENT

public static final byte COMPONENT
指示在內部存儲中沒有相應字元的字形。該字形與邏輯前置無份量字形表示的字元關聯。這用於 kashida 調整或其他現有字形的可視修改。在此字形和前置字形之間沒有插入符的位置。

另請參見:
常數欄位值

WHITESPACE

public static final byte WHITESPACE
指示一個無可視化表示形式的字形。可將其添加到其他程式碼值,以指示可見字形。

另請參見:
常數欄位值
建構子詳細資訊

GlyphMetrics

public GlyphMetrics(float advance,
                    Rectangle2D bounds,
                    byte glyphType)
建構一個 GlyphMetrics 物件。

參數:
advance - 該字形的 advance 寬度
bounds - 該字形的黑框邊界
glyphType - 該字形的型別

GlyphMetrics

public GlyphMetrics(boolean horizontal,
                    float advanceX,
                    float advanceY,
                    Rectangle2D bounds,
                    byte glyphType)
建構一個 GlyphMetrics 物件。

參數:
horizontal - 如果為 true,則規格用於水平基線;否則用於垂直基線
advanceX - 該字形的 advance 的 X 份量
advanceY - 該字形的 advance 的 Y 份量
bounds - 該字形的可視化邊界
glyphType - 該字形的型別
從以下版本開始:
1.4
方法詳細資訊

getAdvance

public float getAdvance()
返回沿基線(水平基線或垂直基線)的字形 advance。

返回:
該字形的 advance

getAdvanceX

public float getAdvanceX()
返回字形 advance 的 x 份量。

返回:
字形 advance 的 x 份量
從以下版本開始:
1.4

getAdvanceY

public float getAdvanceY()
返回字形 advance 的 y 份量。

返回:
字形 advance 的 y 份量
從以下版本開始:
1.4

getBounds2D

public Rectangle2D getBounds2D()
返回該字形的邊界。這是該字形輪廓的邊界框。因為光柵化和像素對齊的影響,在呈現字形時,它不一定包括受影響的像素。

返回:
該字形邊界的 Rectangle2D

getLSB

public float getLSB()
返回該字形的左(上)跨距。

這是從 0, 0 到該字形邊界的左(上)邊的距離。如果該字形的邊界在原點的左(上)邊,則 LSB 為負。

返回:
該字形的左跨距。

getRSB

public float getRSB()
返回該字形的右(底)跨距。

這是從該字形邊界的右(底)邊到該 advance 的距離。如果該字形的邊界在 advance 的右(下)邊,則 RSB 為負。

返回:
該字形的右跨距。

getType

public int getType()
返回原始字形型別程式碼。

返回:
原始字形型別程式碼。

isStandard

public boolean isStandard()
如果這是一個標準字形,則返回 true

返回:
如果這是一個標準字形,則返回 true;否則返回 false

isLigature

public boolean isLigature()
如果這是一個連字字形,則返回 true

返回:
如果這是一個連字字形;則返回 true;否則返回 false

isCombining

public boolean isCombining()
如果這是一個組合字形,則返回 true

返回:
如果這是一個組合字形,則返回 true;否則返回 false

isComponent

public boolean isComponent()
如果這是一個份量字形,則返回 true

返回:
如果這是一個份量字形,則返回 true;否則返回 false

isWhitespace

public boolean isWhitespace()
如果這是一個空白字形,則返回 true

返回:
如果這是一個空白字形,則返回 true;否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only