@Override
    public int getFromU16SingleLead(char codeUnit){
        int value;
        int ix;
        
        ix = index[codeUnit >> UTRIE2_SHIFT_2];
        ix = (ix << UTRIE2_INDEX_SHIFT) + (codeUnit & UTRIE2_DATA_MASK);
        value = data32[ix];
        return value;

    }
@ Override public int getFromU16SingleLead ( char codeUnit ) { int value ; int ix ; ix = index [ codeUnit > > UTRIE2_SHIFT_2 ] ; ix = ( ix << UTRIE2_INDEX_SHIFT ) + ( codeUnit & UTRIE2_DATA_MASK ) ; value = data32 [ ix ] ; return value ; }
Get a Trie2 value for a UTF-16 code unit.

This function returns the same value as get() if the input
character is outside of the lead surrogate range

There are two values stored in a Trie2 for inputs in the lead
surrogate range.  This function returns the alternate value,
while Trie2.get() returns the main value.

@param codeUnit a 16 bit code unit or lead surrogate value.
@return the value