import com.ibm.icu.lang.UCharacter;
import com.ibm.icu.lang.UCharacterCategory;
import com.ibm.icu.lang.UCharacterDirection;
-import com.ibm.icu.lang.UProperty;
import com.ibm.icu.text.IDNA;
import com.ibm.icu.text.Normalizer2;
import com.ibm.icu.text.StringPrepParseException;
int i=labelStart;
c=Character.codePointAt(label, i);
i+=Character.charCount(c);
- int firstMask=U_MASK(UCharacter.getDirection(c));
+ int firstMask=U_MASK(UBiDiProps.INSTANCE.getClass(c));
// 1. The first character must be a character with BIDI property L, R
// or AL. If it has the R or AL property, it is an RTL label; if it
// has the L property, it is an LTR label.
}
c=Character.codePointBefore(label, labelLimit);
labelLimit-=Character.charCount(c);
- int dir=UCharacter.getDirection(c);
+ int dir=UBiDiProps.INSTANCE.getClass(c);
if(dir!=UCharacterDirection.DIR_NON_SPACING_MARK) {
lastMask=U_MASK(dir);
break;
while(i<labelLimit) {
c=Character.codePointAt(label, i);
i+=Character.charCount(c);
- mask|=U_MASK(UCharacter.getDirection(c));
+ mask|=U_MASK(UBiDiProps.INSTANCE.getClass(c));
}
if((firstMask&L_MASK)!=0) {
// 5. In an LTR label, only characters with the BIDI properties L, EN,
}
// check precontext (Joining_Type:{L,D})(Joining_Type:T)*
for(;;) {
- /* UJoiningType */ int type=UCharacter.getIntPropertyValue(c, UProperty.JOINING_TYPE);
+ /* UJoiningType */ int type=UBiDiProps.INSTANCE.getJoiningType(c);
if(type==UCharacter.JoiningType.TRANSPARENT) {
if(j==0) {
return false;
}
c=Character.codePointAt(label, j);
j+=Character.charCount(c);
- /* UJoiningType */ int type=UCharacter.getIntPropertyValue(c, UProperty.JOINING_TYPE);
+ /* UJoiningType */ int type=UBiDiProps.INSTANCE.getJoiningType(c);
if(type==UCharacter.JoiningType.TRANSPARENT) {
// just skip this character
} else if(type==UCharacter.JoiningType.RIGHT_JOINING || type==UCharacter.JoiningType.DUAL_JOINING) {
return false;
}
int c=Character.codePointBefore(label, i);
- if(UCharacter.getCombiningClass(c)!=9) {
+ if(uts46Norm2.getCombiningClass(c)!=9) {
return false;
}
}