NumericShaper 类

定义

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

[Android.Runtime.Register("java/awt/font/NumericShaper", DoNotGenerateAcw=true)]
public sealed class NumericShaper : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, 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 十进制数字。 此类用户主要是希望使用国家数字形状呈现数据的人,但发现使用拉丁文-1 (欧洲) 数字在内部表示数据更为方便。 这不会解释 U+206E) (弃用的数值形状选择器字符。

NumericShaper 实例通常作为 属性应用于具有 TextAttribute#NUMERIC_SHAPING NUMERIC_SHAPING 类属性 TextAttribute 的文本。 例如,此代码片段导致 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);

</blockquote>

<b>位掩码和基于枚举的 Unicode 范围</b>

此类支持两个不同的编程接口来表示特定于脚本的数字的 Unicode 范围:基于位掩码的数字(例如 #ARABIC NumericShaper.ARABIC)和基于枚举的编程接口,例如 NumericShaper.Range#ARABIC。 可以通过基于 ORing 位掩码的常量指定多个范围,例如: <块引号>

NumericShaper.ARABIC | NumericShaper.TAMIL

</blockquote> 或使用常量创建 SetNumericShaper.Range ,例如: <blockquote>

EnumSet.of(NumericShaper.Scirpt.ARABIC, NumericShaper.Range.TAMIL)

</blockquote> 基于枚举的范围是基于位掩码的超级范围集。

如果这两个接口是混合 (包括序列化) ,则 Unicode 范围值将映射到可以进行此类映射的对应接口,例如 NumericShaper.Range.ARABIC 从/到 NumericShaper.ARABIC。 如果指定了任何不可应用的范围值,例如 NumericShaper.Range.BALINESE,则忽略这些范围。

<b>十进制数字优先级</b>

Unicode 范围可能有多个十进制数字集。 如果为同一 Unicode 范围指定了多个十进制数字集,则其中一个集优先,如下所示。

<table border=1 cellspacing=3 cellpadding=0 summary=“NumericShaper 常量优先级”。><tr>th class=“TableHeadingColor”>Unicode Range</th><class=“TableHeadingColor”>NumericShaper Constants</th><th class=“TableHeadingColor”>Precedence</th></tr<<>>td rowspan=“2”>Arabic</td<>tdNumericShaper#ARABIC NumericShaper.ARABIC<>br>NumericShaper#EASTERN_ARABIC NumericShaper.EASTERN_ARABIC</td td<>td>NumericShaper#EASTERN_ARABIC NumericShaper.EASTERN_ARABIC</td<>/tr>><<td<NumericShaper.Range#ARABIC>br>NumericShaper.Range#EASTERN_ARABIC</td><<Td>NumericShaper.Range#EASTERN_ARABIC</td/tr><tr><td>Tai Tham</td td>NumericShaper.Range#TAI_THAM_HORA<<>br><NumericShaper.Range#TAI_THAM_THAM/td><td>NumericShaper.Range#TAI_THAM_THAM</td></tr></table><>

在 1.4 中添加。

java.awt.font.NumericShaperJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

字段

AllRanges
已过时.

标识所有范围,用于完全上下文整形。

Arabic
已过时.

标识阿拉伯语区域和十进制基。

Bengali
已过时.

标识 BENGALI 范围和十进制基。

Devanagari
已过时.

标识 DEVANAGARI 范围和十进制基。

EasternArabic
已过时.

标识阿拉伯语区域和ARABIC_EXTENDED十进制基。

Ethiopic
已过时.

标识 ETHIOPIC 范围和十进制基。

European
已过时.

标识拉丁语-1 (欧洲) 和扩展范围,拉丁语-1 (欧洲) 十进制基。

Gujarati
已过时.

标识 GUJARATI 范围和十进制基。

Gurmukhi
已过时.

标识 GURMUKHI 范围和十进制基。

Kannada
已过时.

标识 KANNADA 范围和十进制基。

Khmer
已过时.

标识高棉文范围和十进制基数。

Lao
已过时.

标识 LAO 范围和十进制基。

Malayalam
已过时.

标识 MALAYALAM 范围和十进制基。

Mongolian
已过时.

标识蒙古语范围和十进制基。

Myanmar
已过时.

标识缅甸范围和十进制基。

Oriya
已过时.

标识 ORIYA 范围和十进制基。

Tamil
已过时.

标识 TAMIL 范围和十进制基。

Telugu
已过时.

标识 TELUGU 范围和十进制基。

Thai
已过时.

标识 THAI 范围和十进制基。

Tibetan
已过时.

标识藏语范围和十进制基。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsContextual

返回一个 , boolean 指示此整形器是否在上下文中形状。

JniIdentityHashCode

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
JniPeerMembers

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

PeerReference

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
Ranges

返回一个 int ,该 OR 将形状的所有区域的值组合在一起。

RangeSet

返回一个 , Set 表示此 NumericShaper 中将调整的所有 Unicode 范围。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

(继承自 Object)

方法

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
Dispose(Boolean)

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
Equals(Object)

指示其他某个对象是否“等于”此对象。

(继承自 Object)
GetContextualShaper(Ranges)

返回提供的 unicode 范围 () 的上下文整形器。

GetContextualShaper(Ranges, Int32)

返回提供的 unicode 范围 () 的上下文整形器。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetShaper(Ranges)

返回提供的 unicode 范围的整形器。

JavaFinalize()

当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
Shape(Char[], Int32, Int32)

转换开始和开始 + 计数之间的文本中的数字。

Shape(Char[], Int32, Int32, Int32)

使用提供的上下文转换开始和开始 + 计数之间的文本中的数字。

Shape(Char[], Int32, Int32, NumericShaper+Range)

转换开始和开始 + 计数之间的文本中的数字。

ToArray<T>()

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
IJavaPeerable.Finalized()

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

GetJniTypeName(IJavaPeerable)

NumericShaper 用于将拉丁语-1 (欧洲) 位转换为其他 Unicode 十进制数字。

适用于