@Override
    public void readConstructorParams(DataInput in) throws IOException {
        super.readConstructorParams(in);

        String fontName = in.readUTF();
        int style = in.readInt();
        int size = in.readInt();
        font = new Font(fontName, style, size);

        tesselationTolerance = in.readDouble();

        GeneralPath shape = null;
        int segType = in.readInt();
        while (segType != Integer.MIN_VALUE) {
            if (shape == null)
                shape = new GeneralPath();

            if (segType == PathIterator.SEG_MOVETO) {
                shape.moveTo(in.readFloat(), in.readFloat());
            } else if (segType == PathIterator.SEG_LINETO) {
                shape.lineTo(in.readFloat(), in.readFloat());
            } else if (segType == PathIterator.SEG_QUADTO) {
                shape.quadTo(in.readFloat(), in.readFloat(), in.readFloat(), in
                        .readFloat());
            } else if (segType == PathIterator.SEG_CUBICTO) {
                shape.curveTo(in.readFloat(), in.readFloat(), in.readFloat(),
                        in.readFloat(), in.readFloat(), in.readFloat());
            } else if (segType == PathIterator.SEG_CLOSE) {
                shape.closePath();
            }

            segType = in.readInt();
        }
        if (shape != null)
            extrudePath = new FontExtrusion(shape, in.readDouble());
        else
            extrudePath = null;
    }