hieroglyph 0.1.3 → 0.1.4
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.
- data/Gemfile +1 -0
- data/README.md +19 -2
- data/lib/hieroglyph/character_sheet.rb +1 -2
- data/lib/hieroglyph/command_line.rb +4 -7
- data/lib/hieroglyph/font.rb +3 -2
- data/lib/hieroglyph/glyph.rb +4 -5
- data/lib/hieroglyph/noop_sheet.rb +1 -1
- data/lib/hieroglyph/version.rb +1 -1
- data/lib/hieroglyph.rb +19 -4
- data/spec/lib/hieroglyph/character_sheet_spec.rb +0 -2
- data/spec/lib/hieroglyph/font_spec.rb +0 -2
- data/spec/lib/hieroglyph/glyph_spec.rb +0 -2
- data/spec/lib/hieroglyph/noop_sheet_spec.rb +0 -2
- metadata +9 -24
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Hieroglyph 0.1.
|
1
|
+
# Hieroglyph 0.1.4
|
2
2
|
|
3
3
|
Icon fonts are a great way to add sharp, flexible icons to your website using @font-face. [Chris Coyier thinks they're a good idea](http://css-tricks.com/using-fonts-for-icons/), and you should too.
|
4
4
|
|
@@ -78,7 +78,7 @@ If you want to help out, great! As an inexperienced dev, I'd appreciate any help
|
|
78
78
|
|
79
79
|
bundle install
|
80
80
|
rake install
|
81
|
-
rake
|
81
|
+
bundle exec rake
|
82
82
|
|
83
83
|
## Thanks
|
84
84
|
|
@@ -87,3 +87,20 @@ If you want to help out, great! As an inexperienced dev, I'd appreciate any help
|
|
87
87
|
- [Jeremy Holland](http://www.jeremypholland.com/), for the [Savage SVG parsing gem.](https://github.com/awebneck/savage)
|
88
88
|
- [Inkscape contributors](https://launchpad.net/inkscape/+topcontributors), who provided the original SVG font tool I used a lot on this project.
|
89
89
|
- [P.J. Onori](http://somerandomdude.com/work/iconic/) for creating the open source Iconic icons, which I use as example icons.
|
90
|
+
|
91
|
+
## Version notes
|
92
|
+
|
93
|
+
**0.1.4**<br>
|
94
|
+
Output is less verbose, more colorful
|
95
|
+
|
96
|
+
**0.1.3**<br>
|
97
|
+
Fix applied for older versions of ruby
|
98
|
+
|
99
|
+
**0.1.2**<br>
|
100
|
+
Better logging, more characters supported
|
101
|
+
|
102
|
+
**0.1.1**<br>
|
103
|
+
Officially a ruby gem, character sheet added
|
104
|
+
|
105
|
+
**0.1**<br>
|
106
|
+
Just a .rb script for converting simple SVGs to a font
|
@@ -26,7 +26,6 @@ module Hieroglyph
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def save
|
29
|
-
Hieroglyph.header 'Character sheet generated'
|
30
29
|
cmd = ['montage']
|
31
30
|
@@montage_args['title'] = @options[:name]
|
32
31
|
@@montage_args.each do |arg, value|
|
@@ -39,7 +38,7 @@ module Hieroglyph
|
|
39
38
|
cmd.push @output_path
|
40
39
|
cmd = Escape.shell_command(cmd)
|
41
40
|
system(cmd)
|
42
|
-
Hieroglyph.
|
41
|
+
Hieroglyph.success "Character sheet saved: #{File.expand_path(@options[:output_folder])}/#{@options[:name]}_characters.svg"
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
@@ -21,16 +21,13 @@ Options:
|
|
21
21
|
parse_options
|
22
22
|
if @execute
|
23
23
|
font = Hieroglyph.make @options
|
24
|
-
Hieroglyph.
|
25
|
-
Hieroglyph.log "Saved to #{File.expand_path(@options[:output_folder])}/#{@options[:name]}.svg"
|
26
|
-
Hieroglyph.log "To create a full set of webfonts, upload to:"
|
27
|
-
Hieroglyph.log "http://www.fontsquirrel.com/fontface/generator"
|
28
|
-
Hieroglyph.log
|
29
|
-
Hieroglyph.log "If you're having trouble uploading SVGs, try converting to a TTF first using http://www.freefontconverter.com"
|
30
|
-
Hieroglyph.log
|
24
|
+
Hieroglyph.success "#{@options[:name]} generated saved to #{File.expand_path(@options[:output_folder])}/#{@options[:name]}.svg"
|
31
25
|
Hieroglyph.log "Single characters: #{font.characters.join(',')}"
|
32
26
|
Hieroglyph.log "Unicode characters: #{font.unicode_values.join(',')}"
|
33
27
|
Hieroglyph.log
|
28
|
+
Hieroglyph.log "To create a full set of webfonts, upload to http://www.fontsquirrel.com/fontface/generator"
|
29
|
+
Hieroglyph.log "If you're having trouble uploading SVGs, try converting to a TTF first using http://www.freefontconverter.com"
|
30
|
+
Hieroglyph.log
|
34
31
|
end
|
35
32
|
end
|
36
33
|
|
data/lib/hieroglyph/font.rb
CHANGED
@@ -21,7 +21,7 @@ module Hieroglyph
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def setup
|
24
|
-
Hieroglyph.header
|
24
|
+
Hieroglyph.header 'Setup:'
|
25
25
|
Hieroglyph.delete @output_path
|
26
26
|
@character_sheet = Hieroglyph.imagemagick_installed? ? CharacterSheet.new(@options) : NoopSheet.new
|
27
27
|
include 'header'
|
@@ -38,6 +38,7 @@ module Hieroglyph
|
|
38
38
|
file.puts @contents
|
39
39
|
file.close
|
40
40
|
end
|
41
|
+
Hieroglyph.header 'Done!'
|
41
42
|
@character_sheet.save
|
42
43
|
end
|
43
44
|
|
@@ -46,7 +47,7 @@ module Hieroglyph
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def add_glyphs
|
49
|
-
Hieroglyph.
|
50
|
+
Hieroglyph.header 'Reading glyphs:'
|
50
51
|
Dir.glob(File.join(@options[:glyph_folder], '*.svg')).each do |file|
|
51
52
|
glyph = Glyph.new(file, @options[:glyph_folder], self)
|
52
53
|
@character_sheet.add file
|
data/lib/hieroglyph/glyph.rb
CHANGED
@@ -27,7 +27,7 @@ module Hieroglyph
|
|
27
27
|
@font = font
|
28
28
|
set_name(file, source)
|
29
29
|
@contents = Nokogiri::XML(File.new(file))
|
30
|
-
Hieroglyph.log "#{@name}
|
30
|
+
Hieroglyph.log "Parsing #{@name}", 2
|
31
31
|
@path = parse_shapes
|
32
32
|
end
|
33
33
|
|
@@ -72,19 +72,18 @@ module Hieroglyph
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def convert_path(type, content)
|
75
|
-
Hieroglyph.log 'path found', 9
|
76
75
|
path = Savage::Parser.parse(content['d'])
|
77
76
|
flip(path)
|
78
77
|
end
|
79
78
|
|
80
79
|
def report_invalid(type, content)
|
81
|
-
Hieroglyph.
|
82
|
-
Hieroglyph.
|
80
|
+
Hieroglyph.error "#{type} found - this shape is invalid!", 4
|
81
|
+
Hieroglyph.error "'make compound path' in your vector tool to fix", 4
|
83
82
|
end
|
84
83
|
|
85
84
|
def report_too_many
|
86
85
|
unless @too_many
|
87
|
-
Hieroglyph.
|
86
|
+
Hieroglyph.error 'too many shapes! your icon might look weird as a result', 4
|
88
87
|
@too_many = true
|
89
88
|
end
|
90
89
|
end
|
data/lib/hieroglyph/version.rb
CHANGED
data/lib/hieroglyph.rb
CHANGED
@@ -6,10 +6,25 @@ module Hieroglyph
|
|
6
6
|
puts str.rjust(str.length + pad)
|
7
7
|
end
|
8
8
|
|
9
|
+
def self.colorize(str, color_code, pad)
|
10
|
+
Hieroglyph.log("\e[#{color_code}m#{str}\e[0m", pad)
|
11
|
+
end
|
12
|
+
|
9
13
|
def self.header(str)
|
10
|
-
|
11
|
-
|
12
|
-
|
14
|
+
Hieroglyph.log
|
15
|
+
Hieroglyph.log("\033[1m#{str}\e[22m", 0)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.status(str, pad=2)
|
19
|
+
colorize(str, 33, pad)
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.error(str, pad=2)
|
23
|
+
colorize(str, 31, pad)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.success(str, pad=2)
|
27
|
+
colorize(str, 32, pad)
|
13
28
|
end
|
14
29
|
|
15
30
|
def self.make(options)
|
@@ -23,7 +38,7 @@ module Hieroglyph
|
|
23
38
|
def self.delete(file)
|
24
39
|
if File.exist? file
|
25
40
|
trimmed_file = file.gsub(/\.\//, '')
|
26
|
-
Hieroglyph.
|
41
|
+
Hieroglyph.status "#{trimmed_file} exists, deleting"
|
27
42
|
File.delete file
|
28
43
|
end
|
29
44
|
end
|
@@ -7,8 +7,6 @@ describe Hieroglyph::CharacterSheet do
|
|
7
7
|
module Hieroglyph
|
8
8
|
def self.log(*)
|
9
9
|
end
|
10
|
-
def self.header(*)
|
11
|
-
end
|
12
10
|
end
|
13
11
|
File.delete('/tmp/sheet_characters.png') if File.exists?('/tmp/sheet_characters.png')
|
14
12
|
@character_sheet = Hieroglyph::CharacterSheet.new({:output_folder => '/tmp', :name => 'sheet'})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hieroglyph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70339388858920 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *70339388858920
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: savage
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70339388858400 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ! '>='
|
@@ -37,15 +32,10 @@ dependencies:
|
|
37
32
|
version: '0'
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
35
|
+
version_requirements: *70339388858400
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: escape
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &70339388857840 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
@@ -53,12 +43,7 @@ dependencies:
|
|
53
43
|
version: '0'
|
54
44
|
type: :runtime
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
46
|
+
version_requirements: *70339388857840
|
62
47
|
description: Generate a web-ready SVG font from a directory of SVG icons
|
63
48
|
email:
|
64
49
|
- dougunderscorenelson@gmail.com
|
@@ -120,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
105
|
version: '0'
|
121
106
|
requirements: []
|
122
107
|
rubyforge_project:
|
123
|
-
rubygems_version: 1.8.
|
108
|
+
rubygems_version: 1.8.15
|
124
109
|
signing_key:
|
125
110
|
specification_version: 3
|
126
111
|
summary: Icon font creator
|