NumericShaper 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此 NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。
[Android.Runtime.Register("java/awt/font/NumericShaper", DoNotGenerateAcw=true)]
public sealed class NumericShaper : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/awt/font/NumericShaper", DoNotGenerateAcw=true)>]
type NumericShaper = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
此 NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。 這類用戶主要是希望以國家數字形狀呈現資料,但覺得內部用拉丁一(歐洲)數字表示資料更方便的人。 此版本未解讀已淘汰的數值形狀選擇字元(U+206E)。
的 NumericShaper 實例通常作為帶有 TextAttribute#NUMERIC_SHAPING NUMERIC_SHAPING 類別屬性 TextAttribute 的文字屬性來應用。 例如,這個代碼片段會使 a TextLayout 在阿拉伯語上下文<中將歐洲數字塑造成阿拉伯語:br><blockquote>
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);
</blockquote><br> 也可以明確使用實 NumericShaper例進行數值整形,如本程式碼片段所示:<br><blockquote>
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);
</區塊引用>
<b>位元遮罩與枚舉式 Unicode 範圍/<b>
此類別支援兩種不同的程式介面來表示腳本特定數字的 Unicode 範圍:基於位元遮罩的,如 #ARABIC NumericShaper.ARABIC,以及基於枚舉的,如 NumericShaper.Range#ARABIC。 可透過 OR 化基於位元遮罩的常數來指定多個範圍,例如: <blockquote>
NumericShaper.ARABIC | NumericShaper.TAMIL
</blockquote> 或用Set常數建立 aNumericShaper.Range,例如:<blockquote>
EnumSet.of(NumericShaper.Scirpt.ARABIC, NumericShaper.Range.TAMIL)
</blockquote> 基於枚舉的範圍是基於位元遮罩範圍的超集合。
若兩個介面混合(包括序列化),Unicode 範圍值會映射到可映射的對應節點,例如 NumericShaper.Range.ARABIC 從 到 NumericShaper.ARABIC。 若指定任何不可映射的範圍值,例如 NumericShaper.Range.BALINESE,這些範圍將被忽略。
<b>十進位數字優先順序</b>
一個 Unicode 範圍可能包含多組十進位數字。 若同一 Unicode 範圍指定多個十進位數字集合,則其中一組將優先順序如下。
<表格邊框=1 cells間距=3 cellpadding=0 summary=「數值整形器常數優先順序」。><tr><th 類別=“TableHeadingColor”Unicode> 範圍</th><類別=“TableHeadingColor”>NumericShaper 常數</th><類別=“TableHeadingColor”>優先順序</th></tr><tr><td rowspan=“2”阿拉伯>語</td><td>NumericShaper#ARABIC NumericShaper.ARABIC<br>NumericShaper#EASTERN_ARABIC NumericShaper.EASTERN_ARABIC</td><td>NumericShaper#EASTERN_ARABIC NumericShaper.EASTERN_ARABIC</td/tr><tr td><><>brNumericShaper.Range#ARABIC<>/tdNumericShaper.Range#EASTERN_ARABIC<><TD>NumericShaper.Range#EASTERN_ARABIC</td/tr><tr><td>Tai Tham</td><td><>brNumericShaper.Range#TAI_THAM_HORA<>/td tdNumericShaper.Range#TAI_THAM_THAM<>/td<>NumericShaper.Range#TAI_THAM_THAM</tr/table><><>
在 1.4 版本加入。
Java 文件 java.awt.font.NumericShaper。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
欄位
| 名稱 | Description |
|---|---|
| AllRanges |
已淘汰.
識別所有範圍,提供完整的情境整形。 |
| Arabic |
已淘汰.
識別阿拉伯語範圍與十進位進位。 |
| Bengali |
已淘汰.
識別孟加拉語範圍及十進位底位。 |
| Devanagari |
已淘汰.
識別 DEVANAGARI 的範圍與十進位基數。 |
| EasternArabic |
已淘汰.
識別阿拉伯語範圍及ARABIC_EXTENDED十進位基數。 |
| Ethiopic |
已淘汰.
標示埃索比亞語範圍與十進位基數。 |
| European |
已淘汰.
識別拉丁語1(歐洲)及其擴展範圍,以及拉丁語1(歐洲)十進位底數。 |
| Gujarati |
已淘汰.
識別古吉拉特語範圍及十進位進位。 |
| Gurmukhi |
已淘汰.
識別GURMUKHI範圍及十進位底數。 |
| Kannada |
已淘汰.
識別卡納達語範圍及十進位進位。 |
| Khmer |
已淘汰.
標示高棉的範圍與十進位進位。 |
| Lao |
已淘汰.
識別LAO範圍及十進位底數。 |
| Malayalam |
已淘汰.
識別 MALAYALAM 範圍及十進位底數。 |
| Mongolian |
已淘汰.
識別蒙古語的範圍與十進位基數。 |
| Myanmar |
已淘汰.
標示緬甸範圍及十進位底數。 |
| Oriya |
已淘汰.
識別 ORIYA 範圍及十進位底位。 |
| Tamil |
已淘汰.
標示TAMIL範圍及十進位基數。 |
| Telugu |
已淘汰.
標示泰盧固語範圍及十進位進位。 |
| Thai |
已淘汰.
識別 THAI 範圍及十進位底數。 |
| Tibetan |
已淘汰.
標示藏語範圍及十進位進位。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
傳回這個 |
| Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
| IsContextual |
回傳 a |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此 |
| JniPeerMembers |
取得用於調用此 Java 節點成員的 JNI 元資料。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| Ranges |
回傳 並 |
| RangeSet |
回傳 a |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
此 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
此 |
| Equals(Object) |
此 |
| Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
| GetContextualShaper(Ranges, Int32) |
回傳所提供 Unicode 範圍的上下文整形器。 |
| GetContextualShaper(Ranges) |
回傳所提供 Unicode 範圍的上下文整形器。 |
| GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
| GetShaper(Ranges) |
回傳一個提供 unicode 範圍的 shaper。 |
| JavaFinalize() |
已淘汰.
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
| Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
| NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此 |
| Shape(Char[], Int32, Int32, Int32) |
根據所提供的上下文,將文字中介於開頭與起始+計數之間的數字轉換。 |
| Shape(Char[], Int32, Int32, NumericShaper+Range) |
轉換文字中介於開頭與開頭+計數之間的數字。 |
| Shape(Char[], Int32, Int32) |
轉換文字中介於開頭與開頭+計數之間的數字。 |
| 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) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
此 |
| IJavaPeerable.Finalized() |
此 |
| IJavaPeerable.JniObjectReferenceControlBlock |
此 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此 |
| IJavaPeerable.UnregisterFromRuntime() |
此 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
| JavaCast<TResult>(IJavaObject) |
此 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |