Browse Source

samples: reorganize for better sanity

Converted to a more consistent organization of each folder for groups of samples

Contributes to #118
dev
Andy Meneely 9 years ago
parent
commit
1cdc9c0d71
  1. 9
      samples/README.md
  2. 2
      samples/autoscale_font/_autoscale_font.rb
  3. BIN
      samples/ball.png
  4. 6
      samples/build_groups/build_groups.rb
  5. 1
      samples/colors/_colors.rb
  6. 0
      samples/config/config_disable_quotes.yml
  7. 0
      samples/config/config_text_markup.rb
  8. 0
      samples/config/config_text_markup.yml
  9. 0
      samples/config/custom-config.yml
  10. 0
      samples/config/custom_config.rb
  11. 0
      samples/config/customconfig-imgdir/shiny-purse2.png
  12. 0
      samples/config/customconfig-imgdir/spanner2.svg
  13. 0
      samples/config/load_images_config.yml
  14. BIN
      samples/grit.png
  15. 0
      samples/images/_cairo_access.rb
  16. 2
      samples/images/_images.rb
  17. 0
      samples/images/_unicode.rb
  18. 3
      samples/intro/01_hello.rb
  19. 3
      samples/intro/02_options.rb
  20. 3
      samples/intro/03_layout.rb
  21. 3
      samples/intro/04_arrays.rb
  22. 7
      samples/intro/05_excel.rb
  23. 71
      samples/offset.svg
  24. 5
      samples/proofs/_tgc_proofs.rb
  25. 0
      samples/proofs/pokercard.png
  26. BIN
      samples/proofs/shiny-purse.png
  27. BIN
      samples/shapes/shape_00_expected.png
  28. BIN
      samples/sprites.png
  29. 1
      samples/text/_embed_text.rb
  30. 2
      samples/text/_text.rb
  31. 2
      samples/text/_text_options.rb
  32. 0
      samples/text/bug134.rb
  33. 0
      samples/text/glass-heart.svg
  34. 91
      samples/text/spanner.svg
  35. BIN
      samples/units/units_00_expected.png
  36. 2
      spec/conf_spec.rb
  37. 2
      spec/data/samples/autoscale_font/_autoscale_font.rb.txt
  38. 0
      spec/data/samples/config/config_text_markup.rb.txt
  39. 0
      spec/data/samples/config/custom_config.rb.txt
  40. 59
      spec/data/samples/images/_cairo_access.rb.txt
  41. 489
      spec/data/samples/layouts.rb.txt
  42. 22
      spec/data/samples/proofs/_tgc_proofs.rb.txt
  43. 427
      spec/data/samples/text/_embed_text.rb.txt
  44. 57
      spec/data/samples/text/_text_options.rb.txt
  45. 0
      spec/samples/_diffs/gitkeep.txt
  46. 39
      spec/samples/diff-with-css.example.html
  47. BIN
      spec/samples/expected/autoscale_00.png
  48. BIN
      spec/samples/expected/autoscale_01.png
  49. BIN
      spec/samples/expected/autoscale_02.png
  50. BIN
      spec/samples/expected/backend_00.png
  51. 78
      spec/samples/expected/backend_00.svg
  52. BIN
      spec/samples/expected/backend_01.png
  53. 78
      spec/samples/expected/backend_01.svg
  54. BIN
      spec/samples/expected/basic_00.png
  55. BIN
      spec/samples/expected/basic_01.png
  56. BIN
      spec/samples/expected/basic_02.png
  57. BIN
      spec/samples/expected/cairo_access_00.png
  58. BIN
      spec/samples/expected/cairo_access_01.png
  59. BIN
      spec/samples/expected/card_00.png
  60. BIN
      spec/samples/expected/card_01.png
  61. BIN
      spec/samples/expected/colors_00.png
  62. BIN
      spec/samples/expected/config_disable_text_00.png
  63. BIN
      spec/samples/expected/config_text_00.png
  64. BIN
      spec/samples/expected/custom-config_00.png
  65. BIN
      spec/samples/expected/embed_00.png
  66. BIN
      spec/samples/expected/embed_multisheet_00.png
  67. 0
      spec/samples/expected/gitkeep.txt
  68. BIN
      spec/samples/expected/gradient_00.png
  69. BIN
      spec/samples/expected/hand.png
  70. BIN
      spec/samples/expected/hand_pretty.png
  71. BIN
      spec/samples/expected/landscape_00.png
  72. BIN
      spec/samples/expected/layout2_00.png
  73. BIN
      spec/samples/expected/layout_00.png
  74. BIN
      spec/samples/expected/layout_builtin_hand_00.png
  75. BIN
      spec/samples/expected/layout_builtin_playing_card_00.png
  76. BIN
      spec/samples/expected/load_images_00.png
  77. BIN
      spec/samples/expected/portrait_00.png
  78. BIN
      spec/samples/expected/ranges_00.png
  79. BIN
      spec/samples/expected/sample_csv_00.png
  80. BIN
      spec/samples/expected/sample_csv_01.png
  81. BIN
      spec/samples/expected/sample_excel_00.png
  82. BIN
      spec/samples/expected/sample_excel_01.png
  83. BIN
      spec/samples/expected/sample_excel_02.png
  84. BIN
      spec/samples/expected/save_sheet_00.png
  85. BIN
      spec/samples/expected/save_sheet_01.png
  86. BIN
      spec/samples/expected/save_sheet_range_00.png
  87. BIN
      spec/samples/expected/save_sheet_range_01.png
  88. BIN
      spec/samples/expected/save_single_sheet_00.png
  89. BIN
      spec/samples/expected/saves_notrim_01.png
  90. BIN
      spec/samples/expected/shape_00.png
  91. BIN
      spec/samples/expected/showcase.png
  92. BIN
      spec/samples/expected/showcase2.png
  93. BIN
      spec/samples/expected/showcase_individual_00.png
  94. BIN
      spec/samples/expected/showcase_individual_01.png
  95. BIN
      spec/samples/expected/showcase_individual_02.png
  96. BIN
      spec/samples/expected/showcase_individual_03.png
  97. BIN
      spec/samples/expected/text_00.png
  98. BIN
      spec/samples/expected/text_01.png
  99. BIN
      spec/samples/expected/text_02.png
  100. BIN
      spec/samples/expected/tgc_sample_00.png
  101. Some files were not shown because too many files have changed in this diff Show More

9
samples/README.md

@ -0,0 +1,9 @@
# Squib Samples
In here we have a massive library of Squib samples. We try to exercise as many options as possible here as these samples also serve as Squib's regression test suite.
If you have one to contribute, file an issue!
# What's with the underscores?
Normally you don't start a filename with an underscore (e.g. `_text.rb`), but to make it easier to find the code itself on GitHub, we've renamed the files so they sort to the top of the list.

2
samples/autoscale_font/_autoscale_font.rb

@ -25,5 +25,5 @@ Squib::Deck.new(width: 300, height: 100, cards: 3) do
text str: title, font: 'Arial', font_size: autoscale(title),
x: 10, y:10, align: :center, width: 280, ellipsize: false, hint: :red
save_sheet dir: '.', columns: 3
save_sheet columns: 3
end

BIN
samples/ball.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

6
samples/build_groups/build_groups.rb

@ -7,16 +7,16 @@ Squib::Deck.new(width: 75, height: 75, cards: 2) do
build :print_n_play do
rect
save_sheet dir: '.', prefix: 'build_groups_bw_'
save_sheet prefix: 'build_groups_bw_'
end
build :color do
rect stroke_color: :red, dash: '5 5'
save_png dir: '.', prefix: 'build_groups_color_'
save_png prefix: 'build_groups_color_'
end
build :test do
save_png range: 0, dir: '.', prefix: 'build_groups_'
save_png range: 0, prefix: 'build_groups_'
end
end

1
samples/colors/_colors.rb

@ -20,6 +20,7 @@ end
# This script generates a table of the built-in constants
Squib::Deck.new(width: 3000, height: 1500) do
background color: :white
colors = (Cairo::Color.constants - %i(HEX_RE Base RGB CMYK HSV X11))
colors.sort_by! {|c| Cairo::Color.parse(c).to_s}
x, y, w, h = 0, 0, 300, 50

0
samples/config_disable_quotes.yml → samples/config/config_disable_quotes.yml

0
samples/config_text_markup.rb → samples/config/config_text_markup.rb

0
samples/config_text_markup.yml → samples/config/config_text_markup.yml

0
samples/custom-config.yml → samples/config/custom-config.yml

0
samples/custom_config.rb → samples/config/custom_config.rb

0
samples/customconfig-imgdir/shiny-purse2.png → samples/config/customconfig-imgdir/shiny-purse2.png

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

0
samples/customconfig-imgdir/spanner2.svg → samples/config/customconfig-imgdir/spanner2.svg

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

0
samples/load_images_config.yml → samples/config/load_images_config.yml

