asSurface(elementId);
    if (!surface) {
      throw new Error('Could not make surface');
    }

    function drawFrame(canvas) {
      drawParagraph(canvas, getParagraph());
      surface.requestAnimationFrame(drawFrame);
    }
    surface.requestAnimationFrame(drawFrame);
  }

  function ParagraphWithICU() {
    if (!CanvasKit || !fonts) {
      throw new Error('CanvasKit or fonts not loaded');
    }

    const fontMgr = CanvasKit.FontMgr.FromData(fonts);

    const paraStyle = new CanvasKit.ParagraphSty