ctx renderings tests, the ones where the source entry are blank are renderings of SVG/HTML/CSS files using parsers based on microraptor gui.

, the SVG and HTML missteps are not the fault of ctx, but provide additional surface for monitoring regressions and advances in ctx.
aa-arcs 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

rgb 0 0 0

arc 5 5 3 0 6.3 0
fill

arc 15 5.1 3 0 6.3 0
fill

arc 25 5.2 3 0 6.3 0
fill

arc 35 5.3 3 0 6.3 0
fill

arc 45 5.4 3 0 6.3 0
fill

arc 55 5.5 3 0 6.3 0
fill

arc 65 5.6 3 0 6.3 0
fill

arc 75 5.7 3 0 6.3 0
fill

arc 5 15.7 3 0 6.3 0
fill

arc 15 15.8 3 0 6.3 0
fill

arc 25 15.9 3 0 6.3 0
fill

arc 35 15.95 3 0 6.3 0
fill

arc 45 15.98 3 0 6.3 0
fill

arc 55 16.05 3 0 6.3 0
fill

arc 65 16.10 3 0 6.3 0
fill

arc 75 16.12 3 0 6.3 0
fill
aa 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

rgb 0 0 0

fontSize 10
moveTo 2 10
text 'expect sharp'

rectangle 10 15 1 10
fill

rectangle 10 15 10 1
fill

rectangle 10 30 1 1
fill

rectangle 12 30 2 2
fill

rgb 0 1 0
rectangle 16 30 3 3
fill

rectangle 21 30 4 4
fill


moveTo    30  15
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill


moveTo    100  25.2
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill

moveTo    110  30.4
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill

moveTo    110  35.5
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill

moveTo    110  40.6
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill

moveTo    110  45.8
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill

moveTo    25  15
relLineTo 1   0
relLineTo 0   1
relLineTo -1  0
fill

moveTo    25  18
relLineTo 2   0
relLineTo 0   2
relLineTo -2  0
fill

moveTo    30  18
relLineTo 3   0
relLineTo 0   3
relLineTo -3  0
fill

moveTo    130.5  48.5
relLineTo 3   0
relLineTo 0   3
relLineTo -3  0
fill

moveTo    35  18
relLineTo 2   0
relLineTo 0   1
relLineTo -2  0
fill

moveTo    40  18
relLineTo 1   0
relLineTo 0   2
relLineTo -1  0
fill

moveTo    45  18
relLineTo 1   0
relLineTo 0   3
relLineTo -1  0
fill

moveTo    50  18
relLineTo 3   0
relLineTo 0   1
relLineTo -3  0
fill

moveTo    55 15
relLineTo 0  10
relLineTo 1   0
relLineTo 0 -10
fill


moveTo 70 10
text 'expect fuzzy'

rectangle 70.5 15.5 1 10
fill

rectangle 70.5 15.5 10 1
fill

rectangle 90 30 3 3.5
fill

rectangle 80 30 3.5 3.5
fill


rectangle 80.5 40.5 3 3
fill

rectangle 80.0 50 3 1.5
fill

rectangle 80.0 57 3 0.5
fill

moveTo    100.5  15.5
relLineTo 10  0
relLineTo 0   1
relLineTo -10 0
fill

moveTo    120.5 15
relLineTo 0  10
relLineTo 1   0
relLineTo 0 -10
fill

rgb 1 0 0
lineWidth 1

rectangle 10.5 50.5 1 1
stroke

rectangle 13.5 50.5 2 2
stroke

rectangle 17.5 50.5 3 3
stroke

rectangle 22.5 50.5 4 4
stroke

lineWidth 2

rectangle 10 70 1 1
stroke

rectangle 14 70 2 2
stroke

rectangle 19 70 3 3
stroke

rectangle 25 70 4 4
stroke

lineWidth 2.5
rectangle 110 50 10 10
stroke

lineWidth 2

rgb 0 1 1
moveTo 10 40
lineTo 20 40
stroke

