Java Code Examples for com.ibm.icu.text.UTF16#LEAD_SURROGATE_MIN_VALUE
The following examples show how to use
com.ibm.icu.text.UTF16#LEAD_SURROGATE_MIN_VALUE .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CharTrie.java From fitnotifications with Apache License 2.0 | 6 votes |
/** * Gets the value associated with the codepoint. * If no value is associated with the codepoint, a default value will be * returned. * @param ch codepoint * @return offset to data */ public final char getCodePointValue(int ch) { int offset; // fastpath for U+0000..U+D7FF if(0 <= ch && ch < UTF16.LEAD_SURROGATE_MIN_VALUE) { // copy of getRawOffset() offset = (m_index_[ch >> INDEX_STAGE_1_SHIFT_] << INDEX_STAGE_2_SHIFT_) + (ch & INDEX_STAGE_3_MASK_); return m_data_[offset]; } // handle U+D800..U+10FFFF offset = getCodePointOffset(ch); // return -1 if there is an error, in this case we return the default // value: m_initialValue_ return (offset >= 0) ? m_data_[offset] : m_initialValue_; }
Example 2
Source File: Trie.java From fitnotifications with Apache License 2.0 | 6 votes |
/** * Internal trie getter from a code point. * Could be faster(?) but longer with * if((c32)<=0xd7ff) { (result)=_TRIE_GET_RAW(trie, data, 0, c32); } * Gets the offset to data which the codepoint points to * @param ch codepoint * @return offset to data */ protected final int getCodePointOffset(int ch) { // if ((ch >> 16) == 0) slower if (ch < 0) { return -1; } else if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE) { // fastpath for the part of the BMP below surrogates (D800) where getRawOffset() works return getRawOffset(0, (char)ch); } else if (ch < UTF16.SUPPLEMENTARY_MIN_VALUE) { // BMP codepoint return getBMPOffset((char)ch); } else if (ch <= UCharacter.MAX_VALUE) { // look at the construction of supplementary characters // trail forms the ends of it. return getSurrogateOffset(UTF16.getLeadSurrogate(ch), (char)(ch & SURROGATE_MASK_)); } else { // return -1 if there is an error, in this case we return return -1; } }
Example 3
Source File: IntTrie.java From fitnotifications with Apache License 2.0 | 6 votes |
/** * Gets the value associated with the codepoint. * If no value is associated with the codepoint, a default value will be * returned. * @param ch codepoint * @return offset to data */ public final int getCodePointValue(int ch) { int offset; // fastpath for U+0000..U+D7FF if(0 <= ch && ch < UTF16.LEAD_SURROGATE_MIN_VALUE) { // copy of getRawOffset() offset = (m_index_[ch >> INDEX_STAGE_1_SHIFT_] << INDEX_STAGE_2_SHIFT_) + (ch & INDEX_STAGE_3_MASK_); return m_data_[offset]; } // handle U+D800..U+10FFFF offset = getCodePointOffset(ch); return (offset >= 0) ? m_data_[offset] : m_initialValue_; }
Example 4
Source File: CharacterIteration.java From fitnotifications with Apache License 2.0 | 6 votes |
public static int nextTrail32(CharacterIterator ci, int lead) { if (lead == CharacterIterator.DONE && ci.getIndex() >= ci.getEndIndex()) { return DONE32; } int retVal = lead; if (lead <= UTF16.LEAD_SURROGATE_MAX_VALUE) { char cTrail = ci.next(); if (UTF16.isTrailSurrogate(cTrail)) { retVal = ((lead - UTF16.LEAD_SURROGATE_MIN_VALUE) << 10) + (cTrail - UTF16.TRAIL_SURROGATE_MIN_VALUE) + UTF16.SUPPLEMENTARY_MIN_VALUE; } else { ci.previous(); } } return retVal; }
Example 5
Source File: CharacterIteration.java From fitnotifications with Apache License 2.0 | 6 votes |
public static int previous32(CharacterIterator ci) { if (ci.getIndex() <= ci.getBeginIndex()) { return DONE32; } char trail = ci.previous(); int retVal = trail; if (UTF16.isTrailSurrogate(trail) && ci.getIndex()>ci.getBeginIndex()) { char lead = ci.previous(); if (UTF16.isLeadSurrogate(lead)) { retVal = (((int)lead - UTF16.LEAD_SURROGATE_MIN_VALUE) << 10) + ((int)trail - UTF16.TRAIL_SURROGATE_MIN_VALUE) + UTF16.SUPPLEMENTARY_MIN_VALUE; } else { ci.next(); } } return retVal; }
Example 6
Source File: CharacterIteration.java From fitnotifications with Apache License 2.0 | 6 votes |
public static int current32(CharacterIterator ci) { char lead = ci.current(); int retVal = lead; if (retVal < UTF16.LEAD_SURROGATE_MIN_VALUE) { return retVal; } if (UTF16.isLeadSurrogate(lead)) { int trail = (int)ci.next(); ci.previous(); if (UTF16.isTrailSurrogate((char)trail)) { retVal = ((lead - UTF16.LEAD_SURROGATE_MIN_VALUE) << 10) + (trail - UTF16.TRAIL_SURROGATE_MIN_VALUE) + UTF16.SUPPLEMENTARY_MIN_VALUE; } } else { if (lead == CharacterIterator.DONE) { if (ci.getIndex() >= ci.getEndIndex()) { retVal = DONE32; } } } return retVal; }
Example 7
Source File: CharTrie.java From trekarta with GNU General Public License v3.0 | 6 votes |
/** * Gets the value associated with the codepoint. * If no value is associated with the codepoint, a default value will be * returned. * @param ch codepoint * @return offset to data */ public final char getCodePointValue(int ch) { int offset; // fastpath for U+0000..U+D7FF if(0 <= ch && ch < UTF16.LEAD_SURROGATE_MIN_VALUE) { // copy of getRawOffset() offset = (m_index_[ch >> INDEX_STAGE_1_SHIFT_] << INDEX_STAGE_2_SHIFT_) + (ch & INDEX_STAGE_3_MASK_); return m_data_[offset]; } // handle U+D800..U+10FFFF offset = getCodePointOffset(ch); // return -1 if there is an error, in this case we return the default // value: m_initialValue_ return (offset >= 0) ? m_data_[offset] : m_initialValue_; }
Example 8
Source File: Trie.java From trekarta with GNU General Public License v3.0 | 6 votes |
/** * Internal trie getter from a code point. * Could be faster(?) but longer with * if((c32)<=0xd7ff) { (result)=_TRIE_GET_RAW(trie, data, 0, c32); } * Gets the offset to data which the codepoint points to * @param ch codepoint * @return offset to data */ protected final int getCodePointOffset(int ch) { // if ((ch >> 16) == 0) slower if (ch < 0) { return -1; } else if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE) { // fastpath for the part of the BMP below surrogates (D800) where getRawOffset() works return getRawOffset(0, (char)ch); } else if (ch < UTF16.SUPPLEMENTARY_MIN_VALUE) { // BMP codepoint return getBMPOffset((char)ch); } else if (ch <= UCharacter.MAX_VALUE) { // look at the construction of supplementary characters // trail forms the ends of it. return getSurrogateOffset(UTF16.getLeadSurrogate(ch), (char)(ch & SURROGATE_MASK_)); } else { // return -1 if there is an error, in this case we return return -1; } }
Example 9
Source File: Trie.java From fitnotifications with Apache License 2.0 | 5 votes |
/** * Gets the offset to data which the BMP character points to * Treats a lead surrogate as a normal code point. * @param ch BMP character * @return offset to data */ protected final int getBMPOffset(char ch) { return (ch >= UTF16.LEAD_SURROGATE_MIN_VALUE && ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) ? getRawOffset(LEAD_INDEX_OFFSET_, ch) : getRawOffset(0, ch); // using a getRawOffset(ch) makes no diff }
Example 10
Source File: CharacterIteration.java From fitnotifications with Apache License 2.0 | 5 votes |
/** * Move the iterator forward to the next code point, and return that code point, * leaving the iterator positioned at char returned. * For Supplementary chars, the iterator is left positioned at the lead surrogate. * @param ci The character iterator * @return The next code point. */ public static int next32(CharacterIterator ci) { // If the current position is at a surrogate pair, move to the trail surrogate // which leaves it in position for underlying iterator's next() to work. int c = ci.current(); if (c >= UTF16.LEAD_SURROGATE_MIN_VALUE && c<=UTF16.LEAD_SURROGATE_MAX_VALUE) { c = ci.next(); if (c<UTF16.TRAIL_SURROGATE_MIN_VALUE || c>UTF16.TRAIL_SURROGATE_MAX_VALUE) { ci.previous(); } } // For BMP chars, this next() is the real deal. c = ci.next(); // If we might have a lead surrogate, we need to peak ahead to get the trail // even though we don't want to really be positioned there. if (c >= UTF16.LEAD_SURROGATE_MIN_VALUE) { c = nextTrail32(ci, c); } if (c >= UTF16.SUPPLEMENTARY_MIN_VALUE && c != DONE32) { // We got a supplementary char. Back the iterator up to the postion // of the lead surrogate. ci.previous(); } return c; }
Example 11
Source File: Trie.java From trekarta with GNU General Public License v3.0 | 5 votes |
/** * Gets the offset to data which the BMP character points to * Treats a lead surrogate as a normal code point. * @param ch BMP character * @return offset to data */ protected final int getBMPOffset(char ch) { return (ch >= UTF16.LEAD_SURROGATE_MIN_VALUE && ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) ? getRawOffset(LEAD_INDEX_OFFSET_, ch) : getRawOffset(0, ch); // using a getRawOffset(ch) makes no diff }