BIN
samples/grit.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

0
samples/cairo_access.rb → samples/images/_cairo_access.rb

2
samples/images/_images.rb

@ -100,5 +100,5 @@ Squib::Deck.new(width: 1000, height: 3000) do
end
save_png prefix: '_images_', dir: '.'
save_png prefix: '_images_'
end

0
samples/unicode.rb → samples/images/_unicode.rb

3
samples/intro/01_hello.rb

@ -4,6 +4,5 @@ Squib::Deck.new cards: 1 do
background color: 'pink'
rect
text str: 'Draw two cards.'
save_png prefix: 'part1_', dir: '.'
save_png prefix: 'part1_'
end

3
samples/intro/02_options.rb

@ -10,6 +10,5 @@ Squib::Deck.new cards: 1 do
svg file: 'robot-golem.svg', x: 75, y: 300, width: 675, height: :scale
text str: 'Draw two cards', font: 'Serif 36',
align: :center, width: :deck, color: '#DFDFE1', y: 1000
save_png prefix: 'part2_', dir: '.'
save_png prefix: 'part2_'
end

3
samples/intro/03_layout.rb

@ -7,6 +7,5 @@ Squib::Deck.new cards: 1, layout: 'part3_layout.yml' do
svg layout: 'drone'
svg file: 'robot-golem.svg', layout: 'art'
text str: 'Draw two cards.', layout: 'power'
save_png prefix: 'part3_', dir: '.'
save_png prefix: 'part3_'
end

3
samples/intro/04_arrays.rb

@ -11,6 +11,5 @@ Squib::Deck.new cards: 2, layout: 'part3_layout.yml' do
text str: ['Draw two cards',
'Use the power of another player'],
layout: 'power'
save_png prefix: 'part4_', dir: '.'
save_png prefix: 'part4_'
end

7
samples/intro/05_excel.rb

@ -8,8 +8,7 @@ Squib::Deck.new cards: 4, layout: 'part3_layout.yml' do
svg layout: data['class']
svg file: data['art'], layout: 'art'
text str: data['power'], layout: 'power'
save_png prefix: 'part5_', dir: '.'
hand file: 'part5_hand.png', dir: '.', trim_radius: 38
showcase file: 'part5_showcase.png', dir: '.'
save_png prefix: 'part5_'
hand file: 'part5_hand.png', trim_radius: 38
showcase file: 'part5_showcase.png'
end

71
samples/offset.svg

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="747.59235"
height="747.39734"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="offset.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.76264655"
inkscape:cx="373.79617"
inkscape:cy="373.69867"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="776"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(5.1573995,-302.70286)">
<path
sodipodi:type="arc"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="thing"
sodipodi:cx="159.99248"
sodipodi:cy="152.67546"
sodipodi:rx="59.401001"
sodipodi:ry="59.401001"
d="m 219.39348,152.67546 c 0,32.80627 -26.59474,59.401 -59.401,59.401 -32.80627,0 -59.401,-26.59473 -59.401,-59.401 0,-32.80627 26.59473,-59.401 59.401,-59.401 32.80626,0 59.401,26.59473 59.401,59.401 z"
transform="matrix(0.95784259,0,0,0.95784259,531.73189,844.72627)"
inkscape:label="thing" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

5
samples/tgc_proofs.rb → samples/proofs/_tgc_proofs.rb

@ -9,10 +9,7 @@ Squib::Deck.new(width: 825, height: 1125, cards: 1) do
text str: 'Mastermind', x: 220, y: 78, font: 'Arial 54'
text str: 3, x: 75, y: 85, width: 128, font: 'Arial 72', align: :center
png file: 'shiny-purse.png', x: 620, y: 75
svg file: 'spanner.svg', x: 620, y: 218
# TGC proof overlay
# TGC proof overlay (using alpha-transparency)
png file: 'pokercard.png', x:0, y:0, alpha: 0.5
save_png prefix: 'tgc_sample_'

0
samples/pokercard.png → samples/proofs/pokercard.png

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
samples/proofs/shiny-purse.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
samples/shapes/shape_00_expected.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 46 KiB

BIN
samples/sprites.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

1
samples/embed_text.rb → samples/text/_embed_text.rb