moveTo 45 30
lineTo 45 40
stroke

moveTo 75.5 30.5
lineTo 75.5 40.5
stroke

moveTo 90.5  40.5
lineTo 100.5 40.5
stroke

translate 0 20.0

lineWidth 1
rgb 0 0 1

moveTo 10 40.5
lineTo 20 40.5
stroke

moveTo 45.5 30
lineTo 45.5 40
stroke
rgb 1 0 1

moveTo 75 30.5
lineTo 75 40.5
stroke

moveTo 90.5  40
lineTo 100.5 40
stroke
arc-negative 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

_ rgb 0 0 0
lineWidth=10%
arc 50% 50% 30% 7.0 3.1415 1
stroke

beginPath
lineWidth=5%
_ rgb 1 0 0
moveTo 50% 50%
arc 50% 50% 30% 0.70 0.70 0
stroke
moveTo 50% 50%
arc 50% 50% 30% 3.1415  3.1415 0
stroke

arc 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

_ rgb 0 0 0
lineWidth= 10%
arc 50% 50% 30% 0.785375 3.1415 0
stroke
lineWidth= 2%
_ rgb 1 0 0

moveTo 50% 50%
arc 50% 50% 30% 0.785375 0.78375 0
stroke
moveTo 50% 50%
arc 50% 50% 30% 3.1415  3.1415 0
stroke


arcs 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

lineWidth=5%

_ rgb 0 0 0
arc 10% 15% 10% 0.0 4.2 0
stroke

arc 25% 15% 10% 0.0 5.5 0
stroke

arc 40% 15% 10% 0.0 6.0 0
stroke

arc 55% 15% 10% 0.0 6.1 0
stroke

arc 70% 15% 10% 0.0 6.2 0
stroke

arc 85% 15% 10% 0.0 6.3 0
stroke


rgb 0 0 0
arc 10% 45% 10% 1.0 5.2 0
stroke

arc 25% 45% 10% 0.0 4.2 0
stroke

arc 40% 45% 10% -1.0 3.2 0
stroke

arc 55% 45% 10% 2.0 6.2 0
stroke

arc 70% 45% 10% -2.0 2.2 0
stroke

arc 85% 45% 10% -3.0 1.2 0
stroke


arc 10% 75% 10% 0.0 6.283185 1
stroke

arc 25% 75% 10% 0.0 -5.5 1
stroke

arc 40% 75% 10% 0.0 -6.0 1
stroke

arc 55% 75% 10% 0.0 -6.1 1
stroke

arc 70% 75% 10% 0.0 -6.2 1
stroke

arc 85% 75% 10% 0.0 -6.3 1
stroke
caps 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

_ rgb 0 0 0
lineWidth=6%

moveTo 15% 30% lineTo 45% 30%
lineCap=round
stroke
moveTo 15% 50% lineTo 45% 50%
lineCap=square
stroke
moveTo 15% 70% lineTo 45% 70%
lineCap=none
stroke

translate 56% 0

rotate 0.3

moveTo 15% 30% lineTo 45% 30%
lineCap=round
stroke
moveTo 15% 50% lineTo 45% 50%
lineCap=square
stroke
moveTo 15% 70% lineTo 45% 70%
lineCap=none
stroke

clip 1bit | 8bit
rgb 1 1 0
rectangle 0 0 100% 100% 
fill

save
arc 50% 50% 40% 0 6.1 0
#rectangle 10 10 100 100
clip


rgba linearGradient 0 0 100% 100%
addStop 0 0 0 0 1
addStop 0.5 0 0 0 0.0
addStop 1 1 1 1 1

rectangle 0 0 100% 100% fill
restore

arc 50% 50% 40% 0 6.1 0
rgba 1 0 0 0.5
fill

comps 1bit | 8bit
rectangle 0 0 100% 100%
gray 1
fill

fontSize 12^


save
  translate 120^ 50^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode destinationAtop
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "dAtop"
restore

