ulmul 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ulmul.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- coding: utf-8 -*-
3
3
  # ulmul.rb
4
- # Time-stamp: <2011-04-02 19:23:18 takeshi>
4
+ # Time-stamp: <2011-04-09 12:53:43 takeshi>
5
5
  # Author: Takeshi Nishimatsu
6
6
  ##
7
7
  require "rubygems"
@@ -14,24 +14,6 @@ if defined?(Encoding) && Encoding.respond_to?("default_external")
14
14
  Encoding.default_external = "UTF-8"
15
15
  end
16
16
 
17
- class String
18
- def apply_subs_rules(rules)
19
- result = self.dup
20
- rules.each do |ary|
21
- result.gsub!(ary[0],ary[1])
22
- end
23
- if $0 == __FILE__ || /ulmul2(html5|xhtml)$/ =~ $0
24
- while result =~ /\$(.*?)\$/
25
- pre=$`
26
- tex=Regexp.last_match[1]
27
- post=$'
28
- result = "#{pre}#{tex.to_mathml}#{post}"
29
- end
30
- end
31
- return result
32
- end
33
- end
34
-
35
17
  module Itemize
36
18
  def cb_itemize_begin(filename=nil, lnumber=nil, line=nil)
37
19
  @level_of_state = 0
@@ -46,7 +28,7 @@ module Itemize
46
28
  when /^ \* (.*)/ then 5
47
29
  else raise 'Illegal astarisk line for itemize'
48
30
  end
49
- str = Regexp.last_match[1].apply_subs_rules(@subs_rules)
31
+ str = @subs_rules.call(Regexp.last_match[1])
50
32
  if new_level>@level_of_state+1
51
33
  STDERR << filename << ":#{lnumber}: Illegal jump of itemize level from #{@level_of_state} to #{new_level}: #{line}"
52
34
  exit 1
@@ -74,7 +56,7 @@ module Itemize
74
56
  when /^ (\S.*)/ then 5
75
57
  else raise 'Illegal astarisk line for itemize'
76
58
  end
77
- str = Regexp.last_match[1].apply_subs_rules(@subs_rules)
59
+ str = @subs_rules.call(Regexp.last_match[1])
78
60
  (@level_of_state-1).downto(new_level){|i| @body << ITEM_TERMINATOR << "\n" << " "*i << ITEMIZE_TERMINATOR}
79
61
  @body << "\n " << " "*(new_level-1) << " " << str
80
62
  @level_of_state = new_level
@@ -92,7 +74,7 @@ class Table_of_Contents
92
74
  include Itemize
93
75
  def initialize()
94
76
  @body = ''
95
- @subs_rules = []
77
+ @subs_rules = lambda{|s| return s}
96
78
  cb_itemize_begin()
97
79
  end
98
80
  attr_reader :body
@@ -101,7 +83,7 @@ end
101
83
  class Ulmul
102
84
  include AASM
103
85
  include Itemize
104
- VERSION = '0.5.0'
86
+ VERSION = '0.5.1'
105
87
 
106
88
  aasm_initial_state :st_ground
107
89
 
@@ -200,7 +182,7 @@ class Ulmul
200
182
  end
201
183
 
202
184
  def cb_paragraph_add(filename=nil, lnumber=nil, line=nil)
203
- @body << line.apply_subs_rules(@subs_rules)
185
+ @body << @subs_rules.call(line)
204
186
  end
205
187
 
206
188
  def cb_paragraph_end(filename=nil, lnumber=nil, line=nil)
@@ -307,7 +289,6 @@ class Ulmul
307
289
  @figures = []
308
290
  @tables = []
309
291
  @codes = []
310
- @subs_rules = []
311
292
  end
312
293
  attr_accessor :subs_rules
313
294
  end
@@ -355,7 +336,7 @@ module HTML
355
336
  def cb_env_end2table()
356
337
  @body << "<table id=\"#{@env_label}\">\n"
357
338
  @body << " <caption>\n"
358
- @body << " Table #{@tables.length}: " << @env_caption.apply_subs_rules(@subs_rules)
339
+ @body << " Table #{@tables.length}: " << @subs_rules.call(@env_caption)
359
340
  @body << " </caption>\n"
360
341
  @body << " <thead><tr><th> TABLE </th></tr></thead>\n"
361
342
  @body << " <tbody><tr><td>Not yet implemented</td></tr></tbody>\n"
@@ -364,7 +345,7 @@ module HTML
364
345
 
365
346
  def cb_env_end2code()
366
347
  @body << "<p id=\"#{@env_label}\" class=\"code caption\">\n"
367
- @body << " Code #{@codes.length}: " << @env_caption.apply_subs_rules(@subs_rules) << "(download: <a href=\"#{@env_file}\">#{File.basename(@env_file)}</a>)" << "</p>\n"
348
+ @body << " Code #{@codes.length}: " << @subs_rules.call(@env_caption) << "(download: <a href=\"#{@env_file}\">#{File.basename(@env_file)}</a>)" << "</p>\n"
368
349
  @body << "<pre class=\"prettyprint\">\n"
369
350
  f = open(@env_file)
370
351
  @body << f.read.gsub(/&/,'&amp;').gsub(/</,'&lt;').gsub(/>/,'&gt;')
@@ -373,7 +354,11 @@ module HTML
373
354
  end
374
355
 
375
356
  def cb_equation_end2()
376
- @body << @equation_contents.to_mathml('block').to_s.sub(/<math /,"<math id=\"#{@equation_label}\" ") << "\n"
357
+ if $0 == __FILE__ || /ulmul2(html5|xhtml)$/ =~ $0
358
+ @body << @equation_contents.to_mathml('block').to_s.sub(/<math /,"<math id=\"#{@equation_label}\" ") << "\n"
359
+ elsif /ulmul2mathjax$/ =~ $0
360
+ @body << "<div id=\"#{@equation_label}\">\n\\begin{equation}\n" << @equation_contents << " \\tag{#{@equations.length}}\n" << "\\end{equation}\n</div>\n"
361
+ end
377
362
  end
378
363
  end
379
364
 
@@ -383,7 +368,7 @@ module HTML5
383
368
  when /^Fig:/
384
369
  @body << "<figure id=\"#{@env_label}\">\n" << " <img src=\"#{@env_file}\" alt=\"#{@env_file}\" />\n"
385
370
  @body << " <figcaption>\n"
386
- @body << " Figure #{@figures.length}: " << @env_caption.apply_subs_rules(@subs_rules)
371
+ @body << " Figure #{@figures.length}: " << @subs_rules.call(@env_caption)
387
372
  @body << " </figcaption>\n" << '</figure>' << "\n"
388
373
  when /^Table:/
389
374
  cb_env_end2table()
@@ -404,6 +389,13 @@ module HTML5
404
389
  <title>#{@title}</title>
405
390
  <meta name=\"author\" content=\"#{name}\" />
406
391
  <meta name=\"copyright\" content=\"Copyright &#169; #{Date.today.year} #{name}\" />
392
+ <script type=\"text/x-mathjax-config\">
393
+ MathJax.Hub.Config({
394
+ tex2jax: {
395
+ inlineMath: [ ['$','$'] ]
396
+ }
397
+ });
398
+ </script>
407
399
  #{style_lines}#{javascript_lines} <link rel=\"shortcut icon\" href=\"favicon.ico\" />
408
400
  </head>
409
401
  <body onload=\"prettyPrint()\">
@@ -420,7 +412,7 @@ module XHTML
420
412
  when /^Fig:/
421
413
  @body << "<div class=\"figure\" id=\"#{@env_label}\">\n" << " <img src=\"#{@env_file}\" alt=\"#{@env_file}\" />\n"
422
414
  @body << " <div class=\"figcaption\">\n"
423
- @body << " Figure #{@figures.length}. " << @env_caption.apply_subs_rules(@subs_rules)
415
+ @body << " Figure #{@figures.length}. " << @subs_rules.call(@env_caption)
424
416
  @body << " </div>\n"
425
417
  @body << '</div>' << "\n"
426
418
  when /^Table:/
@@ -485,17 +477,17 @@ module LaTeX
485
477
  width = EXIFR::JPEG.new(@env_file).width
486
478
  height = EXIFR::JPEG.new(@env_file).height
487
479
  @body << "\\begin{figure}\n" << " \\center\n \\includegraphics[width=5cm,bb=0 0 #{width} #{height}]{#{@env_file}}\n"
488
- @body << ' \caption{' << @env_caption.apply_subs_rules(@subs_rules).strip << "}\n"
480
+ @body << ' \caption{' << @subs_rules.call(@env_caption).strip << "}\n"
489
481
  @body << " \\label{#{@env_label}}\n" << "\\end{figure}\n"
490
482
  when /^Table:/
491
483
  @body << "\\begin{table}\n"
492
- @body << ' \caption{' << @env_caption.apply_subs_rules(@subs_rules).strip << "}\n"
484
+ @body << ' \caption{' << @subs_rules.call(@env_caption).strip << "}\n"
493
485
  @body << " \\label{#{@env_label}}\n"
494
486
  @body << " \\center\n"
495
487
  @body << " {TABLE is not yet implemented.}\n"
496
488
  @body << "\\end{table}\n"
497
489
  when /^Code:/
498
- @body << "\\begin{lstlisting}[caption={#{@env_caption.apply_subs_rules(@subs_rules).strip}},label=#{@env_label}]\n"
490
+ @body << "\\begin{lstlisting}[caption={#{@subs_rules.call(@env_caption).strip}},label=#{@env_label}]\n"
499
491
  f = open(@env_file)
500
492
  @body << f.read
501
493
  f.close
@@ -547,7 +539,8 @@ module LaTeX
547
539
  end
548
540
  end
549
541
 
550
- if $0 == __FILE__ || /ulmul2(html5|xhtml)$/ =~ $0
542
+ if $0 == __FILE__ || /ulmul2(html5|xhtml|mathjax)$/ =~ $0
543
+ Version = Ulmul::VERSION
551
544
  require "optparse"
552
545
  name = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name
553
546
  language = "en"
@@ -585,8 +578,18 @@ if $0 == __FILE__ || /ulmul2(html5|xhtml)$/ =~ $0
585
578
  end
586
579
  end
587
580
  u=Ulmul.new()
588
- u.subs_rules = [[/(http:\S*)(\s|$)/, '<a href="\1">\1</a>\2'],
589
- [/(https:\S*)(\s|$)/, '<a href="\1">\1</a>\2']]
581
+ if $0 == __FILE__ || /ulmul2(html5|xhtml)$/ =~ $0
582
+ u.subs_rules = lambda{|s| s.gsub(/&/,'&amp;').
583
+ gsub(/</,'&lt;').
584
+ gsub(/>/,'&gt;').
585
+ gsub(/(http:\S*|https:\S*)(\s|$)/, '<a href="\1">\1</a>\2').
586
+ gsub(/\$(.*?)\$/){|s| Regexp.last_match[1].to_mathml}}
587
+ else
588
+ u.subs_rules = lambda{|s| s.gsub(/&/,'&amp;').
589
+ gsub(/</,'&lt;').
590
+ gsub(/>/,'&gt;').
591
+ gsub(/(http:\S*|https:\S*)(\s|$)/, '<a href="\1">\1</a>\2')}
592
+ end
590
593
  u.parse(ARGF)
591
594
  puts u.file(stylesheets,javascripts,name,language)
592
595
  end
data/ruby.eps ADDED
@@ -0,0 +1,472 @@
1
+ %!PS-Adobe-3.0 EPSF-3.0
2
+ %%BoundingBox: 26 512 280 765
3
+ %%Title: ruby
4
+ %%CreationDate: Sun Sep 2 10:43:52 2007
5
+ %%Creator: Tgif-4.1.45-QPL written by William Chia-Wei Cheng (bill.cheng@acm.org)
6
+ %%ProducedBy: (unknown)
7
+ %%Pages: 1
8
+ %%DocumentFonts: (atend)
9
+ %%EndComments
10
+ %%BeginProlog
11
+
12
+ /tgifdict 50 dict def
13
+ tgifdict begin
14
+
15
+ /tgifellipsedict 6 dict def
16
+ tgifellipsedict /mtrx matrix put
17
+
18
+ /TGEL % tgifellipse
19
+ { tgifellipsedict begin
20
+ /yrad exch def
21
+ /xrad exch def
22
+ /y exch def
23
+ /x exch def
24
+ /savematrix mtrx currentmatrix def
25
+ x y translate
26
+ xrad yrad scale
27
+ 0 0 1 0 360 arc
28
+ savematrix setmatrix
29
+ end
30
+ } def
31
+
32
+ /bd { bind def } bind def
33
+
34
+ /GS { gsave } bd
35
+ /GR { grestore } bd
36
+ /NP { newpath } bd
37
+ /CP { closepath } bd
38
+ /CHP { charpath } bd
39
+ /CT { curveto } bd
40
+ /L { lineto } bd
41
+ /RL { rlineto } bd
42
+ /M { moveto } bd
43
+ /RM { rmoveto } bd
44
+ /S { stroke } bd
45
+ /F { fill } bd
46
+ /TR { translate } bd
47
+ /RO { rotate } bd
48
+ /SC { scale } bd
49
+ /MU { mul } bd
50
+ /DI { div } bd
51
+ /DU { dup } bd
52
+ /NE { neg } bd
53
+ /AD { add } bd
54
+ /SU { sub } bd
55
+ /PO { pop } bd
56
+ /EX { exch } bd
57
+ /CO { concat } bd
58
+ /CL { clip } bd
59
+ /EC { eoclip } bd
60
+ /EF { eofill } bd
61
+ /IM { image } bd
62
+ /IMM { imagemask } bd
63
+ /ARY { array } bd
64
+ /SG { setgray } bd
65
+ /RG { setrgbcolor } bd
66
+ /SD { setdash } bd
67
+ /W { setlinewidth } bd
68
+ /SM { setmiterlimit } bd
69
+ /SLC { setlinecap } bd
70
+ /SLJ { setlinejoin } bd
71
+ /SH { show } bd
72
+ /FF { findfont } bd
73
+ /MS { makefont setfont } bd
74
+ /AR { arcto 4 {pop} repeat } bd
75
+ /CURP { currentpoint } bd
76
+ /FLAT { flattenpath strokepath clip newpath } bd
77
+ /TGSM { tgiforigctm setmatrix } def
78
+ /TGRM { savematrix setmatrix } def
79
+
80
+ end
81
+
82
+ %%EndProlog
83
+ %%Page: 1 1
84
+
85
+ %%PageBoundingBox: 26 512 280 765
86
+ tgifdict begin
87
+ /tgifsavedpage save def
88
+
89
+ 1 SM
90
+ 1 W
91
+
92
+ 0 SG
93
+
94
+ 72 0 MU 72 11 MU TR
95
+ 72 128 DI 100.000 MU 100 DI DU NE SC
96
+
97
+ GS
98
+
99
+ /tgiforigctm matrix currentmatrix def
100
+
101
+ % BOX
102
+ 1 SG
103
+ NP 50 50 M 495 50 L 495 495 L 50 495 L CP F
104
+ GS
105
+ 10 SM
106
+ GS
107
+ NP 50 50 M 495 50 L 495 495 L 50 495 L CP
108
+ S
109
+ GR
110
+ GR
111
+
112
+ % OVAL
113
+ 1.000 0.000 0.000 RG
114
+ NP 210 120 75 65 TGEL F
115
+ GS
116
+ GS
117
+ NP 210 120 75 65 TGEL
118
+ S
119
+ GR
120
+ GR
121
+
122
+ % OVAL
123
+ 1.000 0.000 0.000 RG
124
+ NP 195 357 75 82 TGEL F
125
+ GS
126
+ GS
127
+ NP 195 357 75 82 TGEL
128
+ S
129
+ GR
130
+ GR
131
+
132
+ % OVAL
133
+ 1.000 0.000 0.000 RG
134
+ NP 280 460 30 30 TGEL F
135
+ GS
136
+ GS
137
+ NP 280 460 30 30 TGEL
138
+ S
139
+ GR
140
+ GR
141
+
142
+ % BOX
143
+ 1.000 0.000 0.000 RG
144
+ NP 395 295 M 475 295 L 475 310 L 395 310 L CP F
145
+ GS
146
+ 10 SM
147
+ GS
148
+ NP 395 295 M 475 295 L 475 310 L 395 310 L CP
149
+ S
150
+ GR
151
+ GR
152
+
153
+ % BOX
154
+ 1.000 0.000 0.000 RG
155
+ NP 105 60 M 145 60 L 145 400 L 105 400 L CP F
156
+ GS
157
+ 10 SM
158
+ GS
159
+ NP 105 60 M 145 60 L 145 400 L 105 400 L CP
160
+ S
161
+ GR
162
+ GR
163
+
164
+ % BOX
165
+ 1.000 0.000 0.000 RG
166
+ NP 120 55 M 205 55 L 205 185 L 120 185 L CP F
167
+ GS
168
+ 10 SM
169
+ GS
170
+ NP 120 55 M 205 55 L 205 185 L 120 185 L CP
171
+ S
172
+ GR
173
+ GR
174
+
175
+ % BOX
176
+ 1.000 0.000 0.000 RG
177
+ NP 75 55 M 160 55 L 160 70 L 75 70 L CP F
178
+ GS
179
+ 10 SM
180
+ GS
181
+ NP 75 55 M 160 55 L 160 70 L 75 70 L CP
182
+ S
183
+ GR
184
+ GR
185
+
186
+ % BOX
187
+ 1 SG
188
+ NP 145 75 M 200 75 L 200 165 L 145 165 L CP F
189
+ GS
190
+ 10 SM
191
+ GS
192
+ NP 145 75 M 200 75 L 200 165 L 145 165 L CP
193
+ S
194
+ GR
195
+ GR
196
+
197
+ % OVAL
198
+ 1 SG
199
+ NP 192 120 47 45 TGEL F
200
+ GS
201
+ GS
202
+ NP 192 120 47 45 TGEL
203
+ S
204
+ GR
205
+ GR
206
+
207
+ % OVAL
208
+ 1 SG
209
+ NP 187 357 42 67 TGEL F
210
+ GS
211
+ GS
212
+ NP 187 357 42 67 TGEL
213
+ S
214
+ GR
215
+ GR
216
+
217
+ % POLYGON/CLOSED-SPLINE
218
+ 1.000 0.000 0.000 RG
219
+ NP
220
+ 210.00 187.50 M
221
+ 213.33 189.17 215.83 190.83 217.50 192.50 CT
222
+ 219.17 194.17 244.17 235.83 292.50 317.50 CT
223
+ 340.83 399.17 366.67 440.00 370.00 440.00 CT
224
+ 373.33 440.00 375.83 439.17 377.50 437.50 CT
225
+ 379.17 435.83 380.83 434.17 382.50 432.50 CT
226
+ 384.17 430.83 385.00 428.33 385.00 425.00 CT
227
+ 385.00 421.67 385.00 418.33 385.00 415.00 CT
228
+ 385.00 411.67 365.00 375.83 325.00 307.50 CT
229
+ 285.00 239.17 264.17 203.33 262.50 200.00 CT
230
+ 260.83 196.67 258.33 193.33 255.00 190.00 CT
231
+ 251.67 186.67 245.00 183.33 235.00 180.00 CT
232
+ 225.00 176.67 217.50 176.67 212.50 180.00 CT
233
+ 207.50 183.33 206.67 185.83 210.00 187.50 CT
234
+ CP
235
+ GS
236
+ EF
237
+ GR
238
+ GS
239
+ S
240
+ GR
241
+
242
+ % POLYGON/CLOSED-SPLINE
243
+ 1.000 0.000 0.000 RG
244
+ NP
245
+ 95 70 M
246
+ 120 80 L
247
+ 130 65 L
248
+ 105 65 L
249
+ 100 65 L
250
+ CP
251
+ GS
252
+ EF
253
+ GR
254
+ GS
255
+ S
256
+ GR
257
+
258
+ % POLYGON/CLOSED-SPLINE
259
+ 1.000 0.000 0.000 RG
260
+ NP
261
+ 270.00 487.50 M
262
+ 273.33 489.17 276.67 490.00 280.00 490.00 CT
263
+ 283.33 490.00 286.67 490.00 290.00 490.00 CT
264
+ 293.33 490.00 299.17 490.00 307.50 490.00 CT
265
+ 315.83 490.00 323.33 488.33 330.00 485.00 CT
266
+ 336.67 481.67 345.00 476.67 355.00 470.00 CT
267
+ 365.00 463.33 380.83 440.83 402.50 402.50 CT
268
+ 424.17 364.17 437.50 340.83 442.50 332.50 CT
269
+ 447.50 324.17 450.83 319.17 452.50 317.50 CT
270
+ 454.17 315.83 456.67 314.17 460.00 312.50 CT
271
+ 463.33 310.83 465.00 309.17 465.00 307.50 CT
272
+ 465.00 305.83 464.17 305.00 462.50 305.00 CT
273
+ 460.83 305.00 450.00 305.00 430.00 305.00 CT
274
+ 410.00 305.00 401.67 305.83 405.00 307.50 CT
275
+ 408.33 309.17 411.67 310.83 415.00 312.50 CT
276
+ 418.33 314.17 420.83 315.83 422.50 317.50 CT
277
+ 424.17 319.17 425.00 321.67 425.00 325.00 CT
278
+ 425.00 328.33 412.50 350.83 387.50 392.50 CT
279
+ 362.50 434.17 346.67 457.50 340.00 462.50 CT
280
+ 333.33 467.50 328.33 470.83 325.00 472.50 CT
281
+ 321.67 474.17 318.33 475.00 315.00 475.00 CT
282
+ 311.67 475.00 307.50 474.17 302.50 472.50 CT
283
+ 297.50 470.83 293.33 469.17 290.00 467.50 CT
284
+ 286.67 465.83 281.67 468.33 275.00 475.00 CT
285
+ 268.33 481.67 266.67 485.83 270.00 487.50 CT
286
+ CP
287
+ GS
288
+ EF
289
+ GR
290
+ GS
291
+ S
292
+ GR
293
+
294
+ % POLYGON/CLOSED-SPLINE
295
+ 1.000 0.000 0.000 RG
296
+ NP
297
+ 420 285 M
298
+ 475 279 L
299
+ 475 268 L
300
+ 420 257 L
301
+ CP
302
+ GS
303
+ EF
304
+ GR
305
+ GS
306
+ S
307
+ GR
308
+
309
+ % POLYGON/CLOSED-SPLINE
310
+ 1.000 0.000 0.000 RG
311
+ NP
312
+ 290 131 M
313
+ 350 125 L
314
+ 350 142 L
315
+ 290 142 L
316
+ CP
317
+ GS
318
+ EF
319
+ GR
320
+ GS
321
+ S
322
+ GR
323
+
324
+ % POLYGON/CLOSED-SPLINE
325
+ 1.000 0.000 0.000 RG
326
+ NP
327
+ 390 131 M
328
+ 450 125 L
329
+ 450 142 L
330
+ 390 142 L
331
+ CP
332
+ GS
333
+ EF
334
+ GR
335
+ GS
336
+ S
337
+ GR
338
+
339
+ % BOX
340
+ 1.000 0.000 0.000 RG
341
+ NP 420 142 M 450 142 L 450 279 L 420 279 L CP F
342
+ GS
343
+ 10 SM
344
+ GS
345
+ NP 420 142 M 450 142 L 450 279 L 420 279 L CP
346
+ S
347
+ GR
348
+ GR
349
+
350
+ % BOX
351
+ 1.000 0.000 0.000 RG
352
+ NP 320 142 M 350 142 L 350 246 L 320 246 L CP F
353
+ GS
354
+ 10 SM
355
+ GS
356
+ NP 320 142 M 350 142 L 350 246 L 320 246 L CP
357
+ S
358
+ GR
359
+ GR
360
+
361
+ % POLYGON/CLOSED-SPLINE
362
+ 1.000 0.000 0.000 RG
363
+ NP
364
+ 320.00 229.50 M
365
+ 320.00 233.17 320.00 236.00 320.00 238.00 CT
366
+ 320.00 240.00 320.00 241.83 320.00 243.50 CT
367
+ 320.00 245.17 320.00 247.00 320.00 249.00 CT
368
+ 320.00 251.00 320.83 253.83 322.50 257.50 CT
369
+ 324.17 261.17 326.67 264.83 330.00 268.50 CT
370
+ 333.33 272.17 337.50 274.83 342.50 276.50 CT
371
+ 347.50 278.17 352.50 279.00 357.50 279.00 CT
372
+ 362.50 279.00 367.50 279.00 372.50 279.00 CT
373
+ 377.50 279.00 383.33 278.17 390.00 276.50 CT
374
+ 396.67 274.83 401.67 273.00 405.00 271.00 CT
375
+ 408.33 269.00 411.67 265.33 415.00 260.00 CT
376
+ 418.33 254.67 422.50 248.33 427.50 241.00 CT
377
+ 432.50 233.67 435.83 227.17 437.50 221.50 CT
378
+ 439.17 215.83 439.17 212.17 437.50 210.50 CT
379
+ 435.83 208.83 430.83 214.33 422.50 227.00 CT
380
+ 414.17 239.67 406.67 248.83 400.00 254.50 CT
381
+ 393.33 260.17 386.67 263.00 380.00 263.00 CT
382
+ 373.33 263.00 368.33 263.00 365.00 263.00 CT
383
+ 361.67 263.00 359.17 262.00 357.50 260.00 CT
384
+ 355.83 258.00 354.17 255.17 352.50 251.50 CT
385
+ 350.83 247.83 350.00 244.17 350.00 240.50 CT
386
+ 350.00 236.83 350.00 232.33 350.00 227.00 CT
387
+ 350.00 221.67 350.00 217.17 350.00 213.50 CT
388
+ 350.00 209.83 345.00 210.67 335.00 216.00 CT
389
+ 325.00 221.33 320.00 225.83 320.00 229.50 CT
390
+ CP
391
+ GS
392
+ EF
393
+ GR
394
+ GS
395
+ S
396
+ GR
397
+
398
+ % POLYGON/CLOSED-SPLINE
399
+ 1.000 0.000 0.000 RG
400
+ NP
401
+ 305 142 M
402
+ 330 153 L
403
+ 340 136 L
404
+ 315 136 L
405
+ 310 136 L
406
+ CP
407
+ GS
408
+ EF
409
+ GR
410
+ GS
411
+ S
412
+ GR
413
+
414
+ % POLYGON/CLOSED-SPLINE
415
+ 1.000 0.000 0.000 RG
416
+ NP
417
+ 405 142 M
418
+ 430 153 L
419
+ 440 136 L
420
+ 415 136 L
421
+ 410 136 L
422
+ CP
423
+ GS
424
+ EF
425
+ GR
426
+ GS
427
+ S
428
+ GR
429
+
430
+ % POLYGON/CLOSED-SPLINE
431
+ 1.000 0.000 0.000 RG
432
+ NP
433
+ 115 75 M
434
+ 130 85 L
435
+ 160 70 L
436
+ 125 70 L
437
+ 120 70 L
438
+ CP
439
+ GS
440
+ EF
441
+ GR
442
+ GS
443
+ S
444
+ GR
445
+
446
+ % POLYGON/CLOSED-SPLINE
447
+ 1.000 0.000 0.000 RG
448
+ NP
449
+ 110 375 M
450
+ 105 410 L
451
+ 100 440 L
452
+ 115 440 L
453
+ 140 395 L
454
+ 135 380 L
455
+ CP
456
+ GS
457
+ EF
458
+ GR
459
+ GS
460
+ 2 W
461
+ S
462
+ GR
463
+
464
+ GR
465
+ tgifsavedpage restore
466
+ end
467
+ showpage
468
+
469
+ %%Trailer
470
+ %MatchingCreationDate: Sun Sep 2 10:43:52 2007
471
+ %%DocumentFonts:
472
+ %%EOF