BidiFormatter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。
[Android.Runtime.Register("android/text/BidiFormatter", DoNotGenerateAcw=true)]
public sealed class BidiFormatter : Java.Lang.Object
[<Android.Runtime.Register("android/text/BidiFormatter", DoNotGenerateAcw=true)>]
type BidiFormatter = class
inherit Object
- 継承
- 属性
注釈
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 コンテキストの方向はフォーマッタの作成時に設定され、テキストの方向は、既知の場合に推定または渡すことができます。
より android.os.Build.VERSION_CODES#JELLY_BEAN_MR2
低いバージョンをサポートするには、サポート ライブラリの androidx.core.text.BidiFormatter
クラスを使用できます。
これらの API には、次の機能が用意されています。
1. Bidi 折り返し ある言語のテキストが別の逆方向の言語で文書に混在している場合 (たとえば、英語のビジネス名がヘブライ語のテキストに埋め込まれている場合など)、挿入された文字列とそれを囲むテキストの両方が、挿入された文字列が"ラッパー" 内の周囲のテキストから明示的に分離されていない限り、正しく表示されないことがあります。
- 文字列が正しく表示されるように、その方向を宣言します。 これは、Unicode bidi の書式設定コードと同様の方法で #unicodeWrap
行うことができます。
- 文字列の方向を分離するため、周囲のコンテンツに過度に影響しません。 現時点では、これは、上記の方向性宣言に加えて、コンテキスト (LRM または RLM) と同じ方向の非表示の Unicode 文字のみを使用して行うことができるため、コンテキストの方向を "リセット" します。 "reset" は、文字列の両端で行う必要がある場合があります。 文字列の後に "reset" を指定しないと、文字列は数値に "貼り付ける" か、行内で続く逆方向のテキストを論理的に分離します (スペースや句読点などのニュートラル コンテンツで区切られた場合でも)。 文字列の前に "reset" を指定しないと、同じことが発生しますが、数値ではなく、より反対方向のテキストでのみ発生します。 1つのアプローチは、各文字列の後にのみ方向を「リセット」することです。上記の反対方向のテキスト自体がbidiラップされている場合、その後の「リセット」はスティックを防ぐという理論上です。 (各文字列の前にのみ "リセット" を実行すると、bidi 折り返し番号が不要になり、bidi でラップされた逆方向の文字列の後に数値が続く可能性があるため、間違いなく機能しません)。それでも、RTL メッセージの翻訳には、翻訳されていないラテンスクリプトのブランド名と技術用語が含まれていることが多く、その後に bidi でラップされた挿入値が続く可能性があるため、最も安全なポリシーは、各文字列の両端で "リセット" を行うことです。 一方、そのようなメッセージがある場合は、メッセージの逆方向のテキストの後に挿入された番号が続く可能性があるため、メッセージ変換自体で手動で "リセット" を行うことをお勧めします。これは、bidi-wrap を行いません。 したがって、文字列が現在の既定値の後にのみ "リセット" されます。 "リセット" の代わりに、HTML、CSS、Unicode 標準に最近追加された機能により、分離を方向宣言の一部にすることができます。 この形式の分離は、スペースが少なく、コンテキストの方向性を知る必要がないため、"reset" よりも優れた効果を持ち、文字列の両端を保護するため、"reset" よりも優れています。 ただし、必要なプラットフォームではまだサポートされていないため、使用はまだ許可されていません。
これらのラッピング サービスの提供は、bidi フォーマッタの基本的な目的です。
2. 方向推定 周囲のテキストに挿入される文字列の方向が同じかどうかを確認する方法 多くの場合、ローカライズされたメッセージがローカライズされたページに挿入される場合など、挿入を行うコードを記述する場合にこれが当たる必要があることを認識しています。 このような場合、bidi フォーマッタを関与させる必要はまったくありません。 それ以外の場合は、コンテキストと同じである必要はありませんが、定数 (URL は常に LTR など) であるか、それ以外の場合は既知です。 残りのケース (たとえば、文字列がユーザー入力の場合やデータベースから取得された場合など) には、文字列の言語 (およびその方向) は事前に認識されず、実行時に推定する必要があります。 bidi フォーマッタは、既定の最初の強力な推定アルゴリズムを使用して自動的にこれを行うことができます。 また、カスタムの方向推定オブジェクトを使用するように構成することもできます。
の android.text.BidiFormatter
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
Instance |
既定のロケールの方向に対して BidiFormatter のインスタンスを作成するためのファクトリ。 |
IsRtlContext | |
JniIdentityHashCode |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
JniPeerMembers |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 |
PeerReference |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
StereoReset | |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
メソッド
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Dispose() |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
Dispose(Boolean) |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetInstance(Boolean) |
コンテキストの方向性を指定して BidiFormatter のインスタンスを作成するためのファクトリ。 |
GetInstance(Locale) |
コンテキスト ロケールを指定して BidiFormatter のインスタンスを作成するためのファクトリ。 |
IsRtl(ICharSequence) |
のように |
IsRtl(String) |
既定のテキスト方向ヒューリスティックを使用して、文字列の方向を推定します。 |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnicodeWrap(String) |
のように |
UnicodeWrap(String, Boolean) |
のように |
UnicodeWrap(String, ITextDirectionHeuristic) |
のように |
UnicodeWrap(String, ITextDirectionHeuristic, Boolean) |
のように |
UnicodeWrapFormatted(ICharSequence) |
のように |
UnicodeWrapFormatted(ICharSequence, Boolean) |
のように |
UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic) |
のように |
UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic, Boolean) |
のように |
UnregisterFromRuntime() |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
IJavaPeerable.Finalized() |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
IJavaPeerable.JniManagedPeerState |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 (継承元 Object) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 |
GetJniTypeName(IJavaPeerable) |
文字化けせずに反対方向の可能性があるコンテキストで表示するテキストを書式設定するためのユーティリティ クラス。 |