save
  translate 0^ 0^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 0 1 1
  fill();
  compositingMode sourceOver
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0.3 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "sOver"
restore

save
  translate 30^ 0
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode copy
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "copy"
restore

save
  translate 60^ 0
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode sourceIn
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "sIn"
restore

save
  translate 90^ 0
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode sourceOut
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "sOut"
restore

save
  translate 120^ 0
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode sourceAtop
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "sAtop"
restore


save
  translate 150^ 0
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode xor
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "xor"
restore


save
  translate 0^ 50^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 0 1 1
  fill();
  compositingMode destinationOver
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0.3 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "dOvr"
restore

save
  translate 30^ 50^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode destination
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "dest"
restore

save
  translate 60^ 50^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode destinationIn
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "dIn"
restore

save
  translate 150^ 50^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode clear
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "clear"
restore

save
  translate 90^ 50^
  rect(0^, 0^, 45^, 50^);
  clip
  rect(5^, 2^, 25^, 25^);
  rgba 0 1 0 1
  fill();
  compositingMode destinationOut
  arc ( 18^, 23^, 10^, 0, 6.0, 0);
  rgba 1 0 0 1
  fill();
  gray 0
  moveTo 5^ 48^
  compositingMode sourceOver
  text "dOut"
restore





compositingMode destinationOver
rect(0,0,100%,100%)
gray 1
fill

ctx 1bit | 8bit
rectangle 0 0 1000 1000
rgba 1 1 1 1 fill
scale 100^ 100^
rgba 1 1 1 0.4
m 0.43956786,0.90788066 c 0.0195929,0.0102943 0.0716181,0.0218038 0.10361884,-0.0167646 L 0.93768705,0.37887837 c 0.019925,-0.0342044 -0.00963,-0.0544608 -0.0308834,-0.0508084 -0.17965502,0.0285588 -0.35466092,-0.055125 -0.45096394,-0.21253089 -0.0176003,-0.02988716 -0.0594422,-0.01560777 -0.0594422,0.0139473 0,0.0591101 0.003321,0.49845135 0.001991,0.70699722 0.00039042,0.0283487 0.0157362,0.0529866 0.0408456,0.070733 F
f 0.0525 0 0.9905 0
p 0.0 1.0 1.0 0.66 1.0
p 0.2 1 0.66 0 1.0
p 0.5 1 0.0 0 1.0
p 1.0 0.4 0.0 0.53 1.0
m 0.39772584,0.91850721 h -0.0664159 c -0.15408489,0 -0.27894675,-0.12486192 -0.27894675,-0.2789468 0,-0.15408489 0.12486186,-0.27861466 0.27894675,-0.27894675 l 0.18585599,0.0000662 c 0.0111839,0.00017138 0.0158287,0.001542 0.0263337,0.0134822 0.11733258,0.14373102 0.3018009,0.36870115 0.3942639,0.49195316 0.0185394,0.0332794 -0.0106225,0.0505515 -0.0228143,0.0505207 F
f 0.697 0.17 0.4318 0.884
p 0.0 0.26 0.26 1 1.0
p 0.3 0 1 1 0.4
p 1.0 0 1 0.26 1.0
m 0.43956786,0.90788066 c 0.0195929,0.0102943 0.0716181,0.0218038 0.10361884,-0.0167646 L 0.93768705,0.37887837 c 0.019925,-0.0342044 -0.00963,-0.0544608 -0.0308834,-0.0508084 -0.17965502,0.0285588 -0.35466092,-0.055125 -0.45096394,-0.21253089 -0.0176003,-0.02988716 -0.0594422,-0.01560777 -0.0594422,0.0139473 0,0.0591101 0.003321,0.49845135 0.001991,0.70699722 0.0039042,0.0283487 0.0157362,0.0529866 0.0408456,0.070733 F
curve-to 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

rgb 0 0 0
_ rgb 0 0 0
lineWidth= 10%

