emptyCache();
int i;
final int size = shape.getNbPoints();
IPoint pt;
IPoint ctrlPt1;
IPoint ctrlPt2;
final StringBuilder arrowsStyle= getArrowsStyleCode();
final StringBuilder params = getPropertiesCode(ppc);
final StringBuilder coord = new StringBuilder();
final List<IPoint> pts = shape.getPoints();
final List<IPoint> fCtrlPts = shape.getFirstCtrlPts();
final List<IPoint> sCtrlPts = shape.getSecondCtrlPts();
final double originx = origin.getX();
final double originy = origin.getY();
if(size<2)
return ;
coord.append('(').append((float)LNumber.getCutNumber((pts.get(0).getX()-originx)/ppc));
coord.append(',').append((float)LNumber.getCutNumber((originy-pts.get(0).getY())/ppc));
coord.append(')').append('(').append((float)LNumber.getCutNumber((fCtrlPts.get(0).getX()-originx)/ppc));
coord.append(',').append((float)LNumber.getCutNumber((originy-fCtrlPts.get(0).getY())/ppc));
coord.append(')').append('(').append((float)LNumber.getCutNumber((fCtrlPts.get(1).getX()-originx)/ppc));
coord.append(',').append((float)LNumber.getCutNumber((originy-fCtrlPts.get(1).getY())/ppc));
coord.append(')').append('(').append((float)LNumber.getCutNumber((pts.get(1).getX()-originx)/ppc));
coord.append(',').append((float)LNumber.getCutNumber((originy-pts.get(1).getY())/ppc));
coord.append(')');
for(i=2; i<size; i++) {
ctrlPt1 = fCtrlPts.get(i);
ctrlPt2 = sCtrlPts.get(i-1);
coord.append('(').append(LNumber.getCutNumber((float)((ctrlPt2.getX()-originx)/ppc)));
coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt2.getY())/ppc)));
coord.append(')').append('(').append(LNumber.getCutNumber((float)((ctrlPt1.getX()-originx)/ppc)));
coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt1.getY())/ppc)));
coord.append(')').append('(');
pt = pts.get(i);
coord.append(LNumber.getCutNumber((float)((pt.getX()-originx)/ppc))).append(',');
coord.append(LNumber.getCutNumber((float)((originy-pt.getY())/ppc))).append(')');
}
if(shape.isClosed()) {
ctrlPt1 = sCtrlPts.get(0);
ctrlPt2 = sCtrlPts.get(sCtrlPts.size()-1);
coord.append('(').append(LNumber.getCutNumber((float)((ctrlPt2.getX()-originx)/ppc)));
coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt2.getY())/ppc)));
coord.append(')').append('(').append(LNumber.getCutNumber((float)((ctrlPt1.getX()-originx)/ppc)));
coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt1.getY())/ppc)));
coord.append(')').append('(');
pt = pts.get(0);