pdf-reader 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/CHANGELOG +7 -1
  2. data/README.rdoc +1 -0
  3. data/Rakefile +23 -8
  4. data/lib/pdf-reader.rb +3 -1
  5. data/lib/pdf/hash.rb +5 -1
  6. data/lib/pdf/reader.rb +8 -1
  7. data/lib/pdf/reader/afm/Courier-Bold.afm +342 -0
  8. data/lib/pdf/reader/afm/Courier-BoldOblique.afm +342 -0
  9. data/lib/pdf/reader/afm/Courier-Oblique.afm +342 -0
  10. data/lib/pdf/reader/afm/Courier.afm +342 -0
  11. data/lib/pdf/reader/afm/Helvetica-Bold.afm +2827 -0
  12. data/lib/pdf/reader/afm/Helvetica-BoldOblique.afm +2827 -0
  13. data/lib/pdf/reader/afm/Helvetica-Oblique.afm +3051 -0
  14. data/lib/pdf/reader/afm/Helvetica.afm +3051 -0
  15. data/lib/pdf/reader/afm/Symbol.afm +213 -0
  16. data/lib/pdf/reader/afm/Times-Bold.afm +2588 -0
  17. data/lib/pdf/reader/afm/Times-BoldItalic.afm +2384 -0
  18. data/lib/pdf/reader/afm/Times-Italic.afm +2667 -0
  19. data/lib/pdf/reader/afm/Times-Roman.afm +2419 -0
  20. data/lib/pdf/reader/afm/ZapfDingbats.afm +225 -0
  21. data/lib/pdf/reader/buffer.rb +14 -6
  22. data/lib/pdf/reader/cid_widths.rb +61 -0
  23. data/lib/pdf/reader/cmap.rb +8 -2
  24. data/lib/pdf/reader/encoding.rb +52 -27
  25. data/lib/pdf/reader/error.rb +16 -1
  26. data/lib/pdf/reader/filter.rb +2 -0
  27. data/lib/pdf/reader/filter/ascii85.rb +3 -1
  28. data/lib/pdf/reader/filter/ascii_hex.rb +3 -1
  29. data/lib/pdf/reader/filter/depredict.rb +2 -0
  30. data/lib/pdf/reader/filter/flate.rb +3 -1
  31. data/lib/pdf/reader/filter/lzw.rb +1 -0
  32. data/lib/pdf/reader/filter/null.rb +1 -0
  33. data/lib/pdf/reader/filter/run_length.rb +2 -1
  34. data/lib/pdf/reader/font.rb +74 -18
  35. data/lib/pdf/reader/font_descriptor.rb +80 -0
  36. data/lib/pdf/reader/glyph_hash.rb +6 -0
  37. data/lib/pdf/reader/lzw.rb +1 -0
  38. data/lib/pdf/reader/object_cache.rb +1 -1
  39. data/lib/pdf/reader/object_hash.rb +1 -1
  40. data/lib/pdf/reader/page_layout.rb +125 -0
  41. data/lib/pdf/reader/page_state.rb +172 -69
  42. data/lib/pdf/reader/page_text_receiver.rb +50 -21
  43. data/lib/pdf/reader/pages_strategy.rb +17 -4
  44. data/lib/pdf/reader/parser.rb +25 -52
  45. data/lib/pdf/reader/print_receiver.rb +5 -0
  46. data/lib/pdf/reader/reference.rb +2 -0
  47. data/lib/pdf/reader/register_receiver.rb +1 -1
  48. data/lib/pdf/reader/standard_security_handler.rb +2 -0
  49. data/lib/pdf/reader/stream.rb +2 -0
  50. data/lib/pdf/reader/synchronized_cache.rb +32 -0
  51. data/lib/pdf/reader/text_receiver.rb +5 -4
  52. data/lib/pdf/reader/text_run.rb +80 -0
  53. data/lib/pdf/reader/token.rb +2 -0
  54. data/lib/pdf/reader/transformation_matrix.rb +194 -0
  55. data/lib/pdf/reader/width_calculator.rb +11 -0
  56. data/lib/pdf/reader/width_calculator/built_in.rb +50 -0
  57. data/lib/pdf/reader/width_calculator/composite.rb +27 -0
  58. data/lib/pdf/reader/width_calculator/true_type.rb +56 -0
  59. data/lib/pdf/reader/width_calculator/type_one_or_three.rb +32 -0
  60. data/lib/pdf/reader/width_calculator/type_zero.rb +24 -0
  61. data/lib/pdf/reader/xref.rb +9 -2
  62. metadata +119 -13
data/CHANGELOG CHANGED
@@ -1,4 +1,10 @@
1
- v1.2.0 (28th AUgust 2012)
1
+ v1.3.0 (30th December 2012)
2
+ - Numerous performance optimisations (thanks Alex Dowad)
3
+ - Improved text extraction (thanks Nathaniel Madura)
4
+ - Load less of the hashery gem to reduce core monkey patches
5
+ - various bug fixes
6
+
7
+ v1.2.0 (28th August 2012)
2
8
  - Feature: correctly extract text using surrogate pairs and ligatures
