Browse Source

Feat/font autoscale (#288)

* PoC font autosize feature

* Take enumerables or 'auto' keyword for autoscaling

* Allo enumerables of font_size per card, where the largest font size that does not ellipsize is chosen

* Use ellipsize: :autoscale keyword to determine font autosizing

* Use binary search to find the correct font size

* Consider new ellipsize option in testcase

* Document ellipsize: :autoscale option

* Add ellipsize: :autoscale sample to text sample

* Fix double multiplication with Pango::SCALE

* Scale embedded images with text when autoscaling

* Remove stray semicolon

* Return dummy value for FontDescription.size in mock_cairo

* Update regression test data for autoscale feature.

* Add ellipsize: :autoscale example to existing font_autoscale sample

* Add missing :autoscale to list of options in documentation
dev
Mirko K 6 years ago committed by Andy Meneely
parent
commit
6d57b3e8c1
  1. 2
      docs/dsl/text.rst
  2. 8
      lib/squib/api/text_embed.rb
  3. 4
      lib/squib/args/paragraph.rb
  4. 46
      lib/squib/graphics/text.rb
  5. 8
      samples/autoscale_font/_autoscale_font.rb
  6. 7
      samples/text/_text.rb
  7. BIN
      samples/text/_text_00_expected.png
  8. 7
      spec/args/paragraph_spec.rb
  9. 768
      spec/data/samples/autoscale_font/_autoscale_font.rb.txt
  10. 6
      spec/data/samples/basic.rb.txt
  11. 1
      spec/data/samples/colors/_gradients.rb.txt
  12. 3
      spec/data/samples/config/config_text_markup.rb.txt
  13. 1
      spec/data/samples/config/custom_config.rb.txt
  14. 8
      spec/data/samples/data/_csv.rb.txt
  15. 19
      spec/data/samples/data/_excel.rb.txt
  16. 2
      spec/data/samples/hello_world.rb.txt
  17. 2
      spec/data/samples/proofs/_tgc_proofs.rb.txt
  18. 24
      spec/data/samples/ranges/_ranges.rb.txt
  19. 8
      spec/data/samples/saves/_hand.rb.txt
  20. 2
      spec/data/samples/saves/_portrait_landscape.rb.txt
  21. 16
      spec/data/samples/saves/_saves.rb.txt
  22. 4
      spec/data/samples/saves/_showcase.rb.txt
  23. 1
      spec/data/samples/shapes/_draw_shapes.rb.txt
  24. 2
      spec/data/samples/shapes/_proofs.rb.txt
  25. 22
      spec/data/samples/text/_embed_text.rb.txt
  26. 63
      spec/data/samples/text/_text_options.rb.txt
  27. 1
      spec/data/samples/units/_units.rb.txt
  28. 1
      spec/spec_helper.rb

2
docs/dsl/text.rst

@ -70,7 +70,7 @@ valign
ellipsize
default: ``:end``
When width and height are set, determines the behavior of overflowing text. Also: `true` maps to `:end` and `false` maps to `:none`. Default `:end` [:none, :start, :middle, :end, true, false]. Also, as mentioned in :doc:`/config`, if text is ellipsized a warning is thrown.
When width and height are set, determines the behavior of overflowing text. If set to ``:autoscale``, text is automatically scaled down from the set font size to the largest size that does no longer ellipsize. Also: `true` maps to `:end` and `false` maps to `:none`. Also, as mentioned in :doc:`/config`, if text is ellipsized a warning is thrown. [:none, :start, :middle, :end, :autoscale, true, false]
angle
default: ``0``

8
lib/squib/api/text_embed.rb

@ -35,10 +35,12 @@ module Squib
svg_args = Args::SvgSpecial.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi)
rule = { type: :svg, file: ifile, box: box, paint: paint, trans: trans,
adjust: adjust, svg_args: svg_args }
rule[:draw] = Proc.new do |card, x, y|
rule[:draw] = Proc.new do |card, x, y, scale|
i = card.index
b = box[i]
b.x, b.y = x, y
b.width = b.width * scale if b.width.is_a? Numeric
b.height = b.height * scale if b.height.is_a? Numeric
Dir.chdir(@img_dir) do
card.svg(ifile[i].file, svg_args[i], b, paint[i], trans[i])
end
@ -56,10 +58,12 @@ module Squib
trans = Args::Transform.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi)
ifile = Args::InputFile.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi)
rule = { type: :png, file: ifile, box: box, paint: paint, trans: trans, adjust: adjust }
rule[:draw] = Proc.new do |card, x, y|
rule[:draw] = Proc.new do |card, x, y, scale|
i = card.index
b = box[i]
b.x, b.y = x, y
b.width = b.width * scale if b.width.is_a? Numeric
b.height = b.height * scale if b.height.is_a? Numeric
Dir.chdir(@img_dir) do
card.png(ifile[i].file, b, paint[i], trans[i])
end

