question: public ExtendedTextLabel createExtended ( Font font , CoreMetrics lm , Decoration decorator , int start , int limit ) { if ( start >= limit || start < lineStart || limit > lineLimit ) { throw new IllegalArgumentException ( "bad start: " + start + " or limit: " + limit ) ; } int level = lineBidi == null ? 0 : lineBidi . getLevelAt ( start - lineStart ) ; int linedir = ( lineBidi == null || lineBidi . baseIsLeftToRight ( ) ) ? 0 : 1 ; int layoutFlags = flags & ~ 0x9 ; if ( ( level & 0x1 ) != 0 ) layoutFlags |= 1 ; if ( ( linedir & 0x1 ) != 0 ) layoutFlags |= 8 ; TextSource source = new StandardTextSource ( text , start , limit - start , lineStart , lineLimit - lineStart , level , layoutFlags , font , frc , lm ) ; return new ExtendedTextSourceLabel ( source , decorator ) ; }
target:  Create an extended glyph array for the text between start and limit.