3
9
  (thanks Nathaniel Madura)
4
10
  - Speed optimisation: cache tokenised Form XObjects to avoid re-parsing them
@@ -169,3 +169,4 @@ little UTF-8 friendly box to indicate an unrecognisable character.
169
169
  - PDF::Reader Code Repository: http://github.com/yob/pdf-reader
170
170
  - PDF Specification: http://www.adobe.com/devnet/pdf/pdf_reference.html
171
171
  - PDF Tutorial Slide Presentations: http://home.comcast.net/~jk05/presentations/PDFTutorials.html
172
+ - Developing with PDF (book): http://shop.oreilly.com/product/0636920025269.do
data/Rakefile CHANGED
@@ -3,15 +3,32 @@ require "bundler"
3
3
  Bundler.setup
4
4
 
5
5
  require 'rake'
6
- require 'rake/rdoctask'
6
+ require 'rdoc/task'
7
7
  require 'rspec/core/rake_task'
8
- require 'roodi'
9
- require 'roodi_task'
10
8
 
11
- desc "Default Task"
12
- task :default => [ :spec ]
9
+ # Cane requires ripper, which appears to only work on MRI 1.9
10
+ if RUBY_VERSION >= "1.9" && RUBY_ENGINE == "ruby"
11
+
12
+ desc "Default Task"
13
+ task :default => [ :quality, :spec ]
14
+
15
+ require 'cane/rake_task'
16
+ require 'morecane'
17
+
18
+ desc "Run cane to check quality metrics"
19
+ Cane::RakeTask.new(:quality) do |cane|
20
+ cane.abc_max = 20
21
+ cane.style_measure = 100
22
+ cane.max_violations = 94
23
+
24
+ cane.use Morecane::EncodingCheck, :encoding_glob => "{app,lib,spec}/**/*.rb"
25
+ end
26
+
27
+ else
28
+ desc "Default Task"
29
+ task :default => [ :spec ]
30
+ end
13
31
 
14
- # run all rspecs
15
32
  desc "Run all rspec files"
16
33
  RSpec::Core::RakeTask.new("spec") do |t|
17
34
  t.rspec_opts = ["--color", "--format progress"]
@@ -31,8 +48,6 @@ Rake::RDocTask.new("doc") do |rdoc|
31
48
  rdoc.options << "--inline-source"
32
49
  end
33
50
 
34
- RoodiTask.new 'roodi', ['lib/**/*.rb']
35
-
36
51
  desc "Create a YAML file of integrity info for PDFs in the spec suite"
37
52
  task :integrity_yaml do
38
53
  data = {}
@@ -1 +1,3 @@
1
- require "pdf/reader"
1
+ # coding: utf-8
2
+
3
+ require "pdf/reader"
@@ -1,6 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module PDF
4
+ # This class is deprecated, please stop using it.
4
5
  class Hash < ::PDF::Reader::ObjectHash # :nodoc:
5
6
  def initialize(input)
6
7
  warn "DEPRECATION NOTICE: PDF::Hash has been deprecated, use PDF::Reader::ObjectHash instead"
@@ -8,7 +9,10 @@ module PDF
8
9
  end
9
10
 
10
11
  def version
11
- warn "DEPRECATION NOTICE: PDF::Hash#version has been deprecated, use PDF::Reader::ObjectHash#pdf_version instead"
12
+ warn <<-EOS
13
+ DEPRECATION NOTICE: PDF::Hash#version has been deprecated,
14
+ use PDF::Reader::ObjectHash#pdf_version instead
15
+ EOS
12
16
  pdf_version
13
17
  end
14
18
  end
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  ################################################################################
2
4
  #
3
5
  # Copyright (C) 2006 Peter J Jones (pjones@pmade.com)
@@ -239,7 +241,9 @@ module PDF
239
241
  #
240
242
  def page(num)
241
243
  num = num.to_i
242
- raise ArgumentError, "valid pages are 1 .. #{self.page_count}" if num < 1 || num > self.page_count
244
+ if num < 1 || num > self.page_count
245
+ raise ArgumentError, "valid pages are 1 .. #{self.page_count}"
246
+ end
243
247
  PDF::Reader::Page.new(@objects, num, :cache => @cache)
244
248
  end
245
249
 
@@ -333,6 +337,7 @@ end
333
337
  require 'pdf/reader/resource_methods'
334
338
  require 'pdf/reader/abstract_strategy'
335
339
  require 'pdf/reader/buffer'
340
+ require 'pdf/reader/cid_widths'
336
341
  require 'pdf/reader/cmap'
337
342
  require 'pdf/reader/encoding'
338
343
  require 'pdf/reader/error'
@@ -345,6 +350,7 @@ require 'pdf/reader/filter/lzw'
345
350
  require 'pdf/reader/filter/null'
346
351
  require 'pdf/reader/filter/run_length'
347
352
  require 'pdf/reader/font'