4
lib/squib/args/paragraph.rb

@ -82,8 +82,10 @@ module Squib
Pango::EllipsizeMode::MIDDLE
when 'end', 'true'
Pango::EllipsizeMode::END
when 'autoscale'
:autoscale
else
raise ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, or false'
raise ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, false or autoscale'
end
end

46
lib/squib/graphics/text.rb

@ -76,7 +76,7 @@ module Squib
# # :nodoc:
# # @api private
def embed_images!(embed, str, layout, valign)
def embed_images!(embed, str, layout, valign, scale)
return [] unless embed.rules.any?
layout.markup = str
clean_str = layout.text
@ -84,7 +84,7 @@ module Squib
EmbeddingUtils.indices(clean_str, embed.rules.keys).each do |key, ranges|
rule = embed.rules[key]
ranges.each do |range|
carve = Pango::Rectangle.new(0, 0, compute_carve(rule, range), 0)
carve = Pango::Rectangle.new(0, 0, compute_carve(rule, range) * scale, 0)
att = Pango::AttrShape.new(carve, carve, rule)
att.start_index = range.first
att.end_index = range.last
@ -100,7 +100,7 @@ module Squib
y = Pango.pixels(layout.index_to_pos(att.start_index).y) +
rule[:adjust].dy[@index] +
compute_valign(layout, valign, rule[:box].height[@index])
rule[:draw].call(self, x, y)
rule[:draw].call(self, x, y, scale)
cxt.reset_clip
[cxt, att, do_path]
end
@ -121,19 +121,46 @@ module Squib
end
end
# :nodoc:
# @api private
def text(embed, para, box, trans, draw, dpi)
font_desc = Pango::FontDescription.new(para.font)
font_desc.size = para.font_size * Pango::SCALE if para.font_size.is_a? Numeric
orig_font_size = font_desc.size
# If text autoscaling is enabled, find the largest text size (smaller or equal to the set text size) that fits
if para.ellipsize == :autoscale
para.ellipsize = Pango::EllipsizeMode::END
sizes = sizes = (1 .. font_desc.size).to_a.reverse
# Dummy render to an area outside the card with decreasing font sizes until text no longer ellipsizes
max_fitting_size = sizes.bsearch{ |sz|
font_desc.size = sz
extents = render_text(embed, para, box, trans, draw, dpi, font_desc, orig_font_size, true)
!extents[:ellipsized]
}
if max_fitting_size.nil?
max_fitting_size = sizes.last
Squib.logger.warn{"Could not autosize for Card \##{@index} as minimum specified size #{max_fitting_size} still ellipsizes."}
end
font_desc.size = max_fitting_size
end
render_text(embed, para, box, trans, draw, dpi, font_desc, orig_font_size, false)
end
# :nodoc:
# @api private
def render_text(embed, para, box, trans, draw, dpi, font_desc, orig_font_size, dummy_draw)
Squib.logger.debug {"Rendering text with: \n#{para} \nat:\n #{box} \ndraw:\n #{draw} \ntransform: #{trans}"}
extents = nil
use_cairo do |cc|
cc.set_source_squibcolor(draw.color)
cc.translate(box.x, box.y)
cc.translate(-10000, -10000) if dummy_draw
cc.rotate(trans.angle)
cc.move_to(0, 0)
font_desc = Pango::FontDescription.new(para.font)
font_desc.size = para.font_size * Pango::SCALE unless para.font_size.nil?
layout = cc.create_pango_layout
layout.font_description = font_desc
layout.text = para.str.to_s
@ -152,7 +179,7 @@ module Squib
layout.justify = para.justify unless para.justify.nil?
layout.spacing = para.spacing unless para.spacing.nil?
embed_images!(embed, para.str, layout, para.valign)
embed_images!(embed, para.str, layout, para.valign, font_desc.size / orig_font_size.to_f)
vertical_start = compute_valign(layout, para.valign, 0)
cc.move_to(0, vertical_start)
@ -164,8 +191,9 @@ module Squib
stroke_outline!(cc, layout, draw) if draw.stroke_strategy == :fill_first
draw_text_hint(cc, box.x, box.y, layout, para.hint)
extents = { width: layout.extents[1].width / Pango::SCALE,
height: layout.extents[1].height / Pango::SCALE }
warn_if_ellipsized layout
height: layout.extents[1].height / Pango::SCALE,
ellipsized: layout.ellipsized?}
warn_if_ellipsized layout unless dummy_draw
end
return extents
end

