|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.font.NumericShaper
public final class NumericShaper
NumericShaper
クラスは、Latin-1 (ヨーロッパ言語) の数字をほかの Unicode 10 進数に変換するために使用します。このクラスは主に、データの提示に各国の数字の形状を使いながら内部的には Latin-1 (ヨーロッパ言語) の数字を使ったほうが便利な場合に使用します。推奨されていない数字形状セレクタ文字 (U+206E) は解釈しません。
NumericShaper
のインスタンスは通常、TextAttribute
クラスの NUMERIC_SHAPING
属性を持つテキストの属性として適用されます。たとえば次のコード部分では、アラビア語のコンテキスト内では TextLayout
のヨーロッパ言語の数字をアラビア語の数字に変換します。
Map map = new HashMap(); map.put(TextAttribute.NUMERIC_SHAPING, NumericShaper.getContextualShaper(NumericShaper.ARABIC)); FontRenderContext frc = ...; TextLayout layout = new TextLayout(text, map, frc); layout.draw(g2d, x, y);
NumericShaper
のインスタンスを使用して数字の形状決定を明示的に行うこともできます。char[] text = ...; // shape all EUROPEAN digits (except zero) to ARABIC digits NumericShaper shaper = NumericShaper.getShaper(NumericShaper.ARABIC); shaper.shape(text, start, count); // shape European digits to ARABIC digits if preceding text is Arabic, or // shape European digits to TAMIL digits if preceding text is Tamil, or // leave European digits alone if there is no preceding text, or // preceding text is neither Arabic nor Tamil NumericShaper shaper = NumericShaper.getContextualShaper(NumericShaper.ARABIC | NumericShaper.TAMIL, NumericShaper.EUROPEAN); shaper.shape(text. start, count);
フィールドの概要 | |
---|---|
static int |
ALL_RANGES
すべての範囲を識別します。 |
static int |
ARABIC
ARABIC の範囲と 10 進数を識別します。 |
static int |
BENGALI
BENGALI の範囲と 10 進数を識別します。 |
static int |
DEVANAGARI
DEVANAGARI の範囲と 10 進数を識別します。 |
static int |
EASTERN_ARABIC
ARABIC の範囲と ARABIC_EXTENDED の 10 進数を識別します。 |
static int |
ETHIOPIC
ETHIOPIC の範囲と 10 進数を識別します。 |
static int |
EUROPEAN
Latin-1 (ヨーロッパ言語) と拡張範囲、および Latin-1 (ヨーロッパ言語) の 10 進数を識別します。 |
static int |
GUJARATI
GUJARATI の範囲と 10 進数を識別します。 |
static int |
GURMUKHI
GURMUKHI の範囲と 10 進数を識別します。 |
static int |
KANNADA
KANNADA の範囲と 10 進数を識別します。 |
static int |
KHMER
KHMER の範囲と 10 進数を識別します。 |
static int |
LAO
LAO の範囲と 10 進数を識別します。 |
static int |
MALAYALAM
MALAYALAM の範囲と 10 進数を識別します。 |
static int |
MONGOLIAN
MONGOLIAN の範囲と 10 進数を識別します。 |
static int |
MYANMAR
MYANMAR の範囲と 10 進数を識別します。 |
static int |
ORIYA
ORIYA の範囲と 10 進数を識別します。 |
static int |
TAMIL
TAMIL の範囲と 10 進数を識別します。 |
static int |
TELUGU
TELUGU の範囲と 10 進数を識別します。 |
static int |
THAI
THAI の範囲と 10 進数を識別します。 |
static int |
TIBETAN
TIBETAN の範囲と 10 進数を識別します。 |
メソッドの概要 | |
---|---|
boolean |
equals(Object o)
指定されたオブジェクトが NumericShaper のインスタンスであり、これと同じ方法で形状決定を行う場合は true 、そうでない場合は false を返します。 |
static NumericShaper |
getContextualShaper(int ranges)
指定された Unicode の 1 つまたは複数の範囲に対する、コンテキスト依存の形状決定要因を返します。 |
static NumericShaper |
getContextualShaper(int ranges,
int defaultContext)
指定された Unicode の 1 つまたは複数の範囲に対する、コンテキスト依存の形状決定要因を返します。 |
int |
getRanges()
形状決定を行うすべての範囲に対する値の論理和を求める int を返します。 |
static NumericShaper |
getShaper(int singleRange)
指定された Unicode の範囲に対する形状決定要因を返します。 |
int |
hashCode()
この形状決定要因のハッシュコードを返します。 |
boolean |
isContextual()
この形状決定要因がコンテキスト依存かどうかを示す boolean を返します。 |
void |
shape(char[] text,
int start,
int count)
start と start + count の間に出現する、テキスト内の数字を変換します。 |
void |
shape(char[] text,
int start,
int count,
int context)
指定されたコンテキストを使用して、start と start + count の間に出現するテキスト内の数字を変換します。 |
String |
toString()
この形状決定要因を記述する String を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
---|
public static final int EUROPEAN
public static final int ARABIC
public static final int EASTERN_ARABIC
public static final int DEVANAGARI
public static final int BENGALI
public static final int GURMUKHI
public static final int GUJARATI
public static final int ORIYA
public static final int TAMIL
public static final int TELUGU
public static final int KANNADA
public static final int MALAYALAM
public static final int THAI
public static final int LAO
public static final int TIBETAN
public static final int MYANMAR
public static final int ETHIOPIC
public static final int KHMER
public static final int MONGOLIAN
public static final int ALL_RANGES
メソッドの詳細 |
---|
public static NumericShaper getShaper(int singleRange)
singleRange
- 指定された Unicode の範囲
IllegalArgumentException
- 範囲が 1 つでない場合public static NumericShaper getContextualShaper(int ranges)
NumericShaper.ARABIC | NumericShaper.THAI
のように、値の論理和によって表されます。形状決定要因は、EUROPEAN を開始コンテキストとして想定します。 つまり、文字列内で方向性の強いテキストの前に EUROPEAN の数字が検出された場合、コンテキストは EUROPEAN であると見なされ、数字は形状決定されません。
ranges
- 指定された Unicode の範囲
public static NumericShaper getContextualShaper(int ranges, int defaultContext)
NumericShaper.ARABIC | NumericShaper.THAI
のように、値の論理和によって表されます。形状決定要因は、defaultContext を開始コンテキストとして使います。
ranges
- 指定された Unicode の範囲defaultContext
- 開始コンテキスト。NumericShaper.EUROPEAN
など
IllegalArgumentException
- 指定された defaultContext
が単一の有効な範囲でない場合public void shape(char[] text, int start, int count)
text
- 変換する文字の配列start
- 変換を開始する text
内のインデックスcount
- text
内の変換する文字数
IndexOutOfBoundsException
- start または start + count が範囲外の場合
NullPointerException
- text が null の場合public void shape(char[] text, int start, int count, int context)
text
- 文字配列start
- 変換を開始する text
内のインデックスcount
- text
内の変換する文字数context
- 文字の変換先のコンテキスト。NumericShaper.EUROPEAN
など
IndexOutOfBoundsException
- start または start + count が範囲外の場合
NullPointerException
- text が null の場合
IllegalArgumentException
- これがコンテキスト依存の形状決定要因であり、指定された context
が単一の有効な範囲でない場合public boolean isContextual()
boolean
を返します。
true
、そうでない場合は false
public int getRanges()
int
を返します。
たとえば、アラビア語への形状決定が行われるかどうかを調べるには、次のようにします。
if ((shaper.getRanges() & shaper.ARABIC) != 0) { ...
public int hashCode()
Object
内の hashCode
Object.hashCode()
public boolean equals(Object o)
NumericShaper
のインスタンスであり、これと同じ方法で形状決定を行う場合は true
、そうでない場合は false
を返します。
Object
内の equals
o
- この NumericShaper
と比較する、指定されたオブジェクト
o
が NumericShaper
のインスタンスであり、同じ方法で形状決定を行う場合は true
、そうでない場合は false
Object.equals(java.lang.Object)
public String toString()
String
を返します。このメソッドはデバッグの場合にだけ使用します。
Object
内の toString
String
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。