diff --git a/lib/squib/api/text.rb b/lib/squib/api/text.rb index f1e17a9..7ccba39 100644 --- a/lib/squib/api/text.rb +++ b/lib/squib/api/text.rb @@ -54,7 +54,7 @@ module Squib box = Args::Box.new(self, {width: :auto, height: :auto}).load!(opts, expand_by: size, layout: layout, dpi: dpi) trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) draw = Args::Draw.new(custom_colors, {stroke_width: 0.0}).load!(opts, expand_by: size, layout: layout, dpi: dpi) - embed = TextEmbed.new(size, custom_colors, layout, dpi) + embed = TextEmbed.new(size, custom_colors, layout, dpi, img_dir) yield(embed) if block_given? #store the opts for later use extents = Array.new(@cards.size) range.each { |i| extents[i] = @cards[i].text(embed, para[i], box[i], trans[i], draw[i]) } diff --git a/lib/squib/api/text_embed.rb b/lib/squib/api/text_embed.rb index 681136a..bffb2ac 100644 --- a/lib/squib/api/text_embed.rb +++ b/lib/squib/api/text_embed.rb @@ -14,11 +14,12 @@ module Squib # :nodoc: # @api private - def initialize(deck_size, custom_colors, layout, dpi) + def initialize(deck_size, custom_colors, layout, dpi, img_dir) @deck_size = deck_size @custom_colors = custom_colors @layout = layout @dpi = dpi + @img_dir = img_dir @rules = {} # store an array of options for later usage end @@ -51,7 +52,9 @@ module Squib i = card.index b = box[i] b.x, b.y = x, y - card.svg(ifile[i].file, svg_args[i], b, paint[i], trans[i]) + Dir.chdir(@img_dir) do + card.svg(ifile[i].file, svg_args[i], b, paint[i], trans[i]) + end end @rules[key] = rule end @@ -82,7 +85,9 @@ module Squib i = card.index b = box[i] b.x, b.y = x, y - card.png(ifile[i].file, b, paint[i], trans[i]) + Dir.chdir(@img_dir) do + card.png(ifile[i].file, b, paint[i], trans[i]) + end end @rules[key] = rule end