8
samples/autoscale_font/_autoscale_font.rb

@ -16,14 +16,20 @@ def autoscale(str_array)
end
end
Squib::Deck.new(width: 300, height: 100, cards: 3) do
Squib::Deck.new(width: 300, height: 200, cards: 3) do
background color: :white
rect
title = ['Short & Big',
'Medium Length & Size',
'Super duper long string here, therefore a smaller font.']
# Scale text based on the string length
text str: title, font: 'Arial', font_size: autoscale(title),
x: 10, y:10, align: :center, width: 280, ellipsize: false, hint: :red
# Automatically scale the text down from the specified font_size to the largest size that fits
text str: title, font: 'Arial', font_size: 10,
x: 10, y:100, align: :center, width: 280, height: 50, ellipsize: :autoscale, hint: :red
save_sheet columns: 3
end

7
samples/text/_text.rb

@ -1,7 +1,7 @@
require 'squib'
require 'squib/sample_helpers'
Squib::Deck.new(width: 1000, height: 1250) do
Squib::Deck.new(width: 1000, height: 1450) do
draw_graph_paper width, height
sample 'Font strings are quite expressive. Specify family, modifiers, then size. Font names with spaces in them should end with a comma to help with parsing.' do |x, y|
@ -21,6 +21,11 @@ Squib::Deck.new(width: 1000, height: 1250) do
hint: :red, width: 350, font: 'Serif bold 7'
end
sample 'If you specify ellipsize: :autosize, the font size will autoscale.' do |x, y|
text str: 'This text doeas not fit with font size 7. It is autoscaled to the largest size that fits instead.', x: x - 50, y: y,
hint: :red, width: 350, height: 100, ellipsize: :autoscale, font: 'Serif bold 7'
end
sample 'If you specify the width only, and turn off ellipsize, the height will auto-stretch.' do |x, y|
text str: 'This has fixed width, but not fixed height.', x: x, y: y,
hint: :red, width: 300, ellipsize: false, font: 'Serif bold 8'

BIN
samples/text/_text_00_expected.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 230 KiB

7
spec/args/paragraph_spec.rb

