Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class Bidi extends Object
Объект Bidi предоставляет информацию о двунаправленном переупорядочении текста, используемого, чтобы создать это. Это требуется, например, должным образом вывести на экран арабский или еврейский текст. Эти языки по сути смешиваются направленные как они порядковые номера от слева направо, упорядочивая большинство другого текста от справа налево.
После того, как создаваемый, объект Bidi может быть запрошен, чтобы видеть, является ли текст, который он представляет, всем слева направо или всеми справа налево. Такие объекты очень легки, и этот текст относительно легко обработать.
Если есть многократные выполнения текста, к информации о выполнениях можно получить доступ, индексируя, чтобы получить запуск, предел, и уровень выполнения. Уровень представляет и направление и 'уровень вложенности' направленного выполнения. Нечетные уровни справа налево, в то время как даже уровни слева направо. Таким образом, например уровень 0 представляет слева направо текст, в то время как уровень 1 представляет справа налево текст, и уровень 2 представляет слева направо текст, встроенный в справа налево выполнение.
Модификатор и Тип | Поле и Описание |
---|---|
static int |
DIRECTION_DEFAULT_LEFT_TO_RIGHT
Постоянное указание, что основное направление зависит от первого сильного направленного символа в тексте согласно Unicode Двунаправленный Алгоритм.
|
static int |
DIRECTION_DEFAULT_RIGHT_TO_LEFT
Постоянное указание, что основное направление зависит от первого сильного направленного символа в тексте согласно Unicode Двунаправленный Алгоритм.
|
static int |
DIRECTION_LEFT_TO_RIGHT
Постоянное направление основы указания слева направо.
|
static int |
DIRECTION_RIGHT_TO_LEFT
Постоянное направление основы указания справа налево.
|
Конструктор и Описание |
---|
Bidi(AttributedCharacterIterator paragraph)
Создайте Bidi из данного абзаца текста.
|
Bidi(char[] text, int textStart, byte[] embeddings, int embStart, int paragraphLength, int flags)
Создайте Bidi из данного текста, встраивания, и информации о направлении.
|
Bidi(String paragraph, int flags)
Создайте Bidi из данного абзаца текста и основного направления.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
baseIsLeftToRight()
Возвратите true, если основное направление слева направо.
|
Bidi |
createLineBidi(int lineStart, int lineLimit)
Создайте объект Bidi представление bidi информации о строке текста в пределах абзаца, представленного текущим Bidi.
|
int |
getBaseLevel()
Возвратите основной уровень (0 если слева направо, 1 если справа налево).
|
int |
getLength()
Возвратите длину текста в строке.
|
int |
getLevelAt(int offset)
Возвратите разрешенный уровень символа при смещении.
|
int |
getRunCount()
Возвратите число выполнений уровня.
|
int |
getRunLevel(int run)
Возвратите уровень энного логического выполнения в этой строке.
|
int |
getRunLimit(int run)
Возвратите индекс символа мимо конца энного логического выполнения в этой строке как смещение от запуска строки.
|
int |
getRunStart(int run)
Возвратите индекс символа в начале энного логического выполнения в этой строке как смещение от запуска строки.
|
boolean |
isLeftToRight()
Возвратите true, если строка - все слева направо, текст и основное направление слева направо.
|
boolean |
isMixed()
Возвратите true, если строка не слева направо или справа налево.
|
boolean |
isRightToLeft()
Возвратите true, если строка - все справа налево текст, и основное направление справа налево.
|
static void |
reorderVisually(byte[] levels, int levelStart, Object[] objects, int objectStart, int count)
Переупорядочьте объекты в массиве в визуальный порядок, основанный на их уровнях.
|
static boolean |
requiresBidi(char[] text, int start, int limit)
Возвратите true, если указанный текст требует bidi анализа.
|
Строка |
toString()
Выведите на экран bidi внутреннее состояние, используемое в отладке.
|
public static final int DIRECTION_LEFT_TO_RIGHT
public static final int DIRECTION_RIGHT_TO_LEFT
public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT
public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT
public Bidi(String paragraph, int flags)
paragraph
- абзац текстаflags
- набор флагов, которые управляют алгоритмом. Алгоритм понимает флаги DIRECTION_LEFT_TO_RIGHT, DIRECTION_RIGHT_TO_LEFT, DIRECTION_DEFAULT_LEFT_TO_RIGHT, и DIRECTION_DEFAULT_RIGHT_TO_LEFT. Другие значения резервируются.public Bidi(AttributedCharacterIterator paragraph)
Атрибут RUN_DIRECTION в тексте, если есть определяет основное направление (слева направо или справа налево). Если не существующий, основное направление, вычисляет использование Unicode Двунаправленный Алгоритм, принимая значение по умолчанию к слева направо, если нет никаких сильных направленных символов в тексте. Этот атрибут, если есть должен быть применен ко всему тексту в абзаце.
Атрибут BIDI_EMBEDDING в тексте, если есть представляет информацию об уровне встраивания. Отрицательные величины от-1 до-62 указывают на переопределения в абсолютном значении уровня. Положительные значения от 1 до 62 указывают на embeddings. Где значения являются нулем или не определенные, уровень встраивания основы как определено основным направлением принимается.
Атрибут NUMERIC_SHAPING в тексте, если есть преобразовывает европейские цифры в другие десятичные цифры прежде, чем выполнить bidi алгоритм. Этот атрибут, если есть должен быть применен ко всему тексту в абзаце.
paragraph
- абзац текста с дополнительным символом и информацией атрибута абзацаTextAttribute.BIDI_EMBEDDING
, TextAttribute.NUMERIC_SHAPING
, TextAttribute.RUN_DIRECTION
public Bidi(char[] text, int textStart, byte[] embeddings, int embStart, int paragraphLength, int flags)
text
- массив, содержащий абзац текста, чтобы обработать.textStart
- индекс в текстовый массив запуска абзаца.embeddings
- массив, содержащий встраивающие значения для каждого символа в абзаце. Это может быть нулем, когда предполагается, что нет никакой внешней информации о встраивании.embStart
- индекс в массив встраивания запуска абзаца.paragraphLength
- длина абзаца в тексте и массивах embeddings.flags
- набор флагов, которые управляют алгоритмом. Алгоритм понимает флаги DIRECTION_LEFT_TO_RIGHT, DIRECTION_RIGHT_TO_LEFT, DIRECTION_DEFAULT_LEFT_TO_RIGHT, и DIRECTION_DEFAULT_RIGHT_TO_LEFT. Другие значения резервируются.public Bidi createLineBidi(int lineStart, int lineLimit)
lineStart
- смещение от запуска абзаца к запуску строки.lineLimit
- смещение от запуска абзаца к пределу строки.public boolean isMixed()
public boolean isLeftToRight()
public boolean isRightToLeft()
public int getLength()
public boolean baseIsLeftToRight()
public int getBaseLevel()
public int getLevelAt(int offset)
offset
- индекс символа, для которого можно возвратить уровеньpublic int getRunCount()
public int getRunLevel(int run)
run
- индекс выполнения, между 0 и getRunCount()
public int getRunStart(int run)
run
- индекс выполнения, между 0 и getRunCount()
public int getRunLimit(int run)
run
- индекс выполнения, между 0 и getRunCount()
public static boolean requiresBidi(char[] text, int start, int limit)
text
- текст, содержащий символы, чтобы протестироватьstart
- запуск диапазона символов, чтобы протестироватьlimit
- предел диапазона символов, чтобы протестироватьpublic static void reorderVisually(byte[] levels, int levelStart, Object[] objects, int objectStart, int count)
index
от objectStart
до objectStart + count
в объектах массив будет переупорядочен в визуальный порядок, предполагающий, что каждому выполнению текста указал на уровень соответствующий элемент в массиве уровней (в index - objectStart + levelStart
).levels
- массив, представляющий bidi уровень каждого объектаlevelStart
- позиция запуска в массиве уровнейobjects
- массив объектов, которые будут переупорядочены в визуальный порядокobjectStart
- позиция запуска в массиве объектовcount
- число объектов переупорядочить
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.