語言

NumericShaper 類別

定義

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
屬性
實作

備註

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

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsContextual

回傳 a boolean 表示該整形器是否能在情境中成形。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
JniPeerMembers

取得用於調用此 Java 節點成員的 JNI 元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
Ranges

回傳 並 int OR 將所有將要塑形的範圍值合併。

RangeSet

回傳 a Set 代表所有 NumericShaper Unicode 範圍,這些範圍將被塑造。

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
Equals(Object)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
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)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
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()

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

NumericShaper 類別用於將拉丁語1(歐洲)數字轉換成其他Unicode十進位數字。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於