com.docomostar.ui
クラス Font

Object
  上位を拡張 com.docomostar.ui.Font

public class Font
extends Object

文字の種別を定義します。 フォントクラスは、 フォントならびにフォントのメトリクスを扱います。 getFontの引数 type は、以下のようなフォーマットになっています。

上位4ビットは、0111 、その次の4ビットがface, そのつぎの8ビットがstyle、 下位16ビットは、無視されます。

 |<- 4 ->|<- 4 ->|<----- 8 ----->|<----- 8 ----->|<----- 8 ----->|
 +-------+-------+-------+-------+-------+-------+-------+-------+
 | 0111  | face  |         style |      -        |      -        |
 +-------+-------+---------------+---------------+-------+-------+
 

初期状態のデフォルトフォントは、 FACE_SYSTEM|STYLE_PLAIN、フォントサイズは 24 ドット です。 getFont(int,int) で指定されたフェース、 スタイルがサポートされていない場合には、未サポートの要素を FACE_SYSTEMSTYLE_PLAIN に置き換えたフォントを取得します。 getDefaultFont() メソッドが返す値は、 setDefaultFont(Font)メソッドにより設定した値です。 設定していない場合、初期状態のデフォルトフォントを返します。

導入されたバージョン:
Star-1.0

フィールドの概要
static int FACE_MONOSPACE [iアプリオプションAPI]
          フォントのフェースで、モノスペースフォントを表します(=0x72000000)。
static int FACE_PROPORTIONAL [iアプリオプションAPI]
          フォントのフェースで、プロポーショナルフォントを表します(=0x73000000)。
static int FACE_SYSTEM
          フォントのフェースで、システムフォントを表します(=0x71000000)。
static int STYLE_BOLD [iアプリオプションAPI]
          フォントのスタイルで、ボールドスタイルを表します(=0x70110000)。
static int STYLE_BOLDITALIC [iアプリオプションAPI]
          フォントのスタイルで、ボールドイタリックスタイルを表します(=0x70130000)。
static int STYLE_ITALIC [iアプリオプションAPI]
          フォントのスタイルで、イタリックスタイルを表します(=0x70120000)。
static int STYLE_PLAIN
          フォントのスタイルで、プレーンスタイルを表します(=0x70100000)。
 
コンストラクタの概要
protected Font()
          アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
 int getAscent()
          フォントのアセント(ベースラインから上端までの長さ)を取得します。
 int getBBoxHeight(String str)
          指定した文字列のバウンディングボックスの高さを取得します。
 int getBBoxHeight(XString xStr)
          指定したXStringの文字列のバウンディングボックスの高さを取得します。
 int getBBoxWidth(String str)
          指定した文字列のバウンディングボックスの幅を取得します。
 int getBBoxWidth(XString xStr)
          指定したXStringの文字列のバウンディングボックスの幅を取得します。
 int getBBoxWidth(XString xStr, int off, int len)
          指定したXStringの文字列の一部のバウンディングボックスの幅を取得します。
static Font getDefaultFont()
          デフォルトのフォントを取得します。
 int getDescent()
          フォントのディセント(ベースラインから下端までの長さ)を取得します。
static Font getFont(int type, int fontSize)
          引数で指定されたフォントタイプと、dot 単位で指定したフォントサイズからフォントオブジェクトを取得します。
 int getHeight()
          フォントの高さを取得します。
 int getLineBreak(String str, int off, int len, int width)
          指定した文字列の改行位置を取得します。
 int getLineBreak(XString xStr, int off, int len, int width)
          指定したXStringの文字列の改行位置を取得します。
static int[] getSupportedFontSizes()
          この端末でサポートしている dot 単位で指定可能なフォントサイズの配列を取得します。
static void setDefaultFont(Font f)
          デフォルトフォントを設定します。
 int stringWidth(String str)
          指定した文字列の幅を取得します。
 int stringWidth(XString xStr)
          指定したXStringの文字列の幅を取得します。
 int stringWidth(XString xStr, int off, int len)
          指定したXStringの文字列の一部の幅を取得します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

FACE_SYSTEM

public static final int FACE_SYSTEM
フォントのフェースで、システムフォントを表します(=0x71000000)。

関連項目:
定数フィールド値

FACE_MONOSPACE

public static final int FACE_MONOSPACE [iアプリオプションAPI]
フォントのフェースで、モノスペースフォントを表します(=0x72000000)。
端末によってはサポートされない場合があります。

関連項目:
定数フィールド値

FACE_PROPORTIONAL

public static final int FACE_PROPORTIONAL [iアプリオプションAPI]
フォントのフェースで、プロポーショナルフォントを表します(=0x73000000)。
端末によってはサポートされない場合があります。

関連項目:
定数フィールド値

STYLE_PLAIN

public static final int STYLE_PLAIN
フォントのスタイルで、プレーンスタイルを表します(=0x70100000)。

関連項目:
定数フィールド値

STYLE_BOLD

public static final int STYLE_BOLD [iアプリオプションAPI]
フォントのスタイルで、ボールドスタイルを表します(=0x70110000)。
端末によってはサポートされない場合があります。

関連項目:
定数フィールド値

