Commit Graph

503 Commits (9accf4b8a2c29f0b555d73103631c72c85085885)

Author SHA1 Message Date
Mirko K 6d57b3e8c1 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
2019-10-17 11:29:14 -04:00
Andy Meneely 43cca582a6 Onward and upward 2019-10-17 11:15:22 -04:00
Andy Meneely 28f6cdcbcb I dub thee v0.15.3 2019-10-17 11:11:37 -04:00
Andy Meneely 2eee20c0cc I dub thee v0.15.2 2019-09-26 16:03:19 -04:00
Andy Meneely 6b705ab8fb Onward and upward 2019-08-06 14:09:20 -04:00
Andy Meneely eb0bebe149 I dub thee v0.15.0 2019-08-06 13:36:31 -04:00
Andy Meneely 1accadfc30 Merge in PR #272
Fix sheet size for 1-card-per-sheet PDFs and adjust coordinates when
using trim #272
2019-06-07 15:43:40 -04:00
Andy Meneely cb66d7c31d
Flip options for sprues (#251) (#277)
* Flipping works, now just need new argument

* Finishing up

* New test data
2019-06-07 15:23:15 -04:00
Andy Meneely a40c4d7dc4 Cleaner handling of SVG ID 2019-05-29 14:20:03 -04:00
Andy Meneely 89c0e6625d xlsx, csv, yaml: explode defaults to "qty" (#262)
Not "Qty"
2019-05-24 11:23:19 -04:00
Andy Meneely 8c4c0e0137 showcase: trim_radius still defaults to 38px
docs reflect that now too
2019-05-24 10:49:55 -04:00
Andy Meneely 9ceb010402 save_pdf: default trim_radius to 0, not 38 (#270) 2019-05-24 10:36:42 -04:00
Felix Wolfsteller a6675b2e60 Fix make_sprue unit_conversion FROM mm to other. (#260)
Before, val_mm resulted in nil which broke execution in evaluation of
division operation ("/").

Fixes #259.
2019-05-22 13:21:24 -04:00
Andy Meneely 5a8b3c5fcd png: check magic bytes for well-formed files
Closes #$250
2018-08-09 13:12:30 -04:00
Andy Meneely 48bb71d1c0 Onward and upward 2018-07-31 21:41:46 -04:00
Andy Meneely 9b98163608 docs: add sprues for #247
Also correct word_char for #237
2018-07-31 16:14:11 -04:00
Andy Meneely 4ae06d2e59 Merge remote-tracking branch 'origin/master' into dev 2018-07-31 15:33:24 -04:00
Adam Blinkinsop 46ea8d714a Sprues for DriveThruCards and printplaygames (#247)
* Correct links (duped save_sheet) and grammar.

* Create a sprue for https://www.drivethrucards.com/

* Create a sprue for printplaygames.com poker cards.
2018-07-31 15:32:37 -04:00
Andy Meneely 248eb2fb91 Layout multiple inheritance works with operators
The case of using relative operators and multiple inheritance is handled now.

Fixes #244
2018-07-31 15:07:33 -04:00
Andy Meneely 3d1f1ff989 Fix extra page for PDF sprues
Fixes #246
2018-07-31 13:54:14 -04:00
Andy Meneely 1bc9e3f19e Working on a bug fix release 2018-07-31 13:33:16 -04:00
Andy Meneely aada86a070 Fix extra stroke on circle, fix #248 2018-07-31 13:27:17 -04:00
Andy Meneely 53ba8c6d4d Onward and upward 2018-03-15 14:54:40 -04:00
Andy Meneely faba15766f I dub thee v0.14.1 2018-03-15 14:47:44 -04:00
Andy Meneely cf7ae7fd8b Onward and upward. 2017-11-06 23:44:50 -05:00
Andy Meneely dfb027ac31 I dub thee v0.14 2017-11-06 23:18:04 -05:00
Andy Meneely aee8884a9e sprues: better handling of trim args 2017-11-03 23:02:18 -04:00
Andy Meneely 3bf5eeb102 sprues: now with trim and trim_radius!!
Fixes #235
2017-11-02 23:58:30 -04:00
Andy Meneely c43538a708 I dub thee v0.14.beta1 2017-10-16 09:54:27 -04:00
Andy Meneely 9ff72b7066 builtin layouts: party 🎉
Based on idea from #7
2017-10-13 15:26:25 -04:00
Andy Meneely 386e65552e Be compatible with Ruby 2.2 and 2.3 2017-10-10 10:41:50 -04:00
Andy Meneely 60ca032d2d cli: unit tests for advanced template 2017-10-10 10:36:06 -04:00
Andy Meneely 1d4de1e2ad cli: create an --advanced layout
[skip ci]

Needs to be documented (new page?) and needs to be updated for unit tests.
2017-10-09 15:16:58 -04:00
Andy Meneely 3b5fdfaf61 move location of built-in layouts 2017-10-06 10:42:33 -04:00
Andy Meneely de4333bcb5 fix require 2017-10-05 23:43:35 -04:00
Andy Meneely 7058689c0b remove unused class 2017-10-05 23:37:58 -04:00
Andy Meneely 2362e189d7 new methods: safe_zone and cut_zone 2017-10-05 23:36:53 -04:00
Andy Meneely 9b3636cf6f Revert "first draft of thegamecrafter templates, missing all the complex ones"
This reverts commit 7f6d70b886.

See https://github.com/andymeneely/squib/pull/214#issuecomment-334627919
2017-10-05 20:30:50 -04:00
Clarence "Sparr" Risher 7f6d70b886 first draft of thegamecrafter templates, missing all the complex ones 2017-10-05 20:26:01 -04:00
Damien Salvador 44b899181a save_pdf: right-to-left support
# Conflicts:
#	CHANGELOG.md
2017-10-05 20:00:21 -04:00
Clarence "Sparr" Risher 8509ab5728 change x= to *=, add unit tests and improve existing tests 2017-10-05 19:41:43 -04:00
Clarence "Sparr" Risher b3bd8f03d8 add x= and /= to extends values 2017-10-05 19:41:43 -04:00
Clarence Sparr Risher 2a86b8f215 fix save_sheet to calculate rows correctly based on range
Based on PR #207
2017-10-05 19:38:50 -04:00
Seh Hui, Leong f800c131ff Respect DPI settings in text, add pt unit
This has the compatibility impact that all font sizes should be divided by 3 to maintain their same sizes.

Based on PR #225. Thanks @felixleong!!

Conflicts:
	bin/squib
	lib/squib/graphics/text.rb
2017-10-05 16:37:46 -04:00
Andy Meneely 06970b77a6 sprues: polishing up the feature
Lots of examples, some better checking, lots of documentation, sanity tests. Lots of little stuff.
2017-10-05 15:48:57 -04:00
Andy Meneely 3ccc6432ab sprues: better validation errors 2017-10-05 11:15:33 -04:00
Andy Meneely daff0281fd Merge remote-tracking branch 'origin/master' into dev 2017-10-05 10:34:00 -04:00
Dave Schaefer 52920ab8f0 Card - improve error message when reading invalid svg files
Add a test file in samples/images - it's a simple 1x1 pixel white png
saved with a 'svg' extension.

Fix for #228

(cherry picked from commit 32fad2460753a72cc2b0100d0a132512b6eeed81)

# Conflicts:
#	lib/squib/graphics/image.rb
2017-10-05 10:33:00 -04:00
Cory Li 6149023dbb respect `crop_marks` config option when saving PDF 2017-09-01 09:16:25 -04:00
Noah Callaway 7d23ec70f4 Update comment in header
Just a tiny irrelevant change to update the header comment to note the correct genre for this file.
2017-08-14 10:24:47 -04:00
Andy Meneely 17ecf87385 docs: documenting and sampling sprues 2017-08-02 17:11:52 -04:00
Andy Meneely c969f8ecf4 spec: add a test for making a new sprue 2017-07-21 15:10:26 -04:00
Andy Meneely 23b6d318d2 fix a missing require 2017-07-21 15:10:23 -04:00
Andy Meneely 391193812d sprues: upgrade to classy_hash 0.2.0 2017-07-17 14:58:45 -04:00
Andy Meneely 0d076b1e85 sprues: rename "template" to "sprue"
Also:
  * Move stuff around to a builtin/ folder
  * Separate out classes to follow my one-class-per-file convention
  * Samples are renamed to the underscore convention

I just like the word "sprue", and it's more descriptive than our original choice of "template". If I had to start Squib all over again, I would probably name it "Sprue" :P
2017-07-17 14:48:43 -04:00
Andy Meneely 36dc7ce4eb cli: squib new gives informative message
Also, move the files so we we can eventually add more project templates
2017-07-17 12:27:34 -04:00
Seh Hui, Leong 25bf0d7a67 Squash @felixleong's pdf-template feature.
I will be making revisions based on this, but this is all of his hard work.

Thank you!!!

Conflicts:
	squib.gemspec
2017-07-17 11:59:00 -04:00
Andy Meneely c6aa3983c4 Starting merge of @felixleong's code
I'm gonna name these "sprues" and do it a tad different than him, but it'll be mostly his code
2017-07-17 11:52:17 -04:00
Andy Meneely 10e63c845f Rollup of v0.13.x fixes
See v0.13-fixes branch for individual fixes

Conflicts:
	CHANGELOG.md
	lib/squib/version.rb
	squib.gemspec
2017-07-17 11:31:53 -04:00
Andy Meneely d94a3e676b Fix for latest dep changes 2017-05-30 16:19:42 -04:00
Andy Meneely c6e1c67e5f Fix deprecation warnings 2017-05-30 16:02:23 -04:00
Andy Meneely f140ff32fa Cleanup and tests of yaml method 2017-04-15 21:25:34 -04:00
Adam Blinkinsop d53fbc1715 Add yaml DSL method to the Deck object. 2017-03-20 08:53:49 -04:00
Adam Blinkinsop 563f800ba7 Add a yaml DSL method.
I find the yaml format easier to read than csv (when working entirely in text, at least).  This loader works on this array-formatted yaml, but not (for whatever reason, possibly library brokenness) on multi-doc format:

```
- title: Foo
  rank: 2

- title: Bar
  rank: 3
```
2017-03-20 08:53:49 -04:00
Clarence "Sparr" Risher 695bd8fb77 add save_sheet rtl option for duplex printing 2017-03-11 16:28:20 -05:00
Clarence "Sparr" Risher 1a58adb288 switch arc_ccw true/false to arc_direction :counterclockwise/:clockwise 2017-03-10 22:48:21 -05:00
Clarence "Sparr" Risher 573a1e9e30 implement circle arc feature, no tests 2017-03-10 22:48:21 -05:00
Clarence "Sparr" Risher 599e363e38 replace Dir.mkdir with FileUtils.mkdir_p for recursive creation of nonexistent directories 2017-03-10 20:22:14 -05:00
Andy Meneely 2ab78dd8d4 Onward and upward 2017-01-27 23:16:10 -05:00
Andy Meneely 566d0dfaca I dub thee v0.13.2 2017-01-27 23:11:17 -05:00
Andy Meneely c690e08a51 I dub thee v0.13.1 2017-01-06 19:50:11 -05:00
Andy Meneely f2521be199 Onward and upward. 2017-01-04 16:01:35 -05:00
Andy Meneely a98e0b5acc I dub thee v0.13 2017-01-04 15:57:37 -05:00
Andy Meneely 3ce5d8b4eb data: fix wrap_n_pad bug
This doesn't make modifications to the original string. If only Ruby used their own convention and did str#concat! instead of str#concat

Fixes #191

[skip ci]
2016-12-22 16:31:23 -05:00
Andy Meneely db0bf38ec0 save_pdf: full-length crop marks
Implements #184

[skip ci]
2016-12-19 17:02:56 -05:00
Andy Meneely cd53644ee4 Onward and upward. 2016-12-02 23:39:34 -05:00
Andy Meneely 73b4ed9697 I dub thee v0.12 2016-12-02 23:31:02 -05:00
Andy Meneely f4d94240e0 import: data frames are here!
Implemented a whole new class to represent the data that comes in from CSV and XLSX. See docs for more info.

Closes #153
2016-12-02 00:17:57 -05:00
Andy Meneely e53e47dde7 build groups: add convenience methods 2016-11-24 14:00:23 -05:00
Andy Meneely 56b5a711e4 dsl: add Squib.configure
I ended up adding this one on a whim, but it feels like a long time coming. We need cleaner support for Rakefiles, and this is a good step toward that I think.
2016-11-17 21:11:12 -05:00
Andy Meneely c9440ec57c showcase: use correct width&height vars
Fixes #179
2016-11-15 20:28:22 -05:00
Andy Meneely e18084d963 deck: flush surface upon exit
Fixes bug #180
2016-11-15 20:02:12 -05:00
Andy Meneely 30395aee56 save_pdf: add crop marks
Should satisfy #123

Needs some testing on printers but the functionality is there.
2016-11-01 12:12:03 -04:00
Andy Meneely aee348a582 Onward and upward 2016-09-15 16:12:12 -04:00
Andy Meneely df9fe7a9cc I dub thee v0.11.0 2016-09-15 16:02:11 -04:00
Andy Meneely ee2ed28550 text: rewrite embedding to use set_shape_renderer
No more arcane unicode magic!

Closes #177

Related to #170, #171, #158, #103, and #153 too.
2016-09-15 15:19:56 -04:00
Andy Meneely dc91413cda Release to beta testing 2016-09-09 00:14:07 -04:00
Andy Meneely d2eae64da2 shapes: rect and ellipse get the angle option
Closes #162
2016-09-09 00:10:43 -04:00
Andy Meneely 4ec1a33cfd layouts: support unit conversion in extends
fixes bug #173

Also: LayoutParser is now a proper class, as God intended.
2016-09-08 21:32:30 -04:00
Andy Meneely 19b989f8e6 text: use a different invisible character for text embedding
Contributes to the work of @temetherian in #170
2016-09-08 10:51:39 -04:00
Seh Hui, Leong cb29ad7fa1 Remove redundant `ArgLoader.convert_unit` to `UnitConversion.parse`. 2016-07-25 07:15:16 +08:00
Andy Meneely 4ea30c63e2 units: support mm
Closes #161
2016-06-27 11:10:39 -04:00
Andy Meneely a8241418c6 docs: readthedocs.org --> .io 2016-05-24 22:17:19 -04:00
Andy Meneely 7b9b836d61 Onward and upward. 2016-05-06 13:11:20 -04:00
Andy Meneely 839fceeeb3 I dub thee v0.10.0 2016-05-06 13:05:07 -04:00
Andy Meneely 56d8cff626 version: bump to beta 2016-04-25 23:43:12 -04:00
Andy Meneely ee0d232478 text: rewrite how image space is carved
Embedded images avoid zero-sized fonts by using non-printable characters instead.

This is for #153 and #103
2016-04-25 23:36:10 -04:00
Andy Meneely 6caf2e1af4 Remove debug code 2016-04-25 23:02:44 -04:00
Andy Meneely 013a1532f2 Fixes #152 2016-04-25 23:01:18 -04:00
Andy Meneely 43d44aa944 samples: gists --> backend 2016-04-11 20:42:48 -04:00