private void addFonts(char[] chars,Map<? extends Attribute,?> attributes,int start,int limit){
  FontResolver resolver=FontResolver.getInstance();
  CodePointIterator iter=CodePointIterator.create(chars,start,limit);
  for (int runStart=iter.charIndex(); runStart < limit; runStart=iter.charIndex()) {
    int fontIndex=resolver.nextFontRunIndex(iter);
    addFont(resolver.getFont(fontIndex,attributes),runStart);
  }
}

private void addFonts ( char [ ] chars , Map < ? extends Attribute , ? > attributes , int start , int limit ) { FontResolver resolver = FontResolver . getInstance ( ) ; CodePointIterator iter = CodePointIterator . create ( chars , start , limit ) ; for ( int runStart = iter . charIndex ( ) ; runStart < limit ; runStart = iter . charIndex ( ) ) { int fontIndex = resolver . nextFontRunIndex ( iter ) ; addFont ( resolver . getFont ( fontIndex , attributes ) , runStart ) ; } }
resolve the given chars into fonts using fontresolver , then add font runs for each .