moveTo 10% 50%
curveTo 45% 90% 75% 10% 90% 50%

stroke
_ rgb 1 0 0
lineWidth= 5%
beginPath
moveTo 10% 50%
lineTo 45% 90%
stroke
moveTo 90% 50%
lineTo 75% 10%
stroke


fill-rect 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

rgba 0 0 0 1.0

rectangle 1 2 1 1 fill
rectangle 1 5 2 1 fill
rectangle 1 8 1 2 fill
rectangle 4 8 2 2 fill

rectangle 1 12 1 3 fill
rectangle 4 12 3 3 fill

rectangle 4 2 3 1 fill

save

  translate 10.5 0

rectangle 1 2 1 1 fill
rectangle 1 5 2 1 fill
rectangle 1 8 1 2 fill
rectangle 4 8 2 2 fill

rectangle 1 12 1 3 fill
rectangle 4 12 3 3 fill

rectangle 4 2 3 1 fill


restore


save

  translate 20.0 0.5

rectangle 1 2 1 1 fill
rectangle 1 5 2 1 fill
rectangle 1 8 1 2 fill
rectangle 4 8 2 2 fill

rectangle 1 12 1 3 fill
rectangle 4 12 3 3 fill

rectangle 4 2 3 1 fill


restore


save

  translate 30.5 0.5

rectangle 1 2 1 1 fill
rectangle 1 5 2 1 fill
rectangle 1 8 1 2 fill
rectangle 4 8 2 2 fill

rectangle 1 12 1 3 fill
rectangle 4 12 3 3 fill

rectangle 4 2 3 1 fill


restore
fill-rule 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

lineWidth=5%
fillRule evenOdd

rectangle 5% 5% 90% 30%
arc 30% 30% 15% 0.0 6.3 0
closePath
arc 70% 30% 15% 0.0 -6.3 1
rgb 0 1 0
fill
beginPath

rectangle 5% 5% 90% 30%
arc 30% 30% 15% 0.0 6.3 0
closePath
arc 70% 30% 15% 0.0 -6.3 1
closePath
_ rgb 0 0 0
stroke

translate 0 50%
fillRule winding
rectangle 5% 5% 90% 30%
closePath
arc 30% 30% 15% 0.0 6.3 0
closePath
arc 70% 30% 15% 0.0 -6.3 1
rgb 0 1 1
fill
beginPath

rectangle 5% 5% 90% 30%
closePath
arc 30% 30% 15% 0.0 6.3 0
closePath
arc 70% 30% 15% 0.0 -6.3 1
closePath
_ rgb 0 0 0
stroke
gradient 1bit | 8bit
linearGradient 0 0 0 100%
gradientAddStop 0 0 0 0 1
gradientAddStop 1 1 1 1 1
rectangle 0 0 100% 100%
fill

radialGradient 45% 40% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
arc 50% 50% 30% 0 6.3 0
fill
join 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

_ rgb 0 0 0
lineWidth 13%

moveTo 25% 7% lineTo 50% 40% lineTo 75% 7%
lineJoin bevel
stroke

translate 0 24%
moveTo 25% 7% lineTo 50% 40% lineTo 75% 7%
lineJoin round
stroke

translate 0 24%
moveTo 25% 7% lineTo 50% 40% lineTo 75% 7%
lineJoin miter
stroke

landscape 1bit | 8bit
linearGradient 0 0 0 80%
gradientAddStop 0 0 0 1 1
gradientAddStop 1 1 1 1 1
rectangle 0 0 100% 100%
fill


