NumericShaper 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
类 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
用于将拉丁语-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> 或使用常量创建 Set
NumericShaper.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.NumericShaper
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
字段
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 |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsContextual |
返回一个 , |
JniIdentityHashCode |
类 |
JniPeerMembers |
类 |
PeerReference |
类 |
Ranges |
返回一个 |
RangeSet |
返回一个 , |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 (继承自 Object) |
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Dispose() |
类 |
Dispose(Boolean) |
类 |
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>() |
类 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
类 |
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() |
类 |
IJavaPeerable.DisposeUnlessReferenced() |
类 |
IJavaPeerable.Finalized() |
类 |
IJavaPeerable.JniManagedPeerState |
类 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
类 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
类 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
类 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
类 |
GetJniTypeName(IJavaPeerable) |
类 |