restore(transform = ((a, b, c) => [a, b, c])) {
    const [ onRefs, onOffsets, offOffsets ] =
      transform(this.onRefs, this.onOffsets, this.offOffsets);
    const onPts = onRefs.map((onRef, i) => {
      const [ x, y ] = onRef;
      const [ dx, dy ] = onOffsets[i];
      return [ x + dx, y + dy ];
    });
    const offPts = offOffsets.map((offOffset, i) => {
      const offOnIndex = this.offOnIndices[i];
      const [ x, y ] = onPts[offOnIndex];
      const [ dx, dy ] = offOffset;
      return [ x + dx, y + dy ];
    });

    this.align(onPts, offPts);
    const offOnIndices = this.offOnIndices;
    const onContourIndices = this.onContourIndices;
    
    return toGlyph(onPts, offPts, offOnIndices, onContourIndices);
  }
Restore the glyph contours.
@param { (onRefs: [number, number][],
onOffsets: [number, number][], offOffsets: [number, number][]) => 
[[number, number][], [number, number][], [number, number][]] } transform
@returns { {x: number, y: number, on: boolean}[][] }