2d.text.measure.fillTextCluster-font-change.tentative.w.html (1663B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <meta charset="UTF-8"> 4 <html class="reftest-wait"> 5 <link rel="match" href="2d.text.measure.fillTextCluster-font-change.tentative-expected.html"> 6 <title>Canvas test: 2d.text.measure.fillTextCluster-font-change.tentative</title> 7 <h1>2d.text.measure.fillTextCluster-font-change.tentative</h1> 8 <p class="desc">Test that fillTextCluster() renders in the font used originally when the text was measured, even if the font set on the context has changed since.</p> 9 <canvas id="canvas" width="500" height="200"> 10 <p class="fallback">FAIL (fallback content)</p> 11 </canvas> 12 <script id='myWorker' type='text/worker'> 13 self.onmessage = function(e) { 14 const canvas = new OffscreenCanvas(500, 200); 15 const ctx = canvas.getContext('2d'); 16 17 ctx.font = '50px sans-serif'; 18 const text = 'Hello ♦️ World!'; 19 let tm = ctx.measureText(text); 20 const clusters = tm.getTextClusters(); 21 22 ctx.font = '80px serif'; 23 24 const x = 100; 25 const y = 100; 26 for (const cluster of clusters) { 27 ctx.fillTextCluster(cluster, x, y); 28 } 29 30 const bitmap = canvas.transferToImageBitmap(); 31 self.postMessage(bitmap, bitmap); 32 }; 33 </script> 34 <script> 35 const blob = new Blob([document.getElementById('myWorker').textContent]); 36 const worker = new Worker(URL.createObjectURL(blob)); 37 worker.addEventListener('message', msg => { 38 const outputCtx = document.getElementById("canvas").getContext('2d'); 39 outputCtx.drawImage(msg.data, 0, 0); 40 document.documentElement.classList.remove("reftest-wait"); 41 }); 42 worker.postMessage(null); 43 </script> 44 </html>