squib 0.14.2 → 0.14.3.pre1

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.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +41 -41
  3. data/.travis.yml +19 -19
  4. data/CHANGELOG.md +366 -357
  5. data/CONTRIBUTING.md +40 -40
  6. data/Gemfile +2 -2
  7. data/LICENSE.txt +22 -22
  8. data/README.md +121 -121
  9. data/RELEASE TODO.md +21 -21
  10. data/Rakefile +48 -48
  11. data/appveyor.yml +24 -24
  12. data/bin/squib +4 -4
  13. data/lib/squib.rb +32 -32
  14. data/lib/squib/api/background.rb +15 -15
  15. data/lib/squib/api/data.rb +137 -137
  16. data/lib/squib/api/groups.rb +54 -54
  17. data/lib/squib/api/image.rb +49 -49
  18. data/lib/squib/api/save.rb +83 -83
  19. data/lib/squib/api/settings.rb +21 -21
  20. data/lib/squib/api/shapes.rb +124 -124
  21. data/lib/squib/api/text.rb +25 -25
  22. data/lib/squib/api/text_embed.rb +71 -71
  23. data/lib/squib/api/units.rb +27 -27
  24. data/lib/squib/args/arg_loader.rb +126 -126
  25. data/lib/squib/args/box.rb +55 -55
  26. data/lib/squib/args/card_range.rb +32 -32
  27. data/lib/squib/args/color_validator.rb +12 -12
  28. data/lib/squib/args/coords.rb +35 -35
  29. data/lib/squib/args/csv_opts.rb +25 -25
  30. data/lib/squib/args/dir_validator.rb +16 -16
  31. data/lib/squib/args/draw.rb +92 -92
  32. data/lib/squib/args/embed_adjust.rb +25 -25
  33. data/lib/squib/args/embed_key.rb +17 -17
  34. data/lib/squib/args/hand_special.rb +37 -37
  35. data/lib/squib/args/import.rb +40 -40
  36. data/lib/squib/args/input_file.rb +37 -37
  37. data/lib/squib/args/paint.rb +44 -44
  38. data/lib/squib/args/paragraph.rb +116 -116
  39. data/lib/squib/args/save_batch.rb +63 -63
  40. data/lib/squib/args/scale_box.rb +53 -53
  41. data/lib/squib/args/sheet.rb +172 -172
  42. data/lib/squib/args/showcase_special.rb +38 -38
  43. data/lib/squib/args/sprue_file.rb +44 -44
  44. data/lib/squib/args/svg_special.rb +37 -37
  45. data/lib/squib/args/transform.rb +61 -61
  46. data/lib/squib/args/typographer.rb +119 -119
  47. data/lib/squib/args/unit_conversion.rb +29 -29
  48. data/lib/squib/builtin/layouts/economy.yml +85 -85
  49. data/lib/squib/builtin/layouts/fantasy.yml +101 -101
  50. data/lib/squib/builtin/layouts/hand.yml +62 -62
  51. data/lib/squib/builtin/layouts/party.yml +94 -94
  52. data/lib/squib/builtin/layouts/playing-card.yml +35 -35
  53. data/lib/squib/builtin/layouts/tuck_box.yml +46 -46
  54. data/lib/squib/builtin/projects/advanced/.gitignore +4 -4
  55. data/lib/squib/builtin/projects/advanced/ABOUT.md +19 -19
  56. data/lib/squib/builtin/projects/advanced/Gemfile +11 -11
  57. data/lib/squib/builtin/projects/advanced/Guardfile +21 -21
  58. data/lib/squib/builtin/projects/advanced/IDEAS.md +22 -22
  59. data/lib/squib/builtin/projects/advanced/PLAYTESTING.md +26 -26
  60. data/lib/squib/builtin/projects/advanced/Rakefile +27 -27
  61. data/lib/squib/builtin/projects/advanced/config.yml +53 -49
  62. data/lib/squib/builtin/projects/advanced/docs/PNP NOTES.md +3 -3
  63. data/lib/squib/builtin/projects/advanced/docs/RULES.md +21 -21
  64. data/lib/squib/builtin/projects/advanced/img/example.svg +60 -60
  65. data/lib/squib/builtin/projects/advanced/layouts/deck.yml +27 -27
  66. data/lib/squib/builtin/projects/advanced/src/deck.rb +34 -34
  67. data/lib/squib/builtin/projects/advanced/src/version.rb +3 -3
  68. data/lib/squib/builtin/projects/basic/.gitignore +4 -4
  69. data/lib/squib/builtin/projects/basic/ABOUT.md +19 -19
  70. data/lib/squib/builtin/projects/basic/Gemfile +3 -3
  71. data/lib/squib/builtin/projects/basic/IDEAS.md +22 -22
  72. data/lib/squib/builtin/projects/basic/PLAYTESTING.md +26 -26
  73. data/lib/squib/builtin/projects/basic/PNP NOTES.md +3 -3
  74. data/lib/squib/builtin/projects/basic/RULES.md +21 -21
  75. data/lib/squib/builtin/projects/basic/Rakefile +7 -7
  76. data/lib/squib/builtin/projects/basic/config.yml +53 -49
  77. data/lib/squib/builtin/projects/basic/deck.rb +6 -6
  78. data/lib/squib/builtin/sprues/a4_euro_card.yml +42 -42
  79. data/lib/squib/builtin/sprues/a4_poker_card_8up.yml +40 -40
  80. data/lib/squib/builtin/sprues/a4_poker_card_9up.yml +42 -42
  81. data/lib/squib/builtin/sprues/a4_usa_card.yml +42 -42
  82. data/lib/squib/builtin/sprues/drivethrucards_1up.yml +10 -10
  83. data/lib/squib/builtin/sprues/letter_poker_card_9up.yml +25 -25
  84. data/lib/squib/builtin/sprues/letter_poker_foldable_8up.yml +52 -52
  85. data/lib/squib/builtin/sprues/printplaygames_18up.yml +68 -68
  86. data/lib/squib/card.rb +75 -75
  87. data/lib/squib/commands/cli.rb +39 -39
  88. data/lib/squib/commands/data/template_option.rb +109 -109
  89. data/lib/squib/commands/make_sprue.rb +275 -275
  90. data/lib/squib/commands/new.rb +77 -77
  91. data/lib/squib/conf.rb +144 -139
  92. data/lib/squib/constants.rb +17 -17
  93. data/lib/squib/deck.rb +116 -116
  94. data/lib/squib/graphics/background.rb +14 -14
  95. data/lib/squib/graphics/cairo_context_wrapper.rb +113 -113
  96. data/lib/squib/graphics/embedding_utils.rb +28 -28
  97. data/lib/squib/graphics/gradient_regex.rb +47 -47
  98. data/lib/squib/graphics/hand.rb +42 -42
  99. data/lib/squib/graphics/image.rb +129 -108
  100. data/lib/squib/graphics/save_doc.rb +61 -61
  101. data/lib/squib/graphics/save_images.rb +52 -52
  102. data/lib/squib/graphics/save_pdf.rb +90 -90
  103. data/lib/squib/graphics/save_sprue.rb +204 -204
  104. data/lib/squib/graphics/shapes.rb +143 -143
  105. data/lib/squib/graphics/showcase.rb +85 -85
  106. data/lib/squib/graphics/text.rb +174 -174
  107. data/lib/squib/import/data_frame.rb +108 -108
  108. data/lib/squib/layout_parser.rb +138 -138
  109. data/lib/squib/progress.rb +38 -38
  110. data/lib/squib/sample_helpers.rb +34 -34
  111. data/lib/squib/sprues/crop_line.rb +28 -28
  112. data/lib/squib/sprues/crop_line_dash.rb +35 -35
  113. data/lib/squib/sprues/invalid_sprue_definition.rb +9 -9
  114. data/lib/squib/sprues/sprue.rb +203 -203
  115. data/lib/squib/sprues/sprue_schema.rb +48 -48
  116. data/lib/squib/version.rb +10 -10
  117. data/samples/autoscale_font/_autoscale_font.rb +29 -29
  118. data/samples/backend/_backend.rb +26 -26
  119. data/samples/basic.rb +19 -19
  120. data/samples/bug256/_bug256.rb +13 -0
  121. data/samples/build_groups/build_groups.rb +36 -36
  122. data/samples/colors/_colors.rb +38 -38
  123. data/samples/colors/_gradients.rb +34 -34
  124. data/samples/config/config_text_markup.rb +20 -20
  125. data/samples/config/custom_config.rb +18 -18
  126. data/samples/data/_csv.rb +33 -33
  127. data/samples/data/_excel.rb +55 -55
  128. data/samples/data/_yaml.rb +12 -12
  129. data/samples/hello_world.rb +6 -6
  130. data/samples/images/_cairo_access.rb +39 -39
  131. data/samples/images/_images.rb +104 -104
  132. data/samples/images/_more_load_images.rb +102 -102
  133. data/samples/intro/01_hello.rb +8 -8
  134. data/samples/intro/02_options.rb +14 -14
  135. data/samples/intro/03_layout.rb +11 -11
  136. data/samples/intro/04_arrays.rb +15 -15
  137. data/samples/intro/05_excel.rb +14 -14
  138. data/samples/layouts/builtin_layouts.rb +97 -97
  139. data/samples/layouts/layouts.rb +71 -71
  140. data/samples/project/src/characters.rb +8 -8
  141. data/samples/project/src/skills.rb +7 -7
  142. data/samples/proofs/_tgc_proofs.rb +16 -16
  143. data/samples/ranges/_ranges.rb +64 -64
  144. data/samples/saves/_hand.rb +23 -23
  145. data/samples/saves/_portrait_landscape.rb +23 -23
  146. data/samples/saves/_save_pdf.rb +29 -29
  147. data/samples/saves/_saves.rb +51 -51
  148. data/samples/saves/_showcase.rb +25 -25
  149. data/samples/shapes/_draw_shapes.rb +60 -60
  150. data/samples/shapes/_proofs.rb +22 -22
  151. data/samples/sprues/_advanced_sprues.rb +24 -24
  152. data/samples/sprues/_builtin_sprues.rb +21 -21
  153. data/samples/sprues/_fold_sheet.rb +27 -27
  154. data/samples/sprues/_hex_tiles.rb +15 -15
  155. data/samples/sprues/_mints.rb +11 -11
  156. data/samples/sprues/_sprue_example.rb +11 -11
  157. data/samples/text/_embed_text.rb +128 -128
  158. data/samples/text/_text.rb +47 -47
  159. data/samples/text/_text_options.rb +102 -102
  160. data/samples/text/bug134.rb +14 -14
  161. data/samples/units/_units.rb +32 -32
  162. data/squib.gemspec +52 -52
  163. metadata +51 -48
@@ -1,51 +1,51 @@
1
- require 'squib'
2
-
3
- # This sample demonstrates how to use the various save methods
4
-
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: 3.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
- range: 0..1, rtl: true,
49
- columns: 2, rows: 1,
50
- margin: 75, gap: 5, trim: 37
51
- end
1
+ require 'squib'
2
+
3
+ # This sample demonstrates how to use the various save methods
4
+
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: 3.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
+ range: 0..1, rtl: true,
49
+ columns: 2, rows: 1,
50
+ margin: 75, gap: 5, trim: 37
51
+ end
@@ -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
@@ -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, angle: 0.1
7
- grid x: 10, y: 10, width: 200, height: 200, stroke_color: '#0066FF', stroke_width: 3, angle: 0.1
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, angle: 0.1
7
+ grid x: 10, y: 10, width: 200, height: 200, stroke_color: '#0066FF', stroke_width: 3, angle: 0.1
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,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,24 +1,24 @@
1
- require 'squib'
2
-
3
- # This is a more advanced example of Sprues
4
- # (mostly so we can have a torturous regression test)
5
- # - Uses a custom sprue
6
- # - Weird rotations
7
- # - Center-positioned
8
- # - Multiple pages
9
- Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
10
- background color: :blue #blue never shows up! Yay clipping...
11
- rect stroke_width: 5, stroke_color: :red, fill_color: :salmon
12
- cut_zone margin: '0.125in',
13
- stroke_width: 2, stroke_color: :purple
14
-
15
- circle x: width/2, y: height/2, radius: 20 # midpoint
16
-
17
- text str: (0..9).map{ |i| "Card #{i}\n\n" },
18
- font: 'Sans 32', align: :center, valign: :middle,
19
- height: :deck, width: :deck
20
-
21
- save_sheet sprue: 'my_sprues/weird_sprue.yml',
22
- trim: '0.2in', trim_radius: '10pt',
23
- prefix: "advanced_sprues_"
24
- end
1
+ require 'squib'
2
+
3
+ # This is a more advanced example of Sprues
4
+ # (mostly so we can have a torturous regression test)
5
+ # - Uses a custom sprue
6
+ # - Weird rotations
7
+ # - Center-positioned
8
+ # - Multiple pages
9
+ Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
10
+ background color: :blue #blue never shows up! Yay clipping...
11
+ rect stroke_width: 5, stroke_color: :red, fill_color: :salmon
12
+ cut_zone margin: '0.125in',
13
+ stroke_width: 2, stroke_color: :purple
14
+
15
+ circle x: width/2, y: height/2, radius: 20 # midpoint
16
+
17
+ text str: (0..9).map{ |i| "Card #{i}\n\n" },
18
+ font: 'Sans 32', align: :center, valign: :middle,
19
+ height: :deck, width: :deck
20
+
21
+ save_sheet sprue: 'my_sprues/weird_sprue.yml',
22
+ trim: '0.2in', trim_radius: '10pt',
23
+ prefix: "advanced_sprues_"
24
+ end
@@ -1,21 +1,21 @@
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
- end
21
- 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
+ end
21
+ end
@@ -1,27 +1,27 @@
1
- require 'squib'
2
-
3
- # Note that this sample has no bleed - you might want to have bleed
4
- # but tighter than usual: 0.1 instead of 0.125in since this sprue is
5
- # crowded horizontally on US letter
6
- Squib::Deck.new(width: '2.5in', height: '3.5in', cards: 8) do
7
- background color: :white
8
- rect stroke_width: 5, stroke_color: :red
9
- # Note that we are interleaving strings
10
- # This could be used as a secondary Squib script that loads
11
- # Squib-generated individual images
12
- strings = [
13
- "Front 1",
14
- "Back 1",
15
- "Front 2",
16
- "Back 2",
17
- "Front 3",
18
- "Back 3",
19
- "Front 4",
20
- "Back 4",
21
- ]
22
-
23
- text str: strings,font: 'Sans 32', align: :center, valign: :middle,
24
- height: :deck, width: :deck
25
- save_sheet prefix: 'foldable_',
26
- sprue: 'letter_poker_foldable_8up.yml'
27
- end
1
+ require 'squib'
2
+
3
+ # Note that this sample has no bleed - you might want to have bleed
4
+ # but tighter than usual: 0.1 instead of 0.125in since this sprue is
5
+ # crowded horizontally on US letter
6
+ Squib::Deck.new(width: '2.5in', height: '3.5in', cards: 8) do
7
+ background color: :white
8
+ rect stroke_width: 5, stroke_color: :red
9
+ # Note that we are interleaving strings
10
+ # This could be used as a secondary Squib script that loads
11
+ # Squib-generated individual images
12
+ strings = [
13
+ "Front 1",
14
+ "Back 1",
15
+ "Front 2",
16
+ "Back 2",
17
+ "Front 3",
18
+ "Back 3",
19
+ "Front 4",
20
+ "Back 4",
21
+ ]
22
+
23
+ text str: strings,font: 'Sans 32', align: :center, valign: :middle,
24
+ height: :deck, width: :deck
25
+ save_sheet prefix: 'foldable_',
26
+ sprue: 'letter_poker_foldable_8up.yml'
27
+ end