|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.font.GlyphVector
public abstract class GlyphVector
GlyphVector
物件是一個字形的集合,包含在轉換坐標空間中放置每個字形的幾何資訊,該坐標空間對應於最終要顯示 GlyphVector
的設備。
GlyphVector
不嘗試對它包含的字形序列進行任何解釋。序列中相鄰字形之間的關係只用於確定在可視坐標空間中的字形放置。
GlyphVector
的實例由 Font
創建。
在一個可以對文本的中間表示形式進行快取記憶體的文本處理應用程序中,將字元的可視化表示形式呈現給使用者最快的方法是,創建並隨後快取記憶體在呈現期間使用的 GlyphVector
。
GlyphVector
只與一個 Font
關聯,可以提供僅與此 Font
相關的有用資料。另外,從 GlyphVector
獲得的規格通常不是幾何上可縮放的,因為像素化和間隔與 Font
中的網格適應演算法相關。為了便於精確測量 GlyphVector
及其份量字形,在創建 GlyphVector
時必須指定縮放轉換、anti-alias 網要和 fractional metrics 網要。這些特性可以從目標設備派生得到。
對於 GlyphVector
中的每個字形,您可以獲得:
GlyphVector
上下文中的字形規格。在不同的轉換、具有指定呈現提示的應用程序和 GlyphVector
內字形的具體實例情況下,字形的規格可能也不相同。
改變創建 GlyphVector
所使用的資料不會改變 GlyphVector
的狀態。
該類別提供了一些方法來調整 GlyphVector
內字形位置。這些方法最適合為顯示字形而正在執行調整操作的應用程序。
該類別提供了一些方法來轉換 GlyphVector
中各個字形。這些方法主要用於特殊效果。
該類別提供了一些方法來返回整個 GlyphVector
或 GlyphVector
中各個字形的可視的、邏輯的和像素的邊界。
該類別還提供了一些方法來返回 GlyphVector
和 GlyphVector
中各個字形的 Shape
。
Font
,
GlyphMetrics
,
TextLayout
欄位摘要 | |
---|---|
static int |
FLAG_COMPLEX_GLYPHS
與 getLayoutFlags 一起使用的標誌,指示此 GlyphVector 具有從字形到字元的複雜映射關係(此映射並非嚴格按照與排列方向比對的升序或降序順序將字形一一映射到字元)。 |
static int |
FLAG_HAS_POSITION_ADJUSTMENTS
與 getLayoutFlags 一起使用的標誌,指示此 GlyphVector 調整了位置。 |
static int |
FLAG_HAS_TRANSFORMS
與 getLayoutFlags 一起使用的標誌,指示此 GlyphVector 的每個字形都有轉換。 |
static int |
FLAG_MASK
getLayoutFlags 支持標誌的遮罩碼。 |
static int |
FLAG_RUN_RTL
與 getLayoutFlags 一起使用的標誌,指示此 GlyphVector 具有從右到左的排列方向。 |
建構子摘要 | |
---|---|
GlyphVector()
|
方法摘要 | |
---|---|
abstract boolean |
equals(GlyphVector set)
測試指定的 GlyphVector 是否恰好等於此 GlyphVector 。 |
abstract Font |
getFont()
返回與此 GlyphVector 關聯的 Font 。 |
abstract FontRenderContext |
getFontRenderContext()
返回與此 GlyphVector 關聯的 FontRenderContext 。 |
int |
getGlyphCharIndex(int glyphIndex)
返回指定字形的字元索引。 |
int[] |
getGlyphCharIndices(int beginGlyphIndex,
int numEntries,
int[] codeReturn)
返回指定字形的字元索引。 |
abstract int |
getGlyphCode(int glyphIndex)
返回指定字形的 glyphcode。 |
abstract int[] |
getGlyphCodes(int beginGlyphIndex,
int numEntries,
int[] codeReturn)
返回指定字形的 glyphcode 陣列。 |
abstract GlyphJustificationInfo |
getGlyphJustificationInfo(int glyphIndex)
返回此 GlyphVector 中指定索引處的字形調整資訊。 |
abstract Shape |
getGlyphLogicalBounds(int glyphIndex)
返回此 GlyphVector 中指定字形的邏輯邊界。 |
abstract GlyphMetrics |
getGlyphMetrics(int glyphIndex)
返回此 GlyphVector 中指定索引處的字形規格。 |
abstract Shape |
getGlyphOutline(int glyphIndex)
返回其內部區域與此 GlyphVector 中指定字形的可視表示形式對應的 Shape 。 |
Shape |
getGlyphOutline(int glyphIndex,
float x,
float y)
返回一個 Shape ,其內部區域與此 GlyphVector 中指定字形的可視表示形式對應,並偏移到 x、y。 |
Rectangle |
getGlyphPixelBounds(int index,
FontRenderContext renderFRC,
float x,
float y)
返回當此 GlyphVector 在 Graphics 中以給定 FontRenderContext 在給定位置呈現時,index 處字形的像素邊界。 |
abstract Point2D |
getGlyphPosition(int glyphIndex)
返回與此 GlyphVector 原點對應的指定字形的位置。 |
abstract float[] |
getGlyphPositions(int beginGlyphIndex,
int numEntries,
float[] positionReturn)
返回包含指定字形位置的陣列。 |
abstract AffineTransform |
getGlyphTransform(int glyphIndex)
返回此 GlyphVector 中指定字形的轉換。 |
abstract Shape |
getGlyphVisualBounds(int glyphIndex)
返回 GlyphVector 中指定字形的可視邊界。 |
int |
getLayoutFlags()
返回描述該 GlyphVector 全體狀態的標誌。 |
abstract Rectangle2D |
getLogicalBounds()
返回此 GlyphVector 的邏輯邊界。 |
abstract int |
getNumGlyphs()
返回此 GlyphVector 中的字形數。 |
abstract Shape |
getOutline()
返回其內部區域與此 GlyphVector 的可視表示形式對應的 Shape 。 |
abstract Shape |
getOutline(float x,
float y)
返回在 x、y 處呈現時,其內部區域與此 GlyphVector 的可視表示形式對應的 Shape 。 |
Rectangle |
getPixelBounds(FontRenderContext renderFRC,
float x,
float y)
返回此 GlyphVector 在圖形中以給定 FontRenderContext 在給定位置處呈現時的像素邊界。 |
abstract Rectangle2D |
getVisualBounds()
返回此 GlyphVector 的可視邊界,可視邊界是此 GlyphVector 輪廓的邊界框。 |
abstract void |
performDefaultLayout()
為此 GlyphVector 中的每個字形分派預設位置。 |
abstract void |
setGlyphPosition(int glyphIndex,
Point2D newPos)
設置此 GlyphVector 中的指定字形位置。 |
abstract void |
setGlyphTransform(int glyphIndex,
AffineTransform newTX)
設置此 GlyphVector 中指定字形的轉換。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int FLAG_HAS_TRANSFORMS
GlyphVector
的每個字形都有轉換。
public static final int FLAG_HAS_POSITION_ADJUSTMENTS
GlyphVector
調整了位置。該標誌為 true 時,字形位置與該字形累加的預設 advance 不比對(例如,已完成字距調整)。
public static final int FLAG_RUN_RTL
GlyphVector
具有從右到左的排列方向。這是指字形到字元的映射關係,並不意味著該字形的可視位置一定要按此順序,但通常如此。
public static final int FLAG_COMPLEX_GLYPHS
GlyphVector
具有從字形到字元的複雜映射關係(此映射並非嚴格按照與排列方向比對的升序或降序順序將字形一一映射到字元)。
public static final int FLAG_MASK
建構子詳細資訊 |
---|
public GlyphVector()
方法詳細資訊 |
---|
public abstract Font getFont()
GlyphVector
關聯的 Font
。
GlyphVector
的 Font
。Font
public abstract FontRenderContext getFontRenderContext()
GlyphVector
關聯的 FontRenderContext
。
GlyphVector
的 FontRenderContext
。FontRenderContext
,
Font
public abstract void performDefaultLayout()
GlyphVector
中的每個字形分派預設位置。這會破壞此 GlyphVector
初始佈局期間所產生的資訊。
public abstract int getNumGlyphs()
GlyphVector
中的字形數。
GlyphVector
中的字形數。public abstract int getGlyphCode(int glyphIndex)
GlyphVector
的 Font
物件之外,此返回值對其他物件均無意義。
glyphIndex
- 此 GlyphVector
中的索引,它與從中檢索 glyphcode 的字形對應。
glyphIndex
處字形的 glyphcode。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數public abstract int[] getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn)
GlyphVector
的 Font
之外,此返回值的內容對其他物件均無意義。處理 glyphcode 時,此方法使用便捷,性能優越。如果沒有陣列傳入,則創建新的陣列。
beginGlyphIndex
- 此 GlyphVector
中的索引,從此處開始檢索 glyphcodenumEntries
- 要檢索的 glyphcode 數codeReturn
- 接收 glyphcode 然後返回的陣列
IllegalArgumentException
- 如果 numEntries
小於 0
IndexOutOfBoundsException
- 如果 beginGlyphIndex
小於 0
IndexOutOfBoundsException
- 如果 beginGlyphIndex
與 numEntries
的和大於此 GlyphVector
中的字形數public int getGlyphCharIndex(int glyphIndex)
glyphIndex
- 該字形的索引
public int[] getGlyphCharIndices(int beginGlyphIndex, int numEntries, int[] codeReturn)
beginGlyphIndex
- 第一個字形的索引numEntries
- 字形索引數codeReturn
- 接收返回字元索引的陣列
public abstract Rectangle2D getLogicalBounds()
GlyphVector
的邏輯邊界。相對於視覺相鄰的 GlyphVector
物件定位此 GlyphVector
時使用此方法。
Rectangle2D
,它是此 GlyphVector
的邏輯邊界。public abstract Rectangle2D getVisualBounds()
GlyphVector
的可視邊界,可視邊界是此 GlyphVector
輪廓的邊界框。由於像素的光柵化和對齊方式,此框可能沒有包圍受呈現此 GlyphVector
影響的所有像素。
Rectangle2D
,它是此 GlyphVector
的邊界框。public Rectangle getPixelBounds(FontRenderContext renderFRC, float x, float y)
GlyphVector
在圖形中以給定 FontRenderContext
在給定位置處呈現時的像素邊界。renderFRC 無需與此 GlyphVector
的 FontRenderContext
相同,可以為 null。如果為 null,則使用此 GlyphVector
的 FontRenderContext
。預設實作返回可視邊界、x 和 y 的偏移量,並捨入為下一個整數值(即返回包含可視邊界的整數矩形),並忽略 FRC。子類別應覆寫此方法。
renderFRC
- Graphics
的 FontRenderContext
。x
- 呈現此 GlyphVector
處的 x 坐標。y
- 呈現此 GlyphVector
處的 y 坐標。
Rectangle
。public abstract Shape getOutline()
GlyphVector
的可視表示形式對應的 Shape
。
GlyphVector
輪廓的 Shape
。public abstract Shape getOutline(float x, float y)
GlyphVector
的可視表示形式對應的 Shape
。
x
- 此 GlyphVector
的 X 坐標。y
- 此 GlyphVector
的 Y 坐標。
GlyphVector
輪廓的 Shape
。public abstract Shape getGlyphOutline(int glyphIndex)
GlyphVector
中指定字形的可視表示形式對應的 Shape
。此方法返回的輪廓位於各個字形的原點周圍。
glyphIndex
- 此 GlyphVector
的索引
Shape
,它是該 GlyphVector
中指定 glyphIndex
處的字形輪廓。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數public Shape getGlyphOutline(int glyphIndex, float x, float y)
Shape
,其內部區域與此 GlyphVector
中指定字形的可視表示形式對應,並偏移到 x、y。此方法返回的輪廓位於各個字形的原點周圍。
glyphIndex
- 此 GlyphVector
的索引x
- 此 GlyphVector
的坐標的 X 坐標y
- 此 GlyphVector
的坐標的 Y 坐標
Shape
,它是在指定的坐標處呈現時,此 GlyphVector
中指定 glyphIndex
處的字形輪廓。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數public abstract Point2D getGlyphPosition(int glyphIndex)
GlyphVector
原點對應的指定字形的位置。如果 glyphIndex
等於此 GlyphVector
中的字形數,則此方法返回最後一個字形後的位置。此位置用於定義整個 GlyphVector
的 advance。
glyphIndex
- 此 GlyphVector
的索引
glyphIndex
處字形位置的 Point2D
物件。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於此 GlyphVector
中的字形數setGlyphPosition(int, java.awt.geom.Point2D)
public abstract void setGlyphPosition(int glyphIndex, Point2D newPos)
GlyphVector
中的指定字形位置。如果 glyphIndex
等於此 GlyphVector
中的字形數,則此方法設置最後一個字形後的位置。此位置用於定義整個 GlyphVector
的 advance。
glyphIndex
- 此 GlyphVector
的索引newPos
- 定位指定 glyphIndex
處字形的 Point2D
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或大於此 GlyphVector
中的字形數getGlyphPosition(int)
public abstract AffineTransform getGlyphTransform(int glyphIndex)
GlyphVector
中指定字形的轉換。該轉換與字形位置相關。如果未應用特殊轉換,則返回 null
。返回 null 指示恆等轉換。
glyphIndex
- 此 GlyphVector
的索引
glyphIndex
處字形的 AffineTransform
。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數setGlyphTransform(int, java.awt.geom.AffineTransform)
public abstract void setGlyphTransform(int glyphIndex, AffineTransform newTX)
GlyphVector
中指定字形的轉換。該轉換與字形位置相關。newTX
參數為 null
表示對指定字形沒有應用特殊轉換。此方法可以用於旋轉、鏡像、平移和縮放字形。添加轉換可以明顯地影響性能。
glyphIndex
- 此 GlyphVector
的索引newTX
- glyphIndex
處的字形的新轉換
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數getGlyphTransform(int)
public int getLayoutFlags()
FLAG_HAS_POSITION_ADJUSTMENTS
,
FLAG_HAS_TRANSFORMS
,
FLAG_RUN_RTL
,
FLAG_COMPLEX_GLYPHS
,
FLAG_MASK
public abstract float[] getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
beginGlyphIndex + position/2
的字形 X 坐標。從位置 1 開始的奇數陣列項是編號為 beginGlyphIndex + (position-1)/2
的字形 Y 坐標。如果 beginGlyphIndex
等於此 GlyphVector
中的字形數,則此方法會獲取最後一個字形後的位置,此位置用於定義整個 GlyphVector
的 advance。
beginGlyphIndex
- 開始檢索字形位置的索引numEntries
- 要檢索的字形數positionReturn
- 接收字形位置然後返回的陣列。
beginGlyphIndex
和 numEntries
指定的字形位置的陣列。
IllegalArgumentException
- 如果 numEntries
小於 0
IndexOutOfBoundsException
- 如果 beginGlyphIndex
小於 0
IndexOutOfBoundsException
- 如果 beginGlyphIndex
與 numEntries
的和大於此 GlyphVector
中的字形數加 1public abstract Shape getGlyphLogicalBounds(int glyphIndex)
GlyphVector
中指定字形的邏輯邊界。這些邏輯邊界總共有四個邊,兩個邊平行於該字形轉換的基線,另外兩個邊與相鄰字形(如果存在)共用。此方法常用於指定字形的命中測試、插入符在開始邊和尾邊的定位,以及在指定字形周圍繪製一個高亮顯示區域。
glyphIndex
- 此 GlyphVector
的索引,它與從中檢索其邏輯邊界的字形對應
Shape
,表示指定 glyphIndex
處的字形邏輯邊界。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數getGlyphVisualBounds(int)
public abstract Shape getGlyphVisualBounds(int glyphIndex)
GlyphVector
中指定字形的可視邊界。此方法返回的邊界位於各個字形的原點周圍。
glyphIndex
- 此 GlyphVector
的索引,它與從中檢索其可視邊界的字形對應
Shape
,表示指定 GlyphVector
處的字形可視邊界。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數getGlyphLogicalBounds(int)
public Rectangle getGlyphPixelBounds(int index, FontRenderContext renderFRC, float x, float y)
GlyphVector
在 Graphics
中以給定 FontRenderContext
在給定位置呈現時,index 處字形的像素邊界。 renderFRC 無需與此 GlyphVector
的 FontRenderContext
相同,可以為 null。如果為 null,則使用此 GlyphVector
的 FontRenderContext
。預設的實作會返回該字形的可視邊界、x 和 y 的偏移量,以及捨入到下一個整數值,並忽略 FRC。子類別應覆寫此方法。
index
- 該字形的索引。renderFRC
- Graphics
的 FontRenderContext
。x
- 呈現此 GlyphVector
的 X 坐標。y
- 呈現此 GlyphVector
的 Y 坐標。
Rectangle
。public abstract GlyphMetrics getGlyphMetrics(int glyphIndex)
GlyphVector
中指定索引處的字形規格。
glyphIndex
- 此 GlyphVector
的索引,它與從中檢索其規格的字形對應
GlyphMetrics
物件,表示此 GlyphVector
中指定 glyphIndex
處的字形規格。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數public abstract GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
GlyphVector
中指定索引處的字形調整資訊。
glyphIndex
- 此 GlyphVector
的索引,它與從中檢索其調整屬性的字形對應
GlyphJustificationInfo
物件,表示此 GlyphVector
中指定 glyphIndex
處的字形調整屬性。
IndexOutOfBoundsException
- 如果 glyphIndex
小於 0,或者大於等於此 GlyphVector
中的字形數public abstract boolean equals(GlyphVector set)
GlyphVector
是否恰好等於此 GlyphVector
。
set
- 要測試的指定 GlyphVector
GlyphVector
等於此 GlyphVector
,則返回 true
;否則返回 false
。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。