net.sf.saxon.charcode
Class UTF16

java.lang.Object
  extended by net.sf.saxon.charcode.UTF16

public class UTF16
extends Object

A class to hold some static constants and methods associated with processing UTF16 and surrogate pairs


Field Summary
static int NONBMP_MAX
           
static int NONBMP_MIN
           
static char SURROGATE1_MAX
           
static char SURROGATE1_MIN
           
static char SURROGATE2_MAX
           
static char SURROGATE2_MIN
           
 
Constructor Summary
UTF16()
           
 
Method Summary
static int combinePair(char high, char low)
          Return the non-BMP character corresponding to a given surrogate pair surrogates.
static char highSurrogate(int ch)
          Return the high surrogate of a non-BMP character
static boolean isHighSurrogate(int ch)
          Test whether the given character is a high surrogate
static boolean isLowSurrogate(int ch)
          Test whether the given character is a low surrogate
static boolean isSurrogate(int c)
          Test whether a given character is a surrogate (high or low)
static char lowSurrogate(int ch)
          Return the low surrogate of a non-BMP character
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NONBMP_MIN

public static final int NONBMP_MIN
See Also:
Constant Field Values

NONBMP_MAX

public static final int NONBMP_MAX
See Also:
Constant Field Values

SURROGATE1_MIN

public static final char SURROGATE1_MIN
See Also:
Constant Field Values

SURROGATE1_MAX

public static final char SURROGATE1_MAX
See Also:
Constant Field Values

SURROGATE2_MIN

public static final char SURROGATE2_MIN
See Also:
Constant Field Values

SURROGATE2_MAX

public static final char SURROGATE2_MAX
See Also:
Constant Field Values
Constructor Detail

UTF16

public UTF16()
Method Detail

combinePair

public static int combinePair(char high,
                              char low)
Return the non-BMP character corresponding to a given surrogate pair surrogates.

Parameters:
high - The high surrogate.
low - The low surrogate.
Returns:
the Unicode codepoint represented by the surrogate pair

highSurrogate

public static char highSurrogate(int ch)
Return the high surrogate of a non-BMP character

Parameters:
ch - The Unicode codepoint of the non-BMP character to be divided.
Returns:
the first character in the surrogate pair

lowSurrogate

public static char lowSurrogate(int ch)
Return the low surrogate of a non-BMP character

Parameters:
ch - The Unicode codepoint of the non-BMP character to be divided.
Returns:
the second character in the surrogate pair

isSurrogate

public static boolean isSurrogate(int c)
Test whether a given character is a surrogate (high or low)

Parameters:
c - the character to test
Returns:
true if the character is the high or low half of a surrogate pair

isHighSurrogate

public static boolean isHighSurrogate(int ch)
Test whether the given character is a high surrogate

Parameters:
ch - The character to test.
Returns:
true if the character is the first character in a surrogate pair

isLowSurrogate

public static boolean isLowSurrogate(int ch)
Test whether the given character is a low surrogate

Parameters:
ch - The character to test.
Returns:
true if the character is the second character in a surrogate pair


Copyright (C) Michael H. Kay. All rights reserved.