save
translate 50% 58%
scale 1.3 0.4
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 0.8
gradientAddStop 1 1 1 1 0.2
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 70% 80%
scale 1.0 1.0
radialGradient 0% 0% 55% 0% 0% 70%
gradientAddStop 0.0 0.0 0 0 0.0
gradientAddStop 0.01 1.0 0 0 0.45
gradientAddStop 0.1 1.0 0 1.0 0.45
gradientAddStop 0.13  1.0 0 1.0 0.45
gradientAddStop 0.25 0 0 1.0 0.45
gradientAddStop 0.35 0 1.0 1.0 0.45
gradientAddStop 0.4 0 1.0 1.0 0.45
gradientAddStop 0.5 0 1.0 0 0.45
gradientAddStop 0.6 1.0 1.0 0 0.45
gradientAddStop 0.7 1.0 0.92 0 0.45
gradientAddStop 0.95 1.0 0 0 0.45
gradientAddStop 0.99 0.0 0 0 0.0
gradientAddStop 1.0 0.0 0 0 0.0

beginPath
arc 0% 0% 70% 0 6.3 0
fill
restore

save
translate 30% 53%
scale 1.3 0.4
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 0.8
gradientAddStop 1 1 1 1 0.2
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore


save
translate 50% 100%
scale 1.3 1.3
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 0.4 1 0.4 1
gradientAddStop 1 0 0.2 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 20% 110%
scale 1.6 1.6
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 0.4 1 0.4 1
gradientAddStop 1 0 0.2 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 80% 110%
scale 1.6 1.6
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 0.4 1 0.4 1
gradientAddStop 1 0 0.2 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore


save
translate 55% 132%
scale 1.9 1.9
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 0.4 1 0.4 1
gradientAddStop 1 0 0.2 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore


save
translate 30% 30%
scale 0.2 0.2
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 30% 40%
scale 0.3 0.3
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 30% 70%
scale 0.5 0.5
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 40% 60%
scale 0.5 0.5
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 20% 60%
scale 0.5 0.5
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore

save
translate 20% 60%
scale 0.15 0.15
radialGradient -5% -10% 10% 40% 40% 50%
gradientAddStop 0 1 1 1 1
gradientAddStop 1 0 0 0 1
beginPath
arc 0% 0% 30% 0 6.3 0
fill
restore


save

rgb 1 0 0
arc 64% 60% 10% 0 6.4 0
fill
rgb 0 1 0
arc 55% 58% 10% 0 6.4 0
fill
rgb 0 0 1
arc 72% 66% 10% 0 6.4 0
fill
gray 0.5
arc 60% 90% 10% 0 6.4 0
fill

cmyka 1 0 0 0 0.5
arc 53% 72% 20% 0 6.4 0
fill
cmyka 0 1 0 0 0.5
arc 61% 40% 30% 0 6.4 0
fill
cmyk 0 0 1 0
arc 76% 86% 10% 0 6.4 0
fill
cmyk 1 0 0 .5
arc 80% 60% 10% 0 6.4 0
fill
rgba 0 0 0 1

restore

save
  rotate 0.0
  fontSize 18^

  rgba 1.0 1.0 1.0 1
  moveTo 20^ 96^
  shadowBlur 4^
  rgba shadowColor 0 0 0 0.5
  shadowOffsetX 1^
  shadowOffsetY 1^
  text "ctx vector graphics"
restore

save
  fontSize 0.8@
  moveTo 0.4@ 1@
  gray 0
  text "black\n"
  gray 1.0
  text "white\n"
  cmyk 1 0 0 0
  text "cyan\n"
  cmyk 0 1 0 0
  text "magenta\n"
  cmyk 0 0 1 0
  text "yellow\n"
  cmyk 1 1 1 1
  text "cmyk overprint\n"
  rgb 1 0 0
  text "red\n"
  rgb 0 1 0
  text "green\n"
  rgb 0 0 1
  text "blue\n"
  rgba 1 0 0 0.5
  text "red 0.5 alpha\n"
  cmyka 0 1 0 0 0.5
  text "magenta 0.5 alpha\n"

restore
save
  beginPath
  translate 55% 48%
  rotate 0.1
  roundRectangle 0 0 40^ 30^ 3^
  gray 0
  fill
  lineWidth 2^
  grayS 1
  roundRectangle 0 0 40^ 30^ 3^
  stroke
  gray 1
  fontSize 8^
  moveTo 2^ 9^
  text "$ _"