@ -116,6 +116,7 @@ Squib::Deck.new do
end
Squib::Deck.new(cards: 3) do
background color: :white
str = 'Take 1 :tool: and gain 2 :health:.'
text(str: str, font: 'Sans', font_size: [18, 26, 35],
x: 0, y: 0, width: 180, height: 300, valign: :bottom,

2
samples/text/_text.rb

@ -43,5 +43,5 @@ Squib::Deck.new(width: 1000, height: 1250) do
text str: 'Rotated', hint: :red, x: x, y: y, angle: Math::PI / 6
end
save_png prefix: '_text_', dir: '.'
save_png prefix: '_text_'
end

2
samples/text_options.rb → samples/text/_text_options.rb

@ -98,5 +98,5 @@ Squib::Deck.new(width: 825, height: 1125, cards: 3) do
valign: :bottom,
font: 'Serif 18', hint: :cyan
save prefix: 'text_', format: :png
save prefix: 'text_options_', format: :png
end

0
samples/bug134.rb → samples/text/bug134.rb

0
samples/glass-heart.svg → samples/text/glass-heart.svg

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

91
samples/text/spanner.svg

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 128 128"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
width="100%"
height="100%"
sodipodi:docname="spanner.svg">
<metadata
id="metadata18">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs16" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="1002"
id="namedview14"
showgrid="false"
inkscape:zoom="2.8284271"
inkscape:cx="98.928938"
inkscape:cy="62.194589"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g3767"
inkscape:document-units="in"
units="px"
showguides="true"
inkscape:guide-bbox="true" />
<g
id="g3767"
transform="matrix(0.24961486,0,0,0.24961486,0.197194,96.049335)">
<rect
ry="67.108368"
y="-378.68747"
x="5.3126979"
height="501.3746"
width="501.3746"
id="backdrop"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10.62539577;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
inkscape:label="#rect3765" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 36.267098,-7.709219 C 16.393265,5.1318032 3.2161811,27.462365 3.2161811,52.884128 c 0,39.825874 32.2852369,72.111092 72.1110909,72.111092 23.870397,0 44.964938,-11.67699 58.089488,-29.545518 -11.26063,7.275808 -24.65607,11.517748 -39.060173,11.517748 -39.825853,0 -72.11109,-32.285221 -72.11109,-72.111095 0,-15.95546 5.248882,-30.6218942 14.021601,-42.565574 z"
id="path3790"
inkscape:connector-curvature="0" />
<g
id="g6"
transform="matrix(18.68858,0,0,18.68858,-3385.6437,-2608.3849)">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path8"
d="m 192.2325,129.3203 -10,10 v 5.5625 h 5.375 l 10.0938,-10.0938 -5.4688,-5.4688 z" />
<path
style="fill:#ffffff;stroke:#000000"
inkscape:connector-curvature="0"
id="path10"
d="m 181.7796,141.8591 15.6196,-15.6178 m 3.349,3.3486 -15.8051,15.8032" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path12"
d="m 201.2023,119.7104 c -2.8283,-0.73 -5.9623,-0.004 -8.1759,2.2097 -3.3293,3.3292 -3.3293,8.7358 -2e-5,12.065 3.32928,3.3292 8.7358,3.3292 12.065,0 2.216,-2.216 2.9436,-5.3452 2.2097,-8.1759 l -5.6348,5.6348 -4.8172,-1.2816 -1.2816,-4.8171 5.6348,-5.6348 z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
samples/units/units_00_expected.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

2
spec/conf_spec.rb

@ -14,7 +14,7 @@ describe Squib::Conf do
end
it 'parses the sample custom config' do
conf = Squib::Conf.load sample_file('custom-config.yml')
conf = Squib::Conf.load sample_file('config/custom-config.yml')
expect(conf.progress_bars).to be true
expect(conf.text_hint).to eq '#FF0000'
expect(conf.custom_colors).to eq({ 'foo' => '#ccc' })

2
spec/data/samples/autoscale_font/_autoscale_font.rb.txt

@ -127,7 +127,7 @@ cairo: set_source([MockDouble, 100, 0])
cairo: paint([])
cairo: set_source([MockDouble, 200, 0])
cairo: paint([])
surface: write_to_png(["./card_00.png"])
surface: write_to_png(["_output/card_00.png"])
surface: finish([])
surface: finish([])
surface: finish([])

0
spec/data/samples/config_text_markup.rb.txt → spec/data/samples/config/config_text_markup.rb.txt

0
spec/data/samples/custom_config.rb.txt → spec/data/samples/config/custom_config.rb.txt

59
spec/data/samples/images/_cairo_access.rb.txt

@ -0,0 +1,59 @@
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:blue])
cairo: circle([150, 150, 150])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:blue])
cairo: circle([150, 150, 150])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: circle([50, 50, 50])
cairo: set_source_color([:red])
cairo: fill([])
cairo: restore([])
cairo: translate([500, 500])
cairo: translate([500, 500])
cairo: save([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: rounded_rectangle([0, 0, 50, 50, 0, 0])
cairo: set_source_color(["red"])
cairo: fill_preserve([])
cairo: set_source_color(["black"])
cairo: set_line_width([2.0])
cairo: set_line_join([0])
cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: rounded_rectangle([0, 0, 50, 50, 0, 0])
cairo: set_source_color(["red"])
cairo: fill_preserve([])
cairo: set_source_color(["black"])
cairo: set_line_width([2.0])
cairo: set_line_join([0])
cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: restore([])
surface: write_to_png(["_output/cairo_access_00.png"])
surface: write_to_png(["_output/cairo_access_01.png"])
surface: finish([])
surface: finish([])

489
spec/data/samples/layouts.rb.txt

@ -1,489 +0,0 @@
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=1.0, @green=1.0, @blue=1.0>])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([38, 38, 750, 1050, 25, 25])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([38, 38, 750, 1050, 25, 25])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: circle([50, 50, 25])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: circle([50, 50, 25])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=0.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([125, 50])
cairo: rotate([0])
cairo: translate([-125, -50])
cairo: move_to([125, 50])
pango: font_description=([])
pango: text=(["The Title"])
pango: width=([640000])
pango: height=([102400])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([125, 50])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([125, 50, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: scale([0.9765625, 0.9765625])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: save([])
cairo: translate([150, 250])
cairo: rotate([0])
cairo: translate([-150, -250])
cairo: set_source([ImageSurface, 150, 250])
cairo: paint([1.0])
cairo: restore([])
cairo: save([])
cairo: translate([350, 400])
cairo: rotate([0])
cairo: translate([-350, -400])
cairo: set_source([ImageSurface, 350, 400])
cairo: paint([1.0])
cairo: restore([])
cairo: scale([0.9765625, 0.9765625])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: save([])
cairo: translate([550, 250])
cairo: rotate([0])
cairo: translate([-550, -250])
cairo: set_source([ImageSurface, 550, 250])
cairo: paint([1.0])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([250, 600, 300, 200, 32, 32])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([250, 600, 300, 200, 32, 32])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([260.0, 610.0, 280.0, 180.0, 24.0, 24.0])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: rounded_rectangle([260.0, 610.0, 280.0, 180.0, 24.0, 24.0])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=1.0, @green=1.0, @blue=1.0>])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([270.0, 620.0])
cairo: rotate([0])
cairo: translate([-270.0, -620.0])
cairo: move_to([270.0, 620.0])
pango: font_description=([])
pango: text=(["Extends!"])
pango: width=([266240.0])
pango: height=([163840.0])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([270.0, 620.0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([150, 150])
cairo: rotate([0])
cairo: translate([-150, -150])
cairo: move_to([150, 150])
pango: font_description=([])
pango: text=(["subtitle"])
pango: width=([588800])
pango: height=([61440])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([150, 150])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([150, 150, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([125, 50])
cairo: rotate([0])
cairo: translate([-125, -50])
cairo: move_to([125, 50])
pango: font_description=([])
pango: text=(["The Title"])
pango: width=([640000])
pango: height=([102400])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([125, 50])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([150, 150])
cairo: rotate([0])
cairo: translate([-150, -150])
cairo: move_to([150, 150])
pango: font_description=([])
pango: text=(["The Subtitle"])
pango: width=([588800])
pango: height=([61440])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([150, 150])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([150, 500.0])
cairo: rotate([0])
cairo: translate([-150, -500.0])
cairo: move_to([150, 500.0])
pango: font_description=([])
pango: text=(["The Description"])
pango: width=([588800])
pango: height=([61440])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([150, 500.0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: translate([-75, -75])
cairo: move_to([75, 75])
pango: font_description=([])
pango: text=(["A\u2660"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([75, 75, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([750, 1050])
cairo: rotate([3.14159])
cairo: translate([-750, -1050])
cairo: move_to([750, 1050])
pango: font_description=([])
pango: text=(["A\u2660"])
pango: width=([204800])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([750, 1050, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([150, 275])
cairo: rotate([0])
cairo: translate([-150, -275])
cairo: move_to([150, 275])
pango: font_description=([])
pango: text=(["artwork here"])
pango: width=([537600])
pango: height=([588800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([150, 275])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([150, 275, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([275, 75])
cairo: rotate([0])
cairo: translate([-275, -75])
cairo: move_to([275, 75])
pango: font_description=([])
pango: text=(["Title"])
pango: width=([486400])
pango: height=([128000])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([275, 75])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([275, 75, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([75, 75])
cairo: rotate([0])
cairo: translate([-75, -75])
cairo: move_to([75, 75])
pango: font_description=([])
pango: text=(["Bonus1"])
pango: width=([179200])
pango: height=([179200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([75, 75])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([75, 75, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([75, 273.0])
cairo: rotate([0])
cairo: translate([-75, -273.0])
cairo: move_to([75, 273.0])
pango: font_description=([])
pango: text=(["Bonus2"])
pango: width=([179200])
pango: height=([179200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([75, 273.0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([75, 273.0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([75, 471.0])
cairo: rotate([0])
cairo: translate([-75, -471.0])
cairo: move_to([75, 471.0])
pango: font_description=([])
pango: text=(["Bonus3"])
pango: width=([179200])
pango: height=([179200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([75, 471.0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([75, 471.0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([75, 669.0])
cairo: rotate([0])
cairo: translate([-75, -669.0])
cairo: move_to([75, 669.0])
pango: font_description=([])
pango: text=(["Bonus4"])
pango: width=([179200])
pango: height=([179200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([75, 669.0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([75, 669.0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([75, 867.0])
cairo: rotate([0])
cairo: translate([-75, -867.0])
cairo: move_to([75, 867.0])
pango: font_description=([])
pango: text=(["Bonus5"])
pango: width=([179200])
pango: height=([179200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([75, 867.0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([75, 867.0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([275, 725])
cairo: rotate([0])
cairo: translate([-275, -725])
cairo: move_to([275, 725])
pango: font_description=([])
pango: text=(["Description"])
pango: width=([486400])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([275, 725])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([275, 725, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([275, 950])
cairo: rotate([0])
cairo: translate([-275, -950])
cairo: move_to([275, 950])
pango: font_description=([])
pango: text=(["Snark"])
pango: width=([486400])
pango: height=([102400])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([275, 950])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([275, 950, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([#<Cairo::Color::RGB: @alpha=1.0, @red=0.0, @green=0.0, @blue=0.0>])
cairo: translate([275, 225])
cairo: rotate([0])
cairo: translate([-275, -225])
cairo: move_to([275, 225])
pango: font_description=([])
pango: text=(["Art"])
pango: width=([486400])
pango: height=([486400])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: move_to([275, 225])
cairo: update_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: show_pango_layout([#<RSpec::Mocks::Double: @name=Pango::Layout>])
cairo: rounded_rectangle([275, 225, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: set_source([ImageSurface, 0, 0])
cairo: paint([0.5])
cairo: restore([])

22
spec/data/samples/tgc_proofs.rb.txt → spec/data/samples/proofs/_tgc_proofs.rb.txt

@ -65,28 +65,6 @@ cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: translate([620, 75])
cairo: scale([1.0, 1.0])
cairo: rotate([0])
cairo: transform([Matrix])
cairo: translate([-620, -75])
cairo: rounded_rectangle([620, 75, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: set_source([ImageSurface, 620, 75])
cairo: paint([1.0])
cairo: restore([])
cairo: save([])
cairo: translate([620, 218])
cairo: transform([Matrix])
cairo: rotate([0])
cairo: scale([1.0, 1.0])
cairo: rounded_rectangle([0, 0, 128.0, 128.0, 0, 0])
cairo: clip([])
cairo: translate([0, 0])
cairo: render_rsvg_handle([RSVG::Handle, nil])
cairo: restore([])
cairo: save([])
cairo: translate([0, 0])
cairo: scale([1.0, 1.0])
cairo: rotate([0])

427
spec/data/samples/text/_embed_text.rb.txt

@ -0,0 +1,427 @@
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0])
cairo: set_source_color(["#0000"])
cairo: fill_preserve([])
cairo: set_source_color(["black"])
cairo: set_line_width([2.0])
cairo: set_line_join([0])
cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Take 11 :tool: and gain 2 :health:. Take <b>2</b> :tool: <i>and gain 3 :purse: if level 2.</i>"])
pango: width=([184320])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Take 11 :tool: and gain 2 :health:. Take <b>2</b> :tool: <i>and gain 3 :purse: if level 2.</i>"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([200, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([400, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["This :tool: aligns on the bottom properly. :purse:"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["This :tool: aligns on the bottom properly. :purse:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([600, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Yes, this wraps strangely. We are trying to determine the cause. These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Yes, this wraps strangely. We are trying to determine the cause. These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([0, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=([":tool:Justify will :tool: work too, and :purse: with more words just for fun"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([true])
pango: markup=([":tool:Justify will :tool: work too, and :purse: with more words just for fun"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([200, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Right-aligned works :tool: with :health: and :purse:"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment right>])
pango: justify=([false])
pango: markup=(["Right-aligned works :tool: with :health: and :purse:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([400, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=([":tool:Center-aligned works :tool: with :health: and :purse:"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: markup=([":tool:Center-aligned works :tool: with :health: and :purse:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([600, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Markup --- and typography replacements --- with \":tool:\" icons <i>won't</i> fail"])
pango: markup=(["foo"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: markup=(["foo"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([0, 640])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=([":tool:"])
pango: markup=(["foo"])
pango: width=([184320])
pango: height=([51200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: markup=(["foo"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([200, 640])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=([":purse:"])
pango: markup=(["foo"])
pango: width=([184320])
pango: height=([51200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment center>])
pango: justify=([false])
pango: markup=(["foo"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["red"])
cairo: translate([0, 700])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=([":tool: Death to Nemesis bug 103!! :purse:"])
pango: width=([389120])
pango: height=([153600])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=([":tool: Death to Nemesis bug 103!! :purse:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: pango_layout_path([MockDouble])
cairo: set_source_color(["blue"])
cairo: set_line_width([2])
cairo: set_line_join([0])
cairo: set_line_cap([0])
cairo: set_dash([[3.0, 3.0]])
cairo: stroke([])
cairo: set_source_color(["red"])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([400, 640])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["You can adjust the icon with dx and dy. Normal: :tool: Adjusted: :heart:"])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["You can adjust the icon with dx and dy. Normal: :tool: Adjusted: :heart:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([600, 640])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Native sizes work too\n:tool:\n\n\n\n\n\n:shiny-purse:\n\n\n\n\n\n:tool2:"])
pango: width=([184320])
pango: height=([486400])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Native sizes work too\n:tool:\n\n\n\n\n\n:shiny-purse:\n\n\n\n\n\n:tool2:"])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
surface: write_to_png(["_output/embed_00.png"])
surface: finish([])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([18432])
pango: font_description=([MockDouble])
pango: text=(["Take 1 :tool: and gain 2 :health:."])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Take 1 :tool: and gain 2 :health:."])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([26624])
pango: font_description=([MockDouble])
pango: text=(["Take 1 :tool: and gain 2 :health:."])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Take 1 :tool: and gain 2 :health:."])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([35840])
pango: font_description=([MockDouble])
pango: text=(["Take 1 :tool: and gain 2 :health:."])
pango: width=([184320])
pango: height=([307200])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode none>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: markup=(["Take 1 :tool: and gain 2 :health:."])
pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0.0])
cairo: move_to([0, 0.0])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
cairo: set_source([MockDouble, 100, 0])
cairo: paint([])
cairo: set_source([MockDouble, 200, 0])
cairo: paint([])
surface: write_to_png(["_output/embed_multisheet_00.png"])
surface: finish([])
surface: finish([])
surface: finish([])

57
spec/data/samples/text_options.rb.txt → spec/data/samples/text/_text_options.rb.txt

@ -111,7 +111,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -127,7 +126,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -143,7 +141,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["burnt_orange"])
@ -159,7 +156,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["burnt_orange"])
@ -175,7 +171,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["burnt_orange"])
@ -191,7 +186,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -207,7 +201,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -223,7 +216,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -239,7 +231,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -255,7 +246,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -271,7 +261,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -287,7 +276,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -304,7 +292,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -321,7 +308,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -338,7 +324,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -360,7 +345,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -382,7 +366,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -404,7 +387,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -421,7 +403,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -438,7 +419,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -455,7 +435,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: translate([60, 545])
@ -519,7 +498,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -541,7 +519,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -563,7 +540,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -583,7 +559,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -603,7 +578,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -623,7 +597,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -639,7 +612,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -655,7 +627,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -671,7 +642,6 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -691,7 +661,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -711,7 +680,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -731,7 +699,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -750,7 +717,6 @@ pango: spacing=([-6144.0])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -769,7 +735,6 @@ pango: spacing=([-6144.0])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -788,7 +753,6 @@ pango: spacing=([-6144.0])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -807,7 +771,6 @@ pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -826,7 +789,6 @@ pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -845,7 +807,6 @@ pango: attributes=([Pango::AttrList])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["green"])
@ -871,7 +832,6 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: set_source_color(["green"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["green"])
@ -897,7 +857,6 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: set_source_color(["green"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["green"])
@ -923,7 +882,6 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: set_source_color(["green"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["green"])
@ -949,7 +907,6 @@ cairo: stroke([])
cairo: set_source_color(["green"])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["green"])
@ -975,7 +932,6 @@ cairo: stroke([])
cairo: set_source_color(["green"])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["green"])
@ -1001,7 +957,6 @@ cairo: stroke([])
cairo: set_source_color(["green"])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["white"])
@ -1027,7 +982,6 @@ cairo: set_line_cap([0])
cairo: set_dash([[4.0, 2.0]])
cairo: stroke([])
cairo: set_source_color(["white"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["white"])
@ -1053,7 +1007,6 @@ cairo: set_line_cap([0])
cairo: set_dash([[4.0, 2.0]])
cairo: stroke([])
cairo: set_source_color(["white"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["white"])
@ -1079,7 +1032,6 @@ cairo: set_line_cap([0])
cairo: set_dash([[4.0, 2.0]])
cairo: stroke([])
cairo: set_source_color(["white"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -1102,7 +1054,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -1125,7 +1076,6 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: set_source_color(["black"])
@ -1148,11 +1098,10 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/text_00.png"])
surface: write_to_png(["_output/text_01.png"])
surface: write_to_png(["_output/text_02.png"])
surface: write_to_png(["_output/text_options_00.png"])
surface: write_to_png(["_output/text_options_01.png"])
surface: write_to_png(["_output/text_options_02.png"])
surface: finish([])
surface: finish([])
surface: finish([])

0
spec/samples/_diffs/gitkeep.txt

39
spec/samples/diff-with-css.example.html

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Diff with CSS Example</title>
<style>
body{
background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAHElEQVQYlWO4ePFiAzGY4eLFiw0MxIBRhVRRCADsljgKUbBKPgAAAABJRU5ErkJggg==) repeat;
}
img{
height: 4in;
}
.diff {
width: 3in;
height: 4in;
background-repeat: none, none;
background-size: contain, contain;
background-blend-mode: difference;
display: inline-table;
}
</style>
</head>
<body>
<img src="expected/autoscale_00.png"/>
<img src="expected/autoscale_01.png"/>
<style>
.mine{
background-image: url(expected/autoscale_00.png), url(expected/autoscale_01.png);"
}
</style>
<div class="diff mine"/>
</body>
</html>

BIN
spec/samples/expected/autoscale_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
spec/samples/expected/autoscale_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

BIN
spec/samples/expected/autoscale_02.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

BIN
spec/samples/expected/backend_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

78
spec/samples/expected/backend_00.svg

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="825pt" height="1125pt" viewBox="0 0 825 1125" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 12 0 L 12 -72 L 84 -72 L 84 0 Z M 18 -6 L 78 -6 L 78 -66 L 18 -66 Z M 18 -6 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 66 0 L 48 0 L 48 -31 L 25 -31 L 25 0 L 7 0 L 7 -70 L 25 -70 L 25 -44 L 48 -44 L 48 -70 L 66 -70 Z M 66 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 33.109375 1 C 23.066406 0.996094 15.371094 -1.390625 10.023438 -6.164063 C 4.671875 -10.9375 1.996094 -17.742188 2 -26.578125 C 1.996094 -35.210938 4.496094 -42.105469 9.492188 -47.265625 C 14.484375 -52.417969 21.464844 -54.996094 30.4375 -55 C 38.589844 -54.996094 44.722656 -52.828125 48.835938 -48.5 C 52.941406 -44.164063 54.996094 -37.960938 55 -29.890625 L 55 -24 L 18 -24 C 18.15625 -21.507813 18.683594 -19.425781 19.585938 -17.757813 C 20.484375 -16.082031 21.675781 -14.75 23.15625 -13.765625 C 24.601563 -12.78125 26.289063 -12.078125 28.21875 -11.648438 C 30.144531 -11.214844 32.246094 -10.996094 34.53125 -11 C 36.484375 -10.996094 38.414063 -11.207031 40.3125 -11.625 C 42.207031 -12.039063 43.941406 -12.589844 45.515625 -13.28125 C 46.898438 -13.863281 48.175781 -14.496094 49.351563 -15.179688 C 50.519531 -15.859375 51.476563 -16.464844 52.21875 -17 L 54 -17 L 54 -3.375 C 52.644531 -2.84375 51.402344 -2.351563 50.28125 -1.898438 C 49.152344 -1.445313 47.617188 -0.984375 45.671875 -0.515625 C 43.867188 -0.0390625 42.011719 0.332031 40.101563 0.601563 C 38.1875 0.863281 35.855469 0.996094 33.109375 1 Z M 39 -34 C 38.894531 -37.582031 38.039063 -40.3125 36.4375 -42.1875 C 34.832031 -44.0625 32.367188 -45 29.046875 -45 C 25.65625 -45 23.011719 -44.015625 21.109375 -42.046875 C 19.199219 -40.078125 18.148438 -37.394531 17.953125 -34 Z M 39 -34 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 22 0 L 6 0 L 6 -73 L 22 -73 Z M 22 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 57 -26.46875 C 57 -17.640625 54.605469 -10.691406 49.820313 -5.617188 C 45.03125 -0.539063 38.257813 1.996094 29.5 2 C 20.808594 1.996094 14.054688 -0.539063 9.234375 -5.617188 C 4.410156 -10.691406 1.996094 -17.640625 2 -26.46875 C 1.996094 -35.390625 4.410156 -42.378906 9.234375 -47.429688 C 14.054688 -52.472656 20.808594 -54.996094 29.5 -55 C 38.226563 -54.996094 44.992188 -52.457031 49.796875 -47.382813 C 54.597656 -42.300781 57 -35.328125 57 -26.46875 Z M 40 -26.375 C 39.996094 -29.558594 39.734375 -32.214844 39.21875 -34.335938 C 38.695313 -36.453125 37.972656 -38.148438 37.046875 -39.421875 C 36.066406 -40.753906 34.960938 -41.683594 33.726563 -42.210938 C 32.492188 -42.734375 31.082031 -42.996094 29.5 -43 C 28.007813 -42.996094 26.660156 -42.765625 25.460938 -42.304688 C 24.253906 -41.839844 23.148438 -40.957031 22.140625 -39.65625 C 21.179688 -38.414063 20.417969 -36.710938 19.851563 -34.546875 C 19.28125 -32.378906 18.996094 -29.652344 19 -26.375 C 18.996094 -23.101563 19.265625 -20.453125 19.804688 -18.429688 C 20.339844 -16.398438 21.035156 -14.78125 21.890625 -13.578125 C 22.785156 -12.335938 23.894531 -11.429688 25.226563 -10.859375 C 26.550781 -10.28125 28.023438 -9.996094 29.640625 -10 C 30.972656 -9.996094 32.328125 -10.28125 33.703125 -10.859375 C 35.078125 -11.429688 36.175781 -12.289063 37 -13.4375 C 37.988281 -14.796875 38.734375 -16.445313 39.242188 -18.375 C 39.742188 -20.300781 39.996094 -22.964844 40 -26.375 Z M 40 -26.375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 26 -18 L 9.84375 18 L 0 18 L 9.09375 -18 Z M 26 -18 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 84 -53 L 68.8125 0 L 51.578125 0 L 42.453125 -34.265625 L 33.28125 0 L 16.046875 0 L 1 -53 L 17.625 -53 L 26.015625 -17.9375 L 35.875 -53 L 50.1875 -53 L 59.5 -17.9375 L 67.359375 -53 Z M 84 -53 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 42 -38 L 40.5625 -38 C 39.902344 -38.328125 38.945313 -38.578125 37.695313 -38.75 C 36.4375 -38.914063 35.050781 -39 33.53125 -39 C 31.714844 -39 29.8125 -38.742188 27.820313 -38.226563 C 25.824219 -37.710938 23.882813 -37.097656 22 -36.390625 L 22 0 L 6 0 L 6 -53 L 22 -53 L 22 -45.234375 C 22.789063 -45.921875 23.886719 -46.789063 25.289063 -47.84375 C 26.6875 -48.890625 27.964844 -49.730469 29.125 -50.359375 C 30.382813 -51.085938 31.847656 -51.707031 33.515625 -52.226563 C 35.179688 -52.738281 36.75 -52.996094 38.234375 -53 C 38.792969 -52.996094 39.421875 -52.980469 40.117188 -52.953125 C 40.808594 -52.917969 41.4375 -52.878906 42 -52.828125 Z M 42 -38 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 54 0 L 38 0 L 38 -5.484375 C 36.914063 -4.609375 35.679688 -3.671875 34.289063 -2.671875 C 32.898438 -1.671875 31.675781 -0.921875 30.625 -0.421875 C 29.277344 0.328125 27.949219 0.917969 26.640625 1.351563 C 25.324219 1.78125 23.757813 1.996094 21.9375 2 C 15.800781 1.996094 10.941406 -0.550781 7.367188 -5.648438 C 3.785156 -10.746094 1.996094 -17.558594 2 -26.09375 C 1.996094 -30.796875 2.605469 -34.882813 3.820313 -38.351563 C 5.03125 -41.8125 6.710938 -44.832031 8.859375 -47.40625 C 10.804688 -49.738281 13.167969 -51.585938 15.953125 -52.953125 C 18.730469 -54.3125 21.667969 -54.996094 24.765625 -55 C 27.574219 -54.996094 29.882813 -54.707031 31.695313 -54.132813 C 33.5 -53.550781 35.601563 -52.652344 38 -51.4375 L 38 -73 L 54 -73 Z M 38 -14.3125 L 38 -41.515625 C 37.164063 -41.9375 36.070313 -42.292969 34.71875 -42.578125 C 33.359375 -42.855469 32.199219 -42.996094 31.234375 -43 C 27.167969 -42.996094 24.113281 -41.546875 22.070313 -38.65625 C 20.019531 -35.757813 18.996094 -31.707031 19 -26.5 C 18.996094 -21.039063 19.8125 -17.089844 21.445313 -14.65625 C 23.074219 -12.214844 25.707031 -10.996094 29.34375 -11 C 30.820313 -10.996094 32.316406 -11.292969 33.835938 -11.890625 C 35.347656 -12.480469 36.734375 -13.289063 38 -14.3125 Z M 38 -14.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 25 -70 L 23.140625 -20 L 8.859375 -20 L 7 -70 Z M 25 0 L 7 0 L 7 -12 L 25 -12 Z M 25 0 "/>
</symbol>
</g>
<image id="image200" width="128" height="128" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAAAmJLR0QAxtiKRLcAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfeCAwPOiprCHMUAAAM90lEQVR42uVda3RVxRX+EiLhFRACYrQEjBheN0VABQlgKiDlbVCqxQd0UaiiRRHBroWg1UVVFGm6LGhXrNJSwSoiWhQDKBKCouIDEiERoiGoaJSXEkFDvv7gcnPOvWfmzMyZG2O7Z2Wtm3P27Nl7n3ns2bNnJoHwhzIUYlto56N7s6tQjRNoyJCCdkgv6nZDn+KByFTAT6CP6MuwisX4aUIIuQnX+qmBwlSE8bMlr38yafzsIslrweNKTMz9XxD+VJqYW6mjgHykGBTSrEGrIIX5qgq4MWRWxNwGrgLwxpCCAkY8YUp+OHc1+KYw4gkfBeRsNifemmSeQb4N9aqCnM0SBZh//ZPpOMlfauaZTPKuH7EWWGj7dWkjSbKtRo4kUjuP3b7A0fMHJ3w/SbJCI8fysAIKlbDTrakgP1oBlUYDX3S6PCzOckX83qyDMb7YV3GKxUGx0q0AO2bPmRFxrlfC3+dQwFEf3FSSo62aRg4FFMEW2TrI8MWdRTf8RYpdRvISqz1BUZ0C7Nn8b0TEOeCD2ZKxcI4QexFJ8nzLc4SwAkphj+gihzjrpZhrPRSwQ4A7wFdBZqkURCKwzOIE9E3H78G4XYg3GMM8p6+TPJ4m49XwryOWp8vLTk6HQxZ12jHqm/YS4B2kN9SykaRZJVmuASESVhuAuxskyWNM9sC5j2JYFoU72/HOvklUCisGkDO9GyXQuzEYaZSDs6vr5npjXwH5SNwWstuu3oj6vxcejHqy2ofCC47fWxy/j8fBabYtFGj+55Wu9/img52DD/1hZhh3tevpF3GZGyLDMslMT5Fau2aM/pDlocqyOCgggwkp/MZytfLyM5fjAlyJ4RiJxopUTiABie7qigvi4ERPqtbK0BcpWO+DU4IeMc8ycECTtUYxTw4r5x2IJLymhFmNxBOabK0DUYpHMAZNFIwhm3DIl7dhWIjtIDahrXI9Q5Bxfh//zl8zNQrjt1SHH3iA5dzDr/i9L+4n7O/JUQuO4xLuceGerixPAqj3HbYjy+PbFGAdCrA3bNDu8DGXC1GCYhTHDGyJCCGEHuiLwcLSc1Ee/t0el2EoLkP7GKyDaKPVZ2mlhyXf6Dhf5C2CcYD8lPM5QLmc3pzDnZ508jiFK/mNhI+ndSTSVcBIhYpdG/V/DRfTbMaRzgekonrD1HgqIFmTmSO8KfBoPYGfaZWZEU8FgJXKjHzDSdZMlrHKSjihR1mflScVGXnQut12h1K5BfFWwLUKTGznWXHx6Lfkq75lz463As70ZWFBXJc1bvEpvY8WNW07AACOopnwXQ0GY1OcIz+64k20Ege9aNFKNGFgnfDNQbSPu/jALrSNmEPR8I4mLSMFbBA8r0CaYNLTBCkG5TSX1LNz8ZYWb9YswVhH1Sko9sRtwyX8LozxEnvEOLxX8mtW8/WoVZ+mkbFmLxeys4CPAg8uhuhKY8P1SdZyHxMkq791sNTRo29xvdkUedOFP0Tl2smJSh5IenIRnXo4fc9mCng9xt4ThcfkxbC4h60JDvf4ep+zDcGfe9avEgH9T1xYu6VcX8w5XM9aDvWqASkcz54xU1tRmhfF3pniYSZmZkDW8inBEFbDyQq+YmdqzGoH1l89p8tjmccdYYxKthE1gWzWkCS/Zzk38Sku4HSO40WeJk0/F3NXSJV1K4PDK4qL7FWO5505lStY5aKzxq8PWCVk4VNu5UrmcTYncKBLqH/41pevAivgbCn9OQ7M+9iPdwrsxTtUOsFxmqztV2gwYwKKv9S3hHcUqGSrjgIt+LYGc/2U+oztgRTQ3Je+32pTpbh38348Q5G15xQ7zawA4j+gVMIDEgovmdgBHblXgbmmygPnakPxa5VLOCKg8AdzQyjP4ow/1VABtymXMNUz/8BglmBffithLtk4ekQVDmuVUB0zcqXaMIWfFzC3RNt+rNVWwDVa9G9z5X3Z3lzgCk/m9KM7p2uKXxFgjvKY3clQCrdFMfe20RxCzyS6VJv+ikjetfZngzNdzP3GSAGjNcQ3UfEg/XgSHfK/sBCu8oGyAnoY0a9bRlGLW9fyCJ0f+bXR2J11jSLeGpQY0X8m8muEbY9QIktMXc9Ko4ob2htSv9Lhd7DaBCa6BrEgsYUqJtHjxtSbOajMsKWADjEtN6hvfx6/loi/UNPEcqcKB6WP/XsSf4ILYhh838oCx/mcxZe5O1KzvmARH+agwHSfi+I2P4gCLuUhjy/0rwa9M+xej7iFK0xGgeZYgw2eKzAlaMgQu9O5MZ7FFrTTWxi5Gd8KBxLTzdRNUYYSDFDC7YUFhqV4f56L8SXmqQ6DXfiRtI/ub1Q1z47M1g7yj8yS4E3j+1JXuLl3aD8v9F8cXYIbfLel6zeCs1CBpKhnm1GCj1GOY0gEkIZMdEa2K8CpDF20S2qGo9L3T+M6/CCqAWMiy1gy6KD9VU7z7ExVYKOFdatYL9Mk71HgPkWmWmmz9A7N4W7rCnDtS4jaSKQUzNxOk6EZDAZdrStgqswO+Jtv9s5a7LQKvCxSqhfz4UPtGbedaTIK9A5kmZnABI3yTpfQ+ZwXqVqC0yRkcqxGFNlafxJt3KqDOTqW4GI0xSrBuwyNQel+K9Zde4xSxu3k+fR1pGK+XojMMYxDNqo87QB1mGjJwL1FGTPLI6hrFHIEwTs+HqEtOAN3BVDAJGsW/hDh/gQ/7v6MFlgTzCPUloWutvSZcntcR3swUbHMQtdm3E62PEJjXOsuSRZNElVYrV3mdNte4f0axx2cjMmxCcdVt8Nq+a00vMKtURv5PVxx85JNaIxUBawRCuGcRoGSl+AA0iL/jVbKMwB2ob8CzsjIr5dtusXviqmQmQq5dtIu3OpbYhMX/ihbTWAj7o55dpNCvnMt14BOvhi/c/33IvKC14B0gQP7WD2PASS5wrfEMg8PdnKQGpCLCsEWtGQN47S+IBPnxTzriUPoadoJPoLnJG8f0t78Gm94UBCp/j6m6zeB5LBj0hkPvJVLXYEul9RzE1goLe0s157WaHhRkCtJ5JR+F8BB7MLO8N9ux0h76pTORejtszW5mdUvvEf6tq5GfoefAUhG13Dqgq4YhUPIQqVaDUhirsSGHqk80LxnuQZcKCmri+9wmcnLbe0XqHTsDJThLbSsAOlxKI6Icx1ZjLbM1I22LaRd4VqrDUA2pZ3qODx3Zvy3zICvOb5LdwnecYvfX+yIa+PaZF8vW2aGukaHBI2ldVOQnSCy24HXs34UMN/F3KvGLmobHaDTjb9eXxYzBWyNYu9OIeYUK+IvFtK/yoW3r74UEAviIxTXBxb/Q6W4QJP4ZUMF9PJk8zIh/q5A4u+VbH+LhVGashgNg94nfLwinB51x3bjwe8tpAtDKIqVebM8DK5VWXSMSo8bff17hPSGCXLsqI8mUCNheb7ERbpfS/itkkXYKYb2ohUFdPRhfAtPk4RbfqwkfIFojxdB8FmT3WH2FDDZl/3vpIcY9ORDURtenVDIm6UBGOm+9WhevA9QWI6rFbCexGSHG93rmIOL0RWdkIqmAA7hS5TiQ5T6UF2AWb4lF2JQfDvBKsU2XMNrrQZADuNhC7PGwE2gpeYY/isrwg+NbH5Wge46doCu526IFnYHPI0qTA00Db4a5SjQWpJXtwUaQftQ9cXSWJ43hO+e5zDt796fyzxp3c+HpDVitXIJKdQ+UrPMo8D3uCB8dMWffCrnBs5kN98yzuE0/kdgbWx2xKgN4r180wPnqLI0GUzI2bwxW6/PrIMirEOB6xzZf2O8EpVKFGMH9uEIjuAwatEKLdESachCSBKAU47f4yWP530wFENxqeNJGvYr8ZFTpHmvxBCStXyFtwscD9sYPxjhy11XTucLPK4RTHFjSPNg5e4+MYIH46iALspcdlAO5Mu3fbS2F3xEcBhXGWycdcMYq1ZF2Jds93D1MzzY/soxM+jOGYp1ZAvvZJ9wkzsFs6yLHyIBYq61OtDPI6yldRROjoL41znwcy3sJBOlubB8wcKEGFG8Btk1PuJ/EIU/KTJNst8ALF+xMTdKlL6eWC18FNBRcBDPl5bFj1yxYe+SlSdcguQahc8v8sxxt5Xdiu5U5JwL2blmZ5NyPE+FQPxvpcd5pFkU33XNjq2LlupW5f0uXespUMBI6dkAQ6yJH3PRkp2rtk7BKgXcfxrsD8q0poB8L3dA0MvWmkecmSrYjXgiRgGpcTB1vA1ggT8k2HV7Jw9LKlfGn6S8vGY3Ca/bI4JduDiW5AE21sjhnNN/UU/iSy9cDFYLbmONZiU+x6GAfj/C1xe4BE37gsd4nnaeU2dVraz3ti/1iZpdu3u6EVNHSZJN4i68xrW7J+2C+rp4eTTJaXEvRfPiZYYN5Pq5evvRONOXX739f3/5eoLKylgZCrEttPPRvdlVqMaJBi10CtohvajbDX2KB/rdOw8A+C/P9iz7dYa7BgAAAABJRU5ErkJggg=="/>
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="mask0">
<g filter="url(#alpha)">
<use xlink:href="#image200" transform="matrix(1,0,0,1,250,250)"/>
</g>
</mask>
</defs>
<g id="surface193">
<rect x="0" y="0" width="825" height="1125" style="fill:rgb(50.196078%,50.196078%,50.196078%);fill-opacity:1;stroke:none;"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="106" y="596"/>
<use xlink:href="#glyph0-2" x="179" y="596"/>
<use xlink:href="#glyph0-3" x="236" y="596"/>
<use xlink:href="#glyph0-3" x="265" y="596"/>
<use xlink:href="#glyph0-4" x="294" y="596"/>
<use xlink:href="#glyph0-5" x="353" y="596"/>
<use xlink:href="#glyph0-6" x="383" y="596"/>
<use xlink:href="#glyph0-7" x="411" y="596"/>
<use xlink:href="#glyph0-4" x="496" y="596"/>
<use xlink:href="#glyph0-8" x="555" y="596"/>
<use xlink:href="#glyph0-3" x="597" y="596"/>
<use xlink:href="#glyph0-9" x="626" y="596"/>
<use xlink:href="#glyph0-10" x="686" y="596"/>
</g>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 76 38 L 750 38 C 769 38 788 57 788 76 L 788 1050 C 788 1069 769 1088 750 1088 L 76 1088 C 57 1088 38 1069 38 1050 L 38 76 C 38 57 57 38 76 38 Z M 76 38 "/>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125 400 C 125 413.808594 113.808594 425 100 425 C 86.191406 425 75 413.808594 75 400 C 75 386.191406 86.191406 375 100 375 C 113.808594 375 125 386.191406 125 400 "/>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100 425 L 125 475 L 75 475 Z M 100 425 "/>
<path style="fill:none;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100 620 L 720 620 "/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:10.625396;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 72.416536 -378.68698 L 439.575917 -378.68698 C 476.648655 -378.68698 506.694943 -348.640692 506.694943 -311.583603 L 506.694943 55.575778 C 506.694943 92.648516 476.648655 122.694804 439.575917 122.694804 L 72.416536 122.694804 C 35.359447 122.694804 5.313159 92.648516 5.313159 55.575778 L 5.313159 -311.583603 C 5.313159 -348.640692 35.359447 -378.68698 72.416536 -378.68698 Z M 72.416536 -378.68698 " transform="matrix(0.249615,0,0,0.249615,100.197194,171.049335)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.25 169.125 C 104.289063 172.332031 101 177.90625 101 184.25 C 101 194.191406 109.058594 202.25 119 202.25 C 124.957031 202.25 130.222656 199.335938 133.5 194.875 C 130.6875 196.691406 127.34375 197.75 123.75 197.75 C 113.808594 197.75 105.75 189.691406 105.75 179.75 C 105.75 175.765625 107.058594 172.105469 109.25 169.125 Z M 109.25 169.125 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 151.84375 123.230469 L 105.195313 169.878906 L 105.195313 195.828125 L 130.269531 195.828125 L 177.355469 148.742188 Z M 151.84375 123.230469 "/>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 181.779507 141.859042 L 197.398822 126.241402 M 200.74827 129.590013 L 184.943061 145.39271 " transform="matrix(4.664947,0,0,4.664947,-744.909784,-480.042297)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 193.6875 78.402344 C 180.496094 74.996094 165.875 78.382813 155.546875 88.707031 C 140.015625 104.238281 140.015625 129.460938 155.546875 144.992188 C 171.078125 160.523438 196.300781 160.523438 211.832031 144.992188 C 222.167969 134.652344 225.5625 120.054688 222.140625 106.851563 L 195.851563 133.136719 L 173.378906 127.160156 L 167.402344 104.6875 Z M 193.6875 78.402344 "/>
<use xlink:href="#image200" transform="matrix(1,0,0,1,250,75)"/>
<rect x="0" y="0" width="825" height="1125" style="fill:rgb(100%,0%,0%);fill-opacity:1;stroke:none;" mask="url(#mask0)"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
spec/samples/expected/backend_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

78
spec/samples/expected/backend_01.svg

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="825pt" height="1125pt" viewBox="0 0 825 1125" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 12 0 L 12 -72 L 84 -72 L 84 0 Z M 18 -6 L 78 -6 L 78 -66 L 18 -66 Z M 18 -6 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 66 0 L 48 0 L 48 -31 L 25 -31 L 25 0 L 7 0 L 7 -70 L 25 -70 L 25 -44 L 48 -44 L 48 -70 L 66 -70 Z M 66 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 33.109375 1 C 23.066406 0.996094 15.371094 -1.390625 10.023438 -6.164063 C 4.671875 -10.9375 1.996094 -17.742188 2 -26.578125 C 1.996094 -35.210938 4.496094 -42.105469 9.492188 -47.265625 C 14.484375 -52.417969 21.464844 -54.996094 30.4375 -55 C 38.589844 -54.996094 44.722656 -52.828125 48.835938 -48.5 C 52.941406 -44.164063 54.996094 -37.960938 55 -29.890625 L 55 -24 L 18 -24 C 18.15625 -21.507813 18.683594 -19.425781 19.585938 -17.757813 C 20.484375 -16.082031 21.675781 -14.75 23.15625 -13.765625 C 24.601563 -12.78125 26.289063 -12.078125 28.21875 -11.648438 C 30.144531 -11.214844 32.246094 -10.996094 34.53125 -11 C 36.484375 -10.996094 38.414063 -11.207031 40.3125 -11.625 C 42.207031 -12.039063 43.941406 -12.589844 45.515625 -13.28125 C 46.898438 -13.863281 48.175781 -14.496094 49.351563 -15.179688 C 50.519531 -15.859375 51.476563 -16.464844 52.21875 -17 L 54 -17 L 54 -3.375 C 52.644531 -2.84375 51.402344 -2.351563 50.28125 -1.898438 C 49.152344 -1.445313 47.617188 -0.984375 45.671875 -0.515625 C 43.867188 -0.0390625 42.011719 0.332031 40.101563 0.601563 C 38.1875 0.863281 35.855469 0.996094 33.109375 1 Z M 39 -34 C 38.894531 -37.582031 38.039063 -40.3125 36.4375 -42.1875 C 34.832031 -44.0625 32.367188 -45 29.046875 -45 C 25.65625 -45 23.011719 -44.015625 21.109375 -42.046875 C 19.199219 -40.078125 18.148438 -37.394531 17.953125 -34 Z M 39 -34 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 22 0 L 6 0 L 6 -73 L 22 -73 Z M 22 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 57 -26.46875 C 57 -17.640625 54.605469 -10.691406 49.820313 -5.617188 C 45.03125 -0.539063 38.257813 1.996094 29.5 2 C 20.808594 1.996094 14.054688 -0.539063 9.234375 -5.617188 C 4.410156 -10.691406 1.996094 -17.640625 2 -26.46875 C 1.996094 -35.390625 4.410156 -42.378906 9.234375 -47.429688 C 14.054688 -52.472656 20.808594 -54.996094 29.5 -55 C 38.226563 -54.996094 44.992188 -52.457031 49.796875 -47.382813 C 54.597656 -42.300781 57 -35.328125 57 -26.46875 Z M 40 -26.375 C 39.996094 -29.558594 39.734375 -32.214844 39.21875 -34.335938 C 38.695313 -36.453125 37.972656 -38.148438 37.046875 -39.421875 C 36.066406 -40.753906 34.960938 -41.683594 33.726563 -42.210938 C 32.492188 -42.734375 31.082031 -42.996094 29.5 -43 C 28.007813 -42.996094 26.660156 -42.765625 25.460938 -42.304688 C 24.253906 -41.839844 23.148438 -40.957031 22.140625 -39.65625 C 21.179688 -38.414063 20.417969 -36.710938 19.851563 -34.546875 C 19.28125 -32.378906 18.996094 -29.652344 19 -26.375 C 18.996094 -23.101563 19.265625 -20.453125 19.804688 -18.429688 C 20.339844 -16.398438 21.035156 -14.78125 21.890625 -13.578125 C 22.785156 -12.335938 23.894531 -11.429688 25.226563 -10.859375 C 26.550781 -10.28125 28.023438 -9.996094 29.640625 -10 C 30.972656 -9.996094 32.328125 -10.28125 33.703125 -10.859375 C 35.078125 -11.429688 36.175781 -12.289063 37 -13.4375 C 37.988281 -14.796875 38.734375 -16.445313 39.242188 -18.375 C 39.742188 -20.300781 39.996094 -22.964844 40 -26.375 Z M 40 -26.375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 26 -18 L 9.84375 18 L 0 18 L 9.09375 -18 Z M 26 -18 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 84 -53 L 68.8125 0 L 51.578125 0 L 42.453125 -34.265625 L 33.28125 0 L 16.046875 0 L 1 -53 L 17.625 -53 L 26.015625 -17.9375 L 35.875 -53 L 50.1875 -53 L 59.5 -17.9375 L 67.359375 -53 Z M 84 -53 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 42 -38 L 40.5625 -38 C 39.902344 -38.328125 38.945313 -38.578125 37.695313 -38.75 C 36.4375 -38.914063 35.050781 -39 33.53125 -39 C 31.714844 -39 29.8125 -38.742188 27.820313 -38.226563 C 25.824219 -37.710938 23.882813 -37.097656 22 -36.390625 L 22 0 L 6 0 L 6 -53 L 22 -53 L 22 -45.234375 C 22.789063 -45.921875 23.886719 -46.789063 25.289063 -47.84375 C 26.6875 -48.890625 27.964844 -49.730469 29.125 -50.359375 C 30.382813 -51.085938 31.847656 -51.707031 33.515625 -52.226563 C 35.179688 -52.738281 36.75 -52.996094 38.234375 -53 C 38.792969 -52.996094 39.421875 -52.980469 40.117188 -52.953125 C 40.808594 -52.917969 41.4375 -52.878906 42 -52.828125 Z M 42 -38 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 54 0 L 38 0 L 38 -5.484375 C 36.914063 -4.609375 35.679688 -3.671875 34.289063 -2.671875 C 32.898438 -1.671875 31.675781 -0.921875 30.625 -0.421875 C 29.277344 0.328125 27.949219 0.917969 26.640625 1.351563 C 25.324219 1.78125 23.757813 1.996094 21.9375 2 C 15.800781 1.996094 10.941406 -0.550781 7.367188 -5.648438 C 3.785156 -10.746094 1.996094 -17.558594 2 -26.09375 C 1.996094 -30.796875 2.605469 -34.882813 3.820313 -38.351563 C 5.03125 -41.8125 6.710938 -44.832031 8.859375 -47.40625 C 10.804688 -49.738281 13.167969 -51.585938 15.953125 -52.953125 C 18.730469 -54.3125 21.667969 -54.996094 24.765625 -55 C 27.574219 -54.996094 29.882813 -54.707031 31.695313 -54.132813 C 33.5 -53.550781 35.601563 -52.652344 38 -51.4375 L 38 -73 L 54 -73 Z M 38 -14.3125 L 38 -41.515625 C 37.164063 -41.9375 36.070313 -42.292969 34.71875 -42.578125 C 33.359375 -42.855469 32.199219 -42.996094 31.234375 -43 C 27.167969 -42.996094 24.113281 -41.546875 22.070313 -38.65625 C 20.019531 -35.757813 18.996094 -31.707031 19 -26.5 C 18.996094 -21.039063 19.8125 -17.089844 21.445313 -14.65625 C 23.074219 -12.214844 25.707031 -10.996094 29.34375 -11 C 30.820313 -10.996094 32.316406 -11.292969 33.835938 -11.890625 C 35.347656 -12.480469 36.734375 -13.289063 38 -14.3125 Z M 38 -14.3125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 25 -70 L 23.140625 -20 L 8.859375 -20 L 7 -70 Z M 25 0 L 7 0 L 7 -12 L 25 -12 Z M 25 0 "/>
</symbol>
</g>
<image id="image200" width="128" height="128" xlink:href="data:image/png;base64,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"/>
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="mask0">
<g filter="url(#alpha)">
<use xlink:href="#image200" transform="matrix(1,0,0,1,250,250)"/>
</g>
</mask>
</defs>
<g id="surface196">
<rect x="0" y="0" width="825" height="1125" style="fill:rgb(50.196078%,50.196078%,50.196078%);fill-opacity:1;stroke:none;"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="106" y="596"/>
<use xlink:href="#glyph0-2" x="179" y="596"/>
<use xlink:href="#glyph0-3" x="236" y="596"/>
<use xlink:href="#glyph0-3" x="265" y="596"/>
<use xlink:href="#glyph0-4" x="294" y="596"/>
<use xlink:href="#glyph0-5" x="353" y="596"/>
<use xlink:href="#glyph0-6" x="383" y="596"/>
<use xlink:href="#glyph0-7" x="411" y="596"/>
<use xlink:href="#glyph0-4" x="496" y="596"/>
<use xlink:href="#glyph0-8" x="555" y="596"/>
<use xlink:href="#glyph0-3" x="597" y="596"/>
<use xlink:href="#glyph0-9" x="626" y="596"/>
<use xlink:href="#glyph0-10" x="686" y="596"/>
</g>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 76 38 L 750 38 C 769 38 788 57 788 76 L 788 1050 C 788 1069 769 1088 750 1088 L 76 1088 C 57 1088 38 1069 38 1050 L 38 76 C 38 57 57 38 76 38 Z M 76 38 "/>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125 400 C 125 413.808594 113.808594 425 100 425 C 86.191406 425 75 413.808594 75 400 C 75 386.191406 86.191406 375 100 375 C 113.808594 375 125 386.191406 125 400 "/>
<path style="fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100 425 L 125 475 L 75 475 Z M 100 425 "/>
<path style="fill:none;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100 620 L 720 620 "/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:10.625396;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 72.416536 -378.68698 L 439.575917 -378.68698 C 476.648655 -378.68698 506.694943 -348.640692 506.694943 -311.583603 L 506.694943 55.575778 C 506.694943 92.648516 476.648655 122.694804 439.575917 122.694804 L 72.416536 122.694804 C 35.359447 122.694804 5.313159 92.648516 5.313159 55.575778 L 5.313159 -311.583603 C 5.313159 -348.640692 35.359447 -378.68698 72.416536 -378.68698 Z M 72.416536 -378.68698 " transform="matrix(0.249615,0,0,0.249615,100.197194,171.049335)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.25 169.125 C 104.289063 172.332031 101 177.90625 101 184.25 C 101 194.191406 109.058594 202.25 119 202.25 C 124.957031 202.25 130.222656 199.335938 133.5 194.875 C 130.6875 196.691406 127.34375 197.75 123.75 197.75 C 113.808594 197.75 105.75 189.691406 105.75 179.75 C 105.75 175.765625 107.058594 172.105469 109.25 169.125 Z M 109.25 169.125 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 151.84375 123.230469 L 105.195313 169.878906 L 105.195313 195.828125 L 130.269531 195.828125 L 177.355469 148.742188 Z M 151.84375 123.230469 "/>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 181.779507 141.859042 L 197.398822 126.241402 M 200.74827 129.590013 L 184.943061 145.39271 " transform="matrix(4.664947,0,0,4.664947,-744.909784,-480.042297)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 193.6875 78.402344 C 180.496094 74.996094 165.875 78.382813 155.546875 88.707031 C 140.015625 104.238281 140.015625 129.460938 155.546875 144.992188 C 171.078125 160.523438 196.300781 160.523438 211.832031 144.992188 C 222.167969 134.652344 225.5625 120.054688 222.140625 106.851563 L 195.851563 133.136719 L 173.378906 127.160156 L 167.402344 104.6875 Z M 193.6875 78.402344 "/>
<use xlink:href="#image200" transform="matrix(1,0,0,1,250,75)"/>
<rect x="0" y="0" width="825" height="1125" style="fill:rgb(100%,0%,0%);fill-opacity:1;stroke:none;" mask="url(#mask0)"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
spec/samples/expected/basic_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

BIN
spec/samples/expected/basic_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

BIN
spec/samples/expected/basic_02.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

BIN
spec/samples/expected/cairo_access_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
spec/samples/expected/cairo_access_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
spec/samples/expected/card_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

BIN
spec/samples/expected/card_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

BIN
spec/samples/expected/colors_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

BIN
spec/samples/expected/config_disable_text_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

BIN
spec/samples/expected/config_text_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

BIN
spec/samples/expected/custom-config_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

BIN
spec/samples/expected/embed_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

BIN
spec/samples/expected/embed_multisheet_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

0
spec/samples/expected/gitkeep.txt

BIN
spec/samples/expected/gradient_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

BIN
spec/samples/expected/hand.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

BIN
spec/samples/expected/hand_pretty.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

BIN
spec/samples/expected/landscape_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

BIN
spec/samples/expected/layout2_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

BIN
spec/samples/expected/layout_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

BIN
spec/samples/expected/layout_builtin_hand_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

BIN
spec/samples/expected/layout_builtin_playing_card_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
spec/samples/expected/load_images_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

BIN
spec/samples/expected/portrait_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

BIN
spec/samples/expected/ranges_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

BIN
spec/samples/expected/sample_csv_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

BIN
spec/samples/expected/sample_csv_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

BIN
spec/samples/expected/sample_excel_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

BIN
spec/samples/expected/sample_excel_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
spec/samples/expected/sample_excel_02.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
spec/samples/expected/save_sheet_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

BIN
spec/samples/expected/save_sheet_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

BIN
spec/samples/expected/save_sheet_range_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

BIN
spec/samples/expected/save_sheet_range_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
spec/samples/expected/save_single_sheet_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

BIN
spec/samples/expected/saves_notrim_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

BIN
spec/samples/expected/shape_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

BIN
spec/samples/expected/showcase.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 KiB

BIN
spec/samples/expected/showcase2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 KiB

BIN
spec/samples/expected/showcase_individual_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
spec/samples/expected/showcase_individual_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
spec/samples/expected/showcase_individual_02.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
spec/samples/expected/showcase_individual_03.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
spec/samples/expected/text_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

BIN
spec/samples/expected/text_01.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

BIN
spec/samples/expected/text_02.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

BIN
spec/samples/expected/tgc_sample_00.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save