/** * Gets the Unicode directionality of the specified character. * * @param c * the character to get the directionality of. * @return the Unicode directionality of {@code c}. */ public static byte getDirectionality(char c) { return getDirectionality((int)c); }
public static boolean isRTL() { return isRTL(Locale.getDefault()); } public static boolean isRTL(Locale locale) { final int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0)); return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; }
final byte directionality = Character.getDirectionality(codepoint); final boolean isRandALcat = directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
switch (Character.getDirectionality(cp)) { case Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: case Character.DIRECTIONALITY_RIGHT_TO_LEFT: // R/AL character
switch (Character.getDirectionality(cp)) { case Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: case Character.DIRECTIONALITY_RIGHT_TO_LEFT: // R/AL character
@Override public int isLtrDominant() { int ltrCnt = 0; int rtlCnt = 0; for (int i = 0; i < this.getTextElements().size(); i++) { String elementText = this.getTextElements().get(i).getText(); for (int j = 0; j < elementText.length(); j++) { byte dir = Character.getDirectionality(elementText.charAt(j)); if ((dir == Character.DIRECTIONALITY_LEFT_TO_RIGHT) || (dir == Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING) || (dir == Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE)) { ltrCnt++; } else if ((dir == Character.DIRECTIONALITY_RIGHT_TO_LEFT) || (dir == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC) || (dir == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING) || (dir == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE)) { rtlCnt++; } } } return java.lang.Integer.compare(ltrCnt, rtlCnt); // 1 is LTR, 0 is neutral, -1 is RTL }
buffDirectionality = directionalities.get(Character.getDirectionality(te.getText().charAt(0))); } else { if (buffDirectionality == DirectionalityOptions.NONE) { buffDirectionality = directionalities.get(Character.getDirectionality(te.getText().charAt(0))); DirectionalityOptions teDirectionality = directionalities.get(Character.getDirectionality(te.getText().charAt(0))); if (Character.getDirectionality(te.getText().charAt(0)) == java.lang.Character.DIRECTIONALITY_WHITESPACE && (buffDirectionality == (isLtrDominant ? DirectionalityOptions.RTL : DirectionalityOptions.LTR))) { buff.add(0, te); } else { buffDirectionality = directionalities.get(Character.getDirectionality(te.getText().charAt(0))); buff = new ArrayList<>(); buff.add(te);
/** * Gets the Unicode directionality of the specified character. * * @param c * the character to get the directionality of. * @return the Unicode directionality of {@code c}. */ public static byte getDirectionality(char c) { return getDirectionality((int)c); }
/** * Gets the Unicode directionality of the specified character. * * @param c * the character to get the directionality of. * @return the Unicode directionality of {@code c}. */ public static byte getDirectionality(char c) { return getDirectionality((int)c); }
/** * Gets the Unicode directionality of the specified character. * * @param c * the character to get the directionality of. * @return the Unicode directionality of {@code c}. */ public static byte getDirectionality(char c) { return getDirectionality((int)c); }
if (Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT || Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC || Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING || Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE ) { // it is a RTL string }
/** * Gets the bidi character class, i.e. Character.getDirectionality(), of a given char, using * a cache for speed. Not designed for supplementary codepoints, whose results we do not * cache. */ private static byte getCachedDirectionality(char c) { return c < DIR_TYPE_CACHE_SIZE ? DIR_TYPE_CACHE[c] : Character.getDirectionality(c); }
@Override public int checkRtl(CharSequence cs, int start, int count) { int result = STATE_UNKNOWN; for (int i = start, e = start + count; i < e && result == STATE_UNKNOWN; ++i) { result = isRtlTextOrFormat(Character.getDirectionality(cs.charAt(i))); } return result; }
protected byte getTextDirectionality(String s) { if (s.length() > 0) return Character.getDirectionality(s.charAt(0)); else return Character.DIRECTIONALITY_UNDEFINED; }
private static boolean isRTL(Locale locale) { int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0)); return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; }
public static boolean isRTL(Locale locale) { final int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0)); return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; }
public static boolean isRTL(Locale locale) { final int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0)); return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; }
public static boolean isRTL() { final int directionality = Character.getDirectionality(Locale.getDefault().getDisplayName().charAt(0)); return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT || directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; }
public static boolean isRTL() { return isRTL(Locale.getDefault()); } public static boolean isRTL(Locale locale) { return Character.getDirectionality(locale.getDisplayName().charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT; }
public static boolean checkTextDirection(String string) { return Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT || Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC; } }