restore
newPath


save
# ctx logo
translate 5% 10%
scale 80^ 80^
rgba 1 1 1 0.4
m 0.43956786,0.90788066 c 0.0195929,0.0102943 0.0716181,0.0218038 0.10361884,-0.0167646 L 0.93768705,0.37887837 c 0.019925,-0.0342044 -0.00963,-0.0544608 -0.0308834,-0.0508084 -0.17965502,0.0285588 -0.35466092,-0.055125 -0.45096394,-0.21253089 -0.0176003,-0.02988716 -0.0594422,-0.01560777 -0.0594422,0.0139473 0,0.0591101 0.003321,0.49845135 0.001991,0.70699722 0.00039042,0.0283487 0.0157362,0.0529866 0.0408456,0.070733 F
f 0.0525 0 0.9905 0
p 0.0 1.0 1.0 0.66 1.0
p 0.2 1 0.66 0 1.0
p 0.5 1 0.0 0 1.0
p 1.0 0.4 0.0 0.53 1.0
m 0.39772584,0.91850721 h -0.0664159 c -0.15408489,0 -0.27894675,-0.12486192 -0.27894675,-0.2789468 0,-0.15408489 0.12486186,-0.27861466 0.27894675,-0.27894675 l 0.18585599,0.0000662 c 0.0111839,0.00017138 0.0158287,0.001542 0.0263337,0.0134822 0.11733258,0.14373102 0.3018009,0.36870115 0.3942639,0.49195316 0.0185394,0.0332794 -0.0106225,0.0505515 -0.0228143,0.0505207 F
f 0.697 0.17 0.4318 0.884
p 0.0 0.26 0.26 1 1.0
p 0.3 0 1 1 0.4
p 1.0 0 1 0.26 1.0
m 0.43956786,0.90788066 c 0.0195929,0.0102943 0.0716181,0.0218038 0.10361884,-0.0167646 L 0.93768705,0.37887837 c 0.019925,-0.0342044 -0.00963,-0.0544608 -0.0308834,-0.0508084 -0.17965502,0.0285588 -0.35466092,-0.055125 -0.45096394,-0.21253089 -0.0176003,-0.02988716 -0.0594422,-0.01560777 -0.0594422,0.0139473 0,0.0591101 0.003321,0.49845135 0.001991,0.70699722 0.0039042,0.0283487 0.0157362,0.0529866 0.0408456,0.070733 F

restore
line-dash 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

_ rgb 0 0 0
lineWidth 5
lineDash 10 2

moveTo 25% 30% lineTo 75% 30%
moveTo 25% 50% lineTo 75% 50%
moveTo 25% 70% lineTo 75% 70%

#lineCap round
stroke


lineDash
beginPath

multi-segment-caps 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

_ rgb 0 0 0
lineWidth 10%

moveTo 25% 30% lineTo 75% 30%
moveTo 25% 50% lineTo 75% 50%
moveTo 25% 70% lineTo 75% 70%

lineCap round

stroke



shadow 1bit | 8bit
gray .75
fontSize 5.5^
rectangle 0 0 100% 100%
fill

rgba shadowColor 0 0 0 0.6
shadowBlur 20
shadowOffsetX 1%
shadowOffsetY 1%

roundRectangle 10% 20% 80% 60% 4%
rgba 1 1 1 1
fill

rgb 1 0 0

moveTo 50% 50%
textAlign right
textBaseline bottom

shadowOffsetX 0@
shadowOffsetY 0@
shadowBlur 3.0^
rgba shadowColor 1 0 0 0.5
rgba 1 1 1 1
text "glow"


fontSize 6^

rgb 1 0 0
moveTo 50% 50%
textAlign left
textBaseline top
shadowOffsetX -0.1@
shadowOffsetY 0.4@
shadowBlur 2^
rgba shadowColor 0 0 0 0.4
rgb 0.5 1 0.8
text "shadow"
rectangle 50% 65% 5% 5%
fill

