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);
}

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 ) ; }
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 " .
