/** * {@inheritDoc} */ @Override public boolean translate(final int codepoint, final Writer out) throws IOException { if (between) { if (codepoint < below || codepoint > above) { return false; } } else { if (codepoint >= below && codepoint <= above) { return false; } } // TODO: Handle potential + sign per various Unicode escape implementations if (codepoint > 0xffff) { out.write(toUtf16Escape(codepoint)); } else { out.write("\\u"); out.write(HEX_DIGITS[(codepoint >> 12) & 15]); out.write(HEX_DIGITS[(codepoint >> 8) & 15]); out.write(HEX_DIGITS[(codepoint >> 4) & 15]); out.write(HEX_DIGITS[(codepoint) & 15]); } return true; }
/** * {@inheritDoc} */ @Override public boolean translate(final int codepoint, final Writer out) throws IOException { if (between) { if (codepoint < below || codepoint > above) { return false; } } else { if (codepoint >= below && codepoint <= above) { return false; } } // TODO: Handle potential + sign per various Unicode escape implementations if (codepoint > 0xffff) { out.write(toUtf16Escape(codepoint)); } else { out.write("\\u"); out.write(HEX_DIGITS[(codepoint >> 12) & 15]); out.write(HEX_DIGITS[(codepoint >> 8) & 15]); out.write(HEX_DIGITS[(codepoint >> 4) & 15]); out.write(HEX_DIGITS[(codepoint) & 15]); } return true; }
/** * {@inheritDoc} */ @Override public boolean translate(final int codepoint, final Writer out) throws IOException { if (between) { if (codepoint < below || codepoint > above) { return false; } } else { if (codepoint >= below && codepoint <= above) { return false; } } // TODO: Handle potential + sign per various Unicode escape implementations if (codepoint > 0xffff) { out.write(toUtf16Escape(codepoint)); } else { out.write("\\u"); out.write(HEX_DIGITS[(codepoint >> 12) & 15]); out.write(HEX_DIGITS[(codepoint >> 8) & 15]); out.write(HEX_DIGITS[(codepoint >> 4) & 15]); out.write(HEX_DIGITS[(codepoint) & 15]); } return true; }
/** * {@inheritDoc} */ @Override @GwtIncompatible("incompatible method") public boolean translate(final int codepoint, final Writer out) throws IOException { if (between) { if (codepoint < below || codepoint > above) { return false; } } else { if (codepoint >= below && codepoint <= above) { return false; } } // TODO: Handle potential + sign per various Unicode escape implementations if (codepoint > 0xffff) { out.write(toUtf16Escape(codepoint)); } else { out.write("\\u"); out.write(HEX_DIGITS[(codepoint >> 12) & 15]); out.write(HEX_DIGITS[(codepoint >> 8) & 15]); out.write(HEX_DIGITS[(codepoint >> 4) & 15]); out.write(HEX_DIGITS[(codepoint) & 15]); } return true; }