3

質問:

Font オブジェクトを指定して、Fontのすべてのグリフ/シンボル/文字を描画するにはどうすればよいですか?

私は次のことを知っています:

ファイルから Font オブジェクトを作成する方法を知っています。

g.setFont(...) を使用することを知っています。// g は Graphics2D です

g.drawString(...); を使用することを知っています。// g は Graphics2D です

ただし、AZ、az、0 ~ 9 の文字だけを描きたくありません。フォントのすべてのグリフを描画したい。これを行う方法はありますか?

ありがとう!

4

1 に答える 1

4

どうですか:

final Font f = new Font(...);

for (char c = 0x0000; c <= Character.MAX_VALUE; c++) {
    if (f.canDisplay(c)) {
        // draw it ...
    }
}

見るFont.canDisplay()

public boolean canDisplay(int codePoint)

この Font に指定された文字のグリフがあるかどうかを確認します。

パラメーター:

codePoint- グリフが必要な文字 (Unicode コード ポイント)。

戻り値:

trueこれFontが文字のグリフを持っている場合。falseそれ以外は。

スロー:

IllegalArgumentException- コード ポイントが有効な Unicode コード ポイントでない場合。

以来:

   1.5

関連項目:

Character.isValidCodePoint(int)

于 2012-05-18T06:17:01.710 に答える