README.md in cheapredwine-0.3.1 vs README.md in cheapredwine-0.4.0

- old
+ new

@@ -1,59 +1,54 @@ -# CheapRedWine +# Cheapredwine [![Code Climate](https://codeclimate.com/github/hugobast/cheapredwine.png)](https://codeclimate.com/github/hugobast/cheapredwine) +[![Build Status](https://travis-ci.org/hugobast/cheapredwine.png?branch=master)](https://travis-ci.org/hugobast/cheapredwine) +Makes text images. Introspecs (in a limited way thus far) a font file to get to it's metadata. Supports OTF/TTF font features the likes of ligatures, old style numbers, stylistic alternatives, etc. Cheapredwine uses of Harfbuzz' hb-view utility to generate images. - -I needed a way to test fonts on the web. I based this library on myfonts.com. CheapRedWine makes use to Harfbuzz' hb-view utility to generate images from fonts with a slew of different parameters. It also uses fontTools' ttx utility for font introspection. - ## Installation Make sure the dependencies are satisfied $ gem install cheapredwine ## Dependencies -It assumes the following is installed and in the case where it applies, accessible from the $PATH env variable. +It assumes the following is installed and in the case where it applies; accessible from the $PATH env variable. * [cairo](http://www.cairographics.org/releases/) * [harfbuzz](http://www.freedesktop.org/software/harfbuzz/release/) ## Usage #### Getting a font object from a simple ttf or otf file: - font = CheapRedWine.new font_file - font.name # => "Font Name" - font.family # => "Font Family" + font = Cheapredwine.new font_file + font.font_name # => "Font Name" + font.family_name # => "Font Family" font.style # => "Bold Italic" font.features # => ["liga", "onum", "dlig", … "salt"] #### Generating images with text for the font: - image = font.image "some text", options - # ... do something with image ... - image.close - -**Caveat:** `image` is an IO object that can then be use to write to disk. You are responsible to close that object. - -##### Options + image = font.image do + append_text "Hello" # A regular piece of text + append_text "123456", with: ["onum"] # A piece of text with 'onum' enable + turn_on_feature "dlig" # Turns a feature on for the whole image + turn_off_feature "liga" # Turns off a feature for the whole image + set_margin 0 + set_font_size 32 + set_background "#123456" + set_foreground "#654321" + end - options = { - margin: 5, # margin around the text - size: 40, # size of the text eq to px - color: red, # the text color - features: [liga, salt] # list of otf features to be applied - } - ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request ## TODO -1. Replace hb-view by something more appropriate (C Extension). +1. Replace hb-view by something more appropriate (C Extension or pure Ruby implementation).