FontMetrics
FontMetricsクラスはObjectクラスの直接のサブ・クラスです。
java.awtパッケージに含まれます。
FontMetricsはフォントの個々の文字のサイズや文字列の画面上での
サイズなどを計算するための専用のクラスです。
FontMetricsのオブジェクトは、Fontのオブジェクトが生成される時に
同時に用意されます。
コンストラクタによって独立したデータとして生成することはできません。
Fontクラスには publicな変数は存在しません。
対応するFontのオブジェクトを内部に記憶していますが、
通常は内部の処理で用いられるだけです。
FontMetricsクラスのメソッド
FontMetricsクラスには、
全部で十数個のメソッドが定義されています。
メソッドの目的ごとに以下の項目のようにグループ分けして解説します。
- フォント全体に関するサイズの情報を調べるメソッド
- 個々の文字のサイズを調べるメソッド
- 文字列のサイズを調べるメソッド
- オブジェクト自身及びフォントの情報に関するメソッド
フォント全体に関するサイズの情報を調べるメソッド
- public int getAscent()
- public int getMaxAscent()
- public int getDescent()
- public int getMaxDescent()
- public int getMaxAdvance()
- public int getLeading()
- public int getHeight()
getAscent()メソッドは、フォントのベースラインから上に向けて計った
標準の縦のサイズを返します。
getMaxAscent()は全ての文字に対するその最大値を返します。
getDescent()メソッドは、フォントのベースラインから下に向けて計った
標準の縦のサイズを返します。
getMaxDescent()は全ての文字に対するその最大値を返します。
getMaxAdvance()メソッドは、文字と文字との間隔の最大値を返します。
getLeading()メソッドは、行と行との間隔の値を返します。
getHeight()メソッドは行の縦のサイズを返します。
(getAscent() と getDescent() と getLeanding() の和)
個々の文字のサイズを調べるメソッド
- public int charWidth(int ch)
- public int charWidth(char ch)
- public int[] getWidths()
charWidth()は指定された文字の横幅のサイズが、
現実には画面上で何ポイントになるかを返します。
getWidths()は 0 から 255 までのコードに対応する全ての文字の
画面上でのポイント数を配列として返します。
文字列のサイズを調べるメソッド
- public int stringWidth(String str)
- public int charsWidth(char data[], int off, int len)
- public int bytesWidth(byte data[], int off, int len)
これらのメソッドは、対応するフォントで与えられた文字列を
描画する場合に、画面上の実際の横幅のサイズをポイント数で返します。
文字列のデータが charまたはbyteの配列の場合、
第2引数が文字列として利用したい先頭の文字のインデックスを、
第3引数が文字列の文字数を表します。
オブジェクト自身及びフォントの情報を得るメソッド
- public Font getFont()
- public String toString()
getFont() は FontMetrics のオブジェクトに対応する Fontのオブジェクトを
返します。
toString()メソッドは、フォントと文字のサイズに関する情報を
Stringクラスのオブジェクトとして返します。