fontrobot 0.1

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.
@@ -0,0 +1,101 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Your Font/Glyphs</title>
5
+ <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
6
+
7
+ <link rel="stylesheet" href="fontrobot.css" />
8
+ <!--[if lte IE 7]>
9
+ <link rel="stylesheet" href="fontrobot-ie7.css" />
10
+ <![endif]-->
11
+
12
+
13
+ <style>
14
+ section, header, footer {display: block;}
15
+ body {
16
+ font-family: sans-serif;
17
+ color: #444;
18
+ line-height: 1.5;
19
+ font-size: 1em;
20
+ }
21
+ * {
22
+ -moz-box-sizing: border-box;
23
+ -webkit-box-sizing: border-box;
24
+ box-sizing: border-box;
25
+ margin: 0;
26
+ padding: 0;
27
+ }
28
+ .glyph {
29
+ float: left;
30
+ text-align: center;
31
+ background: #eee;
32
+ padding: .75em;
33
+ margin: .75em 1.5em .75em 0;
34
+ width: 7em;
35
+ border-radius: .25em;
36
+ box-shadow: inset 0 0 0 1px #f8f8f8, 0 0 0 1px #CCC;
37
+ }
38
+ .glyph input {
39
+ width: 100%;
40
+ text-align: center;
41
+ font-family: consolas, monospace;
42
+ }
43
+ .glyph input, .mtm {
44
+ margin-top: .75em;
45
+ }
46
+ .w-main {
47
+ width: 80%;
48
+ }
49
+ .centered {
50
+ margin-left: auto;
51
+ margin-right: auto;
52
+ }
53
+ .fs1 {
54
+ font-size: 2em;
55
+ }
56
+ header {
57
+ margin: 2em 0;
58
+ padding-bottom: .5em;
59
+ color: #666;
60
+ box-shadow: 0 2px #eee;
61
+ }
62
+ header h1 {
63
+ font-size: 2em;
64
+ font-weight: normal;
65
+ }
66
+ .clearfix:before, .clearfix:after { content: ""; display: table; }
67
+ .clearfix:after, .clear { clear: both; }
68
+ footer {
69
+ margin-top: 2em;
70
+ padding: .5em 0;
71
+ box-shadow: 0 -2px #eee;
72
+ }
73
+ a, a:visited {
74
+ color: #B35047;
75
+ text-decoration: none;
76
+ }
77
+ a:hover, a:focus {color: #000;}
78
+ .box1 {
79
+ display: inline-block;
80
+ width: 15em;
81
+ padding: .25em .5em;
82
+ background: #eee;
83
+ margin: .5em 1em .5em 0;
84
+ }
85
+ </style>
86
+ </head>
87
+ <body>
88
+ <div class="w-main centered">
89
+ <section class="mtm clearfix" id="glyphs">
90
+ <header> <h1>Your font contains the following glyphs</h1> </header>
91
+ <% @classes.each_with_index do |name, index| %>
92
+ <div class="glyph">
93
+ <div class="fs1" ><i class="icon-<%= name %>"></i></div>
94
+ <input type="text" readonly="readonly" value="&amp;#x<%= (61696+index).to_s(16) %>;" />
95
+ <input type="text" readonly="readonly" value=".icon-<%= name %>" />
96
+ </div>
97
+ <% end %>
98
+ </section>
99
+ </div>
100
+ </body>
101
+ </html>
@@ -0,0 +1,3 @@
1
+ module Fontrobot
2
+ VERSION = "0.1"
3
+ end
@@ -0,0 +1,37 @@
1
+ require 'listen'
2
+
3
+ module Fontrobot
4
+ class Watcher
5
+ def self.watch(*args)
6
+ callback = Proc.new do |modified, added, removed|
7
+ puts ' >> Changed: ' + modified.join(' ') unless modified.empty?
8
+ puts ' >> Added: ' + added.join(' ') unless added.empty?
9
+ puts ' >> Removed: ' + removed.join(' ') unless removed.empty?
10
+
11
+ changed = modified + added + removed
12
+ Fontrobot.compile(*args) unless changed.empty?
13
+ end
14
+
15
+ dir = args.first
16
+ @listener = Listen.to(dir).filter(/\.(eps|svg)$/).change(&callback)
17
+
18
+ begin
19
+ puts 'Fontrobot is watching your icons at ' + dir
20
+ puts 'Press Ctrl + C to stop.'
21
+ Fontrobot.compile(*args)
22
+ @listener.start()
23
+
24
+ # Catches Ctrl + C
25
+ # Does listen gem have a better way of handling this?
26
+ rescue SignalException
27
+ stop
28
+ end
29
+ end
30
+
31
+ def self.stop
32
+ # Newline exists so message is not prepended with ^C on SIGTERM
33
+ puts "\nFontrobot is signing off. Goodnight and good luck."
34
+ @listener.stop
35
+ end
36
+ end
37
+ end
data/lib/fontrobot.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'fontrobot/version'
2
+ require 'fontrobot/generator'
3
+ require 'fontrobot/watcher'
4
+
5
+ module Fontrobot
6
+ # Usage:
7
+ # Fontrobot.compile 'path/to/vectors', '-o', 'path/to/output'
8
+ def compile(*args)
9
+ Fontrobot::Generator.start(args) # as array
10
+ end
11
+
12
+ def watch(*args)
13
+ Fontrobot::Watcher.watch(*args)
14
+ end
15
+
16
+ def stop
17
+ Fontrobot::Watcher.stop
18
+ end
19
+
20
+ module_function :compile, :watch, :stop
21
+ end
File without changes
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
2
+ <path d="M50,0C22.389,0,0,22.383,0,49.994V100h100V49.994C100,22.383,77.617,0,50,0z M96.667,96.667H3.333V49.994 c0-25.729,20.938-46.66,46.667-46.66c25.729,0,46.667,20.931,46.667,46.66V96.667z"/>
3
+ <path d="M50,10c-22.083,0-40,17.91-40,39.994V90l30-30V50c0-5.521,4.479-10,10-10c5.521,0,10,4.479,10,10v10l30,30V49.994 C90,27.91,72.09,10,50,10z"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
2
+ <path style="fill:#010101;" d="M87.5,75c-3.039,0-5.725,1.221-7.886,3.016l-19.056-13.6c1.209-2.49,1.941-5.225,1.941-8.166 c0-4.041-1.318-7.775-3.491-10.828l22.29-22.302C83.154,24.207,85.193,25,87.5,25c6.909,0,12.5-5.591,12.5-12.5S94.409,0,87.5,0 S75,5.591,75,12.5c0,2.307,0.793,4.346,1.88,6.201L54.59,41.004c-3.076-2.197-6.787-3.504-10.84-3.504 c-7.153,0-13.306,4.064-16.467,9.973l-15.052-5.029C11.621,39.637,9.24,37.5,6.25,37.5C2.795,37.5,0,40.295,0,43.75 S2.795,50,6.25,50c1.574,0,2.979-0.635,4.077-1.6l14.966,4.993C25.146,54.334,25,55.273,25,56.25C25,66.602,33.398,75,43.75,75 c5.151,0,9.826-2.088,13.221-5.457l18.933,13.514C75.366,84.448,75,85.926,75,87.5c0,6.896,5.591,12.5,12.5,12.5 S100,94.396,100,87.5S94.409,75,87.5,75z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" xml:space="preserve">
2
+ <path fill="#000000" d="M96.897,37.513c1.921,0,3.478-1.558,3.478-3.479c0-1.92-1.557-3.478-3.478-3.478s-3.478,1.558-3.478,3.478 c0,0.422,0.079,0.825,0.217,1.2l-10.153,8.649l-12.864-7.567c0.073-0.297,0.116-0.607,0.116-0.927c0-2.142-1.736-3.878-3.878-3.878 c-0.869,0-1.668,0.289-2.314,0.772L52.92,23.054c0.054-0.22,0.086-0.448,0.086-0.684c0-1.581-1.281-2.861-2.861-2.861 s-2.861,1.281-2.861,2.861c0,0.729,0.275,1.393,0.724,1.898l-5.835,12.488c-0.26-0.045-0.526-0.074-0.8-0.074 c-0.86,0-1.662,0.239-2.351,0.647l-15.438-6.915c0.036-0.225,0.06-0.454,0.06-0.689c0-2.38-1.929-4.309-4.309-4.309 c-2.379,0-4.309,1.929-4.309,4.309s1.929,4.309,4.309,4.309c1.352,0,2.556-0.623,3.346-1.596l14.682,6.576 c-0.384,0.674-0.607,1.452-0.607,2.284c0,0.852,0.293,1.605,0.694,2.29l-8.233,8.237c-1.136-0.811-2.506-1.294-4.003-1.294 c-2.642,0-4.915,1.501-6.082,3.684l-0.096-0.032c-0.001,0.012-0.004,0.023-0.005,0.035L7.553,49.002 c0.016-0.134,0.025-0.271,0.025-0.409c0-1.989-1.612-3.601-3.601-3.601s-3.601,1.612-3.601,3.601s1.612,3.601,3.601,3.601 c1.054,0,1.999-0.455,2.657-1.177l11.723,5.329c-0.005,0.013-0.009,0.025-0.015,0.037l0.056,0.019 c-0.054,0.348-0.108,0.694-0.108,1.055c0,1.954,0.813,3.716,2.115,4.975l-0.017,0.013c0.004,0.005,0.008,0.01,0.012,0.014 l-5.973,8.802c-0.155-0.027-0.314-0.044-0.478-0.044c-1.479,0-2.678,1.198-2.678,2.678c0,1.479,1.199,2.678,2.678,2.678 c1.479,0,2.678-1.199,2.678-2.678c0-0.501-0.14-0.969-0.38-1.37l5.364-7.904l0.71-0.877c0.881,0.407,1.859,0.641,2.894,0.641 c1.902,0,3.629-0.771,4.883-2.016l6.993,4.991c-0.199,0.514-0.334,1.06-0.334,1.641c0,2.548,2.065,4.617,4.617,4.617 c2.159,0,3.965-1.483,4.471-3.482l15.916-4.923c0.977,1.815,2.893,3.05,5.099,3.05c1.273,0,2.447-0.417,3.403-1.114l7.12,6.611 c-0.038,0.193-0.059,0.393-0.059,0.597c0,1.734,1.406,3.14,3.14,3.14s3.139-1.405,3.139-3.14c0-1.733-1.405-3.139-3.139-3.139 c-0.707,0-1.358,0.236-1.883,0.631l-6.811-6.323c0.552-0.887,0.893-1.93,0.893-3.05c0-2.815-1.661-5.16-4.661-5.677V39.104 c1-0.172,1.082-0.478,1.513-0.878l13.332,7.848l11.179,15.655c-0.092,0.23-0.146,0.481-0.146,0.745c0,1.125,0.91,2.037,2.035,2.037 s2.037-0.912,2.037-2.037s-0.913-2.037-2.038-2.037c-0.03,0-0.06,0.003-0.09,0.005L85.094,45.422l9.931-8.459 C95.565,37.31,96.207,37.513,96.897,37.513z M61.07,62.474c0,0.21,0.013,0.416,0.035,0.62l-15.275,4.724 c-0.522-1.975-2.316-3.435-4.458-3.435c-1.123,0-2.114,0.451-2.913,1.113l-7.038-5.022c0.447-0.92,0.717-1.93,0.717-3.017 c0-1.492-0.487-2.871-1.29-3.999l8.233-8.237c0.686,0.401,1.438,0.694,2.291,0.694c1.642,0,3.079-0.857,3.897-2.147l17.222,14.914 C61.609,59.699,61.07,61.022,61.07,62.474z M66,56.797c-1,0.1-1.135,0.273-1.596,0.502l-18.36-15.846 c0.002-0.052-0.023-0.102-0.023-0.154c0-1.485-0.718-2.802-1.806-3.646l5.799-12.428c0.046,0.002,0.088,0.007,0.134,0.007 c0.53,0,1.023-0.147,1.449-0.399l11.621,9.229c-0.151,0.415-0.113,0.861-0.113,1.328c0,1.757,0.895,3.238,2.895,3.715V56.797z"/>
3
+ </svg>
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fontrobot do
4
+ let(:input_dir) { 'spec/fixtures/vectors' }
5
+ let(:output_dir) { 'tmp' }
6
+ let(:fake_file) { output_dir + '/non-vector.txt' }
7
+
8
+ context 'when ouput_dir already contains files' do
9
+ # Compile, add non-fontrobot file, change input vectors, recompile
10
+ before(:all) do
11
+ # originals
12
+ Fontrobot.compile(input_dir, '-o', output_dir, '-n', 'Original Font')
13
+ FileUtils.touch(fake_file, :verbose => true)
14
+ @original_fonts = Dir[output_dir + '/fontrobot-*.{woff,eot,ttf,svg}']
15
+ @original_css = File.read(output_dir + '/fontrobot.css')
16
+
17
+ FileUtils.mv(input_dir + '/C.svg', input_dir + '/E.svg', :verbose => true)
18
+ Fontrobot.compile(input_dir, '-o', output_dir)
19
+ end
20
+
21
+ after(:all) do
22
+ cleanup(output_dir)
23
+ FileUtils.mv(input_dir + '/E.svg', input_dir + '/C.svg', :verbose => true)
24
+ end
25
+
26
+ it 'should delete previous fontrobot generated files' do
27
+ new_files = Dir[output_dir + '/*']
28
+ @original_fonts.each do |original|
29
+ new_files.should_not include(original)
30
+ end
31
+ end
32
+
33
+ it 'should generate different css' do
34
+ new_css = File.read(output_dir + '/fontrobot.css')
35
+ new_css.should_not equal(@original_css)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,75 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fontrobot::Generator do
4
+ let(:input_dir) { 'spec/fixtures/vectors' }
5
+ let(:output_dir) { 'tmp' }
6
+
7
+ context 'normally' do
8
+ before(:all) { Fontrobot::Generator.start([input_dir, '-o', output_dir]) }
9
+ after(:all) { cleanup(output_dir) }
10
+
11
+ it 'should create webfonts' do
12
+ exts = %w( .woff .eot .ttf .svg )
13
+ files = Dir[output_dir + '/*']
14
+ files.map! { |file| File.extname(file) }
15
+
16
+ exts.each { |ext| files.should include(ext) }
17
+ end
18
+
19
+ it 'should print font-face declarations in fontrobot.css' do
20
+ stylesheet = File.read(output_dir + '/fontrobot.css')
21
+ files = Dir[output_dir + '/*.{woff,eot,ttf,svg}']
22
+
23
+ files.each do |file|
24
+ stylesheet.should include(File.basename(file))
25
+ end
26
+ end
27
+
28
+ it 'should print icon-* CSS classes in fontrobot.css' do
29
+ stylesheet = File.read(output_dir + '/fontrobot.css')
30
+ icon_names = Dir[input_dir + '/*'].map { |file| File.basename(file)[0..-5].gsub(/\W/, '-').downcase }
31
+
32
+ icon_names.each do |name|
33
+ stylesheet.should include('.icon-' + name)
34
+ end
35
+ end
36
+ end
37
+
38
+ context 'when input_dir does not exist' do
39
+ let(:fake_input_dir) { 'does/not/exist' }
40
+
41
+ it 'should raise an error' do
42
+ results = capture(:stderr) { Fontrobot::Generator.start([fake_input_dir, '-o', output_dir]) }
43
+ results.should =~ /doesn't exist or isn't a directory/
44
+ end
45
+ end
46
+
47
+ context 'when input_dir does not contain vectors' do
48
+ let(:empty_input_dir) { 'spec/fixtures/empty' }
49
+
50
+ it 'should raise an error' do
51
+ results = capture(:stderr) { Fontrobot::Generator.start([empty_input_dir, output_dir]) }
52
+ results.should =~ /doesn't contain any vectors/
53
+ end
54
+ end
55
+
56
+ context 'when flags are passed' do
57
+ it 'should save output files with a custom name' do
58
+ Fontrobot::Generator.start([input_dir, '-o', output_dir, '-n', 'customname'])
59
+
60
+ file = Dir[File.join(output_dir, 'customname-*.ttf')].first
61
+ File.exists?(file).should be_true
62
+
63
+ cleanup(output_dir)
64
+ end
65
+
66
+ it 'should exclude the filename hash' do
67
+ Fontrobot::Generator.start([input_dir, '-o', output_dir, '--nohash'])
68
+
69
+ file = File.join(output_dir, 'fontrobot.ttf')
70
+ File.exists?(file).should be_true
71
+
72
+ cleanup(output_dir)
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fontrobot do
4
+ let (:input_dir) { 'spec/fixtures/vectors' }
5
+ let (:output_dir) { 'tmp' }
6
+ let (:fontrobot) { Fontrobot }
7
+
8
+ before(:all) do
9
+ fontrobot.watch(input_dir, output_dir)
10
+ end
11
+
12
+ context '#watch' do
13
+ it 'should detect when a vector file changes' do
14
+ `mv spec/fixtures/vectors/B.svg spec/fixtures/vectors/E.svg`
15
+ sleep 1
16
+ fontrobot.should_receive(:compile).with(input_dir, output_dir)
17
+ end
18
+
19
+ it 'should detect when a vector file is added' do
20
+ end
21
+
22
+ it 'should detect when a vector file is removed' do
23
+ end
24
+
25
+ it 'should send complain if the dir has no vectors' do
26
+ end
27
+ end
28
+
29
+ after(:all) do
30
+ Fontrobot.stop
31
+ `mv spec/fixtures/vectors/E.svg spec/fixtures/vectors/B.svg`
32
+ cleanup(output_dir)
33
+ end
34
+ end
@@ -0,0 +1,29 @@
1
+ require 'spork'
2
+
3
+ Spork.prefork do
4
+ require 'rspec'
5
+ require 'fileutils'
6
+
7
+ RSpec.configure do |c|
8
+ def cleanup(dir)
9
+ FileUtils.rm_r(dir, :verbose => true) if File.exists?(dir)
10
+ end
11
+
12
+ def capture(stream)
13
+ begin
14
+ stream = stream.to_s
15
+ eval "$#{stream} = StringIO.new"
16
+ yield
17
+ result = eval("$#{stream}").string
18
+ ensure
19
+ eval("$#{stream} = #{stream.upcase}")
20
+ end
21
+
22
+ result
23
+ end
24
+ end
25
+ end
26
+
27
+ Spork.each_run do
28
+ require File.expand_path('../../lib/fontrobot.rb', __FILE__)
29
+ end
metadata ADDED
@@ -0,0 +1,205 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fontrobot
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tim Barkow
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: &70295096519860 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70295096519860
25
+ - !ruby/object:Gem::Dependency
26
+ name: thor
27
+ requirement: &70295096517940 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70295096517940
36
+ - !ruby/object:Gem::Dependency
37
+ name: listen
38
+ requirement: &70295096510920 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70295096510920
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: &70295096508960 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70295096508960
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &70295096506800 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70295096506800
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: &70295096505020 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70295096505020
80
+ - !ruby/object:Gem::Dependency
81
+ name: fakefs
82
+ requirement: &70295096503960 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70295096503960
91
+ - !ruby/object:Gem::Dependency
92
+ name: spork
93
+ requirement: &70295096503140 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70295096503140
102
+ - !ruby/object:Gem::Dependency
103
+ name: guard-spork
104
+ requirement: &70295092408240 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70295092408240
113
+ - !ruby/object:Gem::Dependency
114
+ name: guard-rspec
115
+ requirement: &70295092404300 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70295092404300
124
+ - !ruby/object:Gem::Dependency
125
+ name: rb-fsevent
126
+ requirement: &70295092403120 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 0.9.1
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *70295092403120
135
+ description: Transforms EPS and SVG vectors into icon webfonts. Generates Bootstrap
136
+ compatible CSS for easy inclusion in your projects.
137
+ email:
138
+ - tim@robotloveskitten.com
139
+ executables:
140
+ - fontrobot
141
+ extensions: []
142
+ extra_rdoc_files: []
143
+ files:
144
+ - .gitignore
145
+ - CHANGELOG.md
146
+ - CONTRIBUTING.md
147
+ - Gemfile
148
+ - Guardfile
149
+ - LICENSES.txt
150
+ - README.md
151
+ - Rakefile
152
+ - bin/fontrobot
153
+ - fontcustom.gemspec
154
+ - lib/fontrobot.rb
155
+ - lib/fontrobot/cli.rb
156
+ - lib/fontrobot/generator.rb
157
+ - lib/fontrobot/scripts/eotlitetool.py
158
+ - lib/fontrobot/scripts/generate.py
159
+ - lib/fontrobot/scripts/sfnt2woff
160
+ - lib/fontrobot/templates/fontrobot-ie7.css
161
+ - lib/fontrobot/templates/fontrobot.css
162
+ - lib/fontrobot/templates/test.html
163
+ - lib/fontrobot/version.rb
164
+ - lib/fontrobot/watcher.rb
165
+ - spec/fixtures/empty/no_vectors_here.txt
166
+ - spec/fixtures/vectors/C.svg
167
+ - spec/fixtures/vectors/D.svg
168
+ - spec/fixtures/vectors/a_R3ally-eXotic f1Le Name.svg
169
+ - spec/fontrobot/fontcustom_spec.rb
170
+ - spec/fontrobot/generator_spec.rb
171
+ - spec/fontrobot/watcher_spec.rb.off
172
+ - spec/spec_helper.rb
173
+ homepage: http://robotloveskitten.github.com/fontrobot/
174
+ licenses: []
175
+ post_install_message:
176
+ rdoc_options: []
177
+ require_paths:
178
+ - lib
179
+ required_ruby_version: !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ! '>='
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ required_rubygems_version: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ requirements: []
192
+ rubyforge_project:
193
+ rubygems_version: 1.8.15
194
+ signing_key:
195
+ specification_version: 3
196
+ summary: Generate custom icon webfonts from the command line.
197
+ test_files:
198
+ - spec/fixtures/empty/no_vectors_here.txt
199
+ - spec/fixtures/vectors/C.svg
200
+ - spec/fixtures/vectors/D.svg
201
+ - spec/fixtures/vectors/a_R3ally-eXotic f1Le Name.svg
202
+ - spec/fontrobot/fontcustom_spec.rb
203
+ - spec/fontrobot/generator_spec.rb
204
+ - spec/fontrobot/watcher_spec.rb.off
205
+ - spec/spec_helper.rb