Class UScriptRun
java.lang.Object
com.ibm.icu.lang.UScriptRun
Deprecated.
This API is ICU internal only.
UScriptRun is used to find runs of characters in
the same script, as defined in the UScript class.
It implements a simple iterator over an array of characters.
The iterator will assign COMMON and INHERITED
characters to the same script as the preceding characters. If the
COMMON and INHERITED characters are first, they will be assigned to
the same script as the following characters.
The iterator will try to match paired punctuation. If it sees an
opening punctuation character, it will remember the script that
was assigned to that character, and assign the same script to the
matching closing punctuation.
No attempt is made to combine related scripts into a single run. In
particular, Hiragana, Katakana, and Han characters will appear in separate
runs.
Here is an example of how to iterate over script runs:
void printScriptRuns(char[] text)
{
UScriptRun scriptRun = new UScriptRun(text);
while (scriptRun.next()) {
int start = scriptRun.getScriptStart();
int limit = scriptRun.getScriptLimit();
int script = scriptRun.getScriptCode();
System.out.println("Script \"" + UScript.getName(script) + "\" from " +
start + " to " + limit + ".");
}
}
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classDeprecated. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate char[]Deprecated.private intDeprecated.private static intDeprecated.private static intDeprecated.private static int[]Deprecated.private static intDeprecated.private intDeprecated.private static UScriptRun.ParenStackEntry[]Deprecated.private intDeprecated.private intDeprecated.private intDeprecated.private intDeprecated.private char[]Deprecated.private intDeprecated.private intDeprecated.private intDeprecated. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.This API is ICU internal only.UScriptRun(char[] chars) Deprecated.This API is ICU internal only.UScriptRun(char[] chars, int start, int count) Deprecated.This API is ICU internal only.UScriptRun(String text) Deprecated.This API is ICU internal only.UScriptRun(String text, int start, int count) Deprecated.This API is ICU internal only. -
Method Summary
Modifier and TypeMethodDescriptionprivate static final intdec(int sp) Deprecated.private static final intdec(int sp, int count) Deprecated.private final voidfixup(int scrptCode) Deprecated.private static intgetPairIndex(int ch) Deprecated.Search the pairedChars array for the given character.final intDeprecated.This API is ICU internal only.final intDeprecated.This API is ICU internal only.final intDeprecated.This API is ICU internal only.private static final bytehighBit(int n) Deprecated.Find the highest bit that's set in a word.private static final intinc(int sp) Deprecated.private static final intinc(int sp, int count) Deprecated.private static final intlimitInc(int count) Deprecated.private static final intmod(int sp) Deprecated.final booleannext()Deprecated.This API is ICU internal only.private final voidpop()Deprecated.private final voidpush(int pairIndex, int scrptCode) Deprecated.final voidreset()Deprecated.This API is ICU internal only.final voidreset(char[] chars) Deprecated.This API is ICU internal only.final voidreset(char[] chars, int start, int count) Deprecated.This API is ICU internal only.final voidreset(int start, int count) Deprecated.This API is ICU internal only.final voidDeprecated.This API is ICU internal only.final voidDeprecated.This API is ICU internal only.private static booleansameScript(int scriptOne, int scriptTwo) Deprecated.Compare two script codes to see if they are in the same script.private final booleanDeprecated.private final booleanDeprecated.private final voidDeprecated.private final UScriptRun.ParenStackEntrytop()Deprecated.
-
Field Details
-
emptyCharArray
private char[] emptyCharArrayDeprecated. -
text
private char[] textDeprecated. -
textIndex
private int textIndexDeprecated. -
textStart
private int textStartDeprecated. -
textLimit
private int textLimitDeprecated. -
scriptStart
private int scriptStartDeprecated. -
scriptLimit
private int scriptLimitDeprecated. -
scriptCode
private int scriptCodeDeprecated. -
PAREN_STACK_DEPTH
private static int PAREN_STACK_DEPTHDeprecated. -
parenStack
Deprecated. -
parenSP
private int parenSPDeprecated. -
pushCount
private int pushCountDeprecated. -
fixupCount
private int fixupCountDeprecated. -
pairedChars
private static int[] pairedCharsDeprecated. -
pairedCharPower
private static int pairedCharPowerDeprecated. -
pairedCharExtra
private static int pairedCharExtraDeprecated.
-
-
Constructor Details
-
UScriptRun
Deprecated.This API is ICU internal only.Construct an emptyUScriptRunobject. Thenext()method will returnfalsethe first time it is called. -
UScriptRun
Deprecated.This API is ICU internal only.Construct aUScriptRunobject which iterates over the characters in the given string.- Parameters:
text- the string of characters over which to iterate.
-
UScriptRun
Deprecated.This API is ICU internal only.Construct aUScriptRunobject which iterates over a subrange of the characters in the given string.- Parameters:
text- the string of characters over which to iterate.start- the index of the first character over which to iteratecount- the number of characters over which to iterate
-
UScriptRun
Deprecated.This API is ICU internal only.Construct aUScriptRunobject which iterates over the given characters.- Parameters:
chars- the array of characters over which to iterate.
-
UScriptRun
Deprecated.This API is ICU internal only.Construct aUScriptRunobject which iterates over a subrange of the given characters.- Parameters:
chars- the array of characters over which to iterate.start- the index of the first character over which to iteratecount- the number of characters over which to iterate
-
-
Method Details
-
reset
Deprecated.This API is ICU internal only.Reset the iterator to the start of the text. -
reset
Deprecated.This API is ICU internal only.Reset the iterator to iterate over the given range of the text. Throws IllegalArgumentException if the range is outside of the bounds of the character array.- Parameters:
start- the index of the new first character over which to iteratecount- the new number of characters over which to iterate.- Throws:
IllegalArgumentException- If invalid arguments are passed.
-
reset
Deprecated.This API is ICU internal only.Reset the iterator to iterate overcountcharacters incharsstarting atstart. This allows clients to reuse an iterator.- Parameters:
chars- the new array of characters over which to iterate.start- the index of the first character over which to iterate.count- the number of characters over which to iterate.
-
reset
Deprecated.This API is ICU internal only.Reset the iterator to iterate over the characters inchars. This allows clients to reuse an iterator.- Parameters:
chars- the new array of characters over which to iterate.
-
reset
Deprecated.This API is ICU internal only.Reset the iterator to iterate overcountcharacters intextstarting atstart. This allows clients to reuse an iterator.- Parameters:
str- the new string of characters over which to iterate.start- the index of the first character over which to iterate.count- the nuber of characters over which to iterate.
-
reset
Deprecated.This API is ICU internal only.Reset the iterator to iterate over the characters intext. This allows clients to reuse an iterator.- Parameters:
str- the new string of characters over which to iterate.
-
getScriptStart
Deprecated.This API is ICU internal only.Get the starting index of the current script run.- Returns:
- the index of the first character in the current script run.
-
getScriptLimit
Deprecated.This API is ICU internal only.Get the index of the first character after the current script run.- Returns:
- the index of the first character after the current script run.
-
getScriptCode
Deprecated.This API is ICU internal only.Get the script code for the script of the current script run.- Returns:
- the script code for the script of the current script run.
- See Also:
-
next
Deprecated.This API is ICU internal only.Find the next script run. Returnsfalseif there isn't another run, returnstrueif there is.- Returns:
falseif there isn't another run,trueif there is.
-
sameScript
private static boolean sameScript(int scriptOne, int scriptTwo) Deprecated.Compare two script codes to see if they are in the same script. If one script is a strong script, and the other is INHERITED or COMMON, it will compare equal.- Parameters:
scriptOne- one of the script codes.scriptTwo- the other script code.- Returns:
trueif the two scripts are the same.- See Also:
-
mod
private static final int mod(int sp) Deprecated. -
inc
private static final int inc(int sp, int count) Deprecated. -
inc
private static final int inc(int sp) Deprecated. -
dec
private static final int dec(int sp, int count) Deprecated. -
dec
private static final int dec(int sp) Deprecated. -
limitInc
private static final int limitInc(int count) Deprecated. -
stackIsEmpty
private final boolean stackIsEmpty()Deprecated. -
stackIsNotEmpty
private final boolean stackIsNotEmpty()Deprecated. -
push
private final void push(int pairIndex, int scrptCode) Deprecated. -
pop
private final void pop()Deprecated. -
top
Deprecated. -
syncFixup
private final void syncFixup()Deprecated. -
fixup
private final void fixup(int scrptCode) Deprecated. -
highBit
private static final byte highBit(int n) Deprecated.Find the highest bit that's set in a word. Uses a binary search through the bits.- Parameters:
n- the word in which to find the highest bit that's set.- Returns:
- the bit number (counting from the low order bit) of the highest bit.
-
getPairIndex
private static int getPairIndex(int ch) Deprecated.Search the pairedChars array for the given character.- Parameters:
ch- the character for which to search.- Returns:
- the index of the character in the table, or -1 if it's not there.
-