STYLE_ITALIC

public static final int STYLE_ITALIC [iアプリオプションAPI]
フォントのスタイルで、イタリックスタイルを表します(=0x70120000)。
端末によってはサポートされない場合があります。

関連項目:
定数フィールド値

STYLE_BOLDITALIC

public static final int STYLE_BOLDITALIC [iアプリオプションAPI]
フォントのスタイルで、ボールドイタリックスタイルを表します(=0x70130000)。
端末によってはサポートされない場合があります。

関連項目:
定数フィールド値
コンストラクタの詳細

Font

protected Font()
アプリケーションが直接このクラスのインスタンスを生成することはできません。

メソッドの詳細

getFont

public static Font getFont(int type,
                           int fontSize)
引数で指定されたフォントタイプと、dot 単位で指定したフォントサイズからフォントオブジェクトを取得します。

引数 type に、フェイス、スタイルを表す定数をビット毎の論理和を取って指定します。 具体例を以下に示します。

システムフォントかつボールドスタイルかつ 32 ドットのフォントを取得する場合、

f = getFont(FACE_SYSTEM|STYLE_BOLD,32);
と指定します。

引数 fontSize には、この端末にてサポートされているフォントサイズ(フォントの高さ、単位は dot)を指定します。 サポートされているフォントサイズは getSupportedFontSizes() にて取得可能です。

引数 type で指定したフェイス、スタイルを端末でサポートしていない場合は、 代替のフェイス、スタイルに置換し、フォントオブジェクトを返します。 ただし、引数 fontSize にサポートされていないフォントサイズを設定した場合は例外が発生します。

システムによってはフォントオブジェクトは静的に生成されており、 同じフォントを指定した場合は同一のオブジェクトが返されることもあります。

パラメータ:
type - フォントタイプを指定します。
fontSize - フォントサイズを指定します。フォントサイズにはフォントの高さ(単位は dot)を指定します。
戻り値:
フォントオブジェクトを返します。
例外:
IllegalArgumentException -
引数 fontSize に、この端末がサポートしていないフォントサイズが指定された場合に発生します。
IllegalArgumentException -
引数 type に不正な値が指定された場合に発生します。

getSupportedFontSizes

public static int[] getSupportedFontSizes()
この端末でサポートしている dot 単位で指定可能なフォントサイズの配列を取得します。

サポートしているフォントサイズを昇順に並べた配列を取得することができます。 取得できるフォントサイズはフォントの高さ(単位は dot)です。

取得できるフォントサイズの配列は、端末でサポートする全てのフォントサイズ (サポートが必須となっているフォントサイズを含む) の配列です。

[Star-2.0 以降]
スケーラブルフォントに対応している端末の場合は、 このメソッドの戻り値の配列には1dot単位で昇順に、サポートしているフォントサイズが格納されます。

戻り値:
この端末がサポートしているフォントサイズの配列を返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。 フォントサイズはフォントの高さ(単位は dot)となります。 取得できるフォントサイズは昇順に並んでいます。

getDefaultFont

public static Font getDefaultFont()
デフォルトのフォントを取得します。

setDefaultFont(Font)で設定したフォントオブジェクトを返します。 初期状態では FACE_SYSTEM|STYLE_PLAIN、フォントサイズ 24 ドットのフォントを取得します。

戻り値:
デフォルトフォントオブジェクトを返します。

setDefaultFont

public static void setDefaultFont(Font f)
デフォルトフォントを設定します。 初期状態を除き、getDefaultFont()メソッドは、 このメソッドで設定したフォントオブジェクトを返します。

パラメータ:
f - デフォルトフォントに設定するフォントオブジェクトを指定します。
例外:
NullPointerException -
引数 f が null の場合に発生します。

getAscent

public int getAscent()
フォントのアセント(ベースラインから上端までの長さ)を取得します。

戻り値:
フォントのアセントを返します。

getDescent

public int getDescent()
フォントのディセント(ベースラインから下端までの長さ)を取得します。

戻り値:
フォントのディセントを返します。

getHeight

public int getHeight()
フォントの高さを取得します。 この値はアセントとディセントの合計と等しくなります。

戻り値:
フォントの高さを返します。

stringWidth

public int stringWidth(String str)
指定した文字列の幅を取得します。

パラメータ:
str - 文字列を指定します。
戻り値:
文字列を表示するのに必要な幅を返します。
例外:
NullPointerException -
引数 str に null が指定された場合に発生します。

getBBoxWidth

public int getBBoxWidth(String str)
指定した文字列のバウンディングボックスの幅を取得します。

パラメータ:
str - 文字列を指定します。
戻り値:
幅を返します。
例外:
NullPointerException -
引数 str に null が指定された場合に発生します。

getBBoxHeight

public int getBBoxHeight(String str)
指定した文字列のバウンディングボックスの高さを取得します。

引数 str に 空文字列("")が指定された場合、0 が返ります。

パラメータ:
str - 文字列を指定します。
戻り値:
高さを返します。
例外:
NullPointerException -
引数 str に null が指定された場合に発生します。

getLineBreak

public int getLineBreak(String str,
                        int off,
                        int len,
                    蠑墓焚 f 縺