prawn-icon 1.4.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +10 -10
- data/data/fonts/fab/LICENSE +34 -0
- data/data/fonts/fab/fa-brands.ttf +0 -0
- data/data/fonts/fab/fab.yml +333 -0
- data/data/fonts/far/LICENSE +34 -0
- data/data/fonts/far/fa-regular.ttf +0 -0
- data/data/fonts/far/far.yml +119 -0
- data/data/fonts/fas/LICENSE +34 -0
- data/data/fonts/fas/fa-solid.ttf +0 -0
- data/data/fonts/fas/fas.yml +503 -0
- data/examples/fas-beer-inline.png +0 -0
- data/examples/fas-beer.png +0 -0
- data/examples/fontawesome.rb +28 -20
- data/lib/prawn/icon.rb +1 -0
- data/lib/prawn/icon/font_data.rb +1 -1
- data/lib/prawn/icon/interface.rb +5 -6
- data/lib/prawn/icon/version.rb +1 -1
- data/prawn-icon.gemspec +1 -1
- data/spec/integration/icon_spec.rb +44 -35
- data/spec/unit/errors/icon_not_found_spec.rb +1 -1
- data/spec/unit/font_data_spec.rb +14 -15
- data/spec/unit/icon_spec.rb +14 -14
- data/spec/unit/parser_spec.rb +26 -26
- metadata +14 -12
- data/data/fonts/fa/LICENSE +0 -4
- data/data/fonts/fa/fa.yml +0 -789
- data/data/fonts/fa/fontawesome.ttf +0 -0
- data/data/fonts/octicon/LICENSE +0 -9
- data/data/fonts/octicon/octicon.yml +0 -174
- data/data/fonts/octicon/octicons.ttf +0 -0
- data/examples/fa-beer-inline.png +0 -0
- data/examples/fa-beer.png +0 -0
- data/examples/octicons.rb +0 -35
data/spec/unit/icon_spec.rb
CHANGED
@@ -13,13 +13,13 @@ describe Prawn::Icon do
|
|
13
13
|
describe '#initialize' do
|
14
14
|
context 'valid icon family specifier' do
|
15
15
|
it 'should be capable of creating icon instances' do
|
16
|
-
icon = Prawn::Icon.new '
|
16
|
+
icon = Prawn::Icon.new 'far-address-book', pdf
|
17
17
|
|
18
|
-
expect(icon.unicode).to eq(
|
18
|
+
expect(icon.unicode).to eq('')
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should raise an error if icon key is not found' do
|
22
|
-
proc = Proc.new { Prawn::Icon.new '
|
22
|
+
proc = Proc.new { Prawn::Icon.new 'far-__INVALID__', pdf }
|
23
23
|
|
24
24
|
expect(proc).to raise_error(errors::IconNotFound)
|
25
25
|
end
|
@@ -35,7 +35,7 @@ describe Prawn::Icon do
|
|
35
35
|
|
36
36
|
context 'without a pdf object' do
|
37
37
|
it 'should raise an ArgumentError' do
|
38
|
-
proc = Proc.new { Prawn::Icon.new('
|
38
|
+
proc = Proc.new { Prawn::Icon.new('far-address-book') }
|
39
39
|
|
40
40
|
expect(proc).to raise_error(ArgumentError)
|
41
41
|
end
|
@@ -44,15 +44,15 @@ describe Prawn::Icon do
|
|
44
44
|
|
45
45
|
describe '#format_hash' do
|
46
46
|
it 'should add :font and :content keys' do
|
47
|
-
icon = Prawn::Icon.new '
|
47
|
+
icon = Prawn::Icon.new 'far-address-book', pdf
|
48
48
|
hash = icon.format_hash
|
49
49
|
|
50
|
-
expect(hash[:font]).to eq('
|
51
|
-
expect(hash[:content]).to eq(
|
50
|
+
expect(hash[:font]).to eq('far')
|
51
|
+
expect(hash[:content]).to eq('')
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should rename key :color to :text_color' do
|
55
|
-
icon = Prawn::Icon.new '
|
55
|
+
icon = Prawn::Icon.new 'far-address-book', pdf, color: '0099ff'
|
56
56
|
hash = icon.format_hash
|
57
57
|
|
58
58
|
expect(hash[:color]).to be_nil
|
@@ -62,7 +62,7 @@ describe Prawn::Icon do
|
|
62
62
|
|
63
63
|
describe '#render' do
|
64
64
|
it 'should render an icon to the page' do
|
65
|
-
pdf.icon('
|
65
|
+
pdf.icon('far-address-book').render
|
66
66
|
text = PDF::Inspector::Text.analyze(pdf.render)
|
67
67
|
|
68
68
|
expect(text.font_settings.first[:name]).to match(/FontAwesome/)
|
@@ -72,9 +72,9 @@ describe Prawn::Icon do
|
|
72
72
|
describe '#set' do
|
73
73
|
context 'with dashes in key' do
|
74
74
|
it 'should return the set as a symbol from key' do
|
75
|
-
set = Prawn::Icon.new('
|
75
|
+
set = Prawn::Icon.new('far-address-book', pdf).set
|
76
76
|
|
77
|
-
expect(set).to eq(:
|
77
|
+
expect(set).to eq(:far)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
@@ -90,7 +90,7 @@ describe Prawn::Icon do
|
|
90
90
|
describe '#unicode' do
|
91
91
|
context 'valid icon key' do
|
92
92
|
it 'should return a unicode character' do
|
93
|
-
icon = Prawn::Icon.new '
|
93
|
+
icon = Prawn::Icon.new 'far-address-book', pdf
|
94
94
|
|
95
95
|
expect(valid_unicode?(icon.unicode)).to be true
|
96
96
|
end
|
@@ -98,10 +98,10 @@ describe Prawn::Icon do
|
|
98
98
|
|
99
99
|
context 'invalid icon key' do
|
100
100
|
it 'should raise IconNotFound' do
|
101
|
-
proc = Proc.new { Prawn::Icon.new '
|
101
|
+
proc = Proc.new { Prawn::Icon.new 'far-__INVALID__', pdf }
|
102
102
|
|
103
103
|
expect(proc).to raise_error(errors::IconNotFound)
|
104
104
|
end
|
105
105
|
end
|
106
106
|
end
|
107
|
-
end
|
107
|
+
end
|
data/spec/unit/parser_spec.rb
CHANGED
@@ -11,16 +11,16 @@ describe Prawn::Icon::Parser do
|
|
11
11
|
|
12
12
|
describe '::format' do
|
13
13
|
it 'should return a raw prawn-formatted string on valid input' do
|
14
|
-
string = '<icon>
|
14
|
+
string = '<icon>far-address-book</icon>'
|
15
15
|
formatted = Prawn::Icon::Parser.format(pdf, string)
|
16
|
-
match =
|
16
|
+
match = '<font name="far"></font>'
|
17
17
|
|
18
18
|
expect(formatted).to eq(match)
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should return unchanged if no icon tags are found' do
|
22
22
|
string = <<-EOS
|
23
|
-
<link href=
|
23
|
+
<link href='#'>test</link>
|
24
24
|
Here's some sample text.
|
25
25
|
<i>more text</i>
|
26
26
|
EOS
|
@@ -44,7 +44,7 @@ describe Prawn::Icon::Parser do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'should raise an error when an icon is not found for valid set' do
|
47
|
-
string = '<icon>
|
47
|
+
string = '<icon>far-__INVALID__</icon>'
|
48
48
|
proc = Proc.new { Prawn::Icon::Parser.format(pdf, string) }
|
49
49
|
|
50
50
|
expect(proc).to raise_error(Prawn::Icon::Errors::IconNotFound)
|
@@ -53,7 +53,7 @@ describe Prawn::Icon::Parser do
|
|
53
53
|
|
54
54
|
describe '::config_from_tokens' do
|
55
55
|
it 'should handle attrs with double quotes' do
|
56
|
-
string = '<icon size="20">
|
56
|
+
string = '<icon size="20">far-address-book</icon>'
|
57
57
|
tokens = tokenize_string(string)
|
58
58
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
59
59
|
inner = config.first
|
@@ -62,7 +62,7 @@ describe Prawn::Icon::Parser do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'should handle attrs with single quotes' do
|
65
|
-
string =
|
65
|
+
string = '<icon size="20">far-address-book</icon>'
|
66
66
|
tokens = tokenize_string(string)
|
67
67
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
68
68
|
inner = config.first
|
@@ -71,7 +71,7 @@ describe Prawn::Icon::Parser do
|
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'should handle both single/double quotes in same string' do
|
74
|
-
string = '<icon color="0099FF" size=\'20\'>
|
74
|
+
string = '<icon color="0099FF" size=\'20\'>far-address-book</icon>'
|
75
75
|
tokens = tokenize_string(string)
|
76
76
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
77
77
|
inner = config.first
|
@@ -81,7 +81,7 @@ describe Prawn::Icon::Parser do
|
|
81
81
|
end
|
82
82
|
|
83
83
|
it 'should return an array containing only an empty hash' do
|
84
|
-
string = '<icon>
|
84
|
+
string = '<icon>far-address-book</icon>'
|
85
85
|
tokens = tokenize_string(string)
|
86
86
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
87
87
|
inner = config.first
|
@@ -91,7 +91,7 @@ describe Prawn::Icon::Parser do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'should return an array containing a single hash of attrs' do
|
94
|
-
string = '<icon size="12" color="CCCCCC">
|
94
|
+
string = '<icon size="12" color="CCCCCC">far-address-book</icon>'
|
95
95
|
tokens = tokenize_string(string)
|
96
96
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
97
97
|
inner = config.first
|
@@ -103,9 +103,9 @@ describe Prawn::Icon::Parser do
|
|
103
103
|
|
104
104
|
it 'should return an array containing as many hashes as icons' do
|
105
105
|
string = <<-EOS
|
106
|
-
<icon>
|
107
|
-
<icon>
|
108
|
-
<icon>
|
106
|
+
<icon>far-address-book</icon>
|
107
|
+
<icon>far-address-book</icon>
|
108
|
+
<icon>far-address-book</icon>
|
109
109
|
EOS
|
110
110
|
tokens = tokenize_string(string)
|
111
111
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
@@ -125,7 +125,7 @@ describe Prawn::Icon::Parser do
|
|
125
125
|
end
|
126
126
|
|
127
127
|
it 'should return an array with unicode content' do
|
128
|
-
string = '<icon>
|
128
|
+
string = '<icon>far-address-book</icon>'
|
129
129
|
tokens = tokenize_string(string)
|
130
130
|
content = contentize_string(string)
|
131
131
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
@@ -137,23 +137,23 @@ describe Prawn::Icon::Parser do
|
|
137
137
|
|
138
138
|
it 'should return a single array containing attr hash of defaults' do
|
139
139
|
# Hash must contain :set and :content by default
|
140
|
-
string = '<icon>
|
140
|
+
string = '<icon>far-address-book</icon>'
|
141
141
|
tokens = tokenize_string(string)
|
142
142
|
content = contentize_string(string)
|
143
143
|
config = Prawn::Icon::Parser.config_from_tokens(tokens)
|
144
144
|
icons = Prawn::Icon::Parser.keys_to_unicode(pdf, content, config)
|
145
145
|
icon = icons.first
|
146
146
|
|
147
|
-
expect(icon[:set]).to eq(:
|
147
|
+
expect(icon[:set]).to eq(:far)
|
148
148
|
expect(icon[:content]).not_to be_empty
|
149
149
|
end
|
150
150
|
|
151
151
|
it 'should handle strings with multiple icons/attrs combinations' do
|
152
152
|
string = <<-EOS
|
153
|
-
<icon size=
|
153
|
+
<icon size='20'>far-address-book</icon>
|
154
154
|
some filler text
|
155
|
-
<icon>
|
156
|
-
<icon size=
|
155
|
+
<icon>far-address-book</icon>
|
156
|
+
<icon size='8' color='0099FF'>far-address-book</icon>
|
157
157
|
EOS
|
158
158
|
tokens = tokenize_string(string)
|
159
159
|
content = contentize_string(string)
|
@@ -177,12 +177,12 @@ describe Prawn::Icon::Parser do
|
|
177
177
|
context 'with color attribute' do
|
178
178
|
let(:icons) do
|
179
179
|
[
|
180
|
-
{ set: :
|
180
|
+
{ set: :far, color: 'CCCCCC', content: '' }
|
181
181
|
]
|
182
182
|
end
|
183
183
|
|
184
184
|
it 'should return valid input as prawn formatted text tags wrapping color tags' do
|
185
|
-
match =
|
185
|
+
match = '<font name="far"><color rgb="CCCCCC"></color></font>'
|
186
186
|
|
187
187
|
expect(tags).to eq([match])
|
188
188
|
end
|
@@ -191,12 +191,12 @@ describe Prawn::Icon::Parser do
|
|
191
191
|
context 'without the color attribute' do
|
192
192
|
let(:icons) do
|
193
193
|
[
|
194
|
-
{ set: :
|
194
|
+
{ set: :far, content: '' }
|
195
195
|
]
|
196
196
|
end
|
197
197
|
|
198
198
|
it 'should return valid input as prawn formatted text tags without color' do
|
199
|
-
match =
|
199
|
+
match = '<font name="far"></font>'
|
200
200
|
|
201
201
|
expect(tags).to eq([match])
|
202
202
|
end
|
@@ -205,14 +205,14 @@ describe Prawn::Icon::Parser do
|
|
205
205
|
context 'with multiple icon fonts' do
|
206
206
|
let(:icons) do
|
207
207
|
[
|
208
|
-
{ set: :
|
209
|
-
{ set: :fi, content:
|
208
|
+
{ set: :far, content: '' },
|
209
|
+
{ set: :fi, content: '\uf001' }
|
210
210
|
]
|
211
211
|
end
|
212
212
|
|
213
213
|
it 'should be capable of handling multiple icon fonts' do
|
214
|
-
match1 =
|
215
|
-
match2 =
|
214
|
+
match1 = '<font name="far"></font>'
|
215
|
+
match2 = '<font name="fi">\uf001</font>'
|
216
216
|
|
217
217
|
expect(tags).to eq([match1, match2])
|
218
218
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prawn-icon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesse Doyle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: prawn
|
@@ -116,7 +116,7 @@ dependencies:
|
|
116
116
|
version: '0'
|
117
117
|
description: |2
|
118
118
|
Prawn::Icon provides various icon fonts including
|
119
|
-
FontAwesome,
|
119
|
+
FontAwesome, PaymentFont and Foundation Icons
|
120
120
|
for use with the Prawn PDF toolkit.
|
121
121
|
email:
|
122
122
|
- jdoyle@ualberta.ca
|
@@ -133,24 +133,26 @@ files:
|
|
133
133
|
- README.md
|
134
134
|
- Rakefile
|
135
135
|
- data/fonts/DejaVuSans.ttf
|
136
|
-
- data/fonts/
|
137
|
-
- data/fonts/
|
138
|
-
- data/fonts/
|
136
|
+
- data/fonts/fab/LICENSE
|
137
|
+
- data/fonts/fab/fa-brands.ttf
|
138
|
+
- data/fonts/fab/fab.yml
|
139
|
+
- data/fonts/far/LICENSE
|
140
|
+
- data/fonts/far/fa-regular.ttf
|
141
|
+
- data/fonts/far/far.yml
|
142
|
+
- data/fonts/fas/LICENSE
|
143
|
+
- data/fonts/fas/fa-solid.ttf
|
144
|
+
- data/fonts/fas/fas.yml
|
139
145
|
- data/fonts/fi/LICENSE
|
140
146
|
- data/fonts/fi/fi.yml
|
141
147
|
- data/fonts/fi/foundation-icons.ttf
|
142
|
-
- data/fonts/octicon/LICENSE
|
143
|
-
- data/fonts/octicon/octicon.yml
|
144
|
-
- data/fonts/octicon/octicons.ttf
|
145
148
|
- data/fonts/pf/LICENSE
|
146
149
|
- data/fonts/pf/paymentfont-webfont.ttf
|
147
150
|
- data/fonts/pf/pf.yml
|
148
151
|
- examples/example_helper.rb
|
149
|
-
- examples/
|
150
|
-
- examples/
|
152
|
+
- examples/fas-beer-inline.png
|
153
|
+
- examples/fas-beer.png
|
151
154
|
- examples/fontawesome.rb
|
152
155
|
- examples/foundation_icons.rb
|
153
|
-
- examples/octicons.rb
|
154
156
|
- examples/paymentfont.rb
|
155
157
|
- lib/prawn/icon.rb
|
156
158
|
- lib/prawn/icon/base.rb
|
data/data/fonts/fa/LICENSE
DELETED
data/data/fonts/fa/fa.yml
DELETED
@@ -1,789 +0,0 @@
|
|
1
|
-
---
|
2
|
-
fa:
|
3
|
-
__font_version__: 4.7.0
|
4
|
-
500px: ""
|
5
|
-
address-book: ""
|
6
|
-
address-book-o: ""
|
7
|
-
address-card: ""
|
8
|
-
address-card-o: ""
|
9
|
-
adjust: ""
|
10
|
-
adn: ""
|
11
|
-
align-center: ""
|
12
|
-
align-justify: ""
|
13
|
-
align-left: ""
|
14
|
-
align-right: ""
|
15
|
-
amazon: ""
|
16
|
-
ambulance: ""
|
17
|
-
american-sign-language-interpreting: ""
|
18
|
-
anchor: ""
|
19
|
-
android: ""
|
20
|
-
angellist: ""
|
21
|
-
angle-double-down: ""
|
22
|
-
angle-double-left: ""
|
23
|
-
angle-double-right: ""
|
24
|
-
angle-double-up: ""
|
25
|
-
angle-down: ""
|
26
|
-
angle-left: ""
|
27
|
-
angle-right: ""
|
28
|
-
angle-up: ""
|
29
|
-
apple: ""
|
30
|
-
archive: ""
|
31
|
-
area-chart: ""
|
32
|
-
arrow-circle-down: ""
|
33
|
-
arrow-circle-left: ""
|
34
|
-
arrow-circle-o-down: ""
|
35
|
-
arrow-circle-o-left: ""
|
36
|
-
arrow-circle-o-right: ""
|
37
|
-
arrow-circle-o-up: ""
|
38
|
-
arrow-circle-right: ""
|
39
|
-
arrow-circle-up: ""
|
40
|
-
arrow-down: ""
|
41
|
-
arrow-left: ""
|
42
|
-
arrow-right: ""
|
43
|
-
arrow-up: ""
|
44
|
-
arrows: ""
|
45
|
-
arrows-alt: ""
|
46
|
-
arrows-h: ""
|
47
|
-
arrows-v: ""
|
48
|
-
asl-interpreting: ""
|
49
|
-
assistive-listening-systems: ""
|
50
|
-
asterisk: ""
|
51
|
-
at: ""
|
52
|
-
audio-description: ""
|
53
|
-
automobile: ""
|
54
|
-
backward: ""
|
55
|
-
balance-scale: ""
|
56
|
-
ban: ""
|
57
|
-
bandcamp: ""
|
58
|
-
bank: ""
|
59
|
-
bar-chart: ""
|
60
|
-
bar-chart-o: ""
|
61
|
-
barcode: ""
|
62
|
-
bars: ""
|
63
|
-
bath: ""
|
64
|
-
bathtub: ""
|
65
|
-
battery: ""
|
66
|
-
battery-0: ""
|
67
|
-
battery-1: ""
|
68
|
-
battery-2: ""
|
69
|
-
battery-3: ""
|
70
|
-
battery-4: ""
|
71
|
-
battery-empty: ""
|
72
|
-
battery-full: ""
|
73
|
-
battery-half: ""
|
74
|
-
battery-quarter: ""
|
75
|
-
battery-three-quarters: ""
|
76
|
-
bed: ""
|
77
|
-
beer: ""
|
78
|
-
behance: ""
|
79
|
-
behance-square: ""
|
80
|
-
bell: ""
|
81
|
-
bell-o: ""
|
82
|
-
bell-slash: ""
|
83
|
-
bell-slash-o: ""
|
84
|
-
bicycle: ""
|
85
|
-
binoculars: ""
|
86
|
-
birthday-cake: ""
|
87
|
-
bitbucket: ""
|
88
|
-
bitbucket-square: ""
|
89
|
-
bitcoin: ""
|
90
|
-
black-tie: ""
|
91
|
-
blind: ""
|
92
|
-
bluetooth: ""
|
93
|
-
bluetooth-b: ""
|
94
|
-
bold: ""
|
95
|
-
bolt: ""
|
96
|
-
bomb: ""
|
97
|
-
book: ""
|
98
|
-
bookmark: ""
|
99
|
-
bookmark-o: ""
|
100
|
-
braille: ""
|
101
|
-
briefcase: ""
|
102
|
-
btc: ""
|
103
|
-
bug: ""
|
104
|
-
building: ""
|
105
|
-
building-o: ""
|
106
|
-
bullhorn: ""
|
107
|
-
bullseye: ""
|
108
|
-
bus: ""
|
109
|
-
buysellads: ""
|
110
|
-
cab: ""
|
111
|
-
calculator: ""
|
112
|
-
calendar: ""
|
113
|
-
calendar-check-o: ""
|
114
|
-
calendar-minus-o: ""
|
115
|
-
calendar-o: ""
|
116
|
-
calendar-plus-o: ""
|
117
|
-
calendar-times-o: ""
|
118
|
-
camera: ""
|
119
|
-
camera-retro: ""
|
120
|
-
car: ""
|
121
|
-
caret-down: ""
|
122
|
-
caret-left: ""
|
123
|
-
caret-right: ""
|
124
|
-
caret-square-o-down: ""
|
125
|
-
caret-square-o-left: ""
|
126
|
-
caret-square-o-right: ""
|
127
|
-
caret-square-o-up: ""
|
128
|
-
caret-up: ""
|
129
|
-
cart-arrow-down: ""
|
130
|
-
cart-plus: ""
|
131
|
-
cc: ""
|
132
|
-
cc-amex: ""
|
133
|
-
cc-diners-club: ""
|
134
|
-
cc-discover: ""
|
135
|
-
cc-jcb: ""
|
136
|
-
cc-mastercard: ""
|
137
|
-
cc-paypal: ""
|
138
|
-
cc-stripe: ""
|
139
|
-
cc-visa: ""
|
140
|
-
certificate: ""
|
141
|
-
chain: ""
|
142
|
-
chain-broken: ""
|
143
|
-
check: ""
|
144
|
-
check-circle: ""
|
145
|
-
check-circle-o: ""
|
146
|
-
check-square: ""
|
147
|
-
check-square-o: ""
|
148
|
-
chevron-circle-down: ""
|
149
|
-
chevron-circle-left: ""
|
150
|
-
chevron-circle-right: ""
|
151
|
-
chevron-circle-up: ""
|
152
|
-
chevron-down: ""
|
153
|
-
chevron-left: ""
|
154
|
-
chevron-right: ""
|
155
|
-
chevron-up: ""
|
156
|
-
child: ""
|
157
|
-
chrome: ""
|
158
|
-
circle: ""
|
159
|
-
circle-o: ""
|
160
|
-
circle-o-notch: ""
|
161
|
-
circle-thin: ""
|
162
|
-
clipboard: ""
|
163
|
-
clock-o: ""
|
164
|
-
clone: ""
|
165
|
-
close: ""
|
166
|
-
cloud: ""
|
167
|
-
cloud-download: ""
|
168
|
-
cloud-upload: ""
|
169
|
-
cny: ""
|
170
|
-
code: ""
|
171
|
-
code-fork: ""
|
172
|
-
codepen: ""
|
173
|
-
codiepie: ""
|
174
|
-
coffee: ""
|
175
|
-
cog: ""
|
176
|
-
cogs: ""
|
177
|
-
columns: ""
|
178
|
-
comment: ""
|
179
|
-
comment-o: ""
|
180
|
-
commenting: ""
|
181
|
-
commenting-o: ""
|
182
|
-
comments: ""
|
183
|
-
comments-o: ""
|
184
|
-
compass: ""
|
185
|
-
compress: ""
|
186
|
-
connectdevelop: ""
|
187
|
-
contao: ""
|
188
|
-
copy: ""
|
189
|
-
copyright: ""
|
190
|
-
creative-commons: ""
|
191
|
-
credit-card: ""
|
192
|
-
credit-card-alt: ""
|
193
|
-
crop: ""
|
194
|
-
crosshairs: ""
|
195
|
-
css3: ""
|
196
|
-
cube: ""
|
197
|
-
cubes: ""
|
198
|
-
cut: ""
|
199
|
-
cutlery: ""
|
200
|
-
dashboard: ""
|
201
|
-
dashcube: ""
|
202
|
-
database: ""
|
203
|
-
deaf: ""
|
204
|
-
deafness: ""
|
205
|
-
dedent: ""
|
206
|
-
delicious: ""
|
207
|
-
desktop: ""
|
208
|
-
deviantart: ""
|
209
|
-
diamond: ""
|
210
|
-
digg: ""
|
211
|
-
dollar: ""
|
212
|
-
dot-circle-o: ""
|
213
|
-
download: ""
|
214
|
-
dribbble: ""
|
215
|
-
drivers-license: ""
|
216
|
-
drivers-license-o: ""
|
217
|
-
dropbox: ""
|
218
|
-
drupal: ""
|
219
|
-
edge: ""
|
220
|
-
edit: ""
|
221
|
-
eercast: ""
|
222
|
-
eject: ""
|
223
|
-
ellipsis-h: ""
|
224
|
-
ellipsis-v: ""
|
225
|
-
empire: ""
|
226
|
-
envelope: ""
|
227
|
-
envelope-o: ""
|
228
|
-
envelope-open: ""
|
229
|
-
envelope-open-o: ""
|
230
|
-
envelope-square: ""
|
231
|
-
envira: ""
|
232
|
-
eraser: ""
|
233
|
-
etsy: ""
|
234
|
-
eur: ""
|
235
|
-
euro: ""
|
236
|
-
exchange: ""
|
237
|
-
exclamation: ""
|
238
|
-
exclamation-circle: ""
|
239
|
-
exclamation-triangle: ""
|
240
|
-
expand: ""
|
241
|
-
expeditedssl: ""
|
242
|
-
external-link: ""
|
243
|
-
external-link-square: ""
|
244
|
-
eye: ""
|
245
|
-
eye-slash: ""
|
246
|
-
eyedropper: ""
|
247
|
-
fa: ""
|
248
|
-
facebook: ""
|
249
|
-
facebook-f: ""
|
250
|
-
facebook-official: ""
|
251
|
-
facebook-square: ""
|
252
|
-
fast-backward: ""
|
253
|
-
fast-forward: ""
|
254
|
-
fax: ""
|
255
|
-
feed: ""
|
256
|
-
female: ""
|
257
|
-
fighter-jet: ""
|
258
|
-
file: ""
|
259
|
-
file-archive-o: ""
|
260
|
-
file-audio-o: ""
|
261
|
-
file-code-o: ""
|
262
|
-
file-excel-o: ""
|
263
|
-
file-image-o: ""
|
264
|
-
file-movie-o: ""
|
265
|
-
file-o: ""
|
266
|
-
file-pdf-o: ""
|
267
|
-
file-photo-o: ""
|
268
|
-
file-picture-o: ""
|
269
|
-
file-powerpoint-o: ""
|
270
|
-
file-sound-o: ""
|
271
|
-
file-text: ""
|
272
|
-
file-text-o: ""
|
273
|
-
file-video-o: ""
|
274
|
-
file-word-o: ""
|
275
|
-
file-zip-o: ""
|
276
|
-
files-o: ""
|
277
|
-
film: ""
|
278
|
-
filter: ""
|
279
|
-
fire: ""
|
280
|
-
fire-extinguisher: ""
|
281
|
-
firefox: ""
|
282
|
-
first-order: ""
|
283
|
-
flag: ""
|
284
|
-
flag-checkered: ""
|
285
|
-
flag-o: ""
|
286
|
-
flash: ""
|
287
|
-
flask: ""
|
288
|
-
flickr: ""
|
289
|
-
floppy-o: ""
|
290
|
-
folder: ""
|
291
|
-
folder-o: ""
|
292
|
-
folder-open: ""
|
293
|
-
folder-open-o: ""
|
294
|
-
font: ""
|
295
|
-
font-awesome: ""
|
296
|
-
fonticons: ""
|
297
|
-
fort-awesome: ""
|
298
|
-
forumbee: ""
|
299
|
-
forward: ""
|
300
|
-
foursquare: ""
|
301
|
-
free-code-camp: ""
|
302
|
-
frown-o: ""
|
303
|
-
futbol-o: ""
|
304
|
-
gamepad: ""
|
305
|
-
gavel: ""
|
306
|
-
gbp: ""
|
307
|
-
ge: ""
|
308
|
-
gear: ""
|
309
|
-
gears: ""
|
310
|
-
genderless: ""
|
311
|
-
get-pocket: ""
|
312
|
-
gg: ""
|
313
|
-
gg-circle: ""
|
314
|
-
gift: ""
|
315
|
-
git: ""
|
316
|
-
git-square: ""
|
317
|
-
github: ""
|
318
|
-
github-alt: ""
|
319
|
-
github-square: ""
|
320
|
-
gitlab: ""
|
321
|
-
gittip: ""
|
322
|
-
glass: ""
|
323
|
-
glide: ""
|
324
|
-
glide-g: ""
|
325
|
-
globe: ""
|
326
|
-
google: ""
|
327
|
-
google-plus: ""
|
328
|
-
google-plus-circle: ""
|
329
|
-
google-plus-official: ""
|
330
|
-
google-plus-square: ""
|
331
|
-
google-wallet: ""
|
332
|
-
graduation-cap: ""
|
333
|
-
gratipay: ""
|
334
|
-
grav: ""
|
335
|
-
group: ""
|
336
|
-
h-square: ""
|
337
|
-
hacker-news: ""
|
338
|
-
hand-grab-o: ""
|
339
|
-
hand-lizard-o: ""
|
340
|
-
hand-o-down: ""
|
341
|
-
hand-o-left: ""
|
342
|
-
hand-o-right: ""
|
343
|
-
hand-o-up: ""
|
344
|
-
hand-paper-o: ""
|
345
|
-
hand-peace-o: ""
|
346
|
-
hand-pointer-o: ""
|
347
|
-
hand-rock-o: ""
|
348
|
-
hand-scissors-o: ""
|
349
|
-
hand-spock-o: ""
|
350
|
-
hand-stop-o: ""
|
351
|
-
handshake-o: ""
|
352
|
-
hard-of-hearing: ""
|
353
|
-
hashtag: ""
|
354
|
-
hdd-o: ""
|
355
|
-
header: ""
|
356
|
-
headphones: ""
|
357
|
-
heart: ""
|
358
|
-
heart-o: ""
|
359
|
-
heartbeat: ""
|
360
|
-
history: ""
|
361
|
-
home: ""
|
362
|
-
hospital-o: ""
|
363
|
-
hotel: ""
|
364
|
-
hourglass: ""
|
365
|
-
hourglass-1: ""
|
366
|
-
hourglass-2: ""
|
367
|
-
hourglass-3: ""
|
368
|
-
hourglass-end: ""
|
369
|
-
hourglass-half: ""
|
370
|
-
hourglass-o: ""
|
371
|
-
hourglass-start: ""
|
372
|
-
houzz: ""
|
373
|
-
html5: ""
|
374
|
-
i-cursor: ""
|
375
|
-
id-badge: ""
|
376
|
-
id-card: ""
|
377
|
-
id-card-o: ""
|
378
|
-
ils: ""
|
379
|
-
image: ""
|
380
|
-
imdb: ""
|
381
|
-
inbox: ""
|
382
|
-
indent: ""
|
383
|
-
industry: ""
|
384
|
-
info: ""
|
385
|
-
info-circle: ""
|
386
|
-
inr: ""
|
387
|
-
instagram: ""
|
388
|
-
institution: ""
|
389
|
-
internet-explorer: ""
|
390
|
-
intersex: ""
|
391
|
-
ioxhost: ""
|
392
|
-
italic: ""
|
393
|
-
joomla: ""
|
394
|
-
jpy: ""
|
395
|
-
jsfiddle: ""
|
396
|
-
key: ""
|
397
|
-
keyboard-o: ""
|
398
|
-
krw: ""
|
399
|
-
language: ""
|
400
|
-
laptop: ""
|
401
|
-
lastfm: ""
|
402
|
-
lastfm-square: ""
|
403
|
-
leaf: ""
|
404
|
-
leanpub: ""
|
405
|
-
legal: ""
|
406
|
-
lemon-o: ""
|
407
|
-
level-down: ""
|
408
|
-
level-up: ""
|
409
|
-
life-bouy: ""
|
410
|
-
life-buoy: ""
|
411
|
-
life-ring: ""
|
412
|
-
life-saver: ""
|
413
|
-
lightbulb-o: ""
|
414
|
-
line-chart: ""
|
415
|
-
link: ""
|
416
|
-
linkedin: ""
|
417
|
-
linkedin-square: ""
|
418
|
-
linode: ""
|
419
|
-
linux: ""
|
420
|
-
list: ""
|
421
|
-
list-alt: ""
|
422
|
-
list-ol: ""
|
423
|
-
list-ul: ""
|
424
|
-
location-arrow: ""
|
425
|
-
lock: ""
|
426
|
-
long-arrow-down: ""
|
427
|
-
long-arrow-left: ""
|
428
|
-
long-arrow-right: ""
|
429
|
-
long-arrow-up: ""
|
430
|
-
low-vision: ""
|
431
|
-
magic: ""
|
432
|
-
magnet: ""
|
433
|
-
mail-forward: ""
|
434
|
-
mail-reply: ""
|
435
|
-
mail-reply-all: ""
|
436
|
-
male: ""
|
437
|
-
map: ""
|
438
|
-
map-marker: ""
|
439
|
-
map-o: ""
|
440
|
-
map-pin: ""
|
441
|
-
map-signs: ""
|
442
|
-
mars: ""
|
443
|
-
mars-double: ""
|
444
|
-
mars-stroke: ""
|
445
|
-
mars-stroke-h: ""
|
446
|
-
mars-stroke-v: ""
|
447
|
-
maxcdn: ""
|
448
|
-
meanpath: ""
|
449
|
-
medium: ""
|
450
|
-
medkit: ""
|
451
|
-
meetup: ""
|
452
|
-
meh-o: ""
|
453
|
-
mercury: ""
|
454
|
-
microchip: ""
|
455
|
-
microphone: ""
|
456
|
-
microphone-slash: ""
|
457
|
-
minus: ""
|
458
|
-
minus-circle: ""
|
459
|
-
minus-square: ""
|
460
|
-
minus-square-o: ""
|
461
|
-
mixcloud: ""
|
462
|
-
mobile: ""
|
463
|
-
mobile-phone: ""
|
464
|
-
modx: ""
|
465
|
-
money: ""
|
466
|
-
moon-o: ""
|
467
|
-
mortar-board: ""
|
468
|
-
motorcycle: ""
|
469
|
-
mouse-pointer: ""
|
470
|
-
music: ""
|
471
|
-
navicon: ""
|
472
|
-
neuter: ""
|
473
|
-
newspaper-o: ""
|
474
|
-
object-group: ""
|
475
|
-
object-ungroup: ""
|
476
|
-
odnoklassniki: ""
|
477
|
-
odnoklassniki-square: ""
|
478
|
-
opencart: ""
|
479
|
-
openid: ""
|
480
|
-
opera: ""
|
481
|
-
optin-monster: ""
|
482
|
-
outdent: ""
|
483
|
-
pagelines: ""
|
484
|
-
paint-brush: ""
|
485
|
-
paper-plane: ""
|
486
|
-
paper-plane-o: ""
|
487
|
-
paperclip: ""
|
488
|
-
paragraph: ""
|
489
|
-
paste: ""
|
490
|
-
pause: ""
|
491
|
-
pause-circle: ""
|
492
|
-
pause-circle-o: ""
|
493
|
-
paw: ""
|
494
|
-
paypal: ""
|
495
|
-
pencil: ""
|
496
|
-
pencil-square: ""
|
497
|
-
pencil-square-o: ""
|
498
|
-
percent: ""
|
499
|
-
phone: ""
|
500
|
-
phone-square: ""
|
501
|
-
photo: ""
|
502
|
-
picture-o: ""
|
503
|
-
pie-chart: ""
|
504
|
-
pied-piper: ""
|
505
|
-
pied-piper-alt: ""
|
506
|
-
pied-piper-pp: ""
|
507
|
-
pinterest: ""
|
508
|
-
pinterest-p: ""
|
509
|
-
pinterest-square: ""
|
510
|
-
plane: ""
|
511
|
-
play: ""
|
512
|
-
play-circle: ""
|
513
|
-
play-circle-o: ""
|
514
|
-
plug: ""
|
515
|
-
plus: ""
|
516
|
-
plus-circle: ""
|
517
|
-
plus-square: ""
|
518
|
-
plus-square-o: ""
|
519
|
-
podcast: ""
|
520
|
-
power-off: ""
|
521
|
-
print: ""
|
522
|
-
product-hunt: ""
|
523
|
-
puzzle-piece: ""
|
524
|
-
qq: ""
|
525
|
-
qrcode: ""
|
526
|
-
question: ""
|
527
|
-
question-circle: ""
|
528
|
-
question-circle-o: ""
|
529
|
-
quora: ""
|
530
|
-
quote-left: ""
|
531
|
-
quote-right: ""
|
532
|
-
ra: ""
|
533
|
-
random: ""
|
534
|
-
ravelry: ""
|
535
|
-
rebel: ""
|
536
|
-
recycle: ""
|
537
|
-
reddit: ""
|
538
|
-
reddit-alien: ""
|
539
|
-
reddit-square: ""
|
540
|
-
refresh: ""
|
541
|
-
registered: ""
|
542
|
-
remove: ""
|
543
|
-
renren: ""
|
544
|
-
reorder: ""
|
545
|
-
repeat: ""
|
546
|
-
reply: ""
|
547
|
-
reply-all: ""
|
548
|
-
resistance: ""
|
549
|
-
retweet: ""
|
550
|
-
rmb: ""
|
551
|
-
road: ""
|
552
|
-
rocket: ""
|
553
|
-
rotate-left: ""
|
554
|
-
rotate-right: ""
|
555
|
-
rouble: ""
|
556
|
-
rss: ""
|
557
|
-
rss-square: ""
|
558
|
-
rub: ""
|
559
|
-
ruble: ""
|
560
|
-
rupee: ""
|
561
|
-
s15: ""
|
562
|
-
safari: ""
|
563
|
-
save: ""
|
564
|
-
scissors: ""
|
565
|
-
scribd: ""
|
566
|
-
search: ""
|
567
|
-
search-minus: ""
|
568
|
-
search-plus: ""
|
569
|
-
sellsy: ""
|
570
|
-
send: ""
|
571
|
-
send-o: ""
|
572
|
-
server: ""
|
573
|
-
share: ""
|
574
|
-
share-alt: ""
|
575
|
-
share-alt-square: ""
|
576
|
-
share-square: ""
|
577
|
-
share-square-o: ""
|
578
|
-
shekel: ""
|
579
|
-
sheqel: ""
|
580
|
-
shield: ""
|
581
|
-
ship: ""
|
582
|
-
shirtsinbulk: ""
|
583
|
-
shopping-bag: ""
|
584
|
-
shopping-basket: ""
|
585
|
-
shopping-cart: ""
|
586
|
-
shower: ""
|
587
|
-
sign-in: ""
|
588
|
-
sign-language: ""
|
589
|
-
sign-out: ""
|
590
|
-
signal: ""
|
591
|
-
signing: ""
|
592
|
-
simplybuilt: ""
|
593
|
-
sitemap: ""
|
594
|
-
skyatlas: ""
|
595
|
-
skype: ""
|
596
|
-
slack: ""
|
597
|
-
sliders: ""
|
598
|
-
slideshare: ""
|
599
|
-
smile-o: ""
|
600
|
-
snapchat: ""
|
601
|
-
snapchat-ghost: ""
|
602
|
-
snapchat-square: ""
|
603
|
-
snowflake-o: ""
|
604
|
-
soccer-ball-o: ""
|
605
|
-
sort: ""
|
606
|
-
sort-alpha-asc: ""
|
607
|
-
sort-alpha-desc: ""
|
608
|
-
sort-amount-asc: ""
|
609
|
-
sort-amount-desc: ""
|
610
|
-
sort-asc: ""
|
611
|
-
sort-desc: ""
|
612
|
-
sort-down: ""
|
613
|
-
sort-numeric-asc: ""
|
614
|
-
sort-numeric-desc: ""
|
615
|
-
sort-up: ""
|
616
|
-
soundcloud: ""
|
617
|
-
space-shuttle: ""
|
618
|
-
spinner: ""
|
619
|
-
spoon: ""
|
620
|
-
spotify: ""
|
621
|
-
square: ""
|
622
|
-
square-o: ""
|
623
|
-
stack-exchange: ""
|
624
|
-
stack-overflow: ""
|
625
|
-
star: ""
|
626
|
-
star-half: ""
|
627
|
-
star-half-empty: ""
|
628
|
-
star-half-full: ""
|
629
|
-
star-half-o: ""
|
630
|
-
star-o: ""
|
631
|
-
steam: ""
|
632
|
-
steam-square: ""
|
633
|
-
step-backward: ""
|
634
|
-
step-forward: ""
|
635
|
-
stethoscope: ""
|
636
|
-
sticky-note: ""
|
637
|
-
sticky-note-o: ""
|
638
|
-
stop: ""
|
639
|
-
stop-circle: ""
|
640
|
-
stop-circle-o: ""
|
641
|
-
street-view: ""
|
642
|
-
strikethrough: ""
|
643
|
-
stumbleupon: ""
|
644
|
-
stumbleupon-circle: ""
|
645
|
-
subscript: ""
|
646
|
-
subway: ""
|
647
|
-
suitcase: ""
|
648
|
-
sun-o: ""
|
649
|
-
superpowers: ""
|
650
|
-
superscript: ""
|
651
|
-
support: ""
|
652
|
-
table: ""
|
653
|
-
tablet: ""
|
654
|
-
tachometer: ""
|
655
|
-
tag: ""
|
656
|
-
tags: ""
|
657
|
-
tasks: ""
|
658
|
-
taxi: ""
|
659
|
-
telegram: ""
|
660
|
-
television: ""
|
661
|
-
tencent-weibo: ""
|
662
|
-
terminal: ""
|
663
|
-
text-height: ""
|
664
|
-
text-width: ""
|
665
|
-
th: ""
|
666
|
-
th-large: ""
|
667
|
-
th-list: ""
|
668
|
-
themeisle: ""
|
669
|
-
thermometer: ""
|
670
|
-
thermometer-0: ""
|
671
|
-
thermometer-1: ""
|
672
|
-
thermometer-2: ""
|
673
|
-
thermometer-3: ""
|
674
|
-
thermometer-4: ""
|
675
|
-
thermometer-empty: ""
|
676
|
-
thermometer-full: ""
|
677
|
-
thermometer-half: ""
|
678
|
-
thermometer-quarter: ""
|
679
|
-
thermometer-three-quarters: ""
|
680
|
-
thumb-tack: ""
|
681
|
-
thumbs-down: ""
|
682
|
-
thumbs-o-down: ""
|
683
|
-
thumbs-o-up: ""
|
684
|
-
thumbs-up: ""
|
685
|
-
ticket: ""
|
686
|
-
times: ""
|
687
|
-
times-circle: ""
|
688
|
-
times-circle-o: ""
|
689
|
-
times-rectangle: ""
|
690
|
-
times-rectangle-o: ""
|
691
|
-
tint: ""
|
692
|
-
toggle-down: ""
|
693
|
-
toggle-left: ""
|
694
|
-
toggle-off: ""
|
695
|
-
toggle-on: ""
|
696
|
-
toggle-right: ""
|
697
|
-
toggle-up: ""
|
698
|
-
trademark: ""
|
699
|
-
train: ""
|
700
|
-
transgender: ""
|
701
|
-
transgender-alt: ""
|
702
|
-
trash: ""
|
703
|
-
trash-o: ""
|
704
|
-
tree: ""
|
705
|
-
trello: ""
|
706
|
-
tripadvisor: ""
|
707
|
-
trophy: ""
|
708
|
-
truck: ""
|
709
|
-
try: ""
|
710
|
-
tty: ""
|
711
|
-
tumblr: ""
|
712
|
-
tumblr-square: ""
|
713
|
-
turkish-lira: ""
|
714
|
-
tv: ""
|
715
|
-
twitch: ""
|
716
|
-
twitter: ""
|
717
|
-
twitter-square: ""
|
718
|
-
umbrella: ""
|
719
|
-
underline: ""
|
720
|
-
undo: ""
|
721
|
-
universal-access: ""
|
722
|
-
university: ""
|
723
|
-
unlink: ""
|
724
|
-
unlock: ""
|
725
|
-
unlock-alt: ""
|
726
|
-
unsorted: ""
|
727
|
-
upload: ""
|
728
|
-
usb: ""
|
729
|
-
usd: ""
|
730
|
-
user: ""
|
731
|
-
user-circle: ""
|
732
|
-
user-circle-o: ""
|
733
|
-
user-md: ""
|
734
|
-
user-o: ""
|
735
|
-
user-plus: ""
|
736
|
-
user-secret: ""
|
737
|
-
user-times: ""
|
738
|
-
users: ""
|
739
|
-
vcard: ""
|
740
|
-
vcard-o: ""
|
741
|
-
venus: ""
|
742
|
-
venus-double: ""
|
743
|
-
venus-mars: ""
|
744
|
-
viacoin: ""
|
745
|
-
viadeo: ""
|
746
|
-
viadeo-square: ""
|
747
|
-
video-camera: ""
|
748
|
-
vimeo: ""
|
749
|
-
vimeo-square: ""
|
750
|
-
vine: ""
|
751
|
-
vk: ""
|
752
|
-
volume-control-phone: ""
|
753
|
-
volume-down: ""
|
754
|
-
volume-off: ""
|
755
|
-
volume-up: ""
|
756
|
-
warning: ""
|
757
|
-
wechat: ""
|
758
|
-
weibo: ""
|
759
|
-
weixin: ""
|
760
|
-
whatsapp: ""
|
761
|
-
wheelchair: ""
|
762
|
-
wheelchair-alt: ""
|
763
|
-
wifi: ""
|
764
|
-
wikipedia-w: ""
|
765
|
-
window-close: ""
|
766
|
-
window-close-o: ""
|
767
|
-
window-maximize: ""
|
768
|
-
window-minimize: ""
|
769
|
-
window-restore: ""
|
770
|
-
windows: ""
|
771
|
-
won: ""
|
772
|
-
wordpress: ""
|
773
|
-
wpbeginner: ""
|
774
|
-
wpexplorer: ""
|
775
|
-
wpforms: ""
|
776
|
-
wrench: ""
|
777
|
-
xing: ""
|
778
|
-
xing-square: ""
|
779
|
-
y-combinator: ""
|
780
|
-
y-combinator-square: ""
|
781
|
-
yahoo: ""
|
782
|
-
yc: ""
|
783
|
-
yc-square: ""
|
784
|
-
yelp: ""
|
785
|
-
yen: ""
|
786
|
-
yoast: ""
|
787
|
-
youtube: ""
|
788
|
-
youtube-play: ""
|
789
|
-
youtube-square: ""
|