File: 2d.text.measure.strokeTextCluster-drawing-styles-change.tentative.html

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (119 lines) | stat: -rw-r--r-- 3,353 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<meta charset="UTF-8">
<link rel="stylesheet" href="/html/canvas/resources/canvas-grid-reftest.css">
<link rel="match" href="2d.text.measure.strokeTextCluster-drawing-styles-change.tentative-expected.html">
<title>Canvas test: 2d.text.measure.strokeTextCluster-drawing-styles-change.tentative</title>
<h1>2d.text.measure.strokeTextCluster-drawing-styles-change.tentative</h1>
<p class="desc">Test that strokeTextCluster() renders using the drawing styles as they were when `ctx.measureText()` was called, regardless of any changes in the context since.</p>

<div class="grid-container" style="--grid-width: 2">
<span>
  <div>letter_spacing</div>
  <canvas class="grid-cell-content" id="canvas0" width="250" height="80">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas0");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ♦️ find';

    ctx.letterSpacing = '2px';

    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    ctx.letterSpacing = '6px';

    for (const cluster of clusters) {
        ctx.strokeTextCluster(cluster, 10, 25);
    }

    ctx.strokeText(text, 10, 50);
  </script>
</span>

<span>
  <div>word_spacing</div>
  <canvas class="grid-cell-content" id="canvas1" width="250" height="80">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas1");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ♦️ find';

    ctx.wordSpacing = '2px';

    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    ctx.wordSpacing = '10px';

    for (const cluster of clusters) {
        ctx.strokeTextCluster(cluster, 10, 25);
    }

    ctx.strokeText(text, 10, 50);
  </script>
</span>

<span>
  <div>font_kerning</div>
  <canvas class="grid-cell-content" id="canvas2" width="250" height="80">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas2");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ♦️ find';

    ctx.fontKerning = 'none';

    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    ctx.fontKerning = 'normal';

    for (const cluster of clusters) {
        ctx.strokeTextCluster(cluster, 10, 25);
    }

    ctx.strokeText(text, 10, 50);
  </script>
</span>

<span>
  <div>font_variant_caps</div>
  <canvas class="grid-cell-content" id="canvas3" width="250" height="80">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas3");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ♦️ find';

    ctx.fontVariantCaps = 'small-caps';

    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    ctx.fontVariantCaps = 'all-small-caps';

    for (const cluster of clusters) {
        ctx.strokeTextCluster(cluster, 10, 25);
    }

    ctx.strokeText(text, 10, 50);
  </script>
</span>

</div>