public GraphicComponent(GraphicAttribute graphic,Decoration decorator,int[] charsLtoV,byte[] levels,int start,int limit,AffineTransform baseTx){
  if (limit <= start) {
    throw new IllegalArgumentException("0 or negative length in GraphicComponent");
  }
  this.graphic=graphic;
  this.graphicAdvance=graphic.getAdvance();
  this.decorator=decorator;
  this.cm=createCoreMetrics(graphic);
  this.baseTx=baseTx;
  initLocalOrdering(charsLtoV,levels,start,limit);
}

public GraphicComponent ( GraphicAttribute graphic , Decoration decorator , int [ ] charsLtoV , byte [ ] levels , int start , int limit , AffineTransform baseTx ) { if ( limit <= start ) { throw new IllegalArgumentException ( "0 or negative length in GraphicComponent" ) ; } this . graphic = graphic ; this . graphicAdvance = graphic . getAdvance ( ) ; this . decorator = decorator ; this . cm = createCoreMetrics ( graphic ) ; this . baseTx = baseTx ; initLocalOrdering ( charsLtoV , levels , start , limit ) ; }
create a new graphiccomponent . start and limit are indices into charltov and levels . charsltov and levels may be adopted .
