public static boolean isTextCharacter(int codepoint) {
        // The link above notes that 0x7F-0x84 and 0x86-0x9F are discouraged, but they are still allowed -
        // see http://www.w3.org/International/questions/qa-controls

        return (codepoint < 0x80)
                ? allowedAsciiChars[codepoint]
                : (codepoint < Character.MIN_SURROGATE) || isTextCharAboveMinSurrogate(codepoint);
    }
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