com.ibm.icu.lang
public final class UScriptRun extends Object
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 preceeding 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 seperate
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 + "."); } }
UNKNOWN:
Constructor Summary | |
---|---|
UScriptRun()
Construct an empty UScriptRun object. | |
UScriptRun(String text)
Construct a UScriptRun object which iterates over the
characters in the given string.
| |
UScriptRun(String text, int start, int count)
Construct a UScriptRun object which iterates over a subrange
of the characetrs in the given string.
| |
UScriptRun(char[] chars)
Construct a UScriptRun object which iterates over the given
characetrs.
| |
UScriptRun(char[] chars, int start, int count)
Construct a UScriptRun object which iterates over a subrange
of the given characetrs.
|
Method Summary | |
---|---|
int | getScriptCode()
Get the script code for the script of the current script run.
|
int | getScriptLimit()
Get the index of the first character after the current script run.
|
int | getScriptStart()
Get the starting index of the current script run.
|
boolean | next()
Find the next script run. |
void | reset()
Reset the iterator to the start of the text.
|
void | reset(int start, int count)
Reset the iterator to iterate over the given range of the text. |
void | reset(char[] chars, int start, int count)
Reset the iterator to iterate over count characters
in chars starting at start . |
void | reset(char[] chars)
Reset the iterator to iterate over the characters
in chars . |
void | reset(String text, int start, int count)
Reset the iterator to iterate over count characters
in text starting at start . |
void | reset(String text)
Reset the iterator to iterate over the characters
in text . |
UScriptRun
object. The next()
method will return false
the first time it is called.
UNKNOWN:
UScriptRun
object which iterates over the
characters in the given string.
Parameters: text the string of characters over which to iterate.
UNKNOWN:
UScriptRun
object which iterates over a subrange
of the characetrs in the given string.
Parameters: text the string 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
UNKNOWN:
UScriptRun
object which iterates over the given
characetrs.
Parameters: chars the array of characters over which to iterate.
UNKNOWN:
UScriptRun
object which iterates over a subrange
of the given characetrs.
Parameters: chars the 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
UNKNOWN:
Returns: the script code for the script of the current script run.
UNKNOWN:
Returns: the index of the first character after the current script run.
UNKNOWN:
Returns: the index of the first character in the current script run.
UNKNOWN:
false
if there
isn't another run, returns true
if there is.
Returns: false
if there isn't another run, true
if there is.
UNKNOWN:
UNKNOWN:
Parameters: start the index of the new first character over which to iterate count the new number of characters over which to iterate.
Throws: IllegalArgumentException
UNKNOWN:
count
characters
in chars
starting at start
. 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.
UNKNOWN:
chars
. This allows clients to reuse an iterator.
Parameters: chars the new array of characters over which to iterate.
UNKNOWN:
count
characters
in text
starting at start
. This allows
clients to reuse an iterator.
Parameters: text 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.
UNKNOWN:
text
. This allows clients to reuse an iterator.
Parameters: text the new string of characters over which to iterate.
UNKNOWN: