squib 0.18.0 → 0.19.0a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +39 -39
- data/.github/ISSUE_TEMPLATE/feature_request.md +22 -22
- data/.github/ISSUE_TEMPLATE/help-wanted.md +13 -13
- data/.github/ISSUE_TEMPLATE/release-todo.md +45 -33
- data/.github/PULL_REQUEST_TEMPLATE.md +13 -13
- data/.github/workflows/tests.yml +22 -22
- data/.gitignore +41 -41
- data/.vscode/settings.json +4 -3
- data/CHANGELOG.md +460 -460
- data/CONTRIBUTING.md +40 -40
- data/Dockerfile +27 -27
- data/Gemfile +2 -2
- data/Guardfile +8 -8
- data/LICENSE.txt +22 -22
- data/README.md +139 -139
- data/Rakefile +51 -51
- data/bin/squib +5 -5
- data/lib/squib/api/settings.rb +21 -21
- data/lib/squib/args/arg_loader.rb +138 -138
- data/lib/squib/args/box.rb +59 -59
- data/lib/squib/args/card_range.rb +34 -34
- data/lib/squib/args/color_validator.rb +7 -7
- data/lib/squib/args/coords.rb +49 -49
- data/lib/squib/args/csv_opts.rb +22 -22
- data/lib/squib/args/dir_validator.rb +11 -11
- data/lib/squib/args/draw.rb +93 -93
- data/lib/squib/args/drop_shadow.rb +39 -39
- data/lib/squib/args/embed_adjust.rb +22 -22
- data/lib/squib/args/embed_key.rb +12 -12
- data/lib/squib/args/hand_special.rb +37 -37
- data/lib/squib/args/import.rb +67 -67
- data/lib/squib/args/input_file.rb +55 -55
- data/lib/squib/args/paint.rb +43 -43
- data/lib/squib/args/paragraph.rb +118 -118
- data/lib/squib/args/save_batch.rb +65 -65
- data/lib/squib/args/scale_box.rb +57 -57
- data/lib/squib/args/sheet.rb +165 -165
- data/lib/squib/args/showcase_special.rb +41 -41
- data/lib/squib/args/sprue_file.rb +44 -44
- data/lib/squib/args/svg_special.rb +37 -37
- data/lib/squib/args/transform.rb +55 -55
- data/lib/squib/args/typographer.rb +115 -115
- data/lib/squib/args/unit_conversion.rb +27 -27
- data/lib/squib/args/xywh_shorthands.rb +50 -50
- data/lib/squib/builtin/layouts/economy.yml +85 -85
- data/lib/squib/builtin/layouts/fantasy.yml +101 -101
- data/lib/squib/builtin/layouts/hand.yml +62 -62
- data/lib/squib/builtin/layouts/party.yml +94 -94
- data/lib/squib/builtin/layouts/playing-card.yml +35 -35
- data/lib/squib/builtin/layouts/tuck_box.yml +46 -46
- data/lib/squib/builtin/projects/advanced/.gitignore +4 -4
- data/lib/squib/builtin/projects/advanced/ABOUT.md +19 -19
- data/lib/squib/builtin/projects/advanced/Gemfile +11 -11
- data/lib/squib/builtin/projects/advanced/Guardfile +21 -21
- data/lib/squib/builtin/projects/advanced/IDEAS.md +22 -22
- data/lib/squib/builtin/projects/advanced/PLAYTESTING.md +26 -26
- data/lib/squib/builtin/projects/advanced/Rakefile +27 -27
- data/lib/squib/builtin/projects/advanced/config.yml +49 -49
- data/lib/squib/builtin/projects/advanced/docs/PNP NOTES.md +3 -3
- data/lib/squib/builtin/projects/advanced/docs/RULES.md +21 -21
- data/lib/squib/builtin/projects/advanced/img/example.svg +60 -60
- data/lib/squib/builtin/projects/advanced/layouts/deck.yml +27 -27
- data/lib/squib/builtin/projects/advanced/src/deck.rb +34 -34
- data/lib/squib/builtin/projects/advanced/src/version.rb +3 -3
- data/lib/squib/builtin/projects/basic/.gitignore +4 -4
- data/lib/squib/builtin/projects/basic/ABOUT.md +19 -19
- data/lib/squib/builtin/projects/basic/Gemfile +3 -3
- data/lib/squib/builtin/projects/basic/IDEAS.md +22 -22
- data/lib/squib/builtin/projects/basic/PLAYTESTING.md +26 -26
- data/lib/squib/builtin/projects/basic/PNP NOTES.md +3 -3
- data/lib/squib/builtin/projects/basic/RULES.md +21 -21
- data/lib/squib/builtin/projects/basic/Rakefile +7 -7
- data/lib/squib/builtin/projects/basic/config.yml +50 -50
- data/lib/squib/builtin/projects/basic/deck.rb +6 -6
- data/lib/squib/builtin/sprues/a4_euro_card.yml +42 -42
- data/lib/squib/builtin/sprues/a4_poker_card_8up.yml +40 -40
- data/lib/squib/builtin/sprues/a4_poker_card_9up.yml +42 -42
- data/lib/squib/builtin/sprues/a4_usa_card.yml +42 -42
- data/lib/squib/builtin/sprues/drivethrucards_1up.yml +10 -10
- data/lib/squib/builtin/sprues/letter_poker_card_9up.yml +25 -25
- data/lib/squib/builtin/sprues/letter_poker_foldable_8up.yml +52 -52
- data/lib/squib/builtin/sprues/printplaygames_18up.yml +68 -68
- data/lib/squib/card.rb +75 -75
- data/lib/squib/commands/cli.rb +39 -39
- data/lib/squib/commands/data/template_option.rb +109 -109
- data/lib/squib/commands/make_sprue.rb +277 -277
- data/lib/squib/commands/new.rb +77 -77
- data/lib/squib/conf.rb +149 -149
- data/lib/squib/constants.rb +17 -17
- data/lib/squib/deck.rb +138 -138
- data/lib/squib/dsl/background.rb +35 -35
- data/lib/squib/dsl/circle.rb +39 -39
- data/lib/squib/dsl/csv.rb +42 -42
- data/lib/squib/dsl/curve.rb +35 -35
- data/lib/squib/dsl/cut_zone.rb +47 -47
- data/lib/squib/dsl/ellipse.rb +37 -37
- data/lib/squib/dsl/grid.rb +35 -35
- data/lib/squib/dsl/groups.rb +54 -54
- data/lib/squib/dsl/hand.rb +42 -42
- data/lib/squib/dsl/line.rb +35 -35
- data/lib/squib/dsl/png.rb +57 -57
- data/lib/squib/dsl/polygon.rb +36 -36
- data/lib/squib/dsl/rect.rb +37 -37
- data/lib/squib/dsl/safe_zone.rb +48 -48
- data/lib/squib/dsl/save.rb +21 -21
- data/lib/squib/dsl/save_pdf.rb +50 -50
- data/lib/squib/dsl/save_png.rb +48 -48
- data/lib/squib/dsl/save_sheet.rb +53 -53
- data/lib/squib/dsl/showcase.rb +43 -43
- data/lib/squib/dsl/star.rb +37 -37
- data/lib/squib/dsl/svg.rb +63 -63
- data/lib/squib/dsl/text.rb +54 -54
- data/lib/squib/dsl/text_embed.rb +79 -79
- data/lib/squib/dsl/triangle.rb +35 -35
- data/lib/squib/dsl/units.rb +37 -37
- data/lib/squib/dsl/xlsx.rb +40 -40
- data/lib/squib/dsl/yaml.rb +40 -40
- data/lib/squib/errors_warnings/warn_unexpected_params.rb +14 -14
- data/lib/squib/graphics/background.rb +14 -14
- data/lib/squib/graphics/cairo_context_wrapper.rb +115 -115
- data/lib/squib/graphics/embedding_utils.rb +28 -28
- data/lib/squib/graphics/gradient_regex.rb +47 -47
- data/lib/squib/graphics/hand.rb +42 -42
- data/lib/squib/graphics/image.rb +123 -123
- data/lib/squib/graphics/save_doc.rb +77 -77
- data/lib/squib/graphics/save_images.rb +91 -91
- data/lib/squib/graphics/save_pdf.rb +90 -90
- data/lib/squib/graphics/save_sprue.rb +231 -231
- data/lib/squib/graphics/shapes.rb +143 -143
- data/lib/squib/graphics/showcase.rb +85 -85
- data/lib/squib/graphics/text.rb +202 -202
- data/lib/squib/import/csv_importer.rb +45 -45
- data/lib/squib/import/data_frame.rb +108 -108
- data/lib/squib/import/quantity_exploder.rb +17 -17
- data/lib/squib/import/xlsx_importer.rb +28 -28
- data/lib/squib/import/yaml_importer.rb +30 -30
- data/lib/squib/layout_parser.rb +155 -155
- data/lib/squib/progress.rb +38 -38
- data/lib/squib/sample_helpers.rb +34 -34
- data/lib/squib/sprues/crop_line.rb +28 -28
- data/lib/squib/sprues/crop_line_dash.rb +35 -35
- data/lib/squib/sprues/invalid_sprue_definition.rb +9 -9
- data/lib/squib/sprues/sprue.rb +208 -208
- data/lib/squib/sprues/sprue_schema.rb +51 -51
- data/lib/squib/system_fonts.rb +16 -16
- data/lib/squib/version.rb +11 -11
- data/lib/squib.rb +35 -35
- data/samples/autoscale_font/_autoscale_font.rb +98 -98
- data/samples/backend/_backend.rb +26 -26
- data/samples/basic.rb +19 -19
- data/samples/build_groups/build_groups.rb +36 -36
- data/samples/colors/_colors.rb +44 -44
- data/samples/colors/_gradients.rb +34 -34
- data/samples/colors/_switch_color.rb +33 -33
- data/samples/config/config_text_markup.rb +20 -20
- data/samples/config/custom_config.rb +18 -18
- data/samples/data/_csv.rb +33 -33
- data/samples/data/_excel.rb +55 -55
- data/samples/data/_yaml.rb +12 -12
- data/samples/hello_world.rb +6 -6
- data/samples/images/_cairo_access.rb +39 -39
- data/samples/images/_images.rb +104 -104
- data/samples/images/_more_load_images.rb +102 -102
- data/samples/images/_placeholders.rb +48 -48
- data/samples/intro/01_hello.rb +8 -8
- data/samples/intro/02_options.rb +14 -14
- data/samples/intro/03_layout.rb +11 -11
- data/samples/intro/04_arrays.rb +15 -15
- data/samples/intro/05_excel.rb +14 -14
- data/samples/layouts/builtin_layouts.rb +97 -97
- data/samples/layouts/layouts.rb +71 -71
- data/samples/project/src/characters.rb +8 -8
- data/samples/project/src/skills.rb +7 -7
- data/samples/proofs/_tgc_proofs.rb +16 -16
- data/samples/ranges/_ranges.rb +64 -64
- data/samples/saves/_hand.rb +23 -23
- data/samples/saves/_portrait_landscape.rb +23 -23
- data/samples/saves/_save_filenames.rb +28 -28
- data/samples/saves/_save_pdf.rb +29 -29
- data/samples/saves/_saves.rb +75 -75
- data/samples/saves/_showcase.rb +25 -25
- data/samples/shadows/_shadow.rb +71 -71
- data/samples/shapes/_draw_shapes.rb +60 -60
- data/samples/shapes/_proofs.rb +22 -22
- data/samples/sprues/_advanced_sprues.rb +25 -25
- data/samples/sprues/_builtin_sprues.rb +22 -22
- data/samples/sprues/_fold_sheet.rb +30 -30
- data/samples/sprues/_hex_tiles.rb +15 -15
- data/samples/sprues/_mints.rb +11 -11
- data/samples/sprues/_negative_coords.rb +6 -6
- data/samples/sprues/_sprue_example.rb +11 -11
- data/samples/system_font_debug/_list_fonts.rb +14 -14
- data/samples/text/_embed_text.rb +128 -128
- data/samples/text/_text.rb +52 -52
- data/samples/text/_text_options.rb +103 -103
- data/samples/text/bug134.rb +14 -14
- data/samples/units/_cells.rb +50 -50
- data/samples/units/_shorthands.rb +48 -48
- data/samples/units/_units.rb +39 -39
- data/squib.gemspec +58 -58
- metadata +21 -21
data/samples/saves/_saves.rb
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
# require 'squib'
|
|
2
|
-
require_relative '../../lib/squib'
|
|
3
|
-
|
|
4
|
-
# This sample demonstrates how to use the various save methods
|
|
5
|
-
Squib::Deck.new(width: 825, height: 1125, cards: 16) do
|
|
6
|
-
background color: :gray
|
|
7
|
-
rect x: 38, y: 38, width: 750, height: 1050,
|
|
8
|
-
x_radius: 38, y_radius: 38, stroke_width: 2.0, dash: '4 4'
|
|
9
|
-
|
|
10
|
-
text str: (1..16).to_a, x: 220, y: 78, font: 'Arial 18'
|
|
11
|
-
|
|
12
|
-
# Here's what a regular save_png looks like for just the first card
|
|
13
|
-
save_png range: 0, prefix: 'save_png_'
|
|
14
|
-
|
|
15
|
-
# save_png supports trim and trim_radius
|
|
16
|
-
save_png trim: 30, trim_radius: 38,
|
|
17
|
-
range: 0, prefix: 'save_png_trimmed_'
|
|
18
|
-
|
|
19
|
-
# Place on multiple pages over the PDF, with bleed beeing trimmed off
|
|
20
|
-
save_pdf file: 'save-pdf.pdf', margin: 75, gap: 5, trim: 37
|
|
21
|
-
|
|
22
|
-
# PDFs also support arbitrary paper sizes, in pixels or any other supported units
|
|
23
|
-
save_pdf file: 'save-pdf-small.pdf',
|
|
24
|
-
width: '7in', height: '5in',
|
|
25
|
-
range: 0..1
|
|
26
|
-
|
|
27
|
-
# Note that our PNGs still are not trimmed even though the pdf ones were
|
|
28
|
-
save_png range: 1, prefix: 'saves_notrim_'
|
|
29
|
-
|
|
30
|
-
# We can also save our PNGs into a single sheet,
|
|
31
|
-
# rows are calculated based on cols and number of cards
|
|
32
|
-
save_sheet prefix: 'save_single_sheet_',
|
|
33
|
-
columns: 2, margin: 75, gap: 5, trim: 37
|
|
34
|
-
|
|
35
|
-
# Or multiple sheets if rows are also specified
|
|
36
|
-
save_sheet prefix: 'save_sheet_',
|
|
37
|
-
columns: 4, rows: 2,
|
|
38
|
-
margin: 75, gap: 5, trim: 37
|
|
39
|
-
|
|
40
|
-
# Sheets support ranges too
|
|
41
|
-
save_sheet prefix: 'save_sheet_range_',
|
|
42
|
-
range: 0..5,
|
|
43
|
-
columns: 2, rows: 2,
|
|
44
|
-
margin: 75, gap: 5, trim: 37
|
|
45
|
-
|
|
46
|
-
# Sheets can arrange left-to-right and right-to-left
|
|
47
|
-
save_sheet prefix: 'save_sheet_rtl_',
|
|
48
|
-
suffix: '_with_suffix',
|
|
49
|
-
range: 0..1, rtl: true,
|
|
50
|
-
columns: 2, rows: 1,
|
|
51
|
-
margin: 75, gap: 5, trim: 37
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
Squib::Deck.new(width: 100, height: 100, cards: 3) do
|
|
55
|
-
background color: :grey
|
|
56
|
-
text str: 'Hi', font: 'Arial 18'
|
|
57
|
-
|
|
58
|
-
# Test bug 332.
|
|
59
|
-
# When we only have 3 cards but want a 2x4 grid with lots of empty spaces.
|
|
60
|
-
# Buggy behavior was to revert to 1 row and not respect the rows arg.
|
|
61
|
-
save_sheet prefix: 'save_sheet_bug332_', rows: 2, columns: 4
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
# Allow rotating
|
|
65
|
-
Squib::Deck.new(width: 100, height: 50, cards: 8) do
|
|
66
|
-
background color: :white
|
|
67
|
-
rect x: 10, y: 10, width: 80, height: 30
|
|
68
|
-
rect x: 5, y: 5, width: 90, height: 40, stroke_width: 5, stroke_color: :blue
|
|
69
|
-
text y: 2, str: 0..7, font: 'Open Sans Bold 8', align: :center, width: 100
|
|
70
|
-
save_sheet prefix: 'save_sheet_unrotated_', rows: 2, columns: 3
|
|
71
|
-
save_sheet prefix: 'save_sheet_custom_rotate_', rows: 2, columns: 3, rotate: [:clockwise, :counterclockwise] * 4
|
|
72
|
-
save_sheet prefix: 'save_sheet_rotated_', rows: 2, columns: 3, rotate: true
|
|
73
|
-
save_sheet prefix: 'save_sheet_rotated_trimmed_', rows: 2, columns: 3, rotate: true, trim: 5
|
|
74
|
-
save_sheet prefix: 'save_sheet_rotated_trimmed_rtl_', rows: 2, columns: 3, rotate: true, trim: 5, rtl: true
|
|
75
|
-
end
|
|
1
|
+
# require 'squib'
|
|
2
|
+
require_relative '../../lib/squib'
|
|
3
|
+
|
|
4
|
+
# This sample demonstrates how to use the various save methods
|
|
5
|
+
Squib::Deck.new(width: 825, height: 1125, cards: 16) do
|
|
6
|
+
background color: :gray
|
|
7
|
+
rect x: 38, y: 38, width: 750, height: 1050,
|
|
8
|
+
x_radius: 38, y_radius: 38, stroke_width: 2.0, dash: '4 4'
|
|
9
|
+
|
|
10
|
+
text str: (1..16).to_a, x: 220, y: 78, font: 'Arial 18'
|
|
11
|
+
|
|
12
|
+
# Here's what a regular save_png looks like for just the first card
|
|
13
|
+
save_png range: 0, prefix: 'save_png_'
|
|
14
|
+
|
|
15
|
+
# save_png supports trim and trim_radius
|
|
16
|
+
save_png trim: 30, trim_radius: 38,
|
|
17
|
+
range: 0, prefix: 'save_png_trimmed_'
|
|
18
|
+
|
|
19
|
+
# Place on multiple pages over the PDF, with bleed beeing trimmed off
|
|
20
|
+
save_pdf file: 'save-pdf.pdf', margin: 75, gap: 5, trim: 37
|
|
21
|
+
|
|
22
|
+
# PDFs also support arbitrary paper sizes, in pixels or any other supported units
|
|
23
|
+
save_pdf file: 'save-pdf-small.pdf',
|
|
24
|
+
width: '7in', height: '5in',
|
|
25
|
+
range: 0..1
|
|
26
|
+
|
|
27
|
+
# Note that our PNGs still are not trimmed even though the pdf ones were
|
|
28
|
+
save_png range: 1, prefix: 'saves_notrim_'
|
|
29
|
+
|
|
30
|
+
# We can also save our PNGs into a single sheet,
|
|
31
|
+
# rows are calculated based on cols and number of cards
|
|
32
|
+
save_sheet prefix: 'save_single_sheet_',
|
|
33
|
+
columns: 2, margin: 75, gap: 5, trim: 37
|
|
34
|
+
|
|
35
|
+
# Or multiple sheets if rows are also specified
|
|
36
|
+
save_sheet prefix: 'save_sheet_',
|
|
37
|
+
columns: 4, rows: 2,
|
|
38
|
+
margin: 75, gap: 5, trim: 37
|
|
39
|
+
|
|
40
|
+
# Sheets support ranges too
|
|
41
|
+
save_sheet prefix: 'save_sheet_range_',
|
|
42
|
+
range: 0..5,
|
|
43
|
+
columns: 2, rows: 2,
|
|
44
|
+
margin: 75, gap: 5, trim: 37
|
|
45
|
+
|
|
46
|
+
# Sheets can arrange left-to-right and right-to-left
|
|
47
|
+
save_sheet prefix: 'save_sheet_rtl_',
|
|
48
|
+
suffix: '_with_suffix',
|
|
49
|
+
range: 0..1, rtl: true,
|
|
50
|
+
columns: 2, rows: 1,
|
|
51
|
+
margin: 75, gap: 5, trim: 37
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
Squib::Deck.new(width: 100, height: 100, cards: 3) do
|
|
55
|
+
background color: :grey
|
|
56
|
+
text str: 'Hi', font: 'Arial 18'
|
|
57
|
+
|
|
58
|
+
# Test bug 332.
|
|
59
|
+
# When we only have 3 cards but want a 2x4 grid with lots of empty spaces.
|
|
60
|
+
# Buggy behavior was to revert to 1 row and not respect the rows arg.
|
|
61
|
+
save_sheet prefix: 'save_sheet_bug332_', rows: 2, columns: 4
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Allow rotating
|
|
65
|
+
Squib::Deck.new(width: 100, height: 50, cards: 8) do
|
|
66
|
+
background color: :white
|
|
67
|
+
rect x: 10, y: 10, width: 80, height: 30
|
|
68
|
+
rect x: 5, y: 5, width: 90, height: 40, stroke_width: 5, stroke_color: :blue
|
|
69
|
+
text y: 2, str: 0..7, font: 'Open Sans Bold 8', align: :center, width: 100
|
|
70
|
+
save_sheet prefix: 'save_sheet_unrotated_', rows: 2, columns: 3
|
|
71
|
+
save_sheet prefix: 'save_sheet_custom_rotate_', rows: 2, columns: 3, rotate: [:clockwise, :counterclockwise] * 4
|
|
72
|
+
save_sheet prefix: 'save_sheet_rotated_', rows: 2, columns: 3, rotate: true
|
|
73
|
+
save_sheet prefix: 'save_sheet_rotated_trimmed_', rows: 2, columns: 3, rotate: true, trim: 5
|
|
74
|
+
save_sheet prefix: 'save_sheet_rotated_trimmed_rtl_', rows: 2, columns: 3, rotate: true, trim: 5, rtl: true
|
|
75
|
+
end
|
data/samples/saves/_showcase.rb
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
# Showcases are a neat way to show off your cards in a modern way, using a
|
|
4
|
-
# reflection and a persepctive effect to make them look 3D
|
|
5
|
-
Squib::Deck.new(cards: 4) do
|
|
6
|
-
background color: '#CE534D'
|
|
7
|
-
rect fill_color: '#DED4B9', x: 78, y: 78,
|
|
8
|
-
width: '2.25in', height: '3.25in', radius: 32
|
|
9
|
-
text str: %w(Grifter Thief Thug Kingpin),
|
|
10
|
-
font: 'Helvetica,Sans weight=800 40',
|
|
11
|
-
x: 78, y: 78, width: '2.25in', align: :center
|
|
12
|
-
svg file: 'spanner.svg', x: (825 - 500) / 2, y: 500, width: 500, height: 500
|
|
13
|
-
|
|
14
|
-
# Defaults are pretty sensible.
|
|
15
|
-
showcase file: 'showcase.png'
|
|
16
|
-
|
|
17
|
-
# Here's a more complete example.
|
|
18
|
-
# Tons of ways to tweak it if you like - check the docs.
|
|
19
|
-
showcase trim: 32, trim_radius: 32, margin: 100, face: :right,
|
|
20
|
-
scale: 0.85, offset: 0.95, fill_color: :black,
|
|
21
|
-
reflect_offset: 25, reflect_strength: 0.1, reflect_percent: 0.4,
|
|
22
|
-
file: 'showcase2.png'
|
|
23
|
-
|
|
24
|
-
save_png prefix: 'showcase_individual_' # to show that they're not trimmed
|
|
25
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# Showcases are a neat way to show off your cards in a modern way, using a
|
|
4
|
+
# reflection and a persepctive effect to make them look 3D
|
|
5
|
+
Squib::Deck.new(cards: 4) do
|
|
6
|
+
background color: '#CE534D'
|
|
7
|
+
rect fill_color: '#DED4B9', x: 78, y: 78,
|
|
8
|
+
width: '2.25in', height: '3.25in', radius: 32
|
|
9
|
+
text str: %w(Grifter Thief Thug Kingpin),
|
|
10
|
+
font: 'Helvetica,Sans weight=800 40',
|
|
11
|
+
x: 78, y: 78, width: '2.25in', align: :center
|
|
12
|
+
svg file: 'spanner.svg', x: (825 - 500) / 2, y: 500, width: 500, height: 500
|
|
13
|
+
|
|
14
|
+
# Defaults are pretty sensible.
|
|
15
|
+
showcase file: 'showcase.png'
|
|
16
|
+
|
|
17
|
+
# Here's a more complete example.
|
|
18
|
+
# Tons of ways to tweak it if you like - check the docs.
|
|
19
|
+
showcase trim: 32, trim_radius: 32, margin: 100, face: :right,
|
|
20
|
+
scale: 0.85, offset: 0.95, fill_color: :black,
|
|
21
|
+
reflect_offset: 25, reflect_strength: 0.1, reflect_percent: 0.4,
|
|
22
|
+
file: 'showcase2.png'
|
|
23
|
+
|
|
24
|
+
save_png prefix: 'showcase_individual_' # to show that they're not trimmed
|
|
25
|
+
end
|
data/samples/shadows/_shadow.rb
CHANGED
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
# The save_png method supports drop shadows on the final save
|
|
3
|
-
# This is useful for when you want to generate images for your rulebook
|
|
4
|
-
|
|
5
|
-
Squib::Deck.new(width: 100, height: 150) do
|
|
6
|
-
background color: '#abc'
|
|
7
|
-
svg file: '../spanner.svg',
|
|
8
|
-
x: 'middle - 25', y: 'middle - 25',
|
|
9
|
-
width: 50, height: 50
|
|
10
|
-
|
|
11
|
-
# Shadows off by default, i.e. shadow_radius is nil
|
|
12
|
-
# So our final dimensions are 100 - 2*15 and 150-2*15
|
|
13
|
-
save_png prefix: 'no_shadow_', trim: 15, trim_radius: 15
|
|
14
|
-
|
|
15
|
-
# Here's a nice-looking drop shadow
|
|
16
|
-
# Defaults are designed to be generally good, so I recommend just
|
|
17
|
-
# trying out a shadow_radius of 3 to 10 and see how it looks first
|
|
18
|
-
save_png prefix: 'with_shadow_', trim: 15, trim_radius: 15,
|
|
19
|
-
shadow_radius: 8,
|
|
20
|
-
shadow_offset_x: 3, shadow_offset_y: 3, # about r / 2.5 looks good
|
|
21
|
-
shadow_trim: 2.5, # about r/ 3 looks good
|
|
22
|
-
shadow_color: '#101010aa' #tip: start the shadow color kinda transparent
|
|
23
|
-
|
|
24
|
-
# Don't want a blur? Use a radius of 0
|
|
25
|
-
save_png prefix: 'no_blur_', trim: 15, trim_radius: 15,
|
|
26
|
-
shadow_radius: 0
|
|
27
|
-
|
|
28
|
-
# Ok this next stop is crazytown, but it does give you ultimate control
|
|
29
|
-
# Remember that all Squib colors can also be gradients.
|
|
30
|
-
# They can be clunky but they do work here.
|
|
31
|
-
# - x,y's are centered in the card itself
|
|
32
|
-
# - stops go from fully empty to fully black
|
|
33
|
-
# - we need to still turn on radius to get the effect
|
|
34
|
-
# - but, this makes the upper-left corner not have a glowing effect and
|
|
35
|
-
# have a harder edge, which (to my eye at least) feels more realistic
|
|
36
|
-
# since the card would obscure the upper-left shadow at that angle
|
|
37
|
-
# - this also allows you have a larger, softer blur without making it look
|
|
38
|
-
# like it's glowing
|
|
39
|
-
#
|
|
40
|
-
# Oh just because it's easier to write we can use a ruby heredoc
|
|
41
|
-
save_png prefix: 'gradient_blur_', trim: 15, trim_radius: 15,
|
|
42
|
-
shadow_radius: 10,
|
|
43
|
-
shadow_color: <<~EOS
|
|
44
|
-
(25,25)
|
|
45
|
-
(175,175)
|
|
46
|
-
#0000@0.0
|
|
47
|
-
#000f@1.0
|
|
48
|
-
EOS
|
|
49
|
-
|
|
50
|
-
# This one looks weird I know but it's for regression testing
|
|
51
|
-
save_png prefix: 'with_shadow_test_',
|
|
52
|
-
trim: 15, trim_radius: 15, rotate: :clockwise,
|
|
53
|
-
shadow_offset_x: 5, shadow_offset_y: 25, shadow_radius: 10,
|
|
54
|
-
shadow_trim: 10,
|
|
55
|
-
shadow_color: '#123'
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
Squib::Deck.new(width:50, height: 50) do
|
|
59
|
-
|
|
60
|
-
# What if we had a transparent card but just some shapes?
|
|
61
|
-
# Like chits or something
|
|
62
|
-
|
|
63
|
-
# background defaults to fully transparent here
|
|
64
|
-
|
|
65
|
-
png file: 'doodle.png'
|
|
66
|
-
|
|
67
|
-
save_png prefix: 'transparent_bg_shadow_',
|
|
68
|
-
shadow_radius: 2,
|
|
69
|
-
shadow_offset_x: 2, shadow_offset_y: 2,
|
|
70
|
-
shadow_color: :black
|
|
71
|
-
|
|
1
|
+
require 'squib'
|
|
2
|
+
# The save_png method supports drop shadows on the final save
|
|
3
|
+
# This is useful for when you want to generate images for your rulebook
|
|
4
|
+
|
|
5
|
+
Squib::Deck.new(width: 100, height: 150) do
|
|
6
|
+
background color: '#abc'
|
|
7
|
+
svg file: '../spanner.svg',
|
|
8
|
+
x: 'middle - 25', y: 'middle - 25',
|
|
9
|
+
width: 50, height: 50
|
|
10
|
+
|
|
11
|
+
# Shadows off by default, i.e. shadow_radius is nil
|
|
12
|
+
# So our final dimensions are 100 - 2*15 and 150-2*15
|
|
13
|
+
save_png prefix: 'no_shadow_', trim: 15, trim_radius: 15
|
|
14
|
+
|
|
15
|
+
# Here's a nice-looking drop shadow
|
|
16
|
+
# Defaults are designed to be generally good, so I recommend just
|
|
17
|
+
# trying out a shadow_radius of 3 to 10 and see how it looks first
|
|
18
|
+
save_png prefix: 'with_shadow_', trim: 15, trim_radius: 15,
|
|
19
|
+
shadow_radius: 8,
|
|
20
|
+
shadow_offset_x: 3, shadow_offset_y: 3, # about r / 2.5 looks good
|
|
21
|
+
shadow_trim: 2.5, # about r/ 3 looks good
|
|
22
|
+
shadow_color: '#101010aa' #tip: start the shadow color kinda transparent
|
|
23
|
+
|
|
24
|
+
# Don't want a blur? Use a radius of 0
|
|
25
|
+
save_png prefix: 'no_blur_', trim: 15, trim_radius: 15,
|
|
26
|
+
shadow_radius: 0
|
|
27
|
+
|
|
28
|
+
# Ok this next stop is crazytown, but it does give you ultimate control
|
|
29
|
+
# Remember that all Squib colors can also be gradients.
|
|
30
|
+
# They can be clunky but they do work here.
|
|
31
|
+
# - x,y's are centered in the card itself
|
|
32
|
+
# - stops go from fully empty to fully black
|
|
33
|
+
# - we need to still turn on radius to get the effect
|
|
34
|
+
# - but, this makes the upper-left corner not have a glowing effect and
|
|
35
|
+
# have a harder edge, which (to my eye at least) feels more realistic
|
|
36
|
+
# since the card would obscure the upper-left shadow at that angle
|
|
37
|
+
# - this also allows you have a larger, softer blur without making it look
|
|
38
|
+
# like it's glowing
|
|
39
|
+
#
|
|
40
|
+
# Oh just because it's easier to write we can use a ruby heredoc
|
|
41
|
+
save_png prefix: 'gradient_blur_', trim: 15, trim_radius: 15,
|
|
42
|
+
shadow_radius: 10,
|
|
43
|
+
shadow_color: <<~EOS
|
|
44
|
+
(25,25)
|
|
45
|
+
(175,175)
|
|
46
|
+
#0000@0.0
|
|
47
|
+
#000f@1.0
|
|
48
|
+
EOS
|
|
49
|
+
|
|
50
|
+
# This one looks weird I know but it's for regression testing
|
|
51
|
+
save_png prefix: 'with_shadow_test_',
|
|
52
|
+
trim: 15, trim_radius: 15, rotate: :clockwise,
|
|
53
|
+
shadow_offset_x: 5, shadow_offset_y: 25, shadow_radius: 10,
|
|
54
|
+
shadow_trim: 10,
|
|
55
|
+
shadow_color: '#123'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
Squib::Deck.new(width:50, height: 50) do
|
|
59
|
+
|
|
60
|
+
# What if we had a transparent card but just some shapes?
|
|
61
|
+
# Like chits or something
|
|
62
|
+
|
|
63
|
+
# background defaults to fully transparent here
|
|
64
|
+
|
|
65
|
+
png file: 'doodle.png'
|
|
66
|
+
|
|
67
|
+
save_png prefix: 'transparent_bg_shadow_',
|
|
68
|
+
shadow_radius: 2,
|
|
69
|
+
shadow_offset_x: 2, shadow_offset_y: 2,
|
|
70
|
+
shadow_color: :black
|
|
71
|
+
|
|
72
72
|
end
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
Squib::Deck.new do
|
|
4
|
-
background color: :white
|
|
5
|
-
|
|
6
|
-
grid x: 10, y: 10, width: 50, height: 50, stroke_color: '#0066FF', stroke_width: 1.5
|
|
7
|
-
grid x: 10, y: 10, width: 200, height: 200, stroke_color: '#0066FF', stroke_width: 3
|
|
8
|
-
|
|
9
|
-
rect x: 305, y: 105, width: 200, height: 50, dash: '4 2'
|
|
10
|
-
|
|
11
|
-
rect x: 300, y: 300, width: 400, height: 400,
|
|
12
|
-
fill_color: :blue, stroke_color: :red, stroke_width: 50.0,
|
|
13
|
-
join: 'bevel'
|
|
14
|
-
|
|
15
|
-
rect x: 550, y: 105, width: 100, height: 100,
|
|
16
|
-
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
17
|
-
|
|
18
|
-
ellipse x: 675, y: 105, width: 65, height: 100,
|
|
19
|
-
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
20
|
-
|
|
21
|
-
text str: 'Shapes!' # regression test for bug 248
|
|
22
|
-
|
|
23
|
-
circle x: 450, y: 600, radius: 75,
|
|
24
|
-
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
25
|
-
|
|
26
|
-
circle x: 600, y: 600, radius: 75, # partial circle
|
|
27
|
-
arc_start: 1, arc_end: 4, arc_direction: :counter_clockwise,
|
|
28
|
-
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
29
|
-
|
|
30
|
-
triangle x1: 50, y1: 50,
|
|
31
|
-
x2: 150, y2: 150,
|
|
32
|
-
x3: 75, y3: 250,
|
|
33
|
-
fill_color: :gray, stroke_color: :green, stroke_width: 3.0
|
|
34
|
-
|
|
35
|
-
line x1: 50, y1: 550,
|
|
36
|
-
x2: 150, y2: 650,
|
|
37
|
-
stroke_width: 25.0
|
|
38
|
-
|
|
39
|
-
curve x1: 50, y1: 850, cx1: 150, cy1: 700,
|
|
40
|
-
x2: 625, y2: 900, cx2: 150, cy2: 700,
|
|
41
|
-
stroke_width: 12.0, stroke_color: :cyan,
|
|
42
|
-
fill_color: :burgundy, cap: 'round'
|
|
43
|
-
|
|
44
|
-
ellipse x: 50, y: 925, width: 200, height: 100,
|
|
45
|
-
stroke_width: 5.0, stroke_color: :cyan,
|
|
46
|
-
fill_color: :burgundy
|
|
47
|
-
|
|
48
|
-
star x: 300, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
49
|
-
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 5
|
|
50
|
-
|
|
51
|
-
# default draw is fill-then-stroke. Can be changed to stroke-then-fill
|
|
52
|
-
star x: 375, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
53
|
-
fill_color: :cyan, stroke_color: :burgundy,
|
|
54
|
-
stroke_width: 5, stroke_strategy: :stroke_first
|
|
55
|
-
|
|
56
|
-
polygon x: 500, y: 1000, n: 5, radius: 25, angle: Math::PI / 2,
|
|
57
|
-
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 2
|
|
58
|
-
|
|
59
|
-
save_png prefix: 'shape_'
|
|
60
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new do
|
|
4
|
+
background color: :white
|
|
5
|
+
|
|
6
|
+
grid x: 10, y: 10, width: 50, height: 50, stroke_color: '#0066FF', stroke_width: 1.5
|
|
7
|
+
grid x: 10, y: 10, width: 200, height: 200, stroke_color: '#0066FF', stroke_width: 3
|
|
8
|
+
|
|
9
|
+
rect x: 305, y: 105, width: 200, height: 50, dash: '4 2'
|
|
10
|
+
|
|
11
|
+
rect x: 300, y: 300, width: 400, height: 400,
|
|
12
|
+
fill_color: :blue, stroke_color: :red, stroke_width: 50.0,
|
|
13
|
+
join: 'bevel'
|
|
14
|
+
|
|
15
|
+
rect x: 550, y: 105, width: 100, height: 100,
|
|
16
|
+
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
17
|
+
|
|
18
|
+
ellipse x: 675, y: 105, width: 65, height: 100,
|
|
19
|
+
stroke_width: 5, stroke_color: :orange, angle: -0.2
|
|
20
|
+
|
|
21
|
+
text str: 'Shapes!' # regression test for bug 248
|
|
22
|
+
|
|
23
|
+
circle x: 450, y: 600, radius: 75,
|
|
24
|
+
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
25
|
+
|
|
26
|
+
circle x: 600, y: 600, radius: 75, # partial circle
|
|
27
|
+
arc_start: 1, arc_end: 4, arc_direction: :counter_clockwise,
|
|
28
|
+
fill_color: :gray, stroke_color: :green, stroke_width: 8.0
|
|
29
|
+
|
|
30
|
+
triangle x1: 50, y1: 50,
|
|
31
|
+
x2: 150, y2: 150,
|
|
32
|
+
x3: 75, y3: 250,
|
|
33
|
+
fill_color: :gray, stroke_color: :green, stroke_width: 3.0
|
|
34
|
+
|
|
35
|
+
line x1: 50, y1: 550,
|
|
36
|
+
x2: 150, y2: 650,
|
|
37
|
+
stroke_width: 25.0
|
|
38
|
+
|
|
39
|
+
curve x1: 50, y1: 850, cx1: 150, cy1: 700,
|
|
40
|
+
x2: 625, y2: 900, cx2: 150, cy2: 700,
|
|
41
|
+
stroke_width: 12.0, stroke_color: :cyan,
|
|
42
|
+
fill_color: :burgundy, cap: 'round'
|
|
43
|
+
|
|
44
|
+
ellipse x: 50, y: 925, width: 200, height: 100,
|
|
45
|
+
stroke_width: 5.0, stroke_color: :cyan,
|
|
46
|
+
fill_color: :burgundy
|
|
47
|
+
|
|
48
|
+
star x: 300, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
49
|
+
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 5
|
|
50
|
+
|
|
51
|
+
# default draw is fill-then-stroke. Can be changed to stroke-then-fill
|
|
52
|
+
star x: 375, y: 1000, n: 5, inner_radius: 15, outer_radius: 40,
|
|
53
|
+
fill_color: :cyan, stroke_color: :burgundy,
|
|
54
|
+
stroke_width: 5, stroke_strategy: :stroke_first
|
|
55
|
+
|
|
56
|
+
polygon x: 500, y: 1000, n: 5, radius: 25, angle: Math::PI / 2,
|
|
57
|
+
fill_color: :cyan, stroke_color: :burgundy, stroke_width: 2
|
|
58
|
+
|
|
59
|
+
save_png prefix: 'shape_'
|
|
60
|
+
end
|
data/samples/shapes/_proofs.rb
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
Squib::Deck.new do
|
|
4
|
-
background color: :white
|
|
5
|
-
safe_zone # defaults TheGameCrafter 0.25in around the edge, rounded corners
|
|
6
|
-
cut_zone # defaults TheGameCrafter 0.125in around the edge
|
|
7
|
-
|
|
8
|
-
text str: 'Poker card with proof lines', x: '0.25in', y: '0.25in'
|
|
9
|
-
save_png prefix: 'proof_poker_'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Squib::Deck.new(width:'2in', height: '1in')do
|
|
14
|
-
background color: :white
|
|
15
|
-
safe_zone stroke_color: :purple, margin: '0.1in'
|
|
16
|
-
cut_zone stroke_color: :purple, margin: '0.05in'
|
|
17
|
-
|
|
18
|
-
text str: 'Small card with proof lines', x: '0.1in', y: '0.1in',
|
|
19
|
-
font: 'Arial 10'
|
|
20
|
-
|
|
21
|
-
save_png prefix: 'proof_tiny_'
|
|
22
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new do
|
|
4
|
+
background color: :white
|
|
5
|
+
safe_zone # defaults TheGameCrafter 0.25in around the edge, rounded corners
|
|
6
|
+
cut_zone # defaults TheGameCrafter 0.125in around the edge
|
|
7
|
+
|
|
8
|
+
text str: 'Poker card with proof lines', x: '0.25in', y: '0.25in'
|
|
9
|
+
save_png prefix: 'proof_poker_'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Squib::Deck.new(width:'2in', height: '1in')do
|
|
14
|
+
background color: :white
|
|
15
|
+
safe_zone stroke_color: :purple, margin: '0.1in'
|
|
16
|
+
cut_zone stroke_color: :purple, margin: '0.05in'
|
|
17
|
+
|
|
18
|
+
text str: 'Small card with proof lines', x: '0.1in', y: '0.1in',
|
|
19
|
+
font: 'Arial 10'
|
|
20
|
+
|
|
21
|
+
save_png prefix: 'proof_tiny_'
|
|
22
|
+
end
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
# require 'squib'
|
|
2
|
-
require_relative '../../lib/squib'
|
|
3
|
-
|
|
4
|
-
# This is a more advanced example of Sprues
|
|
5
|
-
# (mostly so we can have a torturous regression test)
|
|
6
|
-
# - Uses a custom sprue
|
|
7
|
-
# - Weird rotations
|
|
8
|
-
# - Center-positioned
|
|
9
|
-
# - Multiple pages
|
|
10
|
-
Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
|
|
11
|
-
background color: :blue #blue never shows up! Yay clipping...
|
|
12
|
-
rect stroke_width: 5, stroke_color: :red, fill_color: :salmon
|
|
13
|
-
cut_zone margin: '0.125in',
|
|
14
|
-
stroke_width: 2, stroke_color: :purple
|
|
15
|
-
|
|
16
|
-
circle x: width/2, y: height/2, radius: 20 # midpoint
|
|
17
|
-
|
|
18
|
-
text str: (0..9).map{ |i| "Card! #{i}\n\n" },
|
|
19
|
-
font: 'Sans 32', align: :center, valign: :middle,
|
|
20
|
-
height: :deck, width: :deck
|
|
21
|
-
|
|
22
|
-
save_sheet sprue: 'my_sprues/weird_sprue.yml',
|
|
23
|
-
trim: '0.2in', trim_radius: '10pt',
|
|
24
|
-
prefix: "advanced_sprues_"
|
|
25
|
-
end
|
|
1
|
+
# require 'squib'
|
|
2
|
+
require_relative '../../lib/squib'
|
|
3
|
+
|
|
4
|
+
# This is a more advanced example of Sprues
|
|
5
|
+
# (mostly so we can have a torturous regression test)
|
|
6
|
+
# - Uses a custom sprue
|
|
7
|
+
# - Weird rotations
|
|
8
|
+
# - Center-positioned
|
|
9
|
+
# - Multiple pages
|
|
10
|
+
Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
|
|
11
|
+
background color: :blue #blue never shows up! Yay clipping...
|
|
12
|
+
rect stroke_width: 5, stroke_color: :red, fill_color: :salmon
|
|
13
|
+
cut_zone margin: '0.125in',
|
|
14
|
+
stroke_width: 2, stroke_color: :purple
|
|
15
|
+
|
|
16
|
+
circle x: width/2, y: height/2, radius: 20 # midpoint
|
|
17
|
+
|
|
18
|
+
text str: (0..9).map{ |i| "Card! #{i}\n\n" },
|
|
19
|
+
font: 'Sans 32', align: :center, valign: :middle,
|
|
20
|
+
height: :deck, width: :deck
|
|
21
|
+
|
|
22
|
+
save_sheet sprue: 'my_sprues/weird_sprue.yml',
|
|
23
|
+
trim: '0.2in', trim_radius: '10pt',
|
|
24
|
+
prefix: "advanced_sprues_"
|
|
25
|
+
end
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
require 'squib'
|
|
2
|
-
|
|
3
|
-
Squib::Deck.new(width: '50mm', height: '70mm', cards: 9) do
|
|
4
|
-
background color: :white
|
|
5
|
-
rect stroke_width: 5, stroke_color: :red
|
|
6
|
-
text str: (0..9).map{ |i| "Card! #{i}\n50x77mm" },
|
|
7
|
-
font: 'Sans 32', align: :center, valign: :middle,
|
|
8
|
-
height: :deck, width: :deck
|
|
9
|
-
|
|
10
|
-
%w(
|
|
11
|
-
a4_poker_card_8up.yml
|
|
12
|
-
a4_euro_card.yml
|
|
13
|
-
a4_poker_card_9up.yml
|
|
14
|
-
a4_usa_card.yml
|
|
15
|
-
letter_poker_card_9up.yml
|
|
16
|
-
printplaygames_18up.yml
|
|
17
|
-
drivethrucards_1up.yml
|
|
18
|
-
).each do |builtin|
|
|
19
|
-
save_sheet sprue: builtin, prefix: "sprue_#{builtin}_"
|
|
20
|
-
save_pdf sprue: builtin, file: "sprue_#{builtin}_"
|
|
21
|
-
end
|
|
22
|
-
end
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new(width: '50mm', height: '70mm', cards: 9) do
|
|
4
|
+
background color: :white
|
|
5
|
+
rect stroke_width: 5, stroke_color: :red
|
|
6
|
+
text str: (0..9).map{ |i| "Card! #{i}\n50x77mm" },
|
|
7
|
+
font: 'Sans 32', align: :center, valign: :middle,
|
|
8
|
+
height: :deck, width: :deck
|
|
9
|
+
|
|
10
|
+
%w(
|
|
11
|
+
a4_poker_card_8up.yml
|
|
12
|
+
a4_euro_card.yml
|
|
13
|
+
a4_poker_card_9up.yml
|
|
14
|
+
a4_usa_card.yml
|
|
15
|
+
letter_poker_card_9up.yml
|
|
16
|
+
printplaygames_18up.yml
|
|
17
|
+
drivethrucards_1up.yml
|
|
18
|
+
).each do |builtin|
|
|
19
|
+
save_sheet sprue: builtin, prefix: "sprue_#{builtin}_"
|
|
20
|
+
save_pdf sprue: builtin, file: "sprue_#{builtin}_"
|
|
21
|
+
end
|
|
22
|
+
end
|