353
+ require 'pdf/reader/font_descriptor'
348
354
  require 'pdf/reader/form_xobject'
349
355
  require 'pdf/reader/glyph_hash'
350
356
  require 'pdf/reader/lzw'
@@ -360,6 +366,7 @@ require 'pdf/reader/register_receiver'
360
366
  require 'pdf/reader/standard_security_handler'
361
367
  require 'pdf/reader/stream'
362
368
  require 'pdf/reader/text_receiver'
369
+ require 'pdf/reader/text_run'
363
370
  require 'pdf/reader/page_state'
364
371
  require 'pdf/reader/page_text_receiver'
365
372
  require 'pdf/reader/token'
@@ -0,0 +1,342 @@
1
+ StartFontMetrics 4.1
2
+ Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
3
+ Comment Creation Date: Mon Jun 23 16:28:00 1997
4
+ Comment UniqueID 43048
5
+ Comment VMusage 41139 52164
6
+ FontName Courier-Bold
7
+ FullName Courier Bold
8
+ FamilyName Courier
9
+ Weight Bold
10
+ ItalicAngle 0
11
+ IsFixedPitch true
12
+ CharacterSet ExtendedRoman
13
+ FontBBox -113 -250 749 801
14
+ UnderlinePosition -100
15
+ UnderlineThickness 50
16
+ Version 003.000
17
+ Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
18
+ EncodingScheme AdobeStandardEncoding
19
+ CapHeight 562
20
+ XHeight 439
21
+ Ascender 629
22
+ Descender -157
23
+ StdHW 84
24
+ StdVW 106
25
+ StartCharMetrics 315
26
+ C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
27
+ C 33 ; WX 600 ; N exclam ; B 202 -15 398 572 ;
28
+ C 34 ; WX 600 ; N quotedbl ; B 135 277 465 562 ;
29
+ C 35 ; WX 600 ; N numbersign ; B 56 -45 544 651 ;
30
+ C 36 ; WX 600 ; N dollar ; B 82 -126 519 666 ;
31
+ C 37 ; WX 600 ; N percent ; B 5 -15 595 616 ;
32
+ C 38 ; WX 600 ; N ampersand ; B 36 -15 546 543 ;
33
+ C 39 ; WX 600 ; N quoteright ; B 171 277 423 562 ;
34
+ C 40 ; WX 600 ; N parenleft ; B 219 -102 461 616 ;
35
+ C 41 ; WX 600 ; N parenright ; B 139 -102 381 616 ;
36
+ C 42 ; WX 600 ; N asterisk ; B 91 219 509 601 ;
37
+ C 43 ; WX 600 ; N plus ; B 71 39 529 478 ;
38
+ C 44 ; WX 600 ; N comma ; B 123 -111 393 174 ;
39
+ C 45 ; WX 600 ; N hyphen ; B 100 203 500 313 ;
40
+ C 46 ; WX 600 ; N period ; B 192 -15 408 171 ;
41
+ C 47 ; WX 600 ; N slash ; B 98 -77 502 626 ;
42
+ C 48 ; WX 600 ; N zero ; B 87 -15 513 616 ;
43
+ C 49 ; WX 600 ; N one ; B 81 0 539 616 ;
44
+ C 50 ; WX 600 ; N two ; B 61 0 499 616 ;
45
+ C 51 ; WX 600 ; N three ; B 63 -15 501 616 ;
46
+ C 52 ; WX 600 ; N four ; B 53 0 507 616 ;
47
+ C 53 ; WX 600 ; N five ; B 70 -15 521 601 ;
48
+ C 54 ; WX 600 ; N six ; B 90 -15 521 616 ;
49
+ C 55 ; WX 600 ; N seven ; B 55 0 494 601 ;
50
+ C 56 ; WX 600 ; N eight ; B 83 -15 517 616 ;
51
+ C 57 ; WX 600 ; N nine ; B 79 -15 510 616 ;
52
+ C 58 ; WX 600 ; N colon ; B 191 -15 407 425 ;
53
+ C 59 ; WX 600 ; N semicolon ; B 123 -111 408 425 ;
54
+ C 60 ; WX 600 ; N less ; B 66 15 523 501 ;
55
+ C 61 ; WX 600 ; N equal ; B 71 118 529 398 ;
56
+ C 62 ; WX 600 ; N greater ; B 77 15 534 501 ;
57
+ C 63 ; WX 600 ; N question ; B 98 -14 501 580 ;
58
+ C 64 ; WX 600 ; N at ; B 16 -15 584 616 ;
59
+ C 65 ; WX 600 ; N A ; B -9 0 609 562 ;
60
+ C 66 ; WX 600 ; N B ; B 30 0 573 562 ;
61
+ C 67 ; WX 600 ; N C ; B 22 -18 560 580 ;
62
+ C 68 ; WX 600 ; N D ; B 30 0 594 562 ;
63
+ C 69 ; WX 600 ; N E ; B 25 0 560 562 ;
64
+ C 70 ; WX 600 ; N F ; B 39 0 570 562 ;
65
+ C 71 ; WX 600 ; N G ; B 22 -18 594 580 ;
66
+ C 72 ; WX 600 ; N H ; B 20 0 580 562 ;
67
+ C 73 ; WX 600 ; N I ; B 77 0 523 562 ;
68
+ C 74 ; WX 600 ; N J ; B 37 -18 601 562 ;
69
+ C 75 ; WX 600 ; N K ; B 21 0 599 562 ;
70
+ C 76 ; WX 600 ; N L ; B 39 0 578 562 ;
71
+ C 77 ; WX 600 ; N M ; B -2 0 602 562 ;
72
+ C 78 ; WX 600 ; N N ; B 8 -12 610 562 ;
73
+ C 79 ; WX 600 ; N O ; B 22 -18 578 580 ;
74
+ C 80 ; WX 600 ; N P ; B 48 0 559 562 ;
75
+ C 81 ; WX 600 ; N Q ; B 32 -138 578 580 ;
76
+ C 82 ; WX 600 ; N R ; B 24 0 599 562 ;
77
+ C 83 ; WX 600 ; N S ; B 47 -22 553 582 ;
78
+ C 84 ; WX 600 ; N T ; B 21 0 579 562 ;
79
+ C 85 ; WX 600 ; N U ; B 4 -18 596 562 ;
80
+ C 86 ; WX 600 ; N V ; B -13 0 613 562 ;
81
+ C 87 ; WX 600 ; N W ; B -18 0 618 562 ;
82
+ C 88 ; WX 600 ; N X ; B 12 0 588 562 ;
83
+ C 89 ; WX 600 ; N Y ; B 12 0 589 562 ;
84
+ C 90 ; WX 600 ; N Z ; B 62 0 539 562 ;
85
+ C 91 ; WX 600 ; N bracketleft ; B 245 -102 475 616 ;
86
+ C 92 ; WX 600 ; N backslash ; B 99 -77 503 626 ;
87
+ C 93 ; WX 600 ; N bracketright ; B 125 -102 355 616 ;
88
+ C 94 ; WX 600 ; N asciicircum ; B 108 250 492 616 ;
89
+ C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
90
+ C 96 ; WX 600 ; N quoteleft ; B 178 277 428 562 ;
91
+ C 97 ; WX 600 ; N a ; B 35 -15 570 454 ;
92
+ C 98 ; WX 600 ; N b ; B 0 -15 584 626 ;
93
+ C 99 ; WX 600 ; N c ; B 40 -15 545 459 ;
94
+ C 100 ; WX 600 ; N d ; B 20 -15 591 626 ;
95
+ C 101 ; WX 600 ; N e ; B 40 -15 563 454 ;
96
+ C 102 ; WX 600 ; N f ; B 83 0 547 626 ; L i fi ; L l fl ;
97
+ C 103 ; WX 600 ; N g ; B 30 -146 580 454 ;
98
+ C 104 ; WX 600 ; N h ; B 5 0 592 626 ;
99
+ C 105 ; WX 600 ; N i ; B 77 0 523 658 ;
100
+ C 106 ; WX 600 ; N j ; B 63 -146 440 658 ;
101
+ C 107 ; WX 600 ; N k ; B 20 0 585 626 ;
102
+ C 108 ; WX 600 ; N l ; B 77 0 523 626 ;
103
+ C 109 ; WX 600 ; N m ; B -22 0 626 454 ;
104
+ C 110 ; WX 600 ; N n ; B 18 0 592 454 ;
105
+ C 111 ; WX 600 ; N o ; B 30 -15 570 454 ;
106
+ C 112 ; WX 600 ; N p ; B -1 -142 570 454 ;
107
+ C 113 ; WX 600 ; N q ; B 20 -142 591 454 ;
108
+ C 114 ; WX 600 ; N r ; B 47 0 580 454 ;
109
+ C 115 ; WX 600 ; N s ; B 68 -17 535 459 ;
110
+ C 116 ; WX 600 ; N t ; B 47 -15 532 562 ;
111
+ C 117 ; WX 600 ; N u ; B -1 -15 569 439 ;
112
+ C 118 ; WX 600 ; N v ; B -1 0 601 439 ;
113
+ C 119 ; WX 600 ; N w ; B -18 0 618 439 ;
114
+ C 120 ; WX 600 ; N x ; B 6 0 594 439 ;
115
+ C 121 ; WX 600 ; N y ; B -4 -142 601 439 ;
116
+ C 122 ; WX 600 ; N z ; B 81 0 520 439 ;
117
+ C 123 ; WX 600 ; N braceleft ; B 160 -102 464 616 ;
118
+ C 124 ; WX 600 ; N bar ; B 255 -250 345 750 ;
119
+ C 125 ; WX 600 ; N braceright ; B 136 -102 440 616 ;
120
+ C 126 ; WX 600 ; N asciitilde ; B 71 153 530 356 ;
121
+ C 161 ; WX 600 ; N exclamdown ; B 202 -146 398 449 ;
122
+ C 162 ; WX 600 ; N cent ; B 66 -49 518 614 ;
123
+ C 163 ; WX 600 ; N sterling ; B 72 -28 558 611 ;
124
+ C 164 ; WX 600 ; N fraction ; B 25 -60 576 661 ;
125
+ C 165 ; WX 600 ; N yen ; B 10 0 590 562 ;
126
+ C 166 ; WX 600 ; N florin ; B -30 -131 572 616 ;
127
+ C 167 ; WX 600 ; N section ; B 83 -70 517 580 ;
128
+ C 168 ; WX 600 ; N currency ; B 54 49 546 517 ;
129
+ C 169 ; WX 600 ; N quotesingle ; B 227 277 373 562 ;
130
+ C 170 ; WX 600 ; N quotedblleft ; B 71 277 535 562 ;
131
+ C 171 ; WX 600 ; N guillemotleft ; B 8 70 553 446 ;
132
+ C 172 ; WX 600 ; N guilsinglleft ; B 141 70 459 446 ;
133
+ C 173 ; WX 600 ; N guilsinglright ; B 141 70 459 446 ;
134
+ C 174 ; WX 600 ; N fi ; B 12 0 593 626 ;
135
+ C 175 ; WX 600 ; N fl ; B 12 0 593 626 ;
136
+ C 177 ; WX 600 ; N endash ; B 65 203 535 313 ;
137
+ C 178 ; WX 600 ; N dagger ; B 106 -70 494 580 ;
138
+ C 179 ; WX 600 ; N daggerdbl ; B 106 -70 494 580 ;
139
+ C 180 ; WX 600 ; N periodcentered ; B 196 165 404 351 ;
140
+ C 182 ; WX 600 ; N paragraph ; B 6 -70 576 580 ;
141
+ C 183 ; WX 600 ; N bullet ; B 140 132 460 430 ;
142
+ C 184 ; WX 600 ; N quotesinglbase ; B 175 -142 427 143 ;
143
+ C 185 ; WX 600 ; N quotedblbase ; B 65 -142 529 143 ;
144
+ C 186 ; WX 600 ; N quotedblright ; B 61 277 525 562 ;
145
+ C 187 ; WX 600 ; N guillemotright ; B 47 70 592 446 ;
146
+ C 188 ; WX 600 ; N ellipsis ; B 26 -15 574 116 ;
147
+ C 189 ; WX 600 ; N perthousand ; B -113 -15 713 616 ;
148
+ C 191 ; WX 600 ; N questiondown ; B 99 -146 502 449 ;
149
+ C 193 ; WX 600 ; N grave ; B 132 508 395 661 ;
150
+ C 194 ; WX 600 ; N acute ; B 205 508 468 661 ;
151
+ C 195 ; WX 600 ; N circumflex ; B 103 483 497 657 ;
152
+ C 196 ; WX 600 ; N tilde ; B 89 493 512 636 ;
153
+ C 197 ; WX 600 ; N macron ; B 88 505 512 585 ;
154
+ C 198 ; WX 600 ; N breve ; B 83 468 517 631 ;
155
+ C 199 ; WX 600 ; N dotaccent ; B 230 498 370 638 ;
156
+ C 200 ; WX 600 ; N dieresis ; B 128 498 472 638 ;
157
+ C 202 ; WX 600 ; N ring ; B 198 481 402 678 ;
158
+ C 203 ; WX 600 ; N cedilla ; B 205 -206 387 0 ;
159
+ C 205 ; WX 600 ; N hungarumlaut ; B 68 488 588 661 ;
160
+ C 206 ; WX 600 ; N ogonek ; B 169 -199 400 0 ;
161
+ C 207 ; WX 600 ; N caron ; B 103 493 497 667 ;
162
+ C 208 ; WX 600 ; N emdash ; B -10 203 610 313 ;
163
+ C 225 ; WX 600 ; N AE ; B -29 0 602 562 ;
164
+ C 227 ; WX 600 ; N ordfeminine ; B 147 196 453 580 ;
165
+ C 232 ; WX 600 ; N Lslash ; B 39 0 578 562 ;
166
+ C 233 ; WX 600 ; N Oslash ; B 22 -22 578 584 ;
167
+ C 234 ; WX 600 ; N OE ; B -25 0 595 562 ;
168
+ C 235 ; WX 600 ; N ordmasculine ; B 147 196 453 580 ;
169
+ C 241 ; WX 600 ; N ae ; B -4 -15 601 454 ;
170
+ C 245 ; WX 600 ; N dotlessi ; B 77 0 523 439 ;
171
+ C 248 ; WX 600 ; N lslash ; B 77 0 523 626 ;
172
+ C 249 ; WX 600 ; N oslash ; B 30 -24 570 463 ;
173
+ C 250 ; WX 600 ; N oe ; B -18 -15 611 454 ;
174
+ C 251 ; WX 600 ; N germandbls ; B 22 -15 596 626 ;
175
+ C -1 ; WX 600 ; N Idieresis ; B 77 0 523 761 ;
176
+ C -1 ; WX 600 ; N eacute ; B 40 -15 563 661 ;
177
+ C -1 ; WX 600 ; N abreve ; B 35 -15 570 661 ;
178
+ C -1 ; WX 600 ; N uhungarumlaut ; B -1 -15 628 661 ;
179
+ C -1 ; WX 600 ; N ecaron ; B 40 -15 563 667 ;
180
+ C -1 ; WX 600 ; N Ydieresis ; B 12 0 589 761 ;
181
+ C -1 ; WX 600 ; N divide ; B 71 16 529 500 ;
182
+ C -1 ; WX 600 ; N Yacute ; B 12 0 589 784 ;
183
+ C -1 ; WX 600 ; N Acircumflex ; B -9 0 609 780 ;
184
+ C -1 ; WX 600 ; N aacute ; B 35 -15 570 661 ;
185
+ C -1 ; WX 600 ; N Ucircumflex ; B 4 -18 596 780 ;
186
+ C -1 ; WX 600 ; N yacute ; B -4 -142 601 661 ;
187
+ C -1 ; WX 600 ; N scommaaccent ; B 68 -250 535 459 ;
188
+ C -1 ; WX 600 ; N ecircumflex ; B 40 -15 563 657 ;
189
+ C -1 ; WX 600 ; N Uring ; B 4 -18 596 801 ;
190
+ C -1 ; WX 600 ; N Udieresis ; B 4 -18 596 761 ;
191
+ C -1 ; WX 600 ; N aogonek ; B 35 -199 586 454 ;
192
+ C -1 ; WX 600 ; N Uacute ; B 4 -18 596 784 ;
193
+ C -1 ; WX 600 ; N uogonek ; B -1 -199 585 439 ;
194
+ C -1 ; WX 600 ; N Edieresis ; B 25 0 560 761 ;
195
+ C -1 ; WX 600 ; N Dcroat ; B 30 0 594 562 ;
196
+ C -1 ; WX 600 ; N commaaccent ; B 205 -250 397 -57 ;
197
+ C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
198
+ C -1 ; WX 600 ; N Emacron ; B 25 0 560 708 ;
199
+ C -1 ; WX 600 ; N ccaron ; B 40 -15 545 667 ;
200
+ C -1 ; WX 600 ; N aring ; B 35 -15 570 678 ;
201
+ C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 610 562 ;
202
+ C -1 ; WX 600 ; N lacute ; B 77 0 523 801 ;
203
+ C -1 ; WX 600 ; N agrave ; B 35 -15 570 661 ;
204
+ C -1 ; WX 600 ; N Tcommaaccent ; B 21 -250 579 562 ;
205
+ C -1 ; WX 600 ; N Cacute ; B 22 -18 560 784 ;
206
+ C -1 ; WX 600 ; N atilde ; B 35 -15 570 636 ;
207
+ C -1 ; WX 600 ; N Edotaccent ; B 25 0 560 761 ;
208
+ C -1 ; WX 600 ; N scaron ; B 68 -17 535 667 ;
209
+ C -1 ; WX 600 ; N scedilla ; B 68 -206 535 459 ;
210
+ C -1 ; WX 600 ; N iacute ; B 77 0 523 661 ;
211
+ C -1 ; WX 600 ; N lozenge ; B 66 0 534 740 ;
212
+ C -1 ; WX 600 ; N Rcaron ; B 24 0 599 790 ;
213
+ C -1 ; WX 600 ; N Gcommaaccent ; B 22 -250 594 580 ;
214
+ C -1 ; WX 600 ; N ucircumflex ; B -1 -15 569 657 ;
215
+ C -1 ; WX 600 ; N acircumflex ; B 35 -15 570 657 ;
216
+ C -1 ; WX 600 ; N Amacron ; B -9 0 609 708 ;
217
+ C -1 ; WX 600 ; N rcaron ; B 47 0 580 667 ;
218
+ C -1 ; WX 600 ; N ccedilla ; B 40 -206 545 459 ;
219
+ C -1 ; WX 600 ; N Zdotaccent ; B 62 0 539 761 ;
220
+ C -1 ; WX 600 ; N Thorn ; B 48 0 557 562 ;
221
+ C -1 ; WX 600 ; N Omacron ; B 22 -18 578 708 ;
222
+ C -1 ; WX 600 ; N Racute ; B 24 0 599 784 ;
223
+ C -1 ; WX 600 ; N Sacute ; B 47 -22 553 784 ;
224
+ C -1 ; WX 600 ; N dcaron ; B 20 -15 727 626 ;
225
+ C -1 ; WX 600 ; N Umacron ; B 4 -18 596 708 ;
226
+ C -1 ; WX 600 ; N uring ; B -1 -15 569 678 ;
227
+ C -1 ; WX 600 ; N threesuperior ; B 138 222 433 616 ;
228
+ C -1 ; WX 600 ; N Ograve ; B 22 -18 578 784 ;
229
+ C -1 ; WX 600 ; N Agrave ; B -9 0 609 784 ;
230
+ C -1 ; WX 600 ; N Abreve ; B -9 0 609 784 ;
231
+ C -1 ; WX 600 ; N multiply ; B 81 39 520 478 ;
232
+ C -1 ; WX 600 ; N uacute ; B -1 -15 569 661 ;
233
+ C -1 ; WX 600 ; N Tcaron ; B 21 0 579 790 ;
234
+ C -1 ; WX 600 ; N partialdiff ; B 63 -38 537 728 ;
235
+ C -1 ; WX 600 ; N ydieresis ; B -4 -142 601 638 ;
236
+ C -1 ; WX 600 ; N Nacute ; B 8 -12 610 784 ;
237
+ C -1 ; WX 600 ; N icircumflex ; B 73 0 523 657 ;
238
+ C -1 ; WX 600 ; N Ecircumflex ; B 25 0 560 780 ;
239
+ C -1 ; WX 600 ; N adieresis ; B 35 -15 570 638 ;
240
+ C -1 ; WX 600 ; N edieresis ; B 40 -15 563 638 ;
241
+ C -1 ; WX 600 ; N cacute ; B 40 -15 545 661 ;
242
+ C -1 ; WX 600 ; N nacute ; B 18 0 592 661 ;
243
+ C -1 ; WX 600 ; N umacron ; B -1 -15 569 585 ;
244
+ C -1 ; WX 600 ; N Ncaron ; B 8 -12 610 790 ;
245
+ C -1 ; WX 600 ; N Iacute ; B 77 0 523 784 ;
246
+ C -1 ; WX 600 ; N plusminus ; B 71 24 529 515 ;
247
+ C -1 ; WX 600 ; N brokenbar ; B 255 -175 345 675 ;
248
+ C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ;
249
+ C -1 ; WX 600 ; N Gbreve ; B 22 -18 594 784 ;
250
+ C -1 ; WX 600 ; N Idotaccent ; B 77 0 523 761 ;
251
+ C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ;
252
+ C -1 ; WX 600 ; N Egrave ; B 25 0 560 784 ;
253
+ C -1 ; WX 600 ; N racute ; B 47 0 580 661 ;
254
+ C -1 ; WX 600 ; N omacron ; B 30 -15 570 585 ;
255
+ C -1 ; WX 600 ; N Zacute ; B 62 0 539 784 ;
256
+ C -1 ; WX 600 ; N Zcaron ; B 62 0 539 790 ;
257
+ C -1 ; WX 600 ; N greaterequal ; B 26 0 523 696 ;
258
+ C -1 ; WX 600 ; N Eth ; B 30 0 594 562 ;
259
+ C -1 ; WX 600 ; N Ccedilla ; B 22 -206 560 580 ;
260
+ C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 523 626 ;
261
+ C -1 ; WX 600 ; N tcaron ; B 47 -15 532 703 ;
262
+ C -1 ; WX 600 ; N eogonek ; B 40 -199 563 454 ;
263
+ C -1 ; WX 600 ; N Uogonek ; B 4 -199 596 562 ;
264
+ C -1 ; WX 600 ; N Aacute ; B -9 0 609 784 ;
265
+ C -1 ; WX 600 ; N Adieresis ; B -9 0 609 761 ;
266
+ C -1 ; WX 600 ; N egrave ; B 40 -15 563 661 ;
267
+ C -1 ; WX 600 ; N zacute ; B 81 0 520 661 ;
268
+ C -1 ; WX 600 ; N iogonek ; B 77 -199 523 658 ;
269
+ C -1 ; WX 600 ; N Oacute ; B 22 -18 578 784 ;
270
+ C -1 ; WX 600 ; N oacute ; B 30 -15 570 661 ;
271
+ C -1 ; WX 600 ; N amacron ; B 35 -15 570 585 ;
272
+ C -1 ; WX 600 ; N sacute ; B 68 -17 535 661 ;
273
+ C -1 ; WX 600 ; N idieresis ; B 77 0 523 618 ;
274
+ C -1 ; WX 600 ; N Ocircumflex ; B 22 -18 578 780 ;
275
+ C -1 ; WX 600 ; N Ugrave ; B 4 -18 596 784 ;
276
+ C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ;
277
+ C -1 ; WX 600 ; N thorn ; B -14 -142 570 626 ;
278
+ C -1 ; WX 600 ; N twosuperior ; B 143 230 436 616 ;
279
+ C -1 ; WX 600 ; N Odieresis ; B 22 -18 578 761 ;
280
+ C -1 ; WX 600 ; N mu ; B -1 -142 569 439 ;
281
+ C -1 ; WX 600 ; N igrave ; B 77 0 523 661 ;
282
+ C -1 ; WX 600 ; N ohungarumlaut ; B 30 -15 668 661 ;
283
+ C -1 ; WX 600 ; N Eogonek ; B 25 -199 576 562 ;
284
+ C -1 ; WX 600 ; N dcroat ; B 20 -15 591 626 ;
285
+ C -1 ; WX 600 ; N threequarters ; B -47 -60 648 661 ;
286
+ C -1 ; WX 600 ; N Scedilla ; B 47 -206 553 582 ;
287
+ C -1 ; WX 600 ; N lcaron ; B 77 0 597 626 ;
288
+ C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 599 562 ;
289
+ C -1 ; WX 600 ; N Lacute ; B 39 0 578 784 ;
290
+ C -1 ; WX 600 ; N trademark ; B -9 230 749 562 ;
291
+ C -1 ; WX 600 ; N edotaccent ; B 40 -15 563 638 ;
292
+ C -1 ; WX 600 ; N Igrave ; B 77 0 523 784 ;
293
+ C -1 ; WX 600 ; N Imacron ; B 77 0 523 708 ;
294
+ C -1 ; WX 600 ; N Lcaron ; B 39 0 637 562 ;
295
+ C -1 ; WX 600 ; N onehalf ; B -47 -60 648 661 ;
296
+ C -1 ; WX 600 ; N lessequal ; B 26 0 523 696 ;
297
+ C -1 ; WX 600 ; N ocircumflex ; B 30 -15 570 657 ;
298
+ C -1 ; WX 600 ; N ntilde ; B 18 0 592 636 ;
299
+ C -1 ; WX 600 ; N Uhungarumlaut ; B 4 -18 638 784 ;
300
+ C -1 ; WX 600 ; N Eacute ; B 25 0 560 784 ;
301
+ C -1 ; WX 600 ; N emacron ; B 40 -15 563 585 ;
302
+ C -1 ; WX 600 ; N gbreve ; B 30 -146 580 661 ;
303
+ C -1 ; WX 600 ; N onequarter ; B -56 -60 656 661 ;
304
+ C -1 ; WX 600 ; N Scaron ; B 47 -22 553 790 ;
305
+ C -1 ; WX 600 ; N Scommaaccent ; B 47 -250 553 582 ;
306
+ C -1 ; WX 600 ; N Ohungarumlaut ; B 22 -18 628 784 ;
307
+ C -1 ; WX 600 ; N degree ; B 86 243 474 616 ;
308
+ C -1 ; WX 600 ; N ograve ; B 30 -15 570 661 ;
309
+ C -1 ; WX 600 ; N Ccaron ; B 22 -18 560 790 ;
310
+ C -1 ; WX 600 ; N ugrave ; B -1 -15 569 661 ;
311
+ C -1 ; WX 600 ; N radical ; B -19 -104 473 778 ;
312
+ C -1 ; WX 600 ; N Dcaron ; B 30 0 594 790 ;
313
+ C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 580 454 ;
314
+ C -1 ; WX 600 ; N Ntilde ; B 8 -12 610 759 ;
315
+ C -1 ; WX 600 ; N otilde ; B 30 -15 570 636 ;
316
+ C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 599 562 ;
317
+ C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 578 562 ;
318
+ C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
319
+ C -1 ; WX 600 ; N Aogonek ; B -9 -199 625 562 ;
320
+ C -1 ; WX 600 ; N Aring ; B -9 0 609 801 ;
321
+ C -1 ; WX 600 ; N Otilde ; B 22 -18 578 759 ;
322
+ C -1 ; WX 600 ; N zdotaccent ; B 81 0 520 638 ;
323
+ C -1 ; WX 600 ; N Ecaron ; B 25 0 560 790 ;
324
+ C -1 ; WX 600 ; N Iogonek ; B 77 -199 523 562 ;
325
+ C -1 ; WX 600 ; N kcommaaccent ; B 20 -250 585 626 ;
326
+ C -1 ; WX 600 ; N minus ; B 71 203 529 313 ;
327
+ C -1 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ;
328
+ C -1 ; WX 600 ; N ncaron ; B 18 0 592 667 ;
329
+ C -1 ; WX 600 ; N tcommaaccent ; B 47 -250 532 562 ;
330
+ C -1 ; WX 600 ; N logicalnot ; B 71 103 529 413 ;
331
+ C -1 ; WX 600 ; N odieresis ; B 30 -15 570 638 ;
332
+ C -1 ; WX 600 ; N udieresis ; B -1 -15 569 638 ;
333
+ C -1 ; WX 600 ; N notequal ; B 12 -47 537 563 ;
334
+ C -1 ; WX 600 ; N gcommaaccent ; B 30 -146 580 714 ;
335
+ C -1 ; WX 600 ; N eth ; B 58 -27 543 626 ;
336
+ C -1 ; WX 600 ; N zcaron ; B 81 0 520 667 ;
337
+ C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 592 454 ;
338
+ C -1 ; WX 600 ; N onesuperior ; B 153 230 447 616 ;
339
+ C -1 ; WX 600 ; N imacron ; B 77 0 523 585 ;
340
+ C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ;
341
+ EndCharMetrics
342
+ EndFontMetrics