glyph 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/README.textile +80 -0
  2. data/Rakefile +51 -0
  3. data/VERSION +1 -0
  4. data/bin/glyph +7 -0
  5. data/book/config.yml +5 -0
  6. data/book/document.glyph +55 -0
  7. data/book/images/glyph.png +0 -0
  8. data/book/images/glyph.svg +351 -0
  9. data/book/lib/macros/reference.rb +98 -0
  10. data/book/output/html/glyph.html +1809 -0
  11. data/book/output/html/images/glyph.png +0 -0
  12. data/book/output/html/images/glyph.svg +351 -0
  13. data/book/output/pdf/glyph.pdf +4277 -0
  14. data/book/snippets.yml +13 -0
  15. data/book/styles/css3.css +220 -0
  16. data/book/styles/default.css +190 -0
  17. data/book/text/authoring.textile +351 -0
  18. data/book/text/extending.textile +148 -0
  19. data/book/text/getting_started.textile +152 -0
  20. data/book/text/introduction.textile +88 -0
  21. data/book/text/ref_commands.textile +74 -0
  22. data/book/text/ref_config.textile +0 -0
  23. data/book/text/ref_macros.textile +256 -0
  24. data/book/text/troubleshooting.textile +118 -0
  25. data/config.yml +63 -0
  26. data/document.glyph +29 -0
  27. data/glyph.gemspec +138 -0
  28. data/lib/glyph.rb +128 -0
  29. data/lib/glyph/commands.rb +124 -0
  30. data/lib/glyph/config.rb +152 -0
  31. data/lib/glyph/document.rb +145 -0
  32. data/lib/glyph/glyph_language.rb +530 -0
  33. data/lib/glyph/glyph_language.treetop +27 -0
  34. data/lib/glyph/interpreter.rb +84 -0
  35. data/lib/glyph/macro.rb +69 -0
  36. data/lib/glyph/node.rb +126 -0
  37. data/lib/glyph/system_extensions.rb +77 -0
  38. data/macros/common.rb +66 -0
  39. data/macros/filters.rb +69 -0
  40. data/macros/html/block.rb +119 -0
  41. data/macros/html/inline.rb +43 -0
  42. data/macros/html/structure.rb +138 -0
  43. data/spec/files/container.textile +5 -0
  44. data/spec/files/document.glyph +2 -0
  45. data/spec/files/document_with_toc.glyph +3 -0
  46. data/spec/files/included.textile +4 -0
  47. data/spec/files/ligature.jpg +449 -0
  48. data/spec/files/markdown.markdown +8 -0
  49. data/spec/files/test.sass +2 -0
  50. data/spec/lib/commands_spec.rb +83 -0
  51. data/spec/lib/config_spec.rb +79 -0
  52. data/spec/lib/document_spec.rb +100 -0
  53. data/spec/lib/glyph_spec.rb +76 -0
  54. data/spec/lib/interpreter_spec.rb +90 -0
  55. data/spec/lib/macro_spec.rb +60 -0
  56. data/spec/lib/node_spec.rb +76 -0
  57. data/spec/macros/filters_spec.rb +42 -0
  58. data/spec/macros/macros_spec.rb +159 -0
  59. data/spec/spec_helper.rb +92 -0
  60. data/spec/tasks/generate_spec.rb +31 -0
  61. data/spec/tasks/load_spec.rb +37 -0
  62. data/spec/tasks/project_spec.rb +41 -0
  63. data/styles/css3.css +220 -0
  64. data/styles/default.css +190 -0
  65. data/tasks/generate.rake +57 -0
  66. data/tasks/load.rake +55 -0
  67. data/tasks/project.rake +33 -0
  68. metadata +192 -0
