* 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
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
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
Fill color is still the same with 'color' (i.e. can be overridden by markup still), but now there's a stroke_width and a stroke_color option that, when stroke_width > 0, will draw an outline below the text. Since this isn't a Pango feature, we can't do markup for outlines. (Maybe make that a feature request to Pango if you want it.)
Implements #51
With the new design, we take the load off of deck.rb and simply delegate methods over to the new conf.rb. This means that things like `antialias` is now available as a method to the normal Squib scripts for easy checking (without being mutable). Squib::Conf also handles parsing and defaults, and any potential input validation we need to do in the future.
Typographer is also set up now as a deck-wide configuration. This may change in the future if we want typography customization per-command, although that seems like a strange use case.
Lots of tests for this one, and lots of cross-cutting concerns in this commit.
This commit also includes some tweaks to rspec tests, including tagging of slow tests for a `rake spec_fastonly`
Conflicts:
spec/samples/samples_regression_spec.rb
spec/spec_helper.rb
squib.sublime-project