@ -97,9 +97,14 @@ describe Squib::Args::Paragraph do
para.load!({ ellipsize: 'END' })
expect(para.ellipsize).to eq [Pango::EllipsizeMode::END]
end
it 'converts to autoscale' do
para.load!({ ellipsize: :autoscale})
expect(para.ellipsize).to eq [:autoscale]
end
it 'raises an exception on anything else' do
expect { para.load!({ ellipsize: 'foo' }) }.to raise_error(ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, or false')
expect { para.load!({ ellipsize: 'foo' }) }.to raise_error(ArgumentError, 'ellipsize must be one of: none, start, middle, end, true, false or autoscale')
end
end

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

@ -21,7 +21,7 @@ cairo: new_path([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: rounded_rectangle([0, 0, 300, 100, 0, 0])
cairo: rounded_rectangle([0, 0, 300, 200, 0, 0])
cairo: set_source_color(["#0000"])
cairo: fill_preserve([])
cairo: set_source_color(["black"])
@ -36,7 +36,7 @@ cairo: new_path([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: rounded_rectangle([0, 0, 300, 100, 0, 0])
cairo: rounded_rectangle([0, 0, 300, 200, 0, 0])
cairo: set_source_color(["#0000"])
cairo: fill_preserve([])
cairo: set_source_color(["black"])
@ -51,7 +51,7 @@ cairo: new_path([])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: translate([0, 0])
cairo: rounded_rectangle([0, 0, 300, 100, 0, 0])
cairo: rounded_rectangle([0, 0, 300, 200, 0, 0])
cairo: set_source_color(["#0000"])
cairo: fill_preserve([])
cairo: set_source_color(["black"])
@ -61,13 +61,13 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: restore([])
pango font: size=([10915.84])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([10915.84])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
@ -83,14 +83,15 @@ cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([6144])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([6144])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
@ -106,14 +107,15 @@ cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([4096])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([4096])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
@ -129,6 +131,760 @@ cairo: set_source_color([:red])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([10240])
pango font: size=([500])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([250])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([125])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([62])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([31])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([15])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([7])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([3])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([1])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([1])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Short & Big"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([10240])
pango font: size=([500])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([250])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([125])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([62])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([31])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([15])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([7])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([3])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([1])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([1])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Medium Length & Size"])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([10240])
pango font: size=([500])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([250])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([125])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([62])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([31])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([15])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([7])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([3])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([1])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: translate([-10000, -10000])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([1])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([10, 100])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Super duper long string here, therefore a smaller font."])
pango: width=([286720])
pango: height=([51200])
pango: wrap=([#<Pango::WrapMode word-char>])
pango: ellipsize=([#<Pango::EllipsizeMode end>])
pango: alignment=([#<Pango::Alignment center>])
pango: justify=([false])
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([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: set_source([MockDouble, 0, 0])
cairo: paint([])

6
spec/data/samples/basic.rb.txt

@ -122,6 +122,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -139,6 +140,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -156,6 +158,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -174,6 +177,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -192,6 +196,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -210,6 +215,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])

1
spec/data/samples/colors/_gradients.rb.txt

@ -85,6 +85,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/gradient_00.png"])
surface: finish([])

3
spec/data/samples/config/config_text_markup.rb.txt

@ -27,6 +27,7 @@ cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -46,6 +47,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/config_text_00.png"])
surface: finish([])
@ -73,6 +75,7 @@ cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/config_disable_text_00.png"])
surface: finish([])

1
spec/data/samples/config/custom_config.rb.txt

@ -25,6 +25,7 @@ cairo: set_source_color(["#FF0000"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])

8
spec/data/samples/data/_csv.rb.txt

@ -26,6 +26,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -43,6 +44,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -60,6 +62,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -77,6 +80,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/sample_csv_00.png"])
surface: write_to_png(["_output/sample_csv_01.png"])
@ -182,6 +186,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -199,6 +204,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -216,6 +222,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -233,6 +240,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: set_source([MockDouble, 0, 0])
cairo: paint([])

19
spec/data/samples/data/_excel.rb.txt

@ -32,6 +32,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -49,6 +50,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -66,6 +68,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -83,6 +86,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -100,6 +104,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -117,6 +122,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -134,6 +140,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -151,6 +158,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -168,6 +176,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/sample_excel_00.png"])
surface: write_to_png(["_output/sample_excel_01.png"])
@ -275,6 +284,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -292,6 +302,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -309,6 +320,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -326,6 +338,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: set_source([MockDouble, 0, 0])
cairo: paint([])
@ -424,6 +437,7 @@ cairo: set_source_color(["red"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -446,6 +460,7 @@ cairo: set_source_color(["red"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -468,6 +483,7 @@ cairo: set_source_color(["red"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -490,6 +506,7 @@ cairo: set_source_color(["red"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -512,6 +529,7 @@ cairo: set_source_color(["red"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -534,6 +552,7 @@ cairo: set_source_color(["red"])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: set_source([MockDouble, 0, 0])
cairo: paint([])

2
spec/data/samples/hello_world.rb.txt

@ -16,6 +16,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -33,6 +34,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/card_00.png"])
surface: write_to_png(["_output/card_01.png"])

2
spec/data/samples/proofs/_tgc_proofs.rb.txt

@ -50,6 +50,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -68,6 +69,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])

24
spec/data/samples/ranges/_ranges.rb.txt

@ -32,6 +32,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -49,6 +50,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -66,6 +68,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -83,6 +86,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -100,6 +104,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -117,6 +122,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -135,6 +141,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -153,6 +160,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -171,6 +179,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -188,6 +197,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -205,6 +215,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -222,6 +233,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -239,6 +251,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -256,6 +269,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -273,6 +287,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -290,6 +305,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -307,6 +323,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -324,6 +341,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -341,6 +359,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -358,6 +377,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -375,6 +395,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -392,6 +413,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -409,6 +431,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -426,6 +449,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])

8
spec/data/samples/saves/_hand.rb.txt

@ -304,6 +304,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -323,6 +324,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -342,6 +344,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -361,6 +364,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -380,6 +384,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -399,6 +404,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -418,6 +424,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -437,6 +444,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: translate([2193.75, 2193.75])
cairo: rotate([-0.7853981633974483])

2
spec/data/samples/saves/_portrait_landscape.rb.txt

@ -20,6 +20,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: rounded_rectangle([0, 0, 805, 1105, 15, 15])
cairo: clip([])
@ -49,6 +50,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: translate([387.5, 537.5])
cairo: rotate([1.5707963267948966])

16
spec/data/samples/saves/_saves.rb.txt

@ -350,6 +350,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -367,6 +368,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -384,6 +386,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -401,6 +404,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -418,6 +422,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -435,6 +440,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -452,6 +458,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -469,6 +476,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -486,6 +494,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -503,6 +512,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -520,6 +530,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -537,6 +548,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -554,6 +566,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -571,6 +584,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -588,6 +602,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -605,6 +620,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/save_png_00.png"])
cairo: rounded_rectangle([0, 0, 765, 1065, 38, 38])

4
spec/data/samples/saves/_showcase.rb.txt

@ -99,6 +99,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -117,6 +118,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -135,6 +137,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -153,6 +156,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])

1
spec/data/samples/shapes/_draw_shapes.rb.txt

@ -695,6 +695,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])

2
spec/data/samples/shapes/_proofs.rb.txt

@ -50,6 +50,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/proof_poker_00.png"])
surface: finish([])
@ -105,6 +106,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/proof_tiny_00.png"])
surface: finish([])

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

@ -41,6 +41,7 @@ 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: new_path([])
@ -65,6 +66,7 @@ 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: new_path([])
@ -89,6 +91,7 @@ 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: new_path([])
@ -113,6 +116,7 @@ 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: new_path([])
@ -137,6 +141,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -161,6 +166,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -185,6 +191,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -210,6 +217,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -235,6 +243,7 @@ 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: new_path([])
@ -260,6 +269,7 @@ 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: new_path([])
@ -292,6 +302,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -316,6 +327,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -340,6 +352,7 @@ cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
cairo: set_line_width([2.0])
cairo: stroke([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/embed_00.png"])
surface: finish([])
@ -361,13 +374,13 @@ cairo: new_path([])
cairo: set_source_color(["white"])
cairo: paint([])
cairo: restore([])
pango font: size=([6144])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([6144])
pango: font_description=([MockDouble])
pango: text=(["Take 1 :tool: and gain 2 :health:."])
pango: width=([184320])
@ -385,14 +398,15 @@ 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([])
pango font: size=([8704.0])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([8704.0])
pango: font_description=([MockDouble])
pango: text=(["Take 1 :tool: and gain 2 :health:."])
pango: width=([184320])
@ -410,14 +424,15 @@ 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([])
pango font: size=([11776.0])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([11776.0])
pango: font_description=([MockDouble])
pango: text=(["Take 1 :tool: and gain 2 :health:."])
pango: width=([184320])
@ -435,6 +450,7 @@ 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: set_source([MockDouble, 0, 0])
cairo: paint([])

63
spec/data/samples/text/_text_options.rb.txt

@ -121,6 +121,7 @@ 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: new_path([])
@ -137,6 +138,7 @@ 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: new_path([])
@ -153,6 +155,7 @@ 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: new_path([])
@ -169,6 +172,7 @@ 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: new_path([])
@ -185,6 +189,7 @@ 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: new_path([])
@ -201,6 +206,7 @@ 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: new_path([])
@ -217,6 +223,7 @@ 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: new_path([])
@ -233,6 +240,7 @@ 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: new_path([])
@ -249,6 +257,7 @@ 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: new_path([])
@ -265,6 +274,7 @@ 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: new_path([])
@ -281,6 +291,7 @@ 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: new_path([])
@ -297,14 +308,15 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([5120])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([65, 350])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([5120])
pango: font_description=([MockDouble])
pango: text=(["Font string sizes can be overridden per card."])
pango: wrap=([#<Pango::WrapMode word-char>])
@ -314,14 +326,15 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([7168])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([65, 350])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([7168])
pango: font_description=([MockDouble])
pango: text=(["Font string sizes can be overridden per card."])
pango: wrap=([#<Pango::WrapMode word-char>])
@ -331,14 +344,15 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([8192])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([65, 350])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([8192])
pango: font_description=([MockDouble])
pango: text=(["Font string sizes can be overridden per card."])
pango: wrap=([#<Pango::WrapMode word-char>])
@ -348,6 +362,7 @@ 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: new_path([])
@ -370,6 +385,7 @@ 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: new_path([])
@ -392,6 +408,7 @@ 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: new_path([])
@ -414,14 +431,15 @@ 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([])
pango font: size=([5120])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([65, 550])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([5120])
pango: font_description=([MockDouble])
pango: text=(["Ink extent return value"])
pango: wrap=([#<Pango::WrapMode word-char>])
@ -431,14 +449,15 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([7168])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([65, 550])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([7168])
pango: font_description=([MockDouble])
pango: text=(["Ink extent return value"])
pango: wrap=([#<Pango::WrapMode word-char>])
@ -448,14 +467,15 @@ pango: justify=([false])
cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
pango font: size=([8192])
cairo: save([])
cairo: new_path([])
cairo: set_source_color(["black"])
cairo: translate([65, 550])
cairo: rotate([0])
cairo: move_to([0, 0])
pango font: size=([8192])
pango: font_description=([MockDouble])
pango: text=(["Ink extent return value"])
pango: wrap=([#<Pango::WrapMode word-char>])
@ -465,6 +485,7 @@ 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: new_path([])
@ -532,6 +553,7 @@ 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: new_path([])
@ -554,6 +576,7 @@ 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: new_path([])
@ -576,6 +599,7 @@ 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: new_path([])
@ -596,6 +620,7 @@ 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: new_path([])
@ -616,6 +641,7 @@ 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: new_path([])
@ -636,6 +662,7 @@ 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: new_path([])
@ -652,6 +679,7 @@ 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: new_path([])
@ -668,6 +696,7 @@ 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: new_path([])
@ -684,6 +713,7 @@ 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: new_path([])
@ -704,6 +734,7 @@ 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: new_path([])
@ -724,6 +755,7 @@ 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: new_path([])
@ -744,6 +776,7 @@ 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: new_path([])
@ -763,6 +796,7 @@ 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: new_path([])
@ -782,6 +816,7 @@ 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: new_path([])
@ -801,6 +836,7 @@ 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: new_path([])
@ -820,6 +856,7 @@ 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: new_path([])
@ -839,6 +876,7 @@ 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: new_path([])
@ -858,6 +896,7 @@ 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: new_path([])
@ -884,6 +923,7 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: set_source_color(["green"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -910,6 +950,7 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: set_source_color(["green"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -936,6 +977,7 @@ cairo: set_line_cap([0])
cairo: set_dash([[]])
cairo: stroke([])
cairo: set_source_color(["green"])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -962,6 +1004,7 @@ cairo: stroke([])
cairo: set_source_color(["green"])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -988,6 +1031,7 @@ cairo: stroke([])
cairo: set_source_color(["green"])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -1014,6 +1058,7 @@ cairo: stroke([])
cairo: set_source_color(["green"])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
cairo: restore([])
cairo: save([])
cairo: new_path([])
@ -1040,6 +1085,7 @@ 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: new_path([])
@ -1066,6 +1112,7 @@ 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: new_path([])
@ -1092,6 +1139,7 @@ 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: new_path([])
@ -1115,6 +1163,7 @@ 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: new_path([])
@ -1138,6 +1187,7 @@ 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: new_path([])
@ -1161,6 +1211,7 @@ 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_options_00.png"])
surface: write_to_png(["_output/text_options_01.png"])

1
spec/data/samples/units/_units.rb.txt

@ -52,6 +52,7 @@ cairo: move_to([0, 0])
cairo: move_to([0, 0])
cairo: show_pango_layout([MockDouble])
pango: ellipsized?([])
pango: ellipsized?([])
cairo: restore([])
surface: write_to_png(["_output/units_00.png"])
surface: finish([])

1
spec/spec_helper.rb

@ -123,6 +123,7 @@ def mock_cairo(strio)
allow(iter).to receive(:next_char!).and_return(false)
allow(iter).to receive(:char_extents).and_return(Pango::Rectangle.new(5, 5, 5, 5))
allow(iter).to receive(:index).and_return(1000)
allow(font).to receive(:size).and_return(1000)
allow(Pango::FontDescription).to receive(:new).and_return(font)
allow(Cairo::PDFSurface).to receive(:new).and_return(nil)

Loading…
Cancel
Save