shadowBlur    10
shadowOffsetX 0
shadowOffsetY 0
rgba shadowColor 0 0 0 0.5

lineWidth 1%
moveTo 15% 30%
lineTo 14% 40%
lineTo 25% 60%
lineTo 12% 70%
lineTo 15% 75%
lineTo 45% 15%
stroke

stroke-rect 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill

translate 2 2

lineWidth 1

rgba 0 0 0 1.0

rectangle 1 2 1 1 stroke
rectangle 1 6 2 1 stroke
rectangle 1 10 1 2 stroke
rectangle 5 10 2 2 stroke
rectangle 1 15 1 3 stroke
rectangle 5 15 3 3 stroke
rectangle 5 2 3 1 stroke

save

translate 10.5 0

rectangle 1 2 1 1 stroke
rectangle 1 6 2 1 stroke
rectangle 1 10 1 2 stroke
rectangle 5 10 2 2 stroke
rectangle 1 15 1 3 stroke
rectangle 5 15 3 3 stroke
rectangle 5 2 3 1 stroke

restore
save

translate 20.0 0.5

rectangle 1 2 1 1 stroke
rectangle 1 6 2 1 stroke
rectangle 1 10 1 2 stroke
rectangle 5 10 2 2 stroke
rectangle 1 15 1 3 stroke
rectangle 5 15 3 3 stroke
rectangle 5 2 3 1 stroke
restore

save

  translate 30.5 0.5

rectangle 1 2 1 1 stroke
rectangle 1 6 2 1 stroke
rectangle 1 10 1 2 stroke
rectangle 5 10 2 2 stroke
rectangle 1 15 1 3 stroke
rectangle 5 15 3 3 stroke
rectangle 5 2 3 1 stroke

restore
text-a85 1bit | 8bit
linearGradient 0 0 80% 0
gradientAddStop 0 0 0 0 1
gradientAddStop 0.5 0.5 0.5 0.5 1
rectangle 0 0 100% 100%
fill

rgbaS 1 0 0 0.5
moveTo 50% 0%
lineTo 50% 100%
moveTo 0% 50%
lineTo 100% 50%
lineWidth 2%
stroke


rgb 1 1 1

fontSize 1.2@
moveTo 50% 50%
textAlign center
textBaseline middle
text ~BOu!rD]iP3GQ~

text-align 1bit | 8bit
linearGradient 0 0 80% 0
gradientAddStop 0 0 0 0 1
gradientAddStop 0.5 0.5 0.5 0.5 1
rectangle 0 0 100% 100%
fill

_ rgba 1 0 0 0.5
moveTo 50% 0%
lineTo 50% 100%
lineWidth 2%
stroke


rgb 1 1 1

fontSize 1.5@
moveTo 50% 20%
textAlign start
text "start"

moveTo 50% 37%

textAlign center
text "center"

moveTo 50% 60%
textAlign end
text "end"

moveTo 50% 77%
textAlign left
text "left"

moveTo 50% 95%
textAlign=right
text "right"

text-baseline 1bit | 8bit
linearGradient 0 0 80% 0
gradientAddStop 0 0 0 0 1
gradientAddStop 0.5 0.5 0.5 0.5 1
rectangle 0 0 100% 100%
fill

_ rgba 1 0 0 0.5
moveTo 0% 33%
lineTo 100% 33%
moveTo 0% 66%
lineTo 100% 66%
lineWidth 2%
stroke

rgb 1 1 1

fontSize 1@
moveTo 2% 33%
textBaseline top
text "Top"

moveTo 2% 66%
textBaseline bottom
text "Bottom"

moveTo 70% 33%
textBaseline middle
text "Middle"

moveTo 2% 33%
textBaseline alphabetic
text "Alphabetic"

moveTo 30% 66%
textBaseline hanging
text "Hanging"

