question: private void moveCaretLeft ( ) { int len = buffer . length ( ) ; if ( -- insertionPoint < 2 ) { insertionPoint ++ ; beep ( ) ; } else if ( format == SURROGATE_PAIR && insertionPoint == 7 ) { insertionPoint = 8 ; beep ( ) ; } context . dispatchInputMethodEvent ( InputMethodEvent . CARET_POSITION_CHANGED , null , 0 , TextHitInfo . leading ( insertionPoint ) , null ) ; }
target:  Move the insertion point one position to the left in the composed text. Do not let the caret move to the left of the "\\u" or "\\U".