Bidi クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
<h2> ICU のBidi アルゴリズム</h2>
This is an implementation of the Unicode Bidirectional Algorithm.
[Android.Runtime.Register("android/icu/text/Bidi", ApiSince=29, DoNotGenerateAcw=true)]
public class Bidi : Java.Lang.Object
[<Android.Runtime.Register("android/icu/text/Bidi", ApiSince=29, DoNotGenerateAcw=true)>]
type Bidi = class
inherit Object
- 継承
- 属性
注釈
<h2> ICU のBidi アルゴリズム</h2>
これは、Unicode 双方向アルゴリズムの実装です。 このアルゴリズムは Unicode 標準付属書 #9 で定義されています。
注: 双方向アルゴリズムを実行し、それに応じて文字列を並べ替えるライブラリは、"ストレージ レイアウト エンジン" と呼ばれることがあります。 ICU の Bidi とシェイプ (ArabicShaping) クラスは、このような "ストレージ レイアウト エンジン" の中核として使用できます。
<h3> API:</h3 に関する一般的な解説>
次の値を使用します。limit>一連の文字は、最後の文字の直後の位置(つまり、その位置より 1 つ多い位置)です。
API メソッドの中には、> へのアクセスを提供するものもあります。runs>. このような >run>は、Bidi アルゴリズムの実行後に同じ埋め込みレベルにある文字のシーケンスとして定義されます。
<h3>Basic concept: paragraph</h3> テキストの一部は、Bidi クラスの Block Separatorを使用して文字ごとに複数の段落に分割できます。 段落の処理については、「 <ul><li>#countParagraphs<li>#getParaLevel<li>#getParagraph<li>#getParagraphByIndex</ul」を参照してください。>
<h3>Basic concept: text direction</h3> テキストの方向は、<ul><li>#LTR<>#RTL<li>#MIXED<li>#NEUTRAL</ul です。>
<h3>基本概念: levels</h3>
この API のレベルは、Unicode 双方向アルゴリズムに従った埋め込みレベルを表します。 それらの下位ビット (偶数/奇数値) は、視覚的な方向を示します。
レベルは、paraLevelのembeddingLevels引数とsetPara()引数に使用する場合に抽象値にすることができます。<ul><li>embeddingLevels[]値の上位ビットは、Using アプリケーションが、Bidi 実装で解決される文字のレベルをオーバーライドする文字のレベルを指定しているかどうかを示します。</li><li>paraLevel は擬似レベルの値LEVEL_DEFAULT_LTRに設定でき、LEVEL_DEFAULT_RTL.</li></ul>
関連する定数は、実際の有効なレベル値ではありません。
DEFAULT_XXX を使用すると、 setPara() メソッドによって決定されるが、入力に厳密に型指定された文字がない場合に、段落レベルの既定値を指定できます。
LEVEL_DEFAULT_LTRの値は偶数であり、通常の LTR および RTL レベルの値と同様に、LEVEL_DEFAULT_RTLの値は奇数であることに注意してください。これらの特別な値はそのように設計されています。 また、実装では、MAX_EXPLICIT_LEVELが奇数であることを前提としています。
注: 関連定数の数値は変更されません。これらは、7 ビットバイト値 (およびオーバーライド ビット) と、この API のバイト データ型の使用に関連付けられています。
<b>See Also:</b><ul><li>#LEVEL_DEFAULT_LTR<li>#LEVEL_DEFAULT_RTL<li>#LEVEL_OVERRIDE<li>#MAX_EXPLICIT_LEVEL<li>#setPara</ul>
<h3>基本概念: 並べ替えモード</h3> 並べ替えモードの値は、使用する Bidi アルゴリズムのバリアントを示します。
<b>See Also:</b><ul><li>#setReorderingMode<li>#REORDER_DEFAULT<li>#REORDER_NUMBERS_SPECIAL<li>#REORDER_GROUP_NUMBERS_WITH_R<li>#REORDER_RUNS_ONLY<li>#REORDER_INVERSE_NUMBERS_AS_L<>#REORDER_INVERSE_LIKE_DIRECT<li>#REORDER_INVERSE_FOR_NUMBERS_SPECIAL</ul>
<h3>基本概念: 並べ替えオプション</h3> 並べ替えオプションは、Bidi テキスト変換中に適用できます。
<b>See Also:</b><ul><li>#setReorderingOptions<li>#OPTION_DEFAULT<li>#OPTION_INSERT_MARKS<li>#OPTION_REMOVE_CONTROLS<li>#OPTION_STREAMING</ul>
<h4> ICU Bidi API </h4 のサンプル コード>
<h5> ICU Bidi API を使用して段落をレンダリングする</h5>
これは、ICU Bidi API を使用してテキストの段落をレンダリングする方法を示す (仮定の) サンプル コードです。 レンダリング コードはグラフィックス システムに大きく依存するため、このサンプル コードでは、既存のグラフィックス システムのプロパティと一致する場合と一致しない可能性がある多くの前提条件を満たす必要があります。
基本的な前提条件は次のとおりです。
<ul><li>水平線で左から右にレンダリングが行われます。</li><li>単一スタイルの一方向テキストの実行を一度にレンダリングできます。 </li><li>テキストの実行が論理順序で文字 (コード単位) でグラフィックス システムに渡されます</li><li>改行アルゴリズムは非常に複雑でロケールに依存するため、このサンプル コードでは実装を省略しています</li></ul>
package android.icu.dev.test.bidi;
import android.icu.text.Bidi;
import android.icu.text.BidiRun;
public class Sample {
static final int styleNormal = 0;
static final int styleSelected = 1;
static final int styleBold = 2;
static final int styleItalics = 4;
static final int styleSuper=8;
static final int styleSub = 16;
static class StyleRun {
int limit;
int style;
public StyleRun(int limit, int style) {
this.limit = limit;
this.style = style;
}
}
static class Bounds {
int start;
int limit;
public Bounds(int start, int limit) {
this.start = start;
this.limit = limit;
}
}
static int getTextWidth(String text, int start, int limit,
StyleRun[] styleRuns, int styleRunCount) {
// simplistic way to compute the width
return limit - start;
}
// set limit and StyleRun limit for a line
// from text[start] and from styleRuns[styleRunStart]
// using Bidi.getLogicalRun(...)
// returns line width
static int getLineBreak(String text, Bounds line, Bidi para,
StyleRun styleRuns[], Bounds styleRun) {
// dummy return
return 0;
}
// render runs on a line sequentially, always from left to right
// prepare rendering a new line
static void startLine(byte textDirection, int lineWidth) {
System.out.println();
}
// render a run of text and advance to the right by the run width
// the text[start..limit-1] is always in logical order
static void renderRun(String text, int start, int limit,
byte textDirection, int style) {
}
// We could compute a cross-product
// from the style runs with the directional runs
// and then reorder it.
// Instead, here we iterate over each run type
// and render the intersections -
// with shortcuts in simple (and common) cases.
// renderParagraph() is the main function.
// render a directional run with
// (possibly) multiple style runs intersecting with it
static void renderDirectionalRun(String text, int start, int limit,
byte direction, StyleRun styleRuns[],
int styleRunCount) {
int i;
// iterate over style runs
if (direction == Bidi.LTR) {
int styleLimit;
for (i = 0; i < styleRunCount; ++i) {
styleLimit = styleRuns[i].limit;
if (start < styleLimit) {
if (styleLimit > limit) {
styleLimit = limit;
}
renderRun(text, start, styleLimit,
direction, styleRuns[i].style);
if (styleLimit == limit) {
break;
}
start = styleLimit;
}
}
} else {
int styleStart;
for (i = styleRunCount-1; i >= 0; --i) {
if (i > 0) {
styleStart = styleRuns[i-1].limit;
} else {
styleStart = 0;
}
if (limit >= styleStart) {
if (styleStart < start) {
styleStart = start;
}
renderRun(text, styleStart, limit, direction,
styleRuns[i].style);
if (styleStart == start) {
break;
}
limit = styleStart;
}
}
}
}
// the line object represents text[start..limit-1]
static void renderLine(Bidi line, String text, int start, int limit,
StyleRun styleRuns[], int styleRunCount) {
byte direction = line.getDirection();
if (direction != Bidi.MIXED) {
// unidirectional
if (styleRunCount <= 1) {
renderRun(text, start, limit, direction, styleRuns[0].style);
} else {
renderDirectionalRun(text, start, limit, direction,
styleRuns, styleRunCount);
}
} else {
// mixed-directional
int count, i;
BidiRun run;
try {
count = line.countRuns();
} catch (IllegalStateException e) {
e.printStackTrace();
return;
}
if (styleRunCount <= 1) {
int style = styleRuns[0].style;
// iterate over directional runs
for (i = 0; i < count; ++i) {
run = line.getVisualRun(i);
renderRun(text, run.getStart(), run.getLimit(),
run.getDirection(), style);
}
} else {
// iterate over both directional and style runs
for (i = 0; i < count; ++i) {
run = line.getVisualRun(i);
renderDirectionalRun(text, run.getStart(),
run.getLimit(), run.getDirection(),
styleRuns, styleRunCount);
}
}
}
}
static void renderParagraph(String text, byte textDirection,
StyleRun styleRuns[], int styleRunCount,
int lineWidth) {
int length = text.length();
Bidi para = new Bidi();
try {
para.setPara(text,
textDirection != 0 ? Bidi.LEVEL_DEFAULT_RTL
: Bidi.LEVEL_DEFAULT_LTR,
null);
} catch (Exception e) {
e.printStackTrace();
return;
}
byte paraLevel = (byte)(1 & para.getParaLevel());
StyleRun styleRun = new StyleRun(length, styleNormal);
if (styleRuns == null || styleRunCount <= 0) {
styleRuns = new StyleRun[1];
styleRunCount = 1;
styleRuns[0] = styleRun;
}
// assume styleRuns[styleRunCount-1].limit>=length
int width = getTextWidth(text, 0, length, styleRuns, styleRunCount);
if (width <= lineWidth) {
// everything fits onto one line
// prepare rendering a new line from either left or right
startLine(paraLevel, width);
renderLine(para, text, 0, length, styleRuns, styleRunCount);
} else {
// we need to render several lines
Bidi line = new Bidi(length, 0);
int start = 0, limit;
int styleRunStart = 0, styleRunLimit;
for (;;) {
limit = length;
styleRunLimit = styleRunCount;
width = getLineBreak(text, new Bounds(start, limit),
para, styleRuns,
new Bounds(styleRunStart, styleRunLimit));
try {
line = para.setLine(start, limit);
} catch (Exception e) {
e.printStackTrace();
return;
}
// prepare rendering a new line
// from either left or right
startLine(paraLevel, width);
if (styleRunStart > 0) {
int newRunCount = styleRuns.length - styleRunStart;
StyleRun[] newRuns = new StyleRun[newRunCount];
System.arraycopy(styleRuns, styleRunStart, newRuns, 0,
newRunCount);
renderLine(line, text, start, limit, newRuns,
styleRunLimit - styleRunStart);
} else {
renderLine(line, text, start, limit, styleRuns,
styleRunLimit - styleRunStart);
}
if (limit == length) {
break;
}
start = limit;
styleRunStart = styleRunLimit - 1;
if (start >= styleRuns[styleRunStart].limit) {
++styleRunStart;
}
}
}
}
public static void main(String[] args)
{
renderParagraph("Some Latin text...", Bidi.LTR, null, 0, 80);
renderParagraph("Some Hebrew text...", Bidi.RTL, null, 0, 60);
}
}
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| Bidi() |
|
| Bidi(Char[], Int32, Byte[], Int32, Int32, BidiOptions) |
指定されたテキスト、埋め込み、方向の情報から Bidi を作成します。 |
| Bidi(IAttributedCharacterIterator) |
指定されたテキストの段落から Bidi を作成します。 |
| Bidi(Int32, Int32) |
内部構造用に事前に割り当てられたメモリを持つ |
| Bidi(IntPtr, JniHandleOwnership) |
<h2> ICU のBidi アルゴリズム</h2>
|
| Bidi(String, BidiOptions) |
指定されたテキストの段落と基本方向から Bidi を作成します。 |
フィールド
| 名前 | 説明 |
|---|---|
| DirectionDefaultLeftToRight |
古い.
Unicode 双方向アルゴリズムに従って、基本方向がテキスト内の最初の強い方向文字に依存することを示す定数。 |
| DirectionDefaultRightToLeft |
古い.
Unicode 双方向アルゴリズムに従って、基本方向がテキスト内の最初の強い方向文字に依存することを示す定数。 |
| DirectionLeftToRight |
古い.
基本方向を示す定数は左から右です。 |
| DirectionRightToLeft |
古い.
基本方向を示す定数は右から左です。 |
| DoMirroring |
writeReordered(): 文字を RTL の "mirrored" プロパティに置き換えるオプション ビットは、ミラー イメージ マッピングによって実行されます |
| InsertLrmForNumeric |
writeReordered() のオプション ビット: 必要に応じて LRM で実行を囲みます。これは、近似 "逆 Bidi" アルゴリズムの一部です |
| KeepBaseCombining |
writeReordered() のオプション ビット: RTL で基本文字が実行された後も文字を結合し続けます |
| LevelDefaultLtr |
段落レベルの設定 |
| LevelDefaultRtl |
段落レベルの設定 |
| LevelOverride |
レベル入力のビット フラグ。 |
| Ltr |
左から右のテキスト。 |
| MapNowhere |
古い.
論理インデックスに対応するビジュアル インデックスがない場合、またはその逆の場合に、マッピング メソッドによって返される特殊な値。 |
| MaxExplicitLevel |
明示的な埋め込みレベルの最大値。 |
| Mixed |
方向が混在するテキスト。 |
| Neutral |
強い方向のテキストはありません。 |
| OptionDefault |
古い.
|
| OptionInsertMarks |
古い.
|
| OptionRemoveControls |
古い.
|
| OptionStreaming |
古い.
|
| OutputReverse |
writeReordered() のオプション ビット: 出力を逆順に書き込みます |
| RemoveBidiControls |
writeReordered() のオプション ビット: Bidi コントロール文字を削除します (これはINSERT_LRM_FOR_NUMERICには影響しません) |
| ReorderDefault |
並べ替えモード: Unicode に従った通常の論理バイディ アルゴリズム。 |
| ReorderGroupNumbersWithR |
並べ替えモード: 隣接する R 文字で数値をグループ化する論理から視覚アルゴリズム (元に戻せるアルゴリズム)。 |
| ReorderInverseForNumbersSpecial |
並べ替えモード: |
| ReorderInverseLikeDirect |
並べ替えモード: 通常の論理対ビジュアル アルゴリズムと同等のビジュアルから論理アルゴリズム。 |
| ReorderInverseNumbersAsL |
並べ替えモード: L などの数値を処理するビジュアルから論理アルゴリズム ( |
| ReorderNumbersSpecial |
並べ替えモード: Windows XPの動作を模倣する方法で数値を処理する論理対ビジュアル アルゴリズム。 |
| ReorderRunsOnly |
並べ替えモード: 並べ替えは、論理 LTR 文字列を同じ表示で論理 RTL 文字列に変換する場合のみ、またはその逆に実行されます。 |
| Rtl |
右から左のテキスト。 |
プロパティ
| 名前 | 説明 |
|---|---|
| BaseLevel |
基本レベルを返します (左から右の場合は 0、右から左の場合は 1)。 |
| Class |
この |
| CustomClassifier |
Bidi クラスの決定に使用される現在のカスタム クラス分類子を取得します。 または、UBA 実装で Bidi クラスの決定に使用されるカスタム Bidi 分類子を設定します。 |
| Direction |
テキストの方向を取得します。 |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| Inverse |
この |
| IsLeftToRight |
行がすべて左から右のテキストで、基本方向が左から右の場合は true を返します。 |
| IsMixed |
行が左から右または右から左でない場合は true を返します。 |
| IsOrderParagraphsLTR |
この |
| IsRightToLeft |
行がすべて右から左のテキストで、基本方向が右から左の場合は true を返します。 |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| JniPeerMembers |
<h2> ICU のBidi アルゴリズム</h2>
|
| Length |
テキストの長さを取得します。 |
| ParaLevel |
テキストの段落レベルを取得します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ProcessedLength |
|
| ReorderingMode |
特定の Bidi オブジェクトに対して要求された並べ替えモードは何ですか? または、"並べ替えモード" の異なる値に応じて、基本的な Bidi アルゴリズムに何らかのバリアントを実装するか、"逆 Bidi" アルゴリズムを近似するように、Bidi アルゴリズムの操作を変更します。 |
| ReorderingOptions |
特定の Bidi オブジェクトに適用される並べ替えオプションは何ですか? または、Bidi 変換中に適用する並べ替えオプションを指定します。 |
| ResultLength |
|
| RunCount |
レベルの実行数を返します。 |
| TextAsString |
テキストを取得します。 |
| ThresholdClass |
<h2> ICU のBidi アルゴリズム</h2>
|
| ThresholdType |
<h2> ICU のBidi アルゴリズム</h2>
|
メソッド
| 名前 | 説明 |
|---|---|
| BaseIsLeftToRight() |
基本方向が左から右の場合は true を返します |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| CountParagraphs() |
段落の数を取得します。 |
| CountRuns() |
実行の数を取得します。 |
| CreateLineBidi(Int32, Int32) |
現在の Bidi で表される段落内のテキスト行の bidi 情報を表す Bidi オブジェクトを作成します。 |
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| Equals(Object) |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetBaseDirection(ICharSequence) |
Unicode 双方向アルゴリズムに従って提供されるテキストの基本方向を取得します。 |
| GetBaseDirection(String) |
Unicode 双方向アルゴリズムに従って提供されるテキストの基本方向を取得します。 |
| GetCustomizedClass(Int32) |
指定されたコード ポイントの Bidi クラスを取得します。 |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| GetLevelAt(Int32) |
1 文字のレベルを取得します。 |
| GetLevels() |
各文字のレベルの配列を取得します。 |
| GetLogicalIndex(Int32) |
視覚的な位置から論理テキストの位置を取得します。 |
| GetLogicalMap() |
|
| GetLogicalRun(Int32) |
論理実行を取得します。 |
| GetParagraph(Int32) |
テキスト内の位置を指定して段落を取得します。 |
| GetParagraphByIndex(Int32) |
この段落のインデックスを指定して、段落を取得します。 |
| GetParagraphIndex(Int32) |
テキスト内の位置を指定して、段落のインデックスを取得します。 |
| GetRunLevel(Int32) |
この行の n 番目の論理実行のレベルを返します。 |
| GetRunLimit(Int32) |
この行の n 番目の論理実行の末尾を過ぎた文字のインデックスを、行の先頭からのオフセットとして返します。 |
| GetRunStart(Int32) |
この行の n 番目の論理実行の先頭にある文字のインデックスを、行の先頭からのオフセットとして返します。 |
| GetText() |
テキストを取得します。 |
| GetVisualIndex(Int32) |
論理テキスト位置から視覚的な位置を取得します。 |
| GetVisualMap() |
|
| GetVisualRun(Int32) |
インデックスに従って |
| InvertMap(Int32[]) |
インデックス マップを反転します。 |
| JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| OrderParagraphsLTR(Boolean) |
ブロック区切り記号をレベル 0 に割り当てて、連続する段落を左から右に進めるかどうかを指定します。 |
| ReorderLogical(Byte[]) |
これは、 |
| ReorderVisual(Byte[]) |
これは、 |
| ReorderVisually(Byte[], Int32, Object[], Int32, Int32) |
配列内のオブジェクトを、レベルに基づいて視覚的な順序に並べ替えます。 |
| RequiresBidi(Char[], Int32, Int32) |
指定したテキストに bidi 分析が必要な場合は true を返します。 |
| SetContext(String, String) |
setPara() を呼び出す前にコンテキストを設定します。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetLine(Int32, Int32) |
|
| SetPara(Char[], SByte, Byte[]) |
Unicode Bidi アルゴリズムを実行します。 |
| SetPara(IAttributedCharacterIterator) |
Unicode 標準付属書 #9 バージョン 13 で定義されているように、特定の段落で Unicode Bidi アルゴリズムを実行します(Unicode 標準バージョン 4 も参照)。 |
| SetPara(String, SByte, Byte[]) |
Unicode Bidi アルゴリズムを実行します。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| ToArray<T>() |
このJava配列ラッパーからマネージド配列を作成します。 (継承元 Object) |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
相互運用ランタイムからこのJava ピアの登録を解除します。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| WriteReordered(BidiOptions) |
|
| WriteReverse(String, BidiOptions) |
Unicode テキストの右To-Left 実行を逆にします。 |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| IJavaPeerable.Finalized() |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| IJavaPeerable.JniObjectReferenceControlBlock |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
<h2> ICU のBidi アルゴリズム</h2>
(継承元 JavaObject)
|
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
<h2> ICU のBidi アルゴリズム</h2>
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|