モジュール java.desktop
パッケージ java.awt.font

クラスFontRenderContext


  • public class FontRenderContext
    extends Object
    FontRenderContextクラスは、テキストの寸法を正しく測定するのに必要な情報のコンテナです。 テキストのサイズは、アウトラインをピクセルにマップする規則や、アプリケーションが提供する描画ヒントによって変わる場合があります。

    そのような情報の一例としては、印刷上のポイントをピクセルにスケーリングする変換情報があります。 1ポイントは、1インチの1/72と定義されています。これは、伝統的な活版印刷以来使われているポイントとは、わずかに異なります。 600 dpiのデバイスで12ptとして描画される文字のサイズは、同じ文字を72 dpiのデバイスで12ptとして描画する場合とは異なります。これは、フォントの設計時に指定された、ピクセル境界の丸めやヒントなどの要因のためです。

    アプリケーションで指定されたアンチエイリアス、および部分メトリックスが、ピクセル境界の丸めのために、文字のサイズに影響を与えることがあります。

    通常、FontRenderContextのインスタンスはGraphics2Dオブジェクトから取得します。 直接構築したFontRenderContextは、実際のグラフィック・デバイスを表さない可能性が高く、予期しない結果や誤った結果になることがあります。

    関連項目:
    RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.KEY_FRACTIONALMETRICS, Graphics2D.getFontRenderContext(), LineMetrics
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected FontRenderContext()
      新しいFontRenderContextオブジェクトを構築します。
        FontRenderContext​(AffineTransform tx, boolean isAntiAliased, boolean usesFractionalMetrics)
      オプションのAffineTransform、および新しく構築されるオブジェクトのアンチエイリアスと部分メトリックスの有無を判定する2つのboolean値からFontRenderContextオブジェクトを構築します。
        FontRenderContext​(AffineTransform tx, Object aaHint, Object fmHint)
      オプションのAffineTransform、および新しく構築されるオブジェクトのアンチエイリアスと部分メトリックスの有無を判定する2つのObject値からFontRenderContextオブジェクトを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      boolean equals​(FontRenderContext rhs)
      rhsの変換、アンチエイリアス、および部分メトリックスの値がこれと等しい場合はtrueを返します。
      boolean equals​(Object obj)
      objがFontRenderContextのインスタンスであり、その変換、アンチエイリアス、および部分メトリックスの値がこれと等しい場合はtrueを返します。
      Object getAntiAliasingHint()
      このFontRenderContextで使われている、テキスト・アンチエイリアスの描画モード・ヒントを返します。
      Object getFractionalMetricsHint()
      このFontRenderContextで使われている、テキスト部分メトリックスの描画モード・ヒントを返します。
      AffineTransform getTransform()
      このFontRenderContextで印刷上のポイントをピクセルにスケーリングするために使われる変換を返します。
      int getTransformType()
      このFontRenderContextのアフィン変換の種類を、AffineTransform.getType()で指定される整数で返します。
      int hashCode()
      このFontRenderContextのハッシュ・コードを返します。
      boolean isAntiAliased()
      このFontRenderContextで何らかのアンチエイリアス処理が指定されているかどうかを示すboolean値を返します。
      boolean isTransformed()
      このFontRenderContextオブジェクトが、変換された描画コンテキストでテキストを測定するかどうかを示します。
      boolean usesFractionalMetrics()
      このFontRenderContextでテキストの部分メトリックス・モードが使用されるかどうかを示すboolean値を返します。
    • コンストラクタの詳細

      • FontRenderContext

        protected FontRenderContext()
        新しいFontRenderContextオブジェクトを構築します。
      • FontRenderContext

        public FontRenderContext​(AffineTransform tx,
                                 boolean isAntiAliased,
                                 boolean usesFractionalMetrics)
        オプションのAffineTransform、および新しく構築されるオブジェクトのアンチエイリアスと部分メトリックスの有無を判定する2つのboolean値からFontRenderContextオブジェクトを構築します。 各場合とも、boolean値truefalseは、描画ヒント値ONOFFにそれぞれ対応します。

        ほかのヒント値を指定するには、描画ヒント値をパラメータとして指定するコンストラクタFontRenderContext(AffineTransform, Object, Object)を使用してください。

        パラメータ:
        tx - このFontRenderContextで印刷上のポイントをピクセルにスケーリングするために使われる変換。 nullの場合は恒等変換が使用される。
        isAntiAliased - 新しく構築されるオブジェクトのアンチエイリアスの有無を判定する。
        usesFractionalMetrics - 新しく構築されるオブジェクトの部分メトリックスの有無を判定する。
      • FontRenderContext

        public FontRenderContext​(AffineTransform tx,
                                 Object aaHint,
                                 Object fmHint)
        オプションのAffineTransform、および新しく構築されるオブジェクトのアンチエイリアスと部分メトリックスの有無を判定する2つのObject値からFontRenderContextオブジェクトを構築します。
        パラメータ:
        tx - このFontRenderContextで印刷上のポイントをピクセルにスケーリングするために使われる変換。 nullの場合は恒等変換が使用される。
        aaHint - - java.awt.RenderingHintsで定義されているテキストのアンチエイリアスの描画ヒント値の1つ。 ほかの値を指定するとIllegalArgumentExceptionがスローされる。 VALUE_TEXT_ANTIALIAS_DEFAULTも指定可能で、その場合、使用されるモードは実装により異なる。
        fmHint - - java.awt.RenderingHintsで定義されているテキスト部分描画ヒント値の1つ。 VALUE_FRACTIONALMETRICS_DEFAULTも指定可能で、その場合、使用されるモードは実装により異なる。 ほかの値を指定するとIllegalArgumentExceptionがスローされる
        例外:
        IllegalArgumentException - ヒントが、有効な値のどれでもない場合。
        導入されたバージョン:
        1.6
    • メソッドの詳細

      • isTransformed

        public boolean isTransformed()
        このFontRenderContextオブジェクトが、変換された描画コンテキストでテキストを測定するかどうかを示します。
        戻り値:
        このFontRenderContextオブジェクトが非恒等AffineTransform属性を持つ場合はtrue、それ以外の場合はfalse
        導入されたバージョン:
        1.6
        関連項目:
        getTransform()
      • getTransformType

        public int getTransformType()
        このFontRenderContextのアフィン変換の種類を、AffineTransform.getType()で指定される整数で返します。
        戻り値:
        変換の種類。
        導入されたバージョン:
        1.6
        関連項目:
        AffineTransform
      • getTransform

        public AffineTransform getTransform()
        このFontRenderContextで印刷上のポイントをピクセルにスケーリングするために使われる変換を返します。
        戻り値:
        このFontRenderContextAffineTransform
        関連項目:
        AffineTransform
      • getAntiAliasingHint

        public Object getAntiAliasingHint()
        このFontRenderContextで使われている、テキスト・アンチエイリアスの描画モード・ヒントを返します。 これは、java.awt.RenderingHintsで定義されているテキスト・アンチエイリアスの描画ヒント値のいずれかになります。
        戻り値:
        このFontRenderContextで使われている、テキスト・アンチエイリアスの描画モード・ヒント。
        導入されたバージョン:
        1.6
      • getFractionalMetricsHint

        public Object getFractionalMetricsHint()
        このFontRenderContextで使われている、テキスト部分メトリックスの描画モード・ヒントを返します。 これは、java.awt.RenderingHintsで定義されているテキスト部分メトリックスの描画ヒント値のいずれかになります。
        戻り値:
        このFontRenderContextで使われている、テキスト部分メトリックスの描画モード・ヒント。
        導入されたバージョン:
        1.6
      • equals

        public boolean equals​(Object obj)
        objがFontRenderContextのインスタンスであり、その変換、アンチエイリアス、および部分メトリックスの値がこれと等しい場合はtrueを返します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 等しいかどうかが判定されるオブジェクト
        戻り値:
        指定されたオブジェクトがこのFontRenderContextと等しい場合はtrue、そうでない場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • equals

        public boolean equals​(FontRenderContext rhs)
        rhsの変換、アンチエイリアス、および部分メトリックスの値がこれと等しい場合はtrueを返します。
        パラメータ:
        rhs - 等しいかどうかが判定されるFontRenderContext
        戻り値:
        rhsがこのFontRenderContextと等しい場合はtrue、そうでない場合はfalse
        導入されたバージョン:
        1.4