IT. Expert System.

Android Reference

Bidi


java.text

Class Bidi



  • public final class Bidi
    extends Object
    Implements the Unicode Bidirectional Algorithm.

    Use a Bidi object to get the information on the position reordering of a bidirectional text, such as Arabic or Hebrew. The natural display ordering of horizontal text in these languages is from right to left, while they order numbers from left to right.

    If the text contains multiple runs, the information of each run can be obtained from the run index. The level of any particular run indicates the direction of the text as well as the nesting level. Left-to-right runs have even levels while right-to-left runs have odd levels.

    • Constructor Summary

      Constructors
      Constructor and Description
      Bidi(AttributedCharacterIterator paragraph)
      Creates a Bidi object from the AttributedCharacterIterator of a paragraph text.
      Bidi(char[] text, int textStart, byte[] embeddings, int embStart, int paragraphLength, int flags)
      Creates a Bidi object.
      Bidi(String paragraph, int flags)
      Creates a Bidi object.
    • Method Summary

      Methods
      Modifier and Type Method and Description
      boolean baseIsLeftToRight()
      Returns whether the base level is from left to right.
      Bidi createLineBidi(int lineStart, int lineLimit)
      Creates a new Bidi object containing the information of one line from this object.
      int getBaseLevel()
      Returns the base level.
      int getLength()
      Returns the length of the text in the Bidi object.
      int getLevelAt(int offset)
      Returns the level of a specified character.
      int getRunCount()
      Returns the number of runs in the bidirectional text.
      int getRunLevel(int run)
      Returns the level of the specified run.
      int getRunLimit(int run)
      Returns the limit offset of the specified run.
      int getRunStart(int run)
      Returns the start offset of the specified run.
      boolean isLeftToRight()
      Indicates whether the text is from left to right, that is, both the base direction and the text direction is from left to right.
      boolean isMixed()
      Indicates whether the text direction is mixed.
      boolean isRightToLeft()
      Indicates whether the text is from right to left, that is, both the base direction and the text direction is from right to left.
      static void reorderVisually(byte[] levels, int levelStart, Object[] objects, int objectStart, int count)
      Reorders a range of objects according to their specified levels.
      static boolean requiresBidi(char[] text, int start, int limit)
      Indicates whether a range of characters of a text requires a Bidi object to display properly.
      String toString()
      Returns a string containing a concise, human-readable description of this object.
    • Field Detail

      • DIRECTION_DEFAULT_LEFT_TO_RIGHT

        public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT
        Constant that indicates the default base level. If there is no strong character, then set the paragraph level to 0 (left-to-right).
        See Also:
        Constant Field Values
      • DIRECTION_DEFAULT_RIGHT_TO_LEFT

        public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT
        Constant that indicates the default base level. If there is no strong character, then set the paragraph level to 1 (right-to-left).
        See Also:
        Constant Field Values
      • DIRECTION_LEFT_TO_RIGHT

        public static final int DIRECTION_LEFT_TO_RIGHT
        Constant that specifies the default base level as 0 (left-to-right).
        See Also:
        Constant Field Values
      • DIRECTION_RIGHT_TO_LEFT

        public static final int DIRECTION_RIGHT_TO_LEFT
        Constant that specifies the default base level as 1 (right-to-left).
        See Also:
        Constant Field Values
    • Constructor Detail

      • Bidi

        public Bidi(AttributedCharacterIterator paragraph)
        Creates a Bidi object from the AttributedCharacterIterator of a paragraph text. The RUN_DIRECTION attribute determines the base direction of the bidirectional text. If it is not specified explicitly, the algorithm uses DIRECTION_DEFAULT_LEFT_TO_RIGHT by default. The BIDI_EMBEDDING attribute specifies the level of embedding for each character. Values between -1 and -62 denote overrides at the level's absolute value, values from 1 to 62 indicate embeddings, and the 0 value indicates the level is calculated by the algorithm automatically. For the character with no BIDI_EMBEDDING attribute or with a improper attribute value, such as a null value, the algorithm treats its embedding level as 0. The NUMERIC_SHAPING attribute specifies the instance of NumericShaper used to convert European digits to other decimal digits before performing the bidi algorithm.
        Parameters:
        paragraph - the String containing the paragraph text to perform the algorithm.
        Throws:
        IllegalArgumentException - if paragraph == null
        See Also:
        TextAttribute.BIDI_EMBEDDING, TextAttribute.NUMERIC_SHAPING, TextAttribute.RUN_DIRECTION
      • Bidi

        public Bidi(char[] text,
            int textStart,
            byte[] embeddings,
            int embStart,
            int paragraphLength,
            int flags)
        Creates a Bidi object.
        Parameters:
        text - the char array of the paragraph text that is processed.
        textStart - the index in text of the start of the paragraph.
        embeddings - the embedding level array of the paragraph text, specifying the embedding level information for each character. Values between -1 and -61 denote overrides at the level's absolute value, values from 1 to 61 indicate embeddings, and the 0 value indicates the level is calculated by the algorithm automatically.
        embStart - the index in embeddings of the start of the paragraph.
        paragraphLength - the length of the text to perform the algorithm.
        flags - indicates the base direction of the bidirectional text. It is expected that this will be one of the direction constant values defined in this class. An unknown value is treated as DIRECTION_DEFAULT_LEFT_TO_RIGHT.
        Throws:
        IllegalArgumentException - if textStart, embStart, or paragraphLength is negative; if text.length < textStart + paragraphLength or embeddings.length < embStart + paragraphLength.
        See Also:
        DIRECTION_LEFT_TO_RIGHT, DIRECTION_RIGHT_TO_LEFT, DIRECTION_DEFAULT_RIGHT_TO_LEFT, DIRECTION_DEFAULT_LEFT_TO_RIGHT
    • Method Detail

      • baseIsLeftToRight

        public boolean baseIsLeftToRight()
        Returns whether the base level is from left to right.
        Returns:
        true if the base level is from left to right.
      • createLineBidi

        public Bidi createLineBidi(int lineStart,
                          int lineLimit)
        Creates a new Bidi object containing the information of one line from this object.
        Parameters:
        lineStart - the start offset of the line.
        lineLimit - the limit of the line.
        Returns:
        the new line Bidi object. In this new object, the indices will range from 0 to (limit - start - 1).
        Throws:
        IllegalArgumentException - if lineStart < 0, lineLimit < 0, lineStart > lineLimit or if lineStart is greater than the length of this object's paragraph text.
      • getBaseLevel

        public int getBaseLevel()
        Returns the base level.
        Returns:
        the base level.
      • getLength

        public int getLength()
        Returns the length of the text in the Bidi object.
        Returns:
        the length.
      • getLevelAt

        public int getLevelAt(int offset)
        Returns the level of a specified character.
        Parameters:
        offset - the offset of the character.
        Returns:
        the level.
      • getRunCount

        public int getRunCount()
        Returns the number of runs in the bidirectional text.
        Returns:
        the number of runs, at least 1.
      • getRunLevel

        public int getRunLevel(int run)
        Returns the level of the specified run.
        Parameters:
        run - the index of the run.
        Returns:
        the level of the run.
      • getRunLimit

        public int getRunLimit(int run)
        Returns the limit offset of the specified run.
        Parameters:
        run - the index of the run.
        Returns:
        the limit offset of the run.
      • getRunStart

        public int getRunStart(int run)
        Returns the start offset of the specified run.
        Parameters:
        run - the index of the run.
        Returns:
        the start offset of the run.
      • isLeftToRight

        public boolean isLeftToRight()
        Indicates whether the text is from left to right, that is, both the base direction and the text direction is from left to right.
        Returns:
        true if the text is from left to right; false otherwise.
      • isMixed

        public boolean isMixed()
        Indicates whether the text direction is mixed.
        Returns:
        true if the text direction is mixed; false otherwise.
      • isRightToLeft

        public boolean isRightToLeft()
        Indicates whether the text is from right to left, that is, both the base direction and the text direction is from right to left.
        Returns:
        true if the text is from right to left; false otherwise.
      • reorderVisually

        public static void reorderVisually(byte[] levels,
                           int levelStart,
                           Object[] objects,
                           int objectStart,
                           int count)
        Reorders a range of objects according to their specified levels. This is a convenience function that does not use a Bidi object. The range of objects at index from objectStart to objectStart + count will be reordered according to the range of levels at index from levelStart to levelStart + count.
        Parameters:
        levels - the level array, which is already determined.
        levelStart - the start offset of the range of the levels.
        objects - the object array to reorder.
        objectStart - the start offset of the range of objects.
        count - the count of the range of objects to reorder.
        Throws:
        IllegalArgumentException - if count, levelStart or objectStart is negative; if count > levels.length - levelStart or if count > objects.length - objectStart.
      • requiresBidi

        public static boolean requiresBidi(char[] text,
                           int start,
                           int limit)
        Indicates whether a range of characters of a text requires a Bidi object to display properly.
        Parameters:
        text - the char array of the text.
        start - the start offset of the range of characters.
        limit - the limit offset of the range of characters.
        Returns:
        true if the range of characters requires a Bidi object; false otherwise.
        Throws:
        IllegalArgumentException - if start or limit is negative; start > limit or limit is greater than the length of this object's paragraph text.
      • toString

        public String toString()
        Description copied from class: Object
        Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
           getClass().getName() + '@' + Integer.toHexString(hashCode())

        See Writing a useful toString method if you intend implementing your own toString method.

        Overrides:
        toString in class Object
        Returns:
        a printable representation of this object.


Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 790 / 158857853. Delta: 0.04377 с