|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.Font
public class Font
Font
クラスは、テキストを目に見える形に描画するために使用されるフォントを表します。フォントは「文字」の連続を「グリフ」の連続にマッピングするための情報、そしてそのグリフの連続を Graphics
や Component
オブジェクトに描画するための情報を提供します。
「g」
(ラテン小文字の G) が文字の例として挙げられます。
「グリフ」は文字または一連の文字を描画するために使用される図形です。ラテン文字のような単純な書記法では、通常 1 つのグリフが 1 つの文字に対応します。ところがグリフと文字の対応は、一般的には 1 対 1 ではありません。たとえば「á」 (アクセント記号付きのラテン小文字の A) のような文字は「a」と「´」に対応する 2 つのグリフで表されます。一方で 2 つの文字「fi」を、合字の 1 つのグリフで表すこともできます。アラビア語、南アジア、および東南アジアの言語のような複雑な書記法では、文字とグリフの関係はもっと複雑になり、コンテキストに応じてグリフの選択や並べ替えが必要になります。 フォントは選択された文字セットの描画で必要なグリフの集合、および文字の連続を対応するグリフの連続にマッピングするために必要なテーブルをカプセル化します。
「物理」フォントは実際のフォントライブラリであり、グリフデータおよび文字列とグリフ列のマッピングテーブルを含みます。 TrueType や PostScript Type 1 などのフォントテクノロジが使用されます。 Java が実装されるすべてのプラットフォームで TrueType フォントがサポートされている必要があります。 ほかのフォントテクノロジのサポートは実装に依存します。物理フォントには Helvetica、Palatino、HonMincho などの任意のフォント名を使用します。通常、各物理フォントは、ラテン文字だけ、または日本語と基本的なヨーロッパ系の言語だけなどのように、特定の書記法だけをサポートします。有効な物理フォントのセットは設定によって異なります。特定のフォントが必要な場合、アプリケーション側でフォントをバンドルし、createFont
メソッドでインスタンス化できます。
「論理」フォントは Java プラットフォームで定義される、Serif、SansSerif、Monospaced、Dialog、および DialogInput の 5 つのフォントファミリです。すべての Java 実行環境でこの 5 つがサポートされていなければいけません。これらの論理フォントは実際のフォントライブラリではなく、論理フォント名は Java 実行環境で物理フォントにマッピングされます。マッピングは実装、そして通常ロケールに依存し、提供される外見やメトリックスもそれに応じて異なります。通常はさまざまな文字をカバーするため、各論理フォント名が複数の物理フォントにマッピングされます。
Label
や TextField
などのピア AWT コンポーネントは、論理フォントだけを使用できます。
物理フォントと論理フォントの使用に関する、相対的な長所と短所については、『Internationalization FAQ』ドキュメントを参照してください。
Font
は、多くのフェース (heavy、medium、oblique、gothic、および regular など) を持つ場合があり、これらすべてのフェースが、同じような文字体裁デザインを持っています。
Font
オブジェクトからは 3 つの異なる名称を取得できます。「論理フォント名」は単なるフォント構築のための名称です。「フォントフェース名」は単に「フォント名」と呼ばれることもあり、Helvetica Bold などの特定のフォント名を指します。「ファミリ名」はフォントファミリの名称であり、複数のフェースの文字体裁デザインを決定します。 たとえば Helvetica がこれに該当します。
GraphicsEnvironmentFont
クラスは、ホストシステムのシステムリソースにあるフォントフェースのコレクションの中の、あるフォントフェースのインスタンスを表します。たとえば、Arial Bold および Courier Bold Italic はフォントフェースです。サイズ、スタイル、変形体、およびフォントの特徴の違いにより、1 つのフォントフェースに関連付けられた Font
オブジェクトは複数あります。
クラスの getAllFonts
メソッドは、システムで有効なすべてのフォントフェースの配列を返します。これらのフォントフェースは、サイズ 1、恒等変換、およびデフォルトフォントの特徴を持つ Font
オブジェクトとして返されます。ベースとなるこれらのフォントは、このクラスの deriveFont
メソッドを介して、サイズ、スタイル、変形体、およびフォントの特徴が異なる新しい Font
オブジェクトを派生させるために使用できます。
Font
ではほとんどの TextAttribute
がサポートされます。これにより、TextLayout
を明示的に構築する必要がなくなるため、下線付きテキストの描画などの操作が簡単になります。TextAttribute
値の Map
を使用してフォントを構築するか派生させることによって、フォントに属性を設定できます。
一部の TextAttributes
の値は直列化不可能なので、そのような値を持つ Font
のインスタンスを直列化しても、これらの値は直列化されません。したがって、そのようなストリームから直列化復元されたフォントは、直列化不可能な属性を含んでいる元のフォントと等しいものにはなりません。通常、これらの属性は特殊な状況でのみ使用され、直列化されることはまれなので、これが問題になることはほとんどありません。
FOREGROUND
と BACKGROUND
は Paint
値を使用します。サブクラス Color
は直列化可能ですが、GradientPaint
と TexturePaint
は直列化不可能です。CHAR_REPLACEMENT
は GraphicAttribute
値を使用します。サブクラス ShapeGraphicAttribute
と ImageGraphicAttribute
は直列化不可能です。INPUT_METHOD_HIGHLIGHT
は InputMethodHighlight
値を使用します。これらの値は直列化不可能です。InputMethodHighlight
を参照してください。Paint
と GraphicAttribute
のカスタムサブクラスを作成する場合は、これらを直列化可能にして、この問題を回避することができます。ユーザーがインプットメソッドのハイライトを使用する場合は、回避策として、現在のプラットフォームでそのハイライトのプラットフォーム固有属性に変換し、それをフォントに設定することができます。
Map
ベースのコンストラクタと deriveFont
API では FONT 属性は無視され、フォントで保持されません。FONT 属性が存在する場合は、static getFont(java.util.Map extends java.text.AttributedCharacterIterator.Attribute, ?>)
メソッドを使用するべきです。詳細は、TextAttribute.FONT
を参照してください。
いくつかの属性は、追加の描画オーバーヘッドを発生させ、レイアウトを呼び出す可能性があります。Font
がそのような属性を持っている場合、
メソッドは true を返します。hasLayoutAttributes
注:フォントを回転するとテキストのベースラインが回転することがあります。このまれな可能性に対処するために、フォント API は指定に従って「ベースラインを基準にした座標で」メトリックスを返したりパラメータを受け取ったりします。この場合、x 座標はベースラインに沿った有効幅 (正の x はベースラインに沿って進む方向)、y 座標は x でのベースラインに対する垂線に沿った距離 (正の y はベースラインベクトルから時計回りに 90 度の方向) にマップされます。これが特に重要となる API は、「ベースラインを基準にした座標」を持つ API として示されています。
フィールドの概要 | |
---|---|
static int |
BOLD
ボールドスタイル定数です。 |
static int |
CENTER_BASELINE
テキストを配置するときに、中国語、日本語、および韓国語などの表意文字の書体で使用されるベースラインです。 |
static String |
DIALOG
論理フォント「Dialog」の正規ファミリ名を表す文字列定数です。 |
static String |
DIALOG_INPUT
論理フォント「DialogInput」の正規ファミリ名を表す文字列定数です。 |
static int |
HANGING_BASELINE
テキストを配置するときに、ナーガリー文字などの書体に使用されるベースラインです。 |
static int |
ITALIC
イタリックスタイル定数です。 |
static int |
LAYOUT_LEFT_TO_RIGHT
双方向分析でテキストが左から右に記述されていると判定されたことを示す、layoutGlyphVector に対するフラグです。 |
static int |
LAYOUT_NO_LIMIT_CONTEXT
文字配列の、指定された終了位置以降のテキストを検査しないことを示す、layoutGlyphVector に対するフラグです。 |
static int |
LAYOUT_NO_START_CONTEXT
文字配列の、指定された開始位置以前のテキストを検査しないことを示す、layoutGlyphVector に対するフラグです。 |
static int |
LAYOUT_RIGHT_TO_LEFT
双方向分析でテキストが右から左に記述されていると判定されたことを示す、layoutGlyphVector に対するフラグです。 |
static String |
MONOSPACED
論理フォント「Monospaced」の正規ファミリ名を表す文字列定数です。 |
protected String |
name
コンストラクタに渡される、この Font の論理名です。 |
static int |
PLAIN
プレーンスタイル定数です。 |
protected float |
pointSize
float で表された、この Font のポイントサイズです。 |
static int |
ROMAN_BASELINE
テキストを配置するときに、ローマ字の書体で通常使用されるベースラインです。 |
static String |
SANS_SERIF
論理フォント「SansSerif」の正規ファミリ名を表す文字列定数です。 |
static String |
SERIF
論理フォント「Serif」の正規ファミリ名を表す文字列定数です。 |
protected int |
size
整数に丸められた、この Font のポイントサイズです。 |
protected int |
style
コンストラクタに渡される、この Font のスタイルです。 |
static int |
TRUETYPE_FONT
TRUETYPE 型のフォントリソースを識別します。 |
static int |
TYPE1_FONT
TYPE1 型のフォントリソースを識別します。 |
コンストラクタの概要 | |
---|---|
protected |
Font(Font font)
指定された font から新しい Font を生成します。 |
|
Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
指定された属性で新しい Font を生成します。 |
|
Font(String name,
int style,
int size)
指定された名前、スタイル、およびポイントサイズから新しい Font を生成します。 |
メソッドの概要 | |
---|---|
boolean |
canDisplay(char c)
この Font が指定された文字のグリフを持つかどうかを判定します。 |
boolean |
canDisplay(int codePoint)
この Font が指定された文字のグリフを持つかどうかを判定します。 |
int |
canDisplayUpTo(char[] text,
int start,
int limit)
指定された text 内の start から始まり limit で終わる文字列を、この Font で表示できるかどうかを示します。 |
int |
canDisplayUpTo(CharacterIterator iter,
int start,
int limit)
この Font で、start から始まり limit で終わる iter によって指定されたテキストを表示できるかどうかを示します。 |
int |
canDisplayUpTo(String str)
指定された String を、この Font で表示できるかどうかを示します。 |
static Font |
createFont(int fontFormat,
File fontFile)
指定されたフォントタイプと指定されたフォントファイルを使用して新しい Font を返します。 |
static Font |
createFont(int fontFormat,
InputStream fontStream)
指定されたフォントタイプと入力データを使用して新しい Font を返します。 |
GlyphVector |
createGlyphVector(FontRenderContext frc,
char[] chars)
この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。 |
GlyphVector |
createGlyphVector(FontRenderContext frc,
CharacterIterator ci)
この Font の Unicode cmap をベースにして、指定された文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。 |
GlyphVector |
createGlyphVector(FontRenderContext frc,
int[] glyphCodes)
この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。 |
GlyphVector |
createGlyphVector(FontRenderContext frc,
String str)
この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。 |
static Font |
decode(String str)
str 引数で指定される名称の Font を返します。 |
Font |
deriveFont(AffineTransform trans)
現在の Font オブジェクトを複製し新しい変換を適用することにより、新しい Font オブジェクトを生成します。 |
Font |
deriveFont(float size)
現在の Font オブジェクトを複製し新しいサイズを適用することにより、新しい Font オブジェクトを生成します。 |
Font |
deriveFont(int style)
現在の Font オブジェクトを複製し新しいスタイルを適用することにより、新しい Font オブジェクトを生成します。 |
Font |
deriveFont(int style,
AffineTransform trans)
この Font オブジェクトを複製し、新しいスタイルおよび変換を適用することにより、新しい Font オブジェクトを生成します。 |
Font |
deriveFont(int style,
float size)
この Font オブジェクトを複製し新しいスタイルおよびサイズを適用することにより、新しい Font オブジェクトを生成します。 |
Font |
deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
現在の Font オブジェクトを複製し新しいフォント属性を適用することにより、新しい Font オブジェクトを生成します。 |
boolean |
equals(Object obj)
この Font オブジェクトを、指定された Object と比較します。 |
protected void |
finalize()
ネイティブ Font オブジェクトを破棄します。 |
Map<TextAttribute,?> |
getAttributes()
この Font で有効なフォント属性のマップを返します。 |
AttributedCharacterIterator.Attribute[] |
getAvailableAttributes()
この Font がサポートするすべての属性のキーを返します。 |
byte |
getBaselineFor(char c)
この文字の表示に適切なベースラインを返します。 |
String |
getFamily()
この Font のファミリ名を返します。 |
String |
getFamily(Locale l)
指定されたロケール向けにローカライズされた、この Font のファミリ名を返します。 |
static Font |
getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
属性に適した Font を返します。 |
static Font |
getFont(String nm)
システムのプロパティーリストから Font オブジェクトを返します。 |
static Font |
getFont(String nm,
Font font)
システムのプロパティーリストから指定された Font を返します。 |
String |
getFontName()
この Font のフォントフェース名を返します。 |
String |
getFontName(Locale l)
指定されたロケール向けにローカライズされた、 Font のフォントフェース名を返します。 |
float |
getItalicAngle()
この Font のイタリックの角度を返します。 |
LineMetrics |
getLineMetrics(char[] chars,
int beginIndex,
int limit,
FontRenderContext frc)
指定された引数で生成された LineMetrics オブジェクトを返します。 |
LineMetrics |
getLineMetrics(CharacterIterator ci,
int beginIndex,
int limit,
FontRenderContext frc)
指定された引数で生成された LineMetrics オブジェクトを返します。 |
LineMetrics |
getLineMetrics(String str,
FontRenderContext frc)
指定された String および FontRenderContext によって作成された LineMetrics オブジェクトを返します。 |
LineMetrics |
getLineMetrics(String str,
int beginIndex,
int limit,
FontRenderContext frc)
指定された引数で生成された LineMetrics オブジェクトを返します。 |
Rectangle2D |
getMaxCharBounds(FontRenderContext frc)
指定された FontRenderContext で、最大の境界を持つ文字の境界を返します。 |
int |
getMissingGlyphCode()
この Font が指定された Unicode コードポイントに対してグリフを持たない場合に使用される glyphCode を返します。 |
String |
getName()
この Font の論理名を返します。 |
int |
getNumGlyphs()
この Font のグリフ数を返します。 |
java.awt.peer.FontPeer |
getPeer()
推奨されていません。 フォントの描画は現在はどのプラットフォームでも同じです。 |
String |
getPSName()
この Font のポストスクリプト名を返します。 |
int |
getSize()
この Font のポイントサイズを整数値で返します。 |
float |
getSize2D()
この Font のポイントサイズを float 値で返します。 |
Rectangle2D |
getStringBounds(char[] chars,
int beginIndex,
int limit,
FontRenderContext frc)
指定された FontRenderContext の指定された文字配列の論理バウンドを返します。 |
Rectangle2D |
getStringBounds(CharacterIterator ci,
int beginIndex,
int limit,
FontRenderContext frc)
指定された FontRenderContext の指定された CharacterIterator にインデックス付けされた文字の論理バウンドを返します。 |
Rectangle2D |
getStringBounds(String str,
FontRenderContext frc)
指定された FontRenderContext の指定された String の論理バウンドを返します。 |
Rectangle2D |
getStringBounds(String str,
int beginIndex,
int limit,
FontRenderContext frc)
指定された FontRenderContext の指定された String の論理バウンドを返します。 |
int |
getStyle()
この Font のスタイルを返します。 |
AffineTransform |
getTransform()
この Font に関連付けられた変形体のコピーを返します。 |
int |
hashCode()
この Font のハッシュコードを返します。 |
boolean |
hasLayoutAttributes()
この Font に追加のレイアウト処理を必要とする属性が含まれている場合は、true を返します。 |
boolean |
hasUniformLineMetrics()
この Font が均一のラインメトリックスを持つかどうかを判定します。 |
boolean |
isBold()
この Font オブジェクトのスタイルが BOLD かどうかを示します。 |
boolean |
isItalic()
この Font オブジェクトのスタイルが ITALIC かどうかを示します。 |
boolean |
isPlain()
この Font オブジェクトのスタイルが PLAIN どうかを示します。 |
boolean |
isTransformed()
この Font オブジェクトが、Size 属性以外にサイズに影響を与える変形体を持つかどうかを示します。 |
GlyphVector |
layoutGlyphVector(FontRenderContext frc,
char[] text,
int start,
int limit,
int flags)
可能な場合にテキストの完全なレイアウトを行う、新しい GlyphVector オブジェクトを返します。 |
String |
toString()
この Font オブジェクトを String 表現に変換します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
---|
public static final String DIALOG
public static final String DIALOG_INPUT
public static final String SANS_SERIF
public static final String SERIF
public static final String MONOSPACED
public static final int PLAIN
public static final int BOLD
public static final int ITALIC
public static final int ROMAN_BASELINE
public static final int CENTER_BASELINE
public static final int HANGING_BASELINE
public static final int TRUETYPE_FONT
createFont(int, java.io.InputStream)
メソッドに指定する場合に使用します。
public static final int TYPE1_FONT
createFont(int, java.io.InputStream)
メソッドに指定する場合に使用します。
protected String name
Font
の論理名です。
getName()
protected int style
Font
のスタイルです。PLAIN、BOLD、ITALIC、または BOLD+ITALIC のいずれかです。
getStyle()
protected int size
Font
のポイントサイズです。
getSize()
protected float pointSize
float
で表された、この Font
のポイントサイズです。
getSize()
,
getSize2D()
public static final int LAYOUT_LEFT_TO_RIGHT
public static final int LAYOUT_RIGHT_TO_LEFT
public static final int LAYOUT_NO_START_CONTEXT
public static final int LAYOUT_NO_LIMIT_CONTEXT
コンストラクタの詳細 |
---|
public Font(String name, int style, int size)
Font
を生成します。
フォント名にはフォントフェース名またはフォントファミリ名を指定できます。フォント名をスタイルとともに使用して、適切なフォントフェースを見つけます。フォントファミリ名を指定した場合、style 引数を使用して、ファミリからもっとも適切なフェースを選択します。フォントフェース名を指定した場合、フェースのスタイルと style 引数をマージして、同じファミリからもっとも適合するフォントを見つけます。たとえば、Font.ITALIC
でフェース名 "Arial Bold" を指定すると、フォントシステムは Arial ファミリで、太字で斜体のフェースを探し、物理フォントフェース Arial Bold Italic にフォントインスタンスを関連付けることもできます。style 引数は指定されたフェーススタイルにマージされ、加算または減算されません。つまり、太字フェースおよび太字スタイルを指定しても、フォントは 2 倍の太さにならず、また太字フェースとプレーンスタイルを指定しても、フォントは細くなりません。
要求されたスタイルのフェースが見つからない場合、フォントシステムは目的のスタイルを実現するためにアルゴリズムスタイルを適用することがあります。たとえば、ITALIC
が要求されていても、斜体フェースを使用できない場合、プレーンフェースのグリフがアルゴリズムによって傾斜されます。
フォント名の検索は US ロケールの大文字と小文字を区別しない規則が使用され、大文字と小文字が区別されません。
name
が論理フォント以外のものを表す場合、つまり、物理フォントフェースまたはファミリと解釈される場合で、実装によってこれを物理フォントまたは互換の代替フォントにマップできないときは、フォントシステムは Font インスタンスを「Dialog」にマップします。たとえば、getFamily
によって報告されるファミリは「Dialog」になります。
name
- フォント名。これはフォントフェース名またはフォントファミリ名を指定でき、この GraphicsEnvironment
に見つかった論理フォントまたは物理フォントを表す。論理フォントのファミリ名は、Dialog、DialogInput、Monospaced、Serif、または SansSerif。これらの名前にはすべて、定義済みの文字列定数が存在する。たとえば、@see #DIALOG。name
が null
の場合、getName()
によって返される新しい Font
の「論理フォント名」は名前「Default」に設定されるstyle
- Font
のスタイル定数。スタイル引数は、PLAIN、あるいは BOLD と ITALIC をビット単位に結合した整数型ビットマスク (ITALIC または BOLD|ITALIC など)。style 引数が有効な整数型ビットマスクでない場合、スタイルは PLAIN に設定されるsize
- Font
のポイントサイズGraphicsEnvironment.getAllFonts()
,
GraphicsEnvironment.getAvailableFontFamilyNames()
public Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font
を生成します。TextAttribute
で定義されているキーだけが認識されます。また、このコンストラクタでは FONT 属性は認識されません (getAvailableAttributes()
を参照)。有効な型の値を持つ属性だけが、新しい Font
に影響を与えます。
attributes
が null
の場合、新しい Font
はデフォルト値で初期化されます。
attributes
- 新しい Font
に割り当てる属性、または null
TextAttribute
protected Font(Font font)
font
から新しい Font
を生成します。このコンストラクタはサブクラスで使用します。
font
- この Font
の生成元のフォント
NullPointerException
- font
が null の場合メソッドの詳細 |
---|
@Deprecated public java.awt.peer.FontPeer getPeer()
Font
のピアを取得します。
Font
のピアpublic static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font
を返します。attributes
に、有効な Font
を値として持つ FONT
属性が含まれている場合、この属性はその他の属性とマージされます。詳細は、TextAttribute.FONT
を参照してください。
attributes
- 新しい Font
に割り当てる属性
Font
NullPointerException
- attributes
が null の場合TextAttribute
public static Font createFont(int fontFormat, InputStream fontStream) throws FontFormatException, IOException
Font
を返します。新しい Font
はポイントサイズ 1、スタイル PLAIN
で生成されます。このクラスの deriveFont
メソッドでベースとなるフォントを使って、サイズ、スタイル、変形体、およびフォントの特徴が異なる新しい Font
オブジェクトを派生させることができます。このメソッドは InputStream
を閉じません。
Font コンストラクタで Font
を使用できるようにするには、registerFont(Font)
を呼び出して、返された Font
を GraphicsEnviroment
に登録する必要があります。
fontFormat
- Font
のタイプ。TrueType リソースを指定する場合は TRUETYPE_FONT
、Type 1 リソースを指定する場合は TYPE1_FONT
fontStream
- フォントの入力データを表す InputStream
オブジェクト
Font
IllegalArgumentException
- fontFormat
が TRUETYPE_FONT
または TYPE1_FONT
ではない場合
FontFormatException
- fontStream
データが、指定された形式に必要なフォントテーブルを持っていない場合
IOException
- fontStream
を完全に読み込みできない場合GraphicsEnvironment.registerFont(Font)
public static Font createFont(int fontFormat, File fontFile) throws FontFormatException, IOException
Font
を返します。新しい Font
はポイントサイズ 1、スタイル PLAIN
で生成されます。このクラスの deriveFont
メソッドでベースとなるフォントを使って、サイズ、スタイル、変形体、およびフォントの特徴が異なる新しい Font
オブジェクトを派生させることができます。
fontFormat
- Font
のタイプ。TrueType リソースを指定する場合は TRUETYPE_FONT
、Type 1 リソースを指定する場合は TYPE1_FONT
。返されたフォントまたはその派生フォントが参照されるかぎり、実装では fontFile
にアクセスし続け、フォントデータを取得できる。そのため、ファイルが変更された場合の結果は不定で、アクセスできなくなる Font コンストラクタで Font
を使用できるようにするには、registerFont(Font)
を呼び出して、返された Font
を GraphicsEnviroment
に登録する必要があります。
fontFile
- フォントの入力データを表す File
オブジェクト
Font
IllegalArgumentException
- fontFormat
が TRUETYPE_FONT
または TYPE1_FONT
ではない場合
NullPointerException
- fontFile
が null の場合
IOException
- fontFile
を読み込みできない場合
FontFormatException
- fontFile
が、指定された形式に必要なフォントテーブルを持っていない場合
SecurityException
- 実行するコードに、ファイルから読み取るアクセス権がない場合GraphicsEnvironment.registerFont(Font)
public AffineTransform getTransform()
Font
に関連付けられた変形体のコピーを返します。この変形体は、フォントの構築に使用されるものとは限りません。フォントにアルゴリズムによる上付き処理や幅の調整が行われる場合、これは返される AffineTransform
に組み込まれます。
通常、フォントは変形されません。一般に、クライアントでは、まず isTransformed()
を呼び出し、isTransformed
から true が返された場合のみこのメソッドを呼び出すようにしてください。
Font
オブジェクトの変形体属性を表す AffineTransform
オブジェクトpublic String getFamily()
Font
のファミリ名を返します。
フォントのファミリ名はフォント固有です。Helvetica Italic と Helvetica Bold の 2 つのフォントのファミリ名はともに Helvetica ですが、フォントフェース名はそれぞれ Helvetica Bold と Helvetica Italic になります。GraphicsEnvironment.getAvailableFontFamilyNames()
メソッドで有効なファミリ名のリストを取得できます。
getName を使用すると、フォントの論理名を取得できます。フォントフェース名の取得には getFontName
を使用します。
Font
のファミリ名を表す String
getName()
,
getFontName()
public String getFamily(Locale l)
Font
のファミリ名を返します。
フォントのファミリ名はフォント固有です。Helvetica Italic と Helvetica Bold の 2 つのフォントのファミリ名はともに Helvetica ですが、フォントフェース名はそれぞれ Helvetica Bold と Helvetica Italic になります。GraphicsEnvironment.getAvailableFontFamilyNames()
メソッドで有効なファミリ名のリストを取得できます。
フォントフェース名の取得には getFontName
を使用します。
l
- ファミリ名を取得するロケール
String
getFontName()
,
Locale
public String getPSName()
Font
のポストスクリプト名を返します。getFamily
を使用すると、フォントのファミリ名を取得できます。フォントフェース名の取得には getFontName
を使用します。
Font
のポストスクリプト名を表す String
public String getName()
Font
の論理名を返します。getFamily
を使用すると、フォントのファミリ名を取得できます。フォントフェース名の取得には getFontName
を使用します。
Font
の論理名を表す String
getFamily()
,
getFontName()
public String getFontName()
Font
のフォントフェース名を返します。たとえば、フォントフェース名として Helvetica Bold が返されます。getFamily
を使用すると、フォントのファミリ名を取得できます。getName を使用すると、フォントの論理名を取得できます。
Font
のフォントフェース名を表す String
getFamily()
,
getName()
public String getFontName(Locale l)
Font
のフォントフェース名を返します。たとえば、フォントフェース名として Helvetica Fett が返されます。getFamily
を使用すると、フォントのファミリ名を取得できます。
l
- フォントフェース名を取得するロケール
String
getFamily()
,
Locale
public int getStyle()
Font
のスタイルを返します。PLAIN、BOLD、ITALIC、または BOLD+ITALIC のいずれかです。
Font
のスタイルisPlain()
,
isBold()
,
isItalic()
public int getSize()
Font
のポイントサイズを整数値で返します。ほとんどのユーザーは、「ポイントサイズ」でのフォントのグリフサイズの指定に慣れています。このポイントサイズは、シングルスペースのテキストドキュメント上の、ある行のベースラインから次の行のベースラインまでの距離を定義します。ポイントサイズは「文字体裁のポイント」をベースにしており、およそ 1/72 インチです。
Java (TM) 2D API の規約では、1 ポイントがユーザー座標の 1 単位に相当します。ユーザー空間座標からデバイス空間座標への変換に標準化された変換を使用する場合、72 ユーザー空間単位がデバイス空間の 1 インチと等しくなります。この場合、1 ポイントは 1/72 インチです。
Font
のポイントサイズgetSize2D()
,
GraphicsConfiguration.getDefaultTransform()
,
GraphicsConfiguration.getNormalizingTransform()
public float getSize2D()
Font
のポイントサイズを float
値で返します。
float
値で表された、この Font
のポイントサイズgetSize()
public boolean isPlain()
Font
オブジェクトのスタイルが PLAIN どうかを示します。
Font
のスタイルが PLAIN の場合は true
、そうでない場合は false
getStyle()
public boolean isBold()
Font
オブジェクトのスタイルが BOLD かどうかを示します。
Font
オブジェクトのスタイルが BOLD の場合は true
、そうでない場合は false
getStyle()
public boolean isItalic()
Font
オブジェクトのスタイルが ITALIC かどうかを示します。
Font
オブジェクトのスタイルが ITALIC の場合は true
、そうでない場合は false
getStyle()
public boolean isTransformed()
Font
オブジェクトが、Size 属性以外にサイズに影響を与える変形体を持つかどうかを示します。
Font
オブジェクトが非恒等 AffineTransform 属性を持つ場合は true
、そうでない場合は false
getTransform()
public boolean hasLayoutAttributes()
public static Font getFont(String nm)
Font
オブジェクトを返します。 nm
は取得するシステムプロパティーの名前として扱われます。このプロパティーの String
値は、Font.decode(String)
の仕様に従って、Font
オブジェクトとして解釈されます。 指定されたプロパティーが見つからない場合、または実行するコードにプロパティーを読み取るアクセス権がない場合は、null を返します。
nm
- プロパティー名
Font
オブジェクト、または該当するプロパティーが存在しない場合は null
NullPointerException
- nm が null の場合decode(String)
public static Font decode(String str)
str
引数で指定される名称の Font
を返します。必要なフォントを確実に取得するためには、str
パラメータの書式を次のいずれかに設定します。
PLAIN
、BOLD
、BOLDITALIC
、または ITALIC
のいずれかです (大文字または小文字のどちらでも指定可能)。pointsize は正の十進数の整数で表したポイントサイズです。太字でポイントサイズ 18 の Arial フォントが必要な場合、Arial-BOLD-18 を指定してこのメソッドを呼び出します。これは Font コンストラクタ new Font("Arial", Font.BOLD, 18);
の呼び出しと等しく、値はそのコンストラクタによって指定されたものとして解釈されます。
あとに続く有効なフィールドは常にポイントサイズとして解釈されます。そのため、フォント名のみの形式では、うしろに 10 進値が付いたフォント名を使用しないでください。
スタイル名フィールドが有効なスタイル文字列でない場合、それはフォント名の一部として解釈され、デフォルトのスタイルが使われます。
' ' または '-' のどちらか 1 つ を使用して、入力のフィールドを区切ります。識別されるセパレータは有効なポイントサイズまたは有効なスタイル名を残りの文字列から区切る文字列の末尾にもっとも近いものです。null (空) のポイントサイズおよびスタイルフィールドはそのフィールドにデフォルト値を持つ有効なフィールドとして扱われます。
フォント名にはセパレータ文字 ' ' または '-' が含まれることがあります。str
が 3 つの成分から構成されていない、つまり style
または pointsize
フィールドが str
に存在せず、fontname
にも区切り文字として特定される文字が含まれる場合、fontname
の一部として意図されたこれらの文字は、セパレータとして解釈され、正しく認識されないことがあります。
デフォルトのサイズは 12、デフォルトのスタイルは PLAIN になります。str
で有効なサイズを指定しない場合、返される Font
のサイズは 12 になります。 str
で有効なスタイルを指定しない場合、返されるフォントのスタイルは PLAIN になります。str
引数に有効なフォント名を指定しない場合、ファミリ名が「dialog」のフォントが返されます。システム上で有効なフォントファミリ名を判定するためには、GraphicsEnvironment.getAvailableFontFamilyNames()
メソッドを使用します。str
が null
の場合、ファミリ名が「dialog」、サイズが 12、スタイルが PLAIN の新しい Font
が返されます。
str
- フォント名、または null
str
で指定される Font
オブジェクト。str
が null
の場合は新しいデフォルト Font
getFamily()
public static Font getFont(String nm, Font font)
Font
を返します。System
の getProperty
メソッドの場合と同じように、最初の引数は取得するシステムプロパティーの名前として扱われます。このプロパティーの String
値は、Font
オブジェクトとして解釈されます。
プロパティー値は Font.decode(String)
によって受け付けられた形式のいずれかです。 指定されたプロパティーが見つからない場合、または実行するコードにプロパティーを読み取るアクセス権がない場合は、font
引数が返されます。
nm
- プロパティー名。大文字と小文字は区別されないfont
- プロパティー nm
が定義されていない場合に返されるデフォルトの Font
Font
値
NullPointerException
- nm が null の場合decode(String)
public int hashCode()
Font
のハッシュコードを返します。
Object
内の hashCode
Font
のハッシュコード値Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Font
オブジェクトを、指定された Object
と比較します。
Object
内の equals
obj
- 比較対象の Object
Font
オブジェクトである場合は true
、そうでない場合は false
Object.hashCode()
,
Hashtable
public String toString()
Font
オブジェクトを String
表現に変換します。
Object
内の toString
Font
オブジェクトの String
表現public int getNumGlyphs()
Font
のグリフ数を返します。この Font
のグリフコードの範囲は、0 〜 getNumGlyphs()
- 1 です。
Font
のグリフ数public int getMissingGlyphCode()
Font
が指定された Unicode コードポイントに対してグリフを持たない場合に使用される glyphCode を返します。
Font
の glyphCodepublic byte getBaselineFor(char c)
大きなフォントはさまざまな書記法をサポートでき、各書記法は別々のベースラインを使用できます。文字引数は、使用する書記法を決めます。クライアントは、すべての文字が同じベースラインを使用すると仮定することはできません。
c
- 書記法を識別するための文字
LineMetrics.getBaselineOffsets()
,
ROMAN_BASELINE
,
CENTER_BASELINE
,
HANGING_BASELINE
public Map<TextAttribute,?> getAttributes()
Font
で有効なフォント属性のマップを返します。属性には、合字やグリフの代用などが含まれます。
Font
の属性マップpublic AttributedCharacterIterator.Attribute[] getAvailableAttributes()
Font
がサポートするすべての属性のキーを返します。それらの属性は、ほかのフォントを派生させるために使用できます。
Font
がサポートするすべての属性のキーが格納されている配列public Font deriveFont(int style, float size)
Font
オブジェクトを複製し新しいスタイルおよびサイズを適用することにより、新しい Font
オブジェクトを生成します。
style
- 新しい Font
のスタイルsize
- 新しい Font
のサイズ
Font
オブジェクトpublic Font deriveFont(int style, AffineTransform trans)
Font
オブジェクトを複製し、新しいスタイルおよび変換を適用することにより、新しい Font
オブジェクトを生成します。
style
- 新しい Font
のスタイルtrans
- 新しい Font
に関連付けられた AffineTransform
Font
オブジェクト
IllegalArgumentException
- trans
が null
の場合public Font deriveFont(float size)
Font
オブジェクトを複製し新しいサイズを適用することにより、新しい Font
オブジェクトを生成します。
size
- 新しい Font
のサイズ
Font
オブジェクトpublic Font deriveFont(AffineTransform trans)
Font
オブジェクトを複製し新しい変換を適用することにより、新しい Font
オブジェクトを生成します。
trans
- 新しい Font
に関連付けられた AffineTransform
Font
オブジェクト
IllegalArgumentException
- trans
が null
の場合public Font deriveFont(int style)
Font
オブジェクトを複製し新しいスタイルを適用することにより、新しい Font
オブジェクトを生成します。
style
- 新しい Font
のスタイル
Font
オブジェクトpublic Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font
オブジェクトを複製し新しいフォント属性を適用することにより、新しい Font
オブジェクトを生成します。
attributes
- 新しい Font
に使用可能な属性のマップ
Font
オブジェクトpublic boolean canDisplay(char c)
Font
が指定された文字のグリフを持つかどうかを判定します。
注: このメソッドは、補助文字を処理できません。補助文字を含むすべての Unicode 文字をサポートするには、canDisplay(int)
メソッドまたは canDisplayUpTo
メソッドを使用します。
c
- グリフが必要な文字
Font
がこの文字のグリフを持つ場合は true
、そうでない場合は false
public boolean canDisplay(int codePoint)
Font
が指定された文字のグリフを持つかどうかを判定します。
codePoint
- グリフが必要な文字 (Unicode コードポイント)
Font
が文字のグリフを持つ場合は true
、そうでない場合は false
IllegalArgumentException
- コードポイントが有効な Unicode コードポイントでない場合Character.isValidCodePoint(int)
public int canDisplayUpTo(String str)
String
を、この Font
で表示できるかどうかを示します。Unicode エンコーディング文字列の場合、特定のフォントで文字列を表示できるかどうかを確認することが重要になります。このメソッドは、String
str
内のオフセットを返します。 このオフセットは、欠如しているグリフコードを使用しないかぎりこの Font
では表示できない最初の文字を示します。この Font
ですべての文字を表示できる場合は、-1 が返されます。
str
- String
オブジェクト
Font
で表示できない str
内の最初の文字を示す str
内のオフセット。str
内のすべての文字をこの Font
で表示できる場合は -1
public int canDisplayUpTo(char[] text, int start, int limit)
text
内の start
から始まり limit
で終わる文字列を、この Font
で表示できるかどうかを示します。このメソッドは簡易オーバーロードです。
text
- char
値の指定された配列start
- 指定された char
値の配列内の指定された (char
の) 開始オフセットlimit
- 指定された char
値の配列内の指定された (char
の) 終了オフセット
Font
で表示できない text
内の最初の文字を示す text
内のオフセット。text
内のすべての文字をこの Font
で表示できる場合は -1
public int canDisplayUpTo(CharacterIterator iter, int start, int limit)
Font
で、start
から始まり limit
で終わる iter
によって指定されたテキストを表示できるかどうかを示します。
iter
- CharacterIterator
オブジェクトstart
- 指定された CharacterIterator
内の指定された開始オフセットlimit
- 指定された CharacterIterator
内の指定された終了オフセット
Font
で表示できない iter
内の最初の文字を示す iter
内のオフセット。iter
内のすべての文字をこの Font
で表示できる場合は -1
public float getItalicAngle()
Font
のイタリックの角度を返します。イタリックの角度とはこの Font
のポスチャー (傾き) にもっとも一致するキャレットの逆傾斜です。
Font
の ITALIC スタイルの角度TextAttribute.POSTURE
public boolean hasUniformLineMetrics()
Font
が均一のラインメトリックスを持つかどうかを判定します。論理 Font
は、複合フォントの場合があります。 複合フォントは、複数のコード範囲を網羅するために複数の物理フォントで構成されています。それらの各フォントは、別々の LineMetrics
を持つ場合があります。論理 Font
が単一のフォントの場合、メトリックスは均一です。
Font
のスタイルが均一のラインメトリックスを持つ場合は true
、そうでない場合は false
public LineMetrics getLineMetrics(String str, FontRenderContext frc)
String
および FontRenderContext
によって作成された LineMetrics
オブジェクトを返します。
str
- 指定された String
frc
- 指定された FontRenderContext
String
および FontRenderContext
によって作成された LineMetrics
オブジェクトpublic LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)
LineMetrics
オブジェクトを返します。
str
- 指定された String
beginIndex
- str
の開始オフセットlimit
- str
の終了オフセットfrc
- 指定された FontRenderContext
LineMetrics
オブジェクトpublic LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)
LineMetrics
オブジェクトを返します。
chars
- 文字配列beginIndex
- chars
の開始オフセットlimit
- chars
の終了オフセットfrc
- 指定された FontRenderContext
LineMetrics
オブジェクトpublic LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
LineMetrics
オブジェクトを返します。
ci
- 指定された CharacterIterator
beginIndex
- ci
の開始オフセットlimit
- ci
の終了オフセットfrc
- 指定された FontRenderContext
LineMetrics
オブジェクトpublic Rectangle2D getStringBounds(String str, FontRenderContext frc)
FontRenderContext
の指定された String
の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayout
の getBounds
メソッドを使います。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
str
- 指定された String
frc
- 指定された FontRenderContext
FontRenderContext
で、指定された String
のバウンディングボックスを表す Rectangle2D
FontRenderContext
,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)
FontRenderContext
の指定された String
の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayout
の getBounds
メソッドを使います。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
str
- 指定された String
beginIndex
- str
の開始オフセットlimit
- str
の終了オフセットfrc
- 指定された FontRenderContext
FontRenderContext
で、指定された String
のバウンディングボックスを表す Rectangle2D
IndexOutOfBoundsException
- beginIndex
が 0 より小さい場合、limit
が str
より大きい場合、または beginIndex
が limit
より大きい場合FontRenderContext
,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)
FontRenderContext
の指定された文字配列の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayout
の getBounds
メソッドを使います。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
chars
- 文字配列beginIndex
- 文字配列の初期オフセットlimit
- 文字配列の終了オフセットfrc
- 指定された FontRenderContext
FontRenderContext
で、指定された文字配列のバウンディングボックスを表す Rectangle2D
IndexOutOfBoundsException
- beginIndex
が 0 より小さい場合、limit
が chars
より大きい場合、または beginIndex
が limit
より大きい場合FontRenderContext
,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
FontRenderContext
の指定された CharacterIterator
にインデックス付けされた文字の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayout
の getBounds
メソッドを使います。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
ci
- 指定された CharacterIterator
beginIndex
- ci
の開始オフセットlimit
- ci
の終了オフセットfrc
- 指定された FontRenderContext
FontRenderContext
で、指定された CharacterIterator
内のインデックス付き文字のバウンディングボックスを表す Rectangle2D
IndexOutOfBoundsException
- beginIndex
が開始インデックス ci
より小さい場合、limit
が終了インデックス ci
より大きい場合、または beginIndex
が limit
より大きい場合FontRenderContext
,
createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
public Rectangle2D getMaxCharBounds(FontRenderContext frc)
FontRenderContext
で、最大の境界を持つ文字の境界を返します。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
frc
- 指定された FontRenderContext
Rectangle2D
public GlyphVector createGlyphVector(FontRenderContext frc, String str)
Font
の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector
を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。
frc
- 指定された FontRenderContext
str
- 指定された String
String
および FontRenderContext
で作成された新しい GlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)
Font
の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector
を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。
frc
- 指定された FontRenderContext
chars
- 指定された文字配列
FontRenderContext
で作成された新しい GlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)
Font
の Unicode cmap をベースにして、指定された文字とグリフを 1 対 1 にマッピングし、GlyphVector
を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。
frc
- 指定された FontRenderContext
ci
- 指定された CharacterIterator
CharacterIterator
および FontRenderContext
で作成された新しい GlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)
Font
の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector
を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。
frc
- 指定された FontRenderContext
glyphCodes
- 指定された整数配列
FontRenderContext
で作成された新しい GlyphVector
public GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)
GlyphVector
オブジェクトを返します。アラビア語やヒンディー語などの複雑な文字では、完全なレイアウトが必要です。ほかの文字のサポートはフォントと実装で決定されます。
レイアウトを決定するためには Bidi
による双方向分析が必要です。また同一方向に記述されるテキストだけがレイアウト可能です。記述方向はフラグのパラメータで示されます。 LAYOUT_RIGHT_TO_LEFT は右から左に記述されることを示し (アラビア語やヘブライ語など)、LAYOUT_LEFT_TO_RIGHT は左から右に記述されることを示します (英語)。
さらに、アラビア語の整形などでは、最初の文字と最後の文字を正しく整形するためにコンテキストが必要です。指定範囲外のバッファーのデータが有効なデータでない場合があります。フラグパラメータに LAYOUT_NO_START_CONTEXT および LAYOUT_NO_LIMIT_CONTEXT を追加すると、開始位置より前のデータ、終了位置より後のデータをコンテキスト検査の対象外にできます。
これ以外のフラグパラメータの値はすべて予約されています。
frc
- 指定された FontRenderContext
text
- レイアウトするテキストstart
- GlyphVector
で使用するテキストの開始位置limit
- GlyphVector
で使用するテキストの終了位置flags
- 先に述べた制御フラグ
GlyphVector
。テキストがもっとも見やすくなるようにグリフが選択、配置される
ArrayIndexOutOfBoundsException
- 開始位置または終了位置が範囲外の場合Bidi
,
LAYOUT_LEFT_TO_RIGHT
,
LAYOUT_RIGHT_TO_LEFT
,
LAYOUT_NO_START_CONTEXT
,
LAYOUT_NO_LIMIT_CONTEXT
protected void finalize() throws Throwable
Font
オブジェクトを破棄します。
Object
内の finalize
Throwable
- このメソッドで生じた Exception
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。