moveTo 55% 66%
textBaseline ideographic
text "Ideographic"

text-center 1bit | 8bit
linearGradient 0 0 80% 0
gradientAddStop 0 0 0 0 1
gradientAddStop 0.5 0.5 0.5 0.5 1
rectangle 0 0 100% 100%
fill

_ rgba 1 0 0 0.5
moveTo 50% 0%
lineTo 50% 100%
moveTo 0% 50%
lineTo 100% 50%
lineWidth 2%
stroke


rgb 1 1 1

fontSize 1.2@
moveTo 50% 50%
textAlign center
textBaseline middle
text "centered"

text-mono 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill
rgb 0 0 0
font "Mono"
fontSize 1@
moveTo 0@ 1@
text "This is mono
spaced size 1@
3
4 3456789012345678901234567890123456789012345678901234567890123456789012345678901234
5        1         2         3         4         5         6         7         8
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"
beginPath
rectangle 2@ 2@ 1@ 1@
rgba 1 0 0 0.8
fill


text 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill
rgb 0 0 0
fontSize 1@
moveTo 0@ 1@
text "This is sans
size 1@
3
4 34567890123456789012345678901234567890123456789012345678901234567890123456789012345
5        1         2         3         4         5         6         7         8
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"
beginPath
rectangle 2@ 2@ 1@ 1@
rgba 1 0 0 0.8
fill


units 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill
rgb 0 0 0

fontSize 1.0@
moveTo 0 1@
text "text in 1.0@ units"

fontSize 4
moveTo 5% 30%
text "4"
fontSize 5
moveTo 9% 30%
text "5"
fontSize 6
moveTo 14% 30%
text "6"
fontSize 7
moveTo 20% 30%
text "7"
fontSize 8
moveTo 27% 30%
text "8"
fontSize 9
moveTo 33% 30%
text "9"
fontSize 10
moveTo 43% 30%
text "10"
fontSize 11
moveTo 53% 30%
text "11"
fontSize 12
moveTo 63% 30%
text "12"
fontSize 13
moveTo 73% 30%
text "13.0"
fontSize 13.5
moveTo 80% 30%
text "13.50"
fontSize 14.0
moveTo 88% 30%
text "14.0"

fontSize 1%
moveTo 5% 70%
text "1%"
fontSize 1.5%
moveTo 9% 70%
text "1.5%"
fontSize 2%
moveTo 14% 70%
text "2%"
fontSize 3%
moveTo 20% 70%
text "3%"
fontSize 4%
moveTo 27% 70%
text "4%"
fontSize 5%
moveTo 33% 70%
text "5%"
fontSize 10%
moveTo 38% 70%
text "10%"
fontSize 15%
moveTo 49% 70%
text "15%"
fontSize 30%
moveTo 65% 70%
text "30%"


fontSize 0.5@
moveTo 5% 90%
text "0.5@"
fontSize 1@
moveTo 10% 90%
text "1@"
fontSize 2@
moveTo 20% 90%
text "2@"
fontSize 2.5@
moveTo 30% 90%
text "2.5@"
fontSize 3@
moveTo 40% 90%
text "3@"
fontSize 3.5@
moveTo 50% 90%
text "3.5@"
fontSize 4@
moveTo 60% 90%
text "4@"
fontSize 4.5@
moveTo 70% 90%
text "4.5@"
fontSize 5@
moveTo 90% 90%
text "5@"



units2 1bit | 8bit
rgb 1 1 1 rectangle 0 0 100% 100% fill
rgb 0 0 0

fontSize 0.5@
moveTo 1@ 1@
text "0.5@ units"


fontSize 1@
moveTo 1@ 2@
text "1@ units"

fontSize 1.5@
moveTo 1@ 4@
text "1.5@ units"

fontSize 1@
moveTo 1@ 9@
moveTo 1@ 18@
text "18"
moveTo 1@ 19@
text "19"
moveTo 1@ 20@
text "20"

tiger 1bit | 8bit