data/README.textile ADDED
@@ -0,0 +1,80 @@
1
+ Glyph is a _Rapid Document Authoring Framework_.
2
+
3
+ Think of it like a sort of "Ruby On Rails":http://www.rubyonrails.org but for creating text documents instead of web sites. With Glyph, you can manage your documents tidily in _projects_ that can be used to generate deliverables in different formats such as HTML or PDF (through "Prince":http://www.princexml.com).
4
+
5
+ h3. Main Features
6
+
7
+ Glyph uses a simple macro system to perform a wide variety of advanced tasks:
8
+ * Generate block-level HTML tags not commonly managed by lightweight markups, like @head@, @body@, @div@ and @table@.
9
+ * Create and validate internal and external links.
10
+ * Include and validate images and figures.
11
+ * Automatically determine header levels based on the document structure.
12
+ * Automatically generate a Table of Contents based on the document structure.
13
+ * Store common snippets of text in a single YAML file and use them anywhere in your document, as many times as you need.
14
+ * Store configuration settings in a YAML file and use them anywhere in your document, as many times as you need.
15
+ * Evaluate Ruby code within your document.
16
+ * Call macros from other macros (including snippets), carefully avoiding mutual calls.
17
+ * Include text files in other text files.
18
+ * Include the contents of configuration settings (author, title) in the document.
19
+ * Filter input explicitly or implicitly, based on file extensions when including files.
20
+ * Manage comments and todo items.
21
+
22
+ h3. Installation
23
+
24
+ @gem install glyph@ -- simple, as always.
25
+
26
+ h3. Essential Glyph Commands
27
+
28
+ Glyph is 100% command line. Its interface "Git's":http://git-scm.com/ for its simplicity and power (thanks to the "Gli":http://github.com/davetron5000/gli gem). Here are some example commands:
29
+
30
+ * @glyph init@ -- to initialize a new Glyph project in the current (empty) directory.
31
+ * @glyph add introduction.textile@ -- to create a new file called _introduction.textile_.
32
+ * @glyph compile@ -- to compile the current document into a single HTML file.
33
+ * @glyph compile -f pdf@ -- to compile the current document into HTML and then transform it into PDF using "Prince":http://www.princexml.com.
34
+
35
+ h3. Glyph macros in a nutshell
36
+
37
+ Format your documents using Textile or Markdown, and use Glyph Macros to do everything else:
38
+
39
+ **Glyph Source:**
40
+
41
+ <pre><code>
42
+ section[header[Something about Glyph]
43
+ You can use Glyph macros in conjunction
44
+ with _Textile_ or _Markdown_ to
45
+ produce HTML files effortlessly.
46
+ section[header[What about PDFs?|pdf]
47
+ Once you have a single, well-formatted HTML
48
+ file, converting it to PDF is
49
+ extremely easy with a 3rd-party
50
+ renderer like =>[http://www.princexml.com|Prince].
51
+ ]
52
+ ]
53
+ </code></pre>
54
+
55
+ **HTML Output:**
56
+
57
+ <pre><code>
58
+ <div class="section">
59
+ <h2 id="h_1">Something about Glyph</h2>
60
+ <p>You can use Glyph macros in conjunction with
61
+ <em>Textile</em> or <em>Markdown</em> to
62
+ produce HTML files effortlessly.</p>
63
+ <div class="section">
64
+ <h3 id="pdf">What about PDFs?</h3>
65
+ <p>Once you have a single, well-formatted HTML
66
+ file, converting it to PDF is
67
+ extremely easy with a 3rd-party renderer
68
+ like <a href="http://www.princexml.com">Prince</a>.</p>
69
+ </div>
70
+ </div>
71
+ </code></pre>
72
+
73
+ h3. Resources
74
+
75
+ * Home Page: "http://www.h3rald.com/glyph/":http://www.h3rald.com/glyph/
76
+ * Repository: "http://www.github.com/h3rald/glyph/":http://www.github.com/h3rald/glyph/
77
+ * Bug Tracking: "http://www.github.com/h3rald/glyph/issues":http://www.github.com/h3rald/glyph/issues
78
+ * Book (PDF): "http://github.com/h3rald/glyph/tree/master/book/output/pdf/glyph.pdf":http://github.com/h3rald/glyph/tree/master/book/output/pdf/glyph.pdf
79
+ * Reference Documentation: "http://yardoc.org/docs/h3rald-glyph/":http://yardoc.org/docs/h3rald-glyph/
80
+ * User Group: "http://groups.google.com/group/glyph-framework":http://groups.google.com/group/glyph-framework
data/Rakefile ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env ruby
2
+ $: << File.expand_path(File.dirname(__FILE__) + '/lib')
3
+ require 'rubygems'
4
+ require 'rake/clean'
5
+ require 'glyph'
6
+
7
+ task :default => :spec
8
+
9
+ begin
10
+ require 'yard'
11
+ YARD::Rake::YardocTask.new(:yardoc) do |t|
12
+ t.files = ['lib/**/*.rb', 'README.textile', 'lib/*.rb']
13
+ t.options = ['--no-private']
14
+ end
15
+ rescue LoadError
16
+ task :yardoc do
17
+ abort "YARD is not available. Install it with: gem install yard"
18
+ end
19
+ end
20
+
21
+ begin
22
+ require 'jeweler'
23
+ Jeweler::Tasks.new do |s|
24
+ s.name = "glyph"
25
+ s.summary = "Glyph -- A Ruby-powered Document Authoring Framework"
26
+ s.description = "Glyph is a framework for structured document authoring."
27
+ s.email = "h3rald@h3rald.com"
28
+ s.homepage = "http://www.h3rald.com/glyph/"
29
+ s.authors = ["Fabio Cevasco"]
30
+ s.add_dependency 'gli', '>= 0.3.1'
31
+ s.add_dependency 'extlib', '>= 0.9.12'
32
+ s.add_dependency 'treetop', '>= 0.4.3'
33
+ s.add_dependency 'rake', '>= 0.8.7'
34
+ s.add_development_dependency 'rspec'
35
+ s.add_development_dependency 'yard'
36
+ end
37
+ Jeweler::GemcutterTasks.new
38
+ rescue LoadError
39
+ puts "Jeweler is not available. Install it with: gem install jeweler"
40
+ end
41
+
42
+ begin
43
+ require 'spec/rake/spectask'
44
+ Spec::Rake::SpecTask.new('spec') do |t|
45
+ t.spec_files = FileList['spec/**/*_spec.rb']
46
+ end
47
+ rescue LoadError
48
+ puts "RSpec is not available. Install it with: gem install rspec"
49
+ end
50
+
51
+ FileList['tasks/**/*.rake'].each { |t| load t}
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
data/bin/glyph ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby
2
+ $: << File.expand_path(File.dirname(__FILE__) + '/../lib')
3
+ require 'glyph'
4
+ require 'glyph/commands'
5
+
6
+
7
+ run(ARGV)
data/book/config.yml ADDED
@@ -0,0 +1,5 @@
1
+ :document:
2
+ :author: "Fabio Cevasco"
3
+ :title: "Glyph"
4
+ :subtitle: "Rapid Document Authoring Framework"
5
+ :filename: "glyph"
@@ -0,0 +1,55 @@
1
+ document[
2
+ head[
3
+ style[default.css]
4
+ style[css3.css]
5
+ ]
6
+ body[
7
+ titlepage[
8
+ img[glyph.svg|20%|20%]
9
+ title[]
10
+ subtitle[]
11
+ v\.%[Glyph::VERSION] (draft)
12
+ author[]
13
+ pubdate[]
14
+ ]
15
+ frontmatter[
16
+ toc[]
17
+ introduction[
18
+ header[Introduction]
19
+ @[introduction.textile]
20
+ ]
21
+ ]
22
+ bodymatter[
23
+ chapter[
24
+ header[Getting Started]
25
+ @[getting_started.textile]
26
+ ]
27
+ chapter[
28
+ header[Authoring Documents]
29
+ @[authoring.textile]
30
+ ]
31
+ chapter[
32
+ header[Extending Glyph|extending]
33
+ @[extending.textile]
34
+ ]
35
+ chapter[
36
+ header[Troubleshooting]
37
+ @[troubleshooting.textile]
38
+ ]
39
+ ]
40
+ backmatter[
41
+ appendix[
42
+ header[Command Reference|cmd_ref]
43
+ @[ref_commands.textile]
44
+ ]
45
+ appendix[
46
+ header[Macro Reference|macro_ref]
47
+ @[ref_macros.textile]
48
+ ]
49
+ appendix[
50
+ header[Configuration Reference|cfg_ref]
51
+ @[ref_config.textile]
52
+ ]
53
+ ]
54
+ ]
55
+ ]
Binary file
@@ -0,0 +1,351 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ sodipodi:docname="glyph.svg"
13
+ inkscape:version="0.47pre4 r22446"
14
+ version="1.1"
15
+ id="svg2"
16
+ height="1052.3622047"
17
+ width="744.09448819">
18
+ <defs
19
+ id="defs4">
20
+ <inkscape:perspective
21
+ sodipodi:type="inkscape:persp3d"
22
+ inkscape:vp_x="0 : 526.18109 : 1"
23
+ inkscape:vp_y="0 : 1000 : 0"
24
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
25
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
26
+ id="perspective10" />
27
+ <filter
28
+ id="filter10267"
29
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
30
+ inkscape:menu="Shadows and Glows"
31
+ inkscape:label="Cutout Glow"
32
+ color-interpolation-filters="sRGB">
33
+ <feOffset
34
+ id="feOffset10269"
35
+ dy="3"
36
+ dx="3" />
37
+ <feGaussianBlur
38
+ id="feGaussianBlur10271"
39
+ result="result8"
40
+ stdDeviation="3" />
41
+ <feFlood
42
+ id="feFlood10273"
43
+ flood-color="rgb(0,0,0)"
44
+ flood-opacity="1"
45
+ in="result8"
46
+ result="result10" />
47
+ <feComposite
48
+ id="feComposite10275"
49
+ in2="SourceGraphic"
50
+ operator="in"
51
+ in="result10"
52
+ result="result9" />
53
+ <feBlend
54
+ id="feBlend10277"
55
+ in2="result9"
56
+ mode="normal"
57
+ in="result8" />
58
+ </filter>
59
+ <filter
60
+ id="filter10279"
61
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
62
+ inkscape:menu="Shadows and Glows"
63
+ inkscape:label="Cutout Glow"
64
+ color-interpolation-filters="sRGB">
65
+ <feOffset
66
+ id="feOffset10281"
67
+ dy="3"
68
+ dx="3" />
69
+ <feGaussianBlur
70
+ id="feGaussianBlur10283"
71
+ result="result8"
72
+ stdDeviation="3" />
73
+ <feFlood
74
+ id="feFlood10285"
75
+ flood-color="rgb(0,0,0)"
76
+ flood-opacity="1"
77
+ in="result8"
78
+ result="result10" />
79
+ <feComposite
80
+ id="feComposite10287"
81
+ in2="SourceGraphic"
82
+ operator="in"
83
+ in="result10"
84
+ result="result9" />
85
+ <feBlend
86
+ id="feBlend10289"
87
+ in2="result9"
88
+ mode="normal"
89
+ in="result8" />
90
+ </filter>
91
+ <filter
92
+ id="filter10291"
93
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
94
+ inkscape:menu="Shadows and Glows"
95
+ inkscape:label="Cutout Glow"
96
+ color-interpolation-filters="sRGB">
97
+ <feOffset
98
+ id="feOffset10293"
99
+ dy="3"
100
+ dx="3" />
101
+ <feGaussianBlur
102
+ id="feGaussianBlur10295"
103
+ result="result8"
104
+ stdDeviation="3" />
105
+ <feFlood
106
+ id="feFlood10297"
107
+ flood-color="rgb(0,0,0)"
108
+ flood-opacity="1"
109
+ in="result8"
110
+ result="result10" />
111
+ <feComposite
112
+ id="feComposite10299"
113
+ in2="SourceGraphic"
114
+ operator="in"
115
+ in="result10"
116
+ result="result9" />
117
+ <feBlend
118
+ id="feBlend10301"
119
+ in2="result9"
120
+ mode="normal"
121
+ in="result8" />
122
+ </filter>
123
+ <filter
124
+ id="filter10303"
125
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
126
+ inkscape:menu="Shadows and Glows"
127
+ inkscape:label="Cutout Glow"
128
+ color-interpolation-filters="sRGB">
129
+ <feOffset
130
+ id="feOffset10305"
131
+ dy="3"
132
+ dx="3" />
133
+ <feGaussianBlur
134
+ id="feGaussianBlur10307"
135
+ result="result8"
136
+ stdDeviation="3" />
137
+ <feFlood
138
+ id="feFlood10309"
139
+ flood-color="rgb(0,0,0)"
140
+ flood-opacity="1"
141
+ in="result8"
142
+ result="result10" />
143
+ <feComposite
144
+ id="feComposite10311"
145
+ in2="SourceGraphic"
146
+ operator="in"
147
+ in="result10"
148
+ result="result9" />
149
+ <feBlend
150
+ id="feBlend10313"
151
+ in2="result9"
152
+ mode="normal"
153
+ in="result8" />
154
+ </filter>
155
+ <filter
156
+ id="filter10315"
157
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
158
+ inkscape:menu="Shadows and Glows"
159
+ inkscape:label="Cutout Glow"
160
+ color-interpolation-filters="sRGB">
161
+ <feOffset
162
+ id="feOffset10317"
163
+ dy="3"
164
+ dx="3" />
165
+ <feGaussianBlur
166
+ id="feGaussianBlur10319"
167
+ result="result8"
168
+ stdDeviation="3" />
169
+ <feFlood
170
+ id="feFlood10321"
171
+ flood-color="rgb(0,0,0)"
172
+ flood-opacity="1"
173
+ in="result8"
174
+ result="result10" />
175
+ <feComposite
176
+ id="feComposite10323"
177
+ in2="SourceGraphic"
178
+ operator="in"
179
+ in="result10"
180
+ result="result9" />
181
+ <feBlend
182
+ id="feBlend10325"
183
+ in2="result9"
184
+ mode="normal"
185
+ in="result8" />
186
+ </filter>
187
+ <filter
188
+ id="filter10327"
189
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
190
+ inkscape:menu="Shadows and Glows"
191
+ inkscape:label="Cutout Glow"
192
+ color-interpolation-filters="sRGB">
193
+ <feOffset
194
+ id="feOffset10329"
195
+ dy="3"
196
+ dx="3" />
197
+ <feGaussianBlur
198
+ id="feGaussianBlur10331"
199
+ result="result8"
200
+ stdDeviation="3" />
201
+ <feFlood
202
+ id="feFlood10333"
203
+ flood-color="rgb(0,0,0)"
204
+ flood-opacity="1"
205
+ in="result8"
206
+ result="result10" />
207
+ <feComposite
208
+ id="feComposite10335"
209
+ in2="SourceGraphic"
210
+ operator="in"
211
+ in="result10"
212
+ result="result9" />
213
+ <feBlend
214
+ id="feBlend10337"
215
+ in2="result9"
216
+ mode="normal"
217
+ in="result8" />
218
+ </filter>
219
+ <filter
220
+ id="filter10339"
221
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
222
+ inkscape:menu="Shadows and Glows"
223
+ inkscape:label="Cutout Glow"
224
+ color-interpolation-filters="sRGB">
225
+ <feOffset
226
+ id="feOffset10341"
227
+ dy="3"
228
+ dx="3" />
229
+ <feGaussianBlur
230
+ id="feGaussianBlur10343"
231
+ result="result8"
232
+ stdDeviation="3" />
233
+ <feFlood
234
+ id="feFlood10345"
235
+ flood-color="rgb(0,0,0)"
236
+ flood-opacity="1"
237
+ in="result8"
238
+ result="result10" />
239
+ <feComposite
240
+ id="feComposite10347"
241
+ in2="SourceGraphic"
242
+ operator="in"
243
+ in="result10"
244
+ result="result9" />
245
+ <feBlend
246
+ id="feBlend10349"
247
+ in2="result9"
248
+ mode="normal"
249
+ in="result8" />
250
+ </filter>
251
+ <filter
252
+ id="filter10351"
253
+ inkscape:menu-tooltip="In and out glow with a possible offset and colorizable flood"
254
+ inkscape:menu="Shadows and Glows"
255
+ inkscape:label="Cutout Glow"
256
+ color-interpolation-filters="sRGB">
257
+ <feOffset
258
+ id="feOffset10353"
259
+ dy="3"
260
+ dx="3" />
261
+ <feGaussianBlur
262
+ id="feGaussianBlur10355"
263
+ result="result8"
264
+ stdDeviation="3" />
265
+ <feFlood
266
+ id="feFlood10357"
267
+ flood-color="rgb(0,0,0)"
268
+ flood-opacity="1"
269
+ in="result8"
270
+ result="result10" />
271
+ <feComposite
272
+ id="feComposite10359"
273
+ in2="SourceGraphic"
274
+ operator="in"
275
+ in="result10"
276
+ result="result9" />
277
+ <feBlend
278
+ id="feBlend10361"
279
+ in2="result9"
280
+ mode="normal"
281
+ in="result8" />
282
+ </filter>
283
+ </defs>
284
+ <sodipodi:namedview
285
+ id="base"
286
+ pagecolor="#ffffff"
287
+ bordercolor="#666666"
288
+ borderopacity="1.0"
289
+ inkscape:pageopacity="0.0"
290
+ inkscape:pageshadow="2"
291
+ inkscape:zoom="0.5"
292
+ inkscape:cx="140.78311"
293
+ inkscape:cy="625.26835"
294
+ inkscape:document-units="px"
295
+ inkscape:current-layer="svg2"
296
+ showgrid="false"
297
+ inkscape:object-paths="true"
298
+ inkscape:window-width="1280"
299
+ inkscape:window-height="750"
300
+ inkscape:window-x="0"
301
+ inkscape:window-y="26"
302
+ inkscape:window-maximized="1" />
303
+ <metadata
304
+ id="metadata7">
305
+ <rdf:RDF>
306
+ <cc:Work
307
+ rdf:about="">
308
+ <dc:format>image/svg+xml</dc:format>
309
+ <dc:type
310
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
311
+ </cc:Work>
312
+ </rdf:RDF>
313
+ </metadata>
314
+ <g
315
+ inkscape:label="Layer 1"
316
+ inkscape:groupmode="layer"
317
+ id="layer1">
318
+ <path
319
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10351)"
320
+ id="path3146"
321
+ d="m 135.90113,115.56774 c 9.36279,-1.58158 18.75987,-2.91951 28.16725,-4.20502 28.94119,-3.82366 58.02265,-6.37864 87.09204,-8.98268 34.37607,-2.85549 68.75754,-5.661683 103.15506,-8.249722 24.86202,-1.857154 49.73927,-3.495648 74.63685,-4.79105 21.43117,-1.285563 42.86792,-2.472992 64.31007,-3.559451 14.76281,-0.597858 29.53897,-1.078555 44.31506,-0.925837 13.77984,0.162265 27.51749,1.241719 41.24049,2.411887 11.03591,0.905512 22.06005,1.939146 33.08837,2.92975 7.92376,0.71257 15.86486,1.194199 23.78447,1.951135 1.34586,5.022814 -34.1708,14.539478 -35.51666,9.516658 l 0,0 c -7.91961,-0.75693 -15.86071,-1.23856 -23.78447,-1.951132 -11.02832,-0.990604 -22.05246,-2.024239 -33.08837,-2.92975 -13.723,-1.170168 -27.46065,-2.249622 -41.24049,-2.411888 -14.77609,-0.152717 -29.55225,0.32798 -44.31506,0.925837 -21.44215,1.086459 -42.8789,2.273889 -64.31008,3.559451 -24.89757,1.295402 -49.77482,2.933892 -74.63684,4.791052 -34.39752,2.58804 -68.77899,5.39423 -103.15506,8.24972 -29.06939,2.60404 -58.15085,5.15902 -87.09204,8.98268 -9.40739,1.28551 -18.80446,2.62344 -28.16726,4.20503 -1.345855,-5.02282 34.17081,-14.53948 35.51667,-9.51667 z" />
322
+ <path
323
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10339)"
324
+ id="path3148"
325
+ d="m 193.67577,220.21955 c 10.09553,-1.09403 20.1977,-2.12868 30.31431,-3.02968 26.98684,-2.15566 54.04982,-3.13021 81.10121,-4.05351 25.17605,-0.89692 50.34887,-1.5435 75.54018,-1.27348 25.50774,0.61269 50.99066,2.00034 76.44695,3.6957 17.06539,1.22977 34.12411,2.51921 51.21149,3.40464 6.22883,0.31451 12.46115,0.54909 18.69417,0.76102 1.34586,5.02282 -34.1708,14.53948 -35.51666,9.51667 l 0,0 c -6.23302,-0.21193 -12.46534,-0.44652 -18.69417,-0.76103 -17.08738,-0.88543 -34.1461,-2.17486 -51.21149,-3.40463 -25.45629,-1.69537 -50.93921,-3.08302 -76.44695,-3.69571 -25.19131,-0.27002 -50.36413,0.37656 -75.54018,1.27348 -27.05139,0.9233 -54.11438,1.89785 -81.10121,4.05351 -10.11661,0.901 -20.21878,1.93565 -30.31431,3.02968 -1.34586,-5.02282 34.1708,-14.53948 35.51666,-9.51666 z" />
326
+ <path
327
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10327)"
328
+ id="path3182"
329
+ d="m 130.4717,89.5584 c 0.0756,5.012571 -0.1116,10.020447 -0.30112,15.02831 -0.35625,6.67562 -0.86445,13.34193 -1.76358,19.96717 -1.19884,7.79255 -3.3998,15.39141 -5.52598,22.97088 -2.14104,7.79555 -5.41836,15.16498 -8.94612,22.4107 -3.43926,6.60743 -7.20673,13.04403 -11.25746,19.2943 -3.558531,5.41419 -7.656575,10.43317 -11.848518,15.36165 -3.799494,4.3681 -7.710915,8.63256 -11.491599,13.01675 -2.016608,2.35116 -4.128524,4.6185 -6.212323,6.90991 -5.121,0.90297 -11.505966,-35.30797 -6.384966,-36.21094 l 0,0 c 2.083799,-2.29141 4.195716,-4.55875 6.212323,-6.90991 3.780684,-4.38419 7.692105,-8.64865 11.491599,-13.01675 4.191943,-4.92848 8.289987,-9.94746 11.848519,-15.36165 4.050735,-6.25027 7.818195,-12.68687 11.257455,-19.29431 3.52776,-7.24571 6.80509,-14.61514 8.94612,-22.41069 2.12619,-7.57947 4.32714,-15.178329 5.52598,-22.970879 0.89913,-6.625239 1.40734,-13.291556 1.76358,-19.96717 0.18952,-5.007865 0.37673,-10.01574 0.30113,-15.028312 5.121,-0.90297 11.50596,35.30797 6.38496,36.210941 z" />
330
+ <path
331
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10315)"
332
+ id="path3188"
333
+ d="m 592.19143,162.5462 c 0.55825,-5.14831 1.38863,-10.2816 2.22032,-15.39559 1.48415,-9.74569 4.10819,-19.26034 6.89702,-28.69871 3.17242,-11.34919 7.18937,-22.416563 11.74834,-33.274115 3.68784,-8.626885 7.98363,-16.974483 12.6866,-25.087405 2.98369,-5.117854 6.37486,-9.976378 10.35869,-14.361983 1.44108,-1.519775 3.04031,-2.863623 4.66258,-4.181017 5.121,-0.90297 11.50596,35.30797 6.38496,36.210941 l 0,0 c -1.62227,1.317393 -3.22149,2.661241 -4.66257,4.181016 -3.98383,4.385605 -7.375,9.24413 -10.3587,14.361984 -4.70296,8.112919 -8.99875,16.460519 -12.6866,25.087409 -4.55896,10.85755 -8.57591,21.92492 -11.74834,33.27411 -2.78882,9.43838 -5.41287,18.95303 -6.89701,28.69871 -0.83169,5.11399 -1.66207,10.24728 -2.22033,15.39559 -5.121,0.90297 -11.50596,-35.30797 -6.38496,-36.21094 z" />
334
+ <path
335
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10303)"
336
+ id="path3602"
337
+ d="m 286.11925,340.12881 c 3.27827,0.38033 6.5176,1.05755 9.75074,1.71104 5.41246,1.02741 10.74591,2.39844 16.00953,4.01598 5.05536,1.56055 9.88176,3.71171 14.56088,6.16035 4.50356,2.40408 8.46163,5.60506 11.88984,9.36388 3.74755,4.44075 6.51933,9.55775 9.0294,14.76658 2.7678,5.74141 4.28764,11.93379 5.65123,18.12551 1.38913,7.3085 2.00368,14.73474 2.45062,22.15148 0.4936,7.83731 0.36405,15.68659 0.14149,23.52953 -0.50302,11.66274 -1.49373,23.29311 -2.4413,34.92552 -1.33457,14.87636 -2.8915,29.73111 -4.59429,44.56941 -1.48072,13.29044 -3.05452,26.56898 -4.63977,39.84721 -1.41922,12.2168 -2.86935,24.43021 -4.31455,36.6441 -1.2096,9.90036 -2.33164,19.81096 -3.35516,29.73221 -0.80956,7.66091 -1.69929,15.31214 -2.61219,22.96124 -0.83871,5.97184 -1.49352,11.97469 -2.62011,17.90131 -2.36573,10.67478 -11.09594,28.07145 -17.0313,31.53207 -1.59754,0.0264 -2.18707,-2.27301 -2.6579,-3.47003 -0.94392,-2.73646 -1.60455,-5.56369 -2.28178,-8.37574 -0.89845,-3.62133 -2.22865,-7.09987 -3.71544,-10.51431 -1.70578,-3.97554 -3.96473,-7.64557 -6.45393,-11.16866 -2.8607,-4.01694 -6.24427,-7.61056 -9.8432,-10.96659 -3.82318,-3.56237 -8.23357,-6.35989 -12.78635,-8.88102 -4.40272,-2.40092 -9.12034,-4.09891 -13.95439,-5.38225 -4.47762,-1.09625 -9.03286,-1.80241 -13.61892,-2.22999 -3.84032,-0.30494 -7.68341,-0.10963 -11.49025,0.43221 -4.17524,0.71705 -8.14527,2.26634 -12.05764,3.8427 -5.19616,-3 8.94598,-27.4949 14.14213,-24.4949 l 0,0 c 3.91237,-1.57636 7.88241,-3.12565 12.05764,-3.8427 3.80685,-0.54184 7.64993,-0.73714 11.49025,-0.4322 4.58606,0.42757 9.14131,1.13373 13.61893,2.22998 4.83404,1.28334 9.55167,2.98133 13.95439,5.38226 4.55278,2.52112 8.96317,5.31864 12.78635,8.88101 3.59893,3.35603 6.98249,6.94966 9.8432,10.96659 2.4892,3.52309 4.74815,7.19312 6.45392,11.16867 1.4868,3.41443 2.81699,6.89297 3.71545,10.5143 0.67723,2.81205 1.33785,5.63929 2.28178,8.37574 0.47083,1.19702 1.06036,3.49643 2.6579,3.47003 8.38306,-4.88775 0.57097,-0.43403 -13.20917,23.65136 -0.17163,0.29997 0.35775,-0.59338 0.49889,-0.90883 0.75062,-1.67759 1.04704,-3.50817 1.45731,-5.2848 1.12659,-5.92663 1.78139,-11.92947 2.62011,-17.90131 0.91289,-7.64911 1.80262,-15.30033 2.61219,-22.96124 1.02351,-9.92126 2.14556,-19.83186 3.35515,-29.73221 1.4452,-12.21389 2.89533,-24.4273 4.31455,-36.6441 1.58525,-13.27823 3.15906,-26.55677 4.63978,-39.84721 1.70278,-14.8383 3.25972,-29.69305 4.59428,-44.56941 0.94757,-11.63241 1.93828,-23.26278 2.44131,-34.92552 0.22255,-7.84294 0.35211,-15.69222 -0.1415,-23.52953 -0.44693,-7.41674 -1.06149,-14.84298 -2.45061,-22.15149 -1.3636,-6.19172 -2.88343,-12.38409 -5.65123,-18.12551 -2.51008,-5.20882 -5.28185,-10.32583 -9.02941,-14.76658 -3.42821,-3.75881 -7.38627,-6.95979 -11.88984,-9.36387 -4.67912,-2.44865 -9.50552,-4.59981 -14.56088,-6.16035 -5.26361,-1.61754 -10.59707,-2.98857 -16.00953,-4.01599 -3.23313,-0.65348 -6.47246,-1.3307 -9.75073,-1.71103 -5.19616,-3 8.94598,-27.4949 14.14213,-24.4949 z" />
338
+ <path
339
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10291)"
340
+ id="path3614"
341
+ d="m 555.52129,191.13177 c -0.35299,2.5315 -1.05204,4.98442 -1.80699,7.41983 -1.83067,5.2855 -4.29835,10.31271 -6.8662,15.27066 -5.58018,10.48386 -13.17342,19.63843 -20.8515,28.6219 -12.95337,14.43053 -26.79157,28.04362 -40.92896,41.30571 -11.4003,10.6668 -23.05402,21.06271 -35.07336,31.02728 -8.5887,7.1554 -17.64219,13.68836 -26.96449,19.8441 -7.56383,5.02432 -15.34465,9.70139 -23.18337,14.27983 -6.58732,3.88678 -13.22621,7.68316 -19.91993,11.3835 -5.3729,2.9958 -10.8569,5.78191 -16.37697,8.4943 -4.63292,2.33813 -9.35109,4.4883 -14.1433,6.47751 -3.08306,1.22512 -6.21214,2.32555 -9.35432,3.38739 -1.04188,5.90885 -28.89645,0.99733 -27.85457,-4.91151 l 0,0 c 3.14218,-1.06184 6.27126,-2.16228 9.35432,-3.38739 4.79221,-1.98921 9.51038,-4.13938 14.1433,-6.47752 5.52007,-2.71239 11.00407,-5.49849 16.37697,-8.49429 6.69372,-3.70034 13.33261,-7.49672 19.91993,-11.38351 7.83873,-4.57843 15.61954,-9.2555 23.18337,-14.27982 9.3223,-6.15574 18.37579,-12.6887 26.96449,-19.8441 12.01934,-9.96457 23.67307,-20.36049 35.07336,-31.02728 14.13739,-13.26209 27.97559,-26.87518 40.92896,-41.30571 7.67808,-8.98347 15.27132,-18.13804 20.8515,-28.6219 2.56785,-4.95795 5.03553,-9.98516 6.8662,-15.27067 0.75495,-2.4354 1.454,-4.88832 1.80699,-7.41982 1.04189,-5.90884 28.89646,-0.99733 27.85457,4.91151 z" />
342
+ <path
343
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10279)"
344
+ id="path3650"
345
+ d="m 72.258573,423.36003 c -9.004063,1.57809 -36.033038,6.21339 -27.012189,4.73427 10.085359,-1.65367 20.123272,-3.58765 30.205892,-5.25793 1.962209,-0.32506 10.645758,-1.07779 11.730698,-1.162 7.892191,-0.61252 11.915855,-0.76374 20.102906,-1.19071 34.35147,-1.54079 68.74904,-1.55929 103.12784,-1.54415 46.81651,0.0598 93.61341,1.32277 140.39479,3.02698 49.55184,1.78759 99.03834,4.84216 148.4865,8.45278 38.43046,2.86724 76.76268,6.81207 115.06642,11.00881 24.86218,2.74262 49.69698,5.71841 74.44272,9.37108 14.05795,2.15435 28.05346,4.6915 41.99789,7.48259 5.6278,0.58499 11.2774,3.22309 16.94081,3.39602 -9.53691,1.4248 -19.02164,3.25852 -28.61074,4.27441 -0.68103,0.0722 -1.16726,-0.71707 -1.76197,-1.05668 -0.79217,-0.45239 -1.59493,-0.88607 -2.39795,-1.31891 -3.03047,-1.63347 -6.06805,-3.25522 -9.10609,-4.87472 -6.80224,-3.66149 -13.47475,-7.55659 -20.18955,-11.37513 -7.05344,-3.98113 -13.72808,-8.59022 -20.40513,-13.16329 -6.23706,-4.37997 -12.43454,-8.81424 -18.70226,-13.15055 -0.69459,-3.93923 27.15998,-8.85074 27.85457,-4.91151 l 0,0 c 6.26772,4.33631 12.4652,8.77058 18.70226,13.15055 6.67705,4.57306 13.35169,9.18216 20.40513,13.16329 6.7148,3.81854 13.38731,7.71364 20.18955,11.37513 3.03804,1.6195 6.07562,3.24125 9.10609,4.87471 0.80302,0.43284 1.60578,0.86653 2.39795,1.31891 0.59471,0.33962 2.42466,0.88392 1.76197,1.05668 -8.922,2.326 -18.0656,3.69909 -27.0984,5.54863 -5.66341,-0.17294 -11.31301,-2.81104 -16.94081,-3.39603 -13.94443,-2.79109 -27.93994,-5.32824 -41.99789,-7.48259 -24.74574,-3.65267 -49.58054,-6.62846 -74.44272,-9.37108 -38.30374,-4.19673 -76.63596,-8.14157 -115.06642,-11.0088 -49.44816,-3.61063 -98.93465,-6.66519 -148.4865,-8.45279 -46.78138,-1.70421 -93.57828,-2.96719 -140.39479,-3.02697 -34.3788,-0.0152 -68.77637,0.003 -103.127835,1.54414 -9.038594,0.47138 -18.06505,0.92586 -27.073959,1.81825 -1.588746,0.15737 -6.32686,0.83898 -4.75965,0.53446 3.455191,-0.67137 69.566004,-12.37863 -3.193702,0.52366 -0.694593,-3.93923 27.159977,-8.85074 27.854569,-4.91151 z" />
346
+ <path
347
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter10267)"
348
+ id="path3718"
349
+ d="m 276.03321,20.113377 c 4.28061,0.06127 8.52482,0.533595 12.76688,1.069488 5.56731,0.834603 11.07562,2.016085 16.49707,3.526491 5.07246,1.575584 9.71557,4.166396 14.12638,7.07788 4.29425,3.000654 8.039,6.669379 11.63348,10.456126 2.99404,3.197346 5.61581,6.714457 8.03595,10.358347 1.73999,2.587749 3.33282,5.266321 4.94882,7.931438 0.76406,4.333155 -29.87597,9.735818 -30.64002,5.402664 l 0,0 c -1.61601,-2.665118 -3.20884,-5.343689 -4.94882,-7.931439 -2.42015,-3.643889 -5.04192,-7.161001 -8.03596,-10.358346 -3.59448,-3.786747 -7.33922,-7.455472 -11.63348,-10.456127 -4.41081,-2.911483 -9.05392,-5.502296 -14.12637,-7.077879 -5.42146,-1.510406 -10.92977,-2.691889 -16.49708,-3.526491 -4.24206,-0.535893 -8.48627,-1.008217 -12.76687,-1.069488 -0.76406,-4.333154 29.87597,-9.735818 30.64002,-5.402664 z" />
350
+ </g>
351
+ </svg>