private static boolean isTextCharAboveMinSurrogate(int codepoint) {
        if (codepoint <= Character.MAX_SURROGATE) return false;
        if (codepoint <  0xFDD0)   return true;
        if (codepoint <= 0xFDDF)   return false;
        if (codepoint >= 0x10FFFE) return false;
        return (codepoint & 0xffff) < 0xFFFE;
    }
Returns whether the given codepoint is a valid text character, potentially suitable for 
purposes such as indexing and display, see http://www.w3.org/TR/2006/REC-xml11-20060816/#charsets
vespajlib/src/main/java/com/yahoo/text/Text.java