private boolean isBeforeDot(char s[],int pos,int len){
  for (int i=pos; i < len; ) {
    final int ch=Character.codePointAt(s,i,len);
    if (Character.getType(ch) != Character.NON_SPACING_MARK)     return false;
    if (ch == COMBINING_DOT_ABOVE)     return true;
    i+=Character.charCount(ch);
  }
  return false;
}

private boolean isBeforeDot ( char s [ ] , int pos , int len ) { for ( int i = pos ; i < len ; ) { final int ch = Character . codePointAt ( s , i , len ) ; if ( Character . getType ( ch ) != Character . NON_SPACING_MARK ) return false ; if ( ch == COMBINING_DOT_ABOVE ) return true ; i += Character . charCount ( ch ) ; } return false ; }
lookahead for a combining dot above . other nsms may be in between .
