pdf-reader 1.4.1 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +53 -3
  3. data/{README.rdoc → README.md} +40 -23
  4. data/Rakefile +2 -2
  5. data/bin/pdf_callbacks +1 -1
  6. data/bin/pdf_object +4 -1
  7. data/bin/pdf_text +1 -1
  8. data/lib/pdf/reader/afm/Courier-Bold.afm +342 -342
  9. data/lib/pdf/reader/afm/Courier-BoldOblique.afm +342 -342
  10. data/lib/pdf/reader/afm/Courier-Oblique.afm +342 -342
  11. data/lib/pdf/reader/afm/Courier.afm +342 -342
  12. data/lib/pdf/reader/afm/Helvetica-Bold.afm +2827 -2827
  13. data/lib/pdf/reader/afm/Helvetica-BoldOblique.afm +2827 -2827
  14. data/lib/pdf/reader/afm/Helvetica-Oblique.afm +3051 -3051
  15. data/lib/pdf/reader/afm/Helvetica.afm +3051 -3051
  16. data/lib/pdf/reader/afm/MustRead.html +19 -0
  17. data/lib/pdf/reader/afm/Symbol.afm +213 -213
  18. data/lib/pdf/reader/afm/Times-Bold.afm +2588 -2588
  19. data/lib/pdf/reader/afm/Times-BoldItalic.afm +2384 -2384
  20. data/lib/pdf/reader/afm/Times-Italic.afm +2667 -2667
  21. data/lib/pdf/reader/afm/Times-Roman.afm +2419 -2419
  22. data/lib/pdf/reader/afm/ZapfDingbats.afm +225 -225
  23. data/lib/pdf/reader/buffer.rb +14 -12
  24. data/lib/pdf/reader/cid_widths.rb +2 -0
  25. data/lib/pdf/reader/cmap.rb +48 -36
  26. data/lib/pdf/reader/encoding.rb +16 -18
  27. data/lib/pdf/reader/error.rb +5 -0
  28. data/lib/pdf/reader/filter/ascii85.rb +1 -0
  29. data/lib/pdf/reader/filter/ascii_hex.rb +2 -0
  30. data/lib/pdf/reader/filter/depredict.rb +1 -0
  31. data/lib/pdf/reader/filter/flate.rb +29 -16
  32. data/lib/pdf/reader/filter/lzw.rb +2 -0
  33. data/lib/pdf/reader/filter/null.rb +2 -0
  34. data/lib/pdf/reader/filter/run_length.rb +4 -6
  35. data/lib/pdf/reader/filter.rb +2 -0
  36. data/lib/pdf/reader/font.rb +12 -13
  37. data/lib/pdf/reader/font_descriptor.rb +1 -0
  38. data/lib/pdf/reader/form_xobject.rb +1 -0
  39. data/lib/pdf/reader/glyph_hash.rb +7 -2
  40. data/lib/pdf/reader/lzw.rb +4 -4
  41. data/lib/pdf/reader/null_security_handler.rb +17 -0
  42. data/lib/pdf/reader/object_cache.rb +1 -0
  43. data/lib/pdf/reader/object_hash.rb +91 -37
  44. data/lib/pdf/reader/object_stream.rb +1 -0
  45. data/lib/pdf/reader/orientation_detector.rb +5 -4
  46. data/lib/pdf/reader/overlapping_runs_filter.rb +65 -0
  47. data/lib/pdf/reader/page.rb +30 -1
  48. data/lib/pdf/reader/page_layout.rb +19 -24
  49. data/lib/pdf/reader/page_state.rb +8 -5
  50. data/lib/pdf/reader/page_text_receiver.rb +23 -1
  51. data/lib/pdf/reader/pages_strategy.rb +2 -304
  52. data/lib/pdf/reader/parser.rb +10 -7
  53. data/lib/pdf/reader/print_receiver.rb +1 -0
  54. data/lib/pdf/reader/reference.rb +1 -0
  55. data/lib/pdf/reader/register_receiver.rb +1 -0
  56. data/lib/pdf/reader/resource_methods.rb +1 -0
  57. data/lib/pdf/reader/standard_security_handler.rb +80 -42
  58. data/lib/pdf/reader/standard_security_handler_v5.rb +91 -0
  59. data/lib/pdf/reader/stream.rb +1 -0
  60. data/lib/pdf/reader/synchronized_cache.rb +1 -0
  61. data/lib/pdf/reader/text_run.rb +28 -9
  62. data/lib/pdf/reader/token.rb +1 -0
  63. data/lib/pdf/reader/transformation_matrix.rb +1 -0
  64. data/lib/pdf/reader/unimplemented_security_handler.rb +17 -0
  65. data/lib/pdf/reader/width_calculator/built_in.rb +25 -16
  66. data/lib/pdf/reader/width_calculator/composite.rb +1 -0
  67. data/lib/pdf/reader/width_calculator/true_type.rb +2 -2
  68. data/lib/pdf/reader/width_calculator/type_one_or_three.rb +1 -0
  69. data/lib/pdf/reader/width_calculator/type_zero.rb +1 -0
  70. data/lib/pdf/reader/width_calculator.rb +1 -0
  71. data/lib/pdf/reader/xref.rb +11 -5
  72. data/lib/pdf/reader.rb +30 -119
  73. data/lib/pdf-reader.rb +1 -0
  74. metadata +35 -61
  75. data/bin/pdf_list_callbacks +0 -17
  76. data/lib/pdf/hash.rb +0 -19
  77. data/lib/pdf/reader/abstract_strategy.rb +0 -81
  78. data/lib/pdf/reader/metadata_strategy.rb +0 -56
  79. data/lib/pdf/reader/text_receiver.rb +0 -265
@@ -1,225 +1,225 @@
1
- StartFontMetrics 4.1
2
- Comment Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.
3
- Comment Creation Date: Thu May 1 15:14:13 1997
4
- Comment UniqueID 43082
5
- Comment VMusage 45775 55535
6
- FontName ZapfDingbats
7
- FullName ITC Zapf Dingbats
8
- FamilyName ZapfDingbats
9
- Weight Medium
10
- ItalicAngle 0
11
- IsFixedPitch false
12
- CharacterSet Special
13
- FontBBox -1 -143 981 820
14
- UnderlinePosition -100
15
- UnderlineThickness 50
16
- Version 002.000
17
- Notice Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.ITC Zapf Dingbats is a registered trademark of International Typeface Corporation.
18
- EncodingScheme FontSpecific
19
- StdHW 28
20
- StdVW 90
21
- StartCharMetrics 202
22
- C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
23
- C 33 ; WX 974 ; N a1 ; B 35 72 939 621 ;
24
- C 34 ; WX 961 ; N a2 ; B 35 81 927 611 ;
25
- C 35 ; WX 974 ; N a202 ; B 35 72 939 621 ;
26
- C 36 ; WX 980 ; N a3 ; B 35 0 945 692 ;
27
- C 37 ; WX 719 ; N a4 ; B 34 139 685 566 ;
28
- C 38 ; WX 789 ; N a5 ; B 35 -14 755 705 ;
29
- C 39 ; WX 790 ; N a119 ; B 35 -14 755 705 ;
30
- C 40 ; WX 791 ; N a118 ; B 35 -13 761 705 ;
31
- C 41 ; WX 690 ; N a117 ; B 34 138 655 553 ;
32
- C 42 ; WX 960 ; N a11 ; B 35 123 925 568 ;
33
- C 43 ; WX 939 ; N a12 ; B 35 134 904 559 ;
34
- C 44 ; WX 549 ; N a13 ; B 29 -11 516 705 ;
35
- C 45 ; WX 855 ; N a14 ; B 34 59 820 632 ;
36
- C 46 ; WX 911 ; N a15 ; B 35 50 876 642 ;
37
- C 47 ; WX 933 ; N a16 ; B 35 139 899 550 ;
38
- C 48 ; WX 911 ; N a105 ; B 35 50 876 642 ;
39
- C 49 ; WX 945 ; N a17 ; B 35 139 909 553 ;
40
- C 50 ; WX 974 ; N a18 ; B 35 104 938 587 ;
41
- C 51 ; WX 755 ; N a19 ; B 34 -13 721 705 ;
42
- C 52 ; WX 846 ; N a20 ; B 36 -14 811 705 ;
43
- C 53 ; WX 762 ; N a21 ; B 35 0 727 692 ;
44
- C 54 ; WX 761 ; N a22 ; B 35 0 727 692 ;
45
- C 55 ; WX 571 ; N a23 ; B -1 -68 571 661 ;
46
- C 56 ; WX 677 ; N a24 ; B 36 -13 642 705 ;
47
- C 57 ; WX 763 ; N a25 ; B 35 0 728 692 ;
48
- C 58 ; WX 760 ; N a26 ; B 35 0 726 692 ;
49
- C 59 ; WX 759 ; N a27 ; B 35 0 725 692 ;
50
- C 60 ; WX 754 ; N a28 ; B 35 0 720 692 ;
51
- C 61 ; WX 494 ; N a6 ; B 35 0 460 692 ;
52
- C 62 ; WX 552 ; N a7 ; B 35 0 517 692 ;
53
- C 63 ; WX 537 ; N a8 ; B 35 0 503 692 ;
54
- C 64 ; WX 577 ; N a9 ; B 35 96 542 596 ;
55
- C 65 ; WX 692 ; N a10 ; B 35 -14 657 705 ;
56
- C 66 ; WX 786 ; N a29 ; B 35 -14 751 705 ;
57
- C 67 ; WX 788 ; N a30 ; B 35 -14 752 705 ;
58
- C 68 ; WX 788 ; N a31 ; B 35 -14 753 705 ;
59
- C 69 ; WX 790 ; N a32 ; B 35 -14 756 705 ;
60
- C 70 ; WX 793 ; N a33 ; B 35 -13 759 705 ;
61
- C 71 ; WX 794 ; N a34 ; B 35 -13 759 705 ;
62
- C 72 ; WX 816 ; N a35 ; B 35 -14 782 705 ;
63
- C 73 ; WX 823 ; N a36 ; B 35 -14 787 705 ;
64
- C 74 ; WX 789 ; N a37 ; B 35 -14 754 705 ;
65
- C 75 ; WX 841 ; N a38 ; B 35 -14 807 705 ;
66
- C 76 ; WX 823 ; N a39 ; B 35 -14 789 705 ;
67
- C 77 ; WX 833 ; N a40 ; B 35 -14 798 705 ;
68
- C 78 ; WX 816 ; N a41 ; B 35 -13 782 705 ;
69
- C 79 ; WX 831 ; N a42 ; B 35 -14 796 705 ;
70
- C 80 ; WX 923 ; N a43 ; B 35 -14 888 705 ;
71
- C 81 ; WX 744 ; N a44 ; B 35 0 710 692 ;
72
- C 82 ; WX 723 ; N a45 ; B 35 0 688 692 ;
73
- C 83 ; WX 749 ; N a46 ; B 35 0 714 692 ;
74
- C 84 ; WX 790 ; N a47 ; B 34 -14 756 705 ;
75
- C 85 ; WX 792 ; N a48 ; B 35 -14 758 705 ;
76
- C 86 ; WX 695 ; N a49 ; B 35 -14 661 706 ;
77
- C 87 ; WX 776 ; N a50 ; B 35 -6 741 699 ;
78
- C 88 ; WX 768 ; N a51 ; B 35 -7 734 699 ;
79
- C 89 ; WX 792 ; N a52 ; B 35 -14 757 705 ;
80
- C 90 ; WX 759 ; N a53 ; B 35 0 725 692 ;
81
- C 91 ; WX 707 ; N a54 ; B 35 -13 672 704 ;
82
- C 92 ; WX 708 ; N a55 ; B 35 -14 672 705 ;
83
- C 93 ; WX 682 ; N a56 ; B 35 -14 647 705 ;
84
- C 94 ; WX 701 ; N a57 ; B 35 -14 666 705 ;
85
- C 95 ; WX 826 ; N a58 ; B 35 -14 791 705 ;
86
- C 96 ; WX 815 ; N a59 ; B 35 -14 780 705 ;
87
- C 97 ; WX 789 ; N a60 ; B 35 -14 754 705 ;
88
- C 98 ; WX 789 ; N a61 ; B 35 -14 754 705 ;
89
- C 99 ; WX 707 ; N a62 ; B 34 -14 673 705 ;
90
- C 100 ; WX 687 ; N a63 ; B 36 0 651 692 ;
91
- C 101 ; WX 696 ; N a64 ; B 35 0 661 691 ;
92
- C 102 ; WX 689 ; N a65 ; B 35 0 655 692 ;
93
- C 103 ; WX 786 ; N a66 ; B 34 -14 751 705 ;
94
- C 104 ; WX 787 ; N a67 ; B 35 -14 752 705 ;
95
- C 105 ; WX 713 ; N a68 ; B 35 -14 678 705 ;
96
- C 106 ; WX 791 ; N a69 ; B 35 -14 756 705 ;
97
- C 107 ; WX 785 ; N a70 ; B 36 -14 751 705 ;
98
- C 108 ; WX 791 ; N a71 ; B 35 -14 757 705 ;
99
- C 109 ; WX 873 ; N a72 ; B 35 -14 838 705 ;
100
- C 110 ; WX 761 ; N a73 ; B 35 0 726 692 ;
101
- C 111 ; WX 762 ; N a74 ; B 35 0 727 692 ;
102
- C 112 ; WX 762 ; N a203 ; B 35 0 727 692 ;
103
- C 113 ; WX 759 ; N a75 ; B 35 0 725 692 ;
104
- C 114 ; WX 759 ; N a204 ; B 35 0 725 692 ;
105
- C 115 ; WX 892 ; N a76 ; B 35 0 858 705 ;
106
- C 116 ; WX 892 ; N a77 ; B 35 -14 858 692 ;
107
- C 117 ; WX 788 ; N a78 ; B 35 -14 754 705 ;
108
- C 118 ; WX 784 ; N a79 ; B 35 -14 749 705 ;
109
- C 119 ; WX 438 ; N a81 ; B 35 -14 403 705 ;
110
- C 120 ; WX 138 ; N a82 ; B 35 0 104 692 ;
111
- C 121 ; WX 277 ; N a83 ; B 35 0 242 692 ;
112
- C 122 ; WX 415 ; N a84 ; B 35 0 380 692 ;
113
- C 123 ; WX 392 ; N a97 ; B 35 263 357 705 ;
114
- C 124 ; WX 392 ; N a98 ; B 34 263 357 705 ;
115
- C 125 ; WX 668 ; N a99 ; B 35 263 633 705 ;
116
- C 126 ; WX 668 ; N a100 ; B 36 263 634 705 ;
117
- C 128 ; WX 390 ; N a89 ; B 35 -14 356 705 ;
118
- C 129 ; WX 390 ; N a90 ; B 35 -14 355 705 ;
119
- C 130 ; WX 317 ; N a93 ; B 35 0 283 692 ;
120
- C 131 ; WX 317 ; N a94 ; B 35 0 283 692 ;
121
- C 132 ; WX 276 ; N a91 ; B 35 0 242 692 ;
122
- C 133 ; WX 276 ; N a92 ; B 35 0 242 692 ;
123
- C 134 ; WX 509 ; N a205 ; B 35 0 475 692 ;
124
- C 135 ; WX 509 ; N a85 ; B 35 0 475 692 ;
125
- C 136 ; WX 410 ; N a206 ; B 35 0 375 692 ;
126
- C 137 ; WX 410 ; N a86 ; B 35 0 375 692 ;
127
- C 138 ; WX 234 ; N a87 ; B 35 -14 199 705 ;
128
- C 139 ; WX 234 ; N a88 ; B 35 -14 199 705 ;
129
- C 140 ; WX 334 ; N a95 ; B 35 0 299 692 ;
130
- C 141 ; WX 334 ; N a96 ; B 35 0 299 692 ;
131
- C 161 ; WX 732 ; N a101 ; B 35 -143 697 806 ;
132
- C 162 ; WX 544 ; N a102 ; B 56 -14 488 706 ;
133
- C 163 ; WX 544 ; N a103 ; B 34 -14 508 705 ;
134
- C 164 ; WX 910 ; N a104 ; B 35 40 875 651 ;
135
- C 165 ; WX 667 ; N a106 ; B 35 -14 633 705 ;
136
- C 166 ; WX 760 ; N a107 ; B 35 -14 726 705 ;
137
- C 167 ; WX 760 ; N a108 ; B 0 121 758 569 ;
138
- C 168 ; WX 776 ; N a112 ; B 35 0 741 705 ;
139
- C 169 ; WX 595 ; N a111 ; B 34 -14 560 705 ;
140
- C 170 ; WX 694 ; N a110 ; B 35 -14 659 705 ;
141
- C 171 ; WX 626 ; N a109 ; B 34 0 591 705 ;
142
- C 172 ; WX 788 ; N a120 ; B 35 -14 754 705 ;
143
- C 173 ; WX 788 ; N a121 ; B 35 -14 754 705 ;
144
- C 174 ; WX 788 ; N a122 ; B 35 -14 754 705 ;
145
- C 175 ; WX 788 ; N a123 ; B 35 -14 754 705 ;
146
- C 176 ; WX 788 ; N a124 ; B 35 -14 754 705 ;
147
- C 177 ; WX 788 ; N a125 ; B 35 -14 754 705 ;
148
- C 178 ; WX 788 ; N a126 ; B 35 -14 754 705 ;
149
- C 179 ; WX 788 ; N a127 ; B 35 -14 754 705 ;
150
- C 180 ; WX 788 ; N a128 ; B 35 -14 754 705 ;
151
- C 181 ; WX 788 ; N a129 ; B 35 -14 754 705 ;
152
- C 182 ; WX 788 ; N a130 ; B 35 -14 754 705 ;
153
- C 183 ; WX 788 ; N a131 ; B 35 -14 754 705 ;
154
- C 184 ; WX 788 ; N a132 ; B 35 -14 754 705 ;
155
- C 185 ; WX 788 ; N a133 ; B 35 -14 754 705 ;
156
- C 186 ; WX 788 ; N a134 ; B 35 -14 754 705 ;
157
- C 187 ; WX 788 ; N a135 ; B 35 -14 754 705 ;
158
- C 188 ; WX 788 ; N a136 ; B 35 -14 754 705 ;
159
- C 189 ; WX 788 ; N a137 ; B 35 -14 754 705 ;
160
- C 190 ; WX 788 ; N a138 ; B 35 -14 754 705 ;
161
- C 191 ; WX 788 ; N a139 ; B 35 -14 754 705 ;
162
- C 192 ; WX 788 ; N a140 ; B 35 -14 754 705 ;
163
- C 193 ; WX 788 ; N a141 ; B 35 -14 754 705 ;
164
- C 194 ; WX 788 ; N a142 ; B 35 -14 754 705 ;
165
- C 195 ; WX 788 ; N a143 ; B 35 -14 754 705 ;
166
- C 196 ; WX 788 ; N a144 ; B 35 -14 754 705 ;
167
- C 197 ; WX 788 ; N a145 ; B 35 -14 754 705 ;
168
- C 198 ; WX 788 ; N a146 ; B 35 -14 754 705 ;
169
- C 199 ; WX 788 ; N a147 ; B 35 -14 754 705 ;
170
- C 200 ; WX 788 ; N a148 ; B 35 -14 754 705 ;
171
- C 201 ; WX 788 ; N a149 ; B 35 -14 754 705 ;
172
- C 202 ; WX 788 ; N a150 ; B 35 -14 754 705 ;
173
- C 203 ; WX 788 ; N a151 ; B 35 -14 754 705 ;
174
- C 204 ; WX 788 ; N a152 ; B 35 -14 754 705 ;
175
- C 205 ; WX 788 ; N a153 ; B 35 -14 754 705 ;
176
- C 206 ; WX 788 ; N a154 ; B 35 -14 754 705 ;
177
- C 207 ; WX 788 ; N a155 ; B 35 -14 754 705 ;
178
- C 208 ; WX 788 ; N a156 ; B 35 -14 754 705 ;
179
- C 209 ; WX 788 ; N a157 ; B 35 -14 754 705 ;
180
- C 210 ; WX 788 ; N a158 ; B 35 -14 754 705 ;
181
- C 211 ; WX 788 ; N a159 ; B 35 -14 754 705 ;
182
- C 212 ; WX 894 ; N a160 ; B 35 58 860 634 ;
183
- C 213 ; WX 838 ; N a161 ; B 35 152 803 540 ;
184
- C 214 ; WX 1016 ; N a163 ; B 34 152 981 540 ;
185
- C 215 ; WX 458 ; N a164 ; B 35 -127 422 820 ;
186
- C 216 ; WX 748 ; N a196 ; B 35 94 698 597 ;
187
- C 217 ; WX 924 ; N a165 ; B 35 140 890 552 ;
188
- C 218 ; WX 748 ; N a192 ; B 35 94 698 597 ;
189
- C 219 ; WX 918 ; N a166 ; B 35 166 884 526 ;
190
- C 220 ; WX 927 ; N a167 ; B 35 32 892 660 ;
191
- C 221 ; WX 928 ; N a168 ; B 35 129 891 562 ;
192
- C 222 ; WX 928 ; N a169 ; B 35 128 893 563 ;
193
- C 223 ; WX 834 ; N a170 ; B 35 155 799 537 ;
194
- C 224 ; WX 873 ; N a171 ; B 35 93 838 599 ;
195
- C 225 ; WX 828 ; N a172 ; B 35 104 791 588 ;
196
- C 226 ; WX 924 ; N a173 ; B 35 98 889 594 ;
197
- C 227 ; WX 924 ; N a162 ; B 35 98 889 594 ;
198
- C 228 ; WX 917 ; N a174 ; B 35 0 882 692 ;
199
- C 229 ; WX 930 ; N a175 ; B 35 84 896 608 ;
200
- C 230 ; WX 931 ; N a176 ; B 35 84 896 608 ;
201
- C 231 ; WX 463 ; N a177 ; B 35 -99 429 791 ;
202
- C 232 ; WX 883 ; N a178 ; B 35 71 848 623 ;
203
- C 233 ; WX 836 ; N a179 ; B 35 44 802 648 ;
204
- C 234 ; WX 836 ; N a193 ; B 35 44 802 648 ;
205
- C 235 ; WX 867 ; N a180 ; B 35 101 832 591 ;
206
- C 236 ; WX 867 ; N a199 ; B 35 101 832 591 ;
207
- C 237 ; WX 696 ; N a181 ; B 35 44 661 648 ;
208
- C 238 ; WX 696 ; N a200 ; B 35 44 661 648 ;
209
- C 239 ; WX 874 ; N a182 ; B 35 77 840 619 ;
210
- C 241 ; WX 874 ; N a201 ; B 35 73 840 615 ;
211
- C 242 ; WX 760 ; N a183 ; B 35 0 725 692 ;
212
- C 243 ; WX 946 ; N a184 ; B 35 160 911 533 ;
213
- C 244 ; WX 771 ; N a197 ; B 34 37 736 655 ;
214
- C 245 ; WX 865 ; N a185 ; B 35 207 830 481 ;
215
- C 246 ; WX 771 ; N a194 ; B 34 37 736 655 ;
216
- C 247 ; WX 888 ; N a198 ; B 34 -19 853 712 ;
217
- C 248 ; WX 967 ; N a186 ; B 35 124 932 568 ;
218
- C 249 ; WX 888 ; N a195 ; B 34 -19 853 712 ;
219
- C 250 ; WX 831 ; N a187 ; B 35 113 796 579 ;
220
- C 251 ; WX 873 ; N a188 ; B 36 118 838 578 ;
221
- C 252 ; WX 927 ; N a189 ; B 35 150 891 542 ;
222
- C 253 ; WX 970 ; N a190 ; B 35 76 931 616 ;
223
- C 254 ; WX 918 ; N a191 ; B 34 99 884 593 ;
224
- EndCharMetrics
225
- EndFontMetrics
1
+ StartFontMetrics 4.1
2
+ Comment Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.
3
+ Comment Creation Date: Thu May 1 15:14:13 1997
4
+ Comment UniqueID 43082
5
+ Comment VMusage 45775 55535
6
+ FontName ZapfDingbats
7
+ FullName ITC Zapf Dingbats
8
+ FamilyName ZapfDingbats
9
+ Weight Medium
10
+ ItalicAngle 0
11
+ IsFixedPitch false
12
+ CharacterSet Special
13
+ FontBBox -1 -143 981 820
14
+ UnderlinePosition -100
15
+ UnderlineThickness 50
16
+ Version 002.000
17
+ Notice Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.ITC Zapf Dingbats is a registered trademark of International Typeface Corporation.
18
+ EncodingScheme FontSpecific
19
+ StdHW 28
20
+ StdVW 90
21
+ StartCharMetrics 202
22
+ C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
23
+ C 33 ; WX 974 ; N a1 ; B 35 72 939 621 ;
24
+ C 34 ; WX 961 ; N a2 ; B 35 81 927 611 ;
25
+ C 35 ; WX 974 ; N a202 ; B 35 72 939 621 ;
26
+ C 36 ; WX 980 ; N a3 ; B 35 0 945 692 ;
27
+ C 37 ; WX 719 ; N a4 ; B 34 139 685 566 ;
28
+ C 38 ; WX 789 ; N a5 ; B 35 -14 755 705 ;
29
+ C 39 ; WX 790 ; N a119 ; B 35 -14 755 705 ;
30
+ C 40 ; WX 791 ; N a118 ; B 35 -13 761 705 ;
31
+ C 41 ; WX 690 ; N a117 ; B 34 138 655 553 ;
32
+ C 42 ; WX 960 ; N a11 ; B 35 123 925 568 ;
33
+ C 43 ; WX 939 ; N a12 ; B 35 134 904 559 ;
34
+ C 44 ; WX 549 ; N a13 ; B 29 -11 516 705 ;
35
+ C 45 ; WX 855 ; N a14 ; B 34 59 820 632 ;
36
+ C 46 ; WX 911 ; N a15 ; B 35 50 876 642 ;
37
+ C 47 ; WX 933 ; N a16 ; B 35 139 899 550 ;
38
+ C 48 ; WX 911 ; N a105 ; B 35 50 876 642 ;
39
+ C 49 ; WX 945 ; N a17 ; B 35 139 909 553 ;
40
+ C 50 ; WX 974 ; N a18 ; B 35 104 938 587 ;
41
+ C 51 ; WX 755 ; N a19 ; B 34 -13 721 705 ;
42
+ C 52 ; WX 846 ; N a20 ; B 36 -14 811 705 ;
43
+ C 53 ; WX 762 ; N a21 ; B 35 0 727 692 ;
44
+ C 54 ; WX 761 ; N a22 ; B 35 0 727 692 ;
45
+ C 55 ; WX 571 ; N a23 ; B -1 -68 571 661 ;
46
+ C 56 ; WX 677 ; N a24 ; B 36 -13 642 705 ;
47
+ C 57 ; WX 763 ; N a25 ; B 35 0 728 692 ;
48
+ C 58 ; WX 760 ; N a26 ; B 35 0 726 692 ;
49
+ C 59 ; WX 759 ; N a27 ; B 35 0 725 692 ;
50
+ C 60 ; WX 754 ; N a28 ; B 35 0 720 692 ;
51
+ C 61 ; WX 494 ; N a6 ; B 35 0 460 692 ;
52
+ C 62 ; WX 552 ; N a7 ; B 35 0 517 692 ;
53
+ C 63 ; WX 537 ; N a8 ; B 35 0 503 692 ;
54
+ C 64 ; WX 577 ; N a9 ; B 35 96 542 596 ;
55
+ C 65 ; WX 692 ; N a10 ; B 35 -14 657 705 ;
56
+ C 66 ; WX 786 ; N a29 ; B 35 -14 751 705 ;
57
+ C 67 ; WX 788 ; N a30 ; B 35 -14 752 705 ;
58
+ C 68 ; WX 788 ; N a31 ; B 35 -14 753 705 ;
59
+ C 69 ; WX 790 ; N a32 ; B 35 -14 756 705 ;
60
+ C 70 ; WX 793 ; N a33 ; B 35 -13 759 705 ;
61
+ C 71 ; WX 794 ; N a34 ; B 35 -13 759 705 ;
62
+ C 72 ; WX 816 ; N a35 ; B 35 -14 782 705 ;
63
+ C 73 ; WX 823 ; N a36 ; B 35 -14 787 705 ;
64
+ C 74 ; WX 789 ; N a37 ; B 35 -14 754 705 ;
65
+ C 75 ; WX 841 ; N a38 ; B 35 -14 807 705 ;
66
+ C 76 ; WX 823 ; N a39 ; B 35 -14 789 705 ;
67
+ C 77 ; WX 833 ; N a40 ; B 35 -14 798 705 ;
68
+ C 78 ; WX 816 ; N a41 ; B 35 -13 782 705 ;
69
+ C 79 ; WX 831 ; N a42 ; B 35 -14 796 705 ;
70
+ C 80 ; WX 923 ; N a43 ; B 35 -14 888 705 ;
71
+ C 81 ; WX 744 ; N a44 ; B 35 0 710 692 ;
72
+ C 82 ; WX 723 ; N a45 ; B 35 0 688 692 ;
73
+ C 83 ; WX 749 ; N a46 ; B 35 0 714 692 ;
74
+ C 84 ; WX 790 ; N a47 ; B 34 -14 756 705 ;
75
+ C 85 ; WX 792 ; N a48 ; B 35 -14 758 705 ;
76
+ C 86 ; WX 695 ; N a49 ; B 35 -14 661 706 ;
77
+ C 87 ; WX 776 ; N a50 ; B 35 -6 741 699 ;
78
+ C 88 ; WX 768 ; N a51 ; B 35 -7 734 699 ;
79
+ C 89 ; WX 792 ; N a52 ; B 35 -14 757 705 ;
80
+ C 90 ; WX 759 ; N a53 ; B 35 0 725 692 ;
81
+ C 91 ; WX 707 ; N a54 ; B 35 -13 672 704 ;
82
+ C 92 ; WX 708 ; N a55 ; B 35 -14 672 705 ;
83
+ C 93 ; WX 682 ; N a56 ; B 35 -14 647 705 ;
84
+ C 94 ; WX 701 ; N a57 ; B 35 -14 666 705 ;
85
+ C 95 ; WX 826 ; N a58 ; B 35 -14 791 705 ;
86
+ C 96 ; WX 815 ; N a59 ; B 35 -14 780 705 ;
87
+ C 97 ; WX 789 ; N a60 ; B 35 -14 754 705 ;
88
+ C 98 ; WX 789 ; N a61 ; B 35 -14 754 705 ;
89
+ C 99 ; WX 707 ; N a62 ; B 34 -14 673 705 ;
90
+ C 100 ; WX 687 ; N a63 ; B 36 0 651 692 ;
91
+ C 101 ; WX 696 ; N a64 ; B 35 0 661 691 ;
92
+ C 102 ; WX 689 ; N a65 ; B 35 0 655 692 ;
93
+ C 103 ; WX 786 ; N a66 ; B 34 -14 751 705 ;
94
+ C 104 ; WX 787 ; N a67 ; B 35 -14 752 705 ;
95
+ C 105 ; WX 713 ; N a68 ; B 35 -14 678 705 ;
96
+ C 106 ; WX 791 ; N a69 ; B 35 -14 756 705 ;
97
+ C 107 ; WX 785 ; N a70 ; B 36 -14 751 705 ;
98
+ C 108 ; WX 791 ; N a71 ; B 35 -14 757 705 ;
99
+ C 109 ; WX 873 ; N a72 ; B 35 -14 838 705 ;
100
+ C 110 ; WX 761 ; N a73 ; B 35 0 726 692 ;
101
+ C 111 ; WX 762 ; N a74 ; B 35 0 727 692 ;
102
+ C 112 ; WX 762 ; N a203 ; B 35 0 727 692 ;
103
+ C 113 ; WX 759 ; N a75 ; B 35 0 725 692 ;
104
+ C 114 ; WX 759 ; N a204 ; B 35 0 725 692 ;
105
+ C 115 ; WX 892 ; N a76 ; B 35 0 858 705 ;
106
+ C 116 ; WX 892 ; N a77 ; B 35 -14 858 692 ;
107
+ C 117 ; WX 788 ; N a78 ; B 35 -14 754 705 ;
108
+ C 118 ; WX 784 ; N a79 ; B 35 -14 749 705 ;
109
+ C 119 ; WX 438 ; N a81 ; B 35 -14 403 705 ;
110
+ C 120 ; WX 138 ; N a82 ; B 35 0 104 692 ;
111
+ C 121 ; WX 277 ; N a83 ; B 35 0 242 692 ;
112
+ C 122 ; WX 415 ; N a84 ; B 35 0 380 692 ;
113
+ C 123 ; WX 392 ; N a97 ; B 35 263 357 705 ;
114
+ C 124 ; WX 392 ; N a98 ; B 34 263 357 705 ;
115
+ C 125 ; WX 668 ; N a99 ; B 35 263 633 705 ;
116
+ C 126 ; WX 668 ; N a100 ; B 36 263 634 705 ;
117
+ C 128 ; WX 390 ; N a89 ; B 35 -14 356 705 ;
118
+ C 129 ; WX 390 ; N a90 ; B 35 -14 355 705 ;
119
+ C 130 ; WX 317 ; N a93 ; B 35 0 283 692 ;
120
+ C 131 ; WX 317 ; N a94 ; B 35 0 283 692 ;
121
+ C 132 ; WX 276 ; N a91 ; B 35 0 242 692 ;
122
+ C 133 ; WX 276 ; N a92 ; B 35 0 242 692 ;
123
+ C 134 ; WX 509 ; N a205 ; B 35 0 475 692 ;
124
+ C 135 ; WX 509 ; N a85 ; B 35 0 475 692 ;
125
+ C 136 ; WX 410 ; N a206 ; B 35 0 375 692 ;
126
+ C 137 ; WX 410 ; N a86 ; B 35 0 375 692 ;
127
+ C 138 ; WX 234 ; N a87 ; B 35 -14 199 705 ;
128
+ C 139 ; WX 234 ; N a88 ; B 35 -14 199 705 ;
129
+ C 140 ; WX 334 ; N a95 ; B 35 0 299 692 ;
130
+ C 141 ; WX 334 ; N a96 ; B 35 0 299 692 ;
131
+ C 161 ; WX 732 ; N a101 ; B 35 -143 697 806 ;
132
+ C 162 ; WX 544 ; N a102 ; B 56 -14 488 706 ;
133
+ C 163 ; WX 544 ; N a103 ; B 34 -14 508 705 ;
134
+ C 164 ; WX 910 ; N a104 ; B 35 40 875 651 ;
135
+ C 165 ; WX 667 ; N a106 ; B 35 -14 633 705 ;
136
+ C 166 ; WX 760 ; N a107 ; B 35 -14 726 705 ;
137
+ C 167 ; WX 760 ; N a108 ; B 0 121 758 569 ;
138
+ C 168 ; WX 776 ; N a112 ; B 35 0 741 705 ;
139
+ C 169 ; WX 595 ; N a111 ; B 34 -14 560 705 ;
140
+ C 170 ; WX 694 ; N a110 ; B 35 -14 659 705 ;
141
+ C 171 ; WX 626 ; N a109 ; B 34 0 591 705 ;
142
+ C 172 ; WX 788 ; N a120 ; B 35 -14 754 705 ;
143
+ C 173 ; WX 788 ; N a121 ; B 35 -14 754 705 ;
144
+ C 174 ; WX 788 ; N a122 ; B 35 -14 754 705 ;
145
+ C 175 ; WX 788 ; N a123 ; B 35 -14 754 705 ;
146
+ C 176 ; WX 788 ; N a124 ; B 35 -14 754 705 ;
147
+ C 177 ; WX 788 ; N a125 ; B 35 -14 754 705 ;
148
+ C 178 ; WX 788 ; N a126 ; B 35 -14 754 705 ;
149
+ C 179 ; WX 788 ; N a127 ; B 35 -14 754 705 ;
150
+ C 180 ; WX 788 ; N a128 ; B 35 -14 754 705 ;
151
+ C 181 ; WX 788 ; N a129 ; B 35 -14 754 705 ;
152
+ C 182 ; WX 788 ; N a130 ; B 35 -14 754 705 ;
153
+ C 183 ; WX 788 ; N a131 ; B 35 -14 754 705 ;
154
+ C 184 ; WX 788 ; N a132 ; B 35 -14 754 705 ;
155
+ C 185 ; WX 788 ; N a133 ; B 35 -14 754 705 ;
156
+ C 186 ; WX 788 ; N a134 ; B 35 -14 754 705 ;
157
+ C 187 ; WX 788 ; N a135 ; B 35 -14 754 705 ;
158
+ C 188 ; WX 788 ; N a136 ; B 35 -14 754 705 ;
159
+ C 189 ; WX 788 ; N a137 ; B 35 -14 754 705 ;
160
+ C 190 ; WX 788 ; N a138 ; B 35 -14 754 705 ;
161
+ C 191 ; WX 788 ; N a139 ; B 35 -14 754 705 ;
162
+ C 192 ; WX 788 ; N a140 ; B 35 -14 754 705 ;
163
+ C 193 ; WX 788 ; N a141 ; B 35 -14 754 705 ;
164
+ C 194 ; WX 788 ; N a142 ; B 35 -14 754 705 ;
165
+ C 195 ; WX 788 ; N a143 ; B 35 -14 754 705 ;
166
+ C 196 ; WX 788 ; N a144 ; B 35 -14 754 705 ;
167
+ C 197 ; WX 788 ; N a145 ; B 35 -14 754 705 ;
168
+ C 198 ; WX 788 ; N a146 ; B 35 -14 754 705 ;
169
+ C 199 ; WX 788 ; N a147 ; B 35 -14 754 705 ;
170
+ C 200 ; WX 788 ; N a148 ; B 35 -14 754 705 ;
171
+ C 201 ; WX 788 ; N a149 ; B 35 -14 754 705 ;
172
+ C 202 ; WX 788 ; N a150 ; B 35 -14 754 705 ;
173
+ C 203 ; WX 788 ; N a151 ; B 35 -14 754 705 ;
174
+ C 204 ; WX 788 ; N a152 ; B 35 -14 754 705 ;
175
+ C 205 ; WX 788 ; N a153 ; B 35 -14 754 705 ;
176
+ C 206 ; WX 788 ; N a154 ; B 35 -14 754 705 ;
177
+ C 207 ; WX 788 ; N a155 ; B 35 -14 754 705 ;
178
+ C 208 ; WX 788 ; N a156 ; B 35 -14 754 705 ;
179
+ C 209 ; WX 788 ; N a157 ; B 35 -14 754 705 ;
180
+ C 210 ; WX 788 ; N a158 ; B 35 -14 754 705 ;
181
+ C 211 ; WX 788 ; N a159 ; B 35 -14 754 705 ;
182
+ C 212 ; WX 894 ; N a160 ; B 35 58 860 634 ;
183
+ C 213 ; WX 838 ; N a161 ; B 35 152 803 540 ;
184
+ C 214 ; WX 1016 ; N a163 ; B 34 152 981 540 ;
185
+ C 215 ; WX 458 ; N a164 ; B 35 -127 422 820 ;
186
+ C 216 ; WX 748 ; N a196 ; B 35 94 698 597 ;
187
+ C 217 ; WX 924 ; N a165 ; B 35 140 890 552 ;
188
+ C 218 ; WX 748 ; N a192 ; B 35 94 698 597 ;
189
+ C 219 ; WX 918 ; N a166 ; B 35 166 884 526 ;
190
+ C 220 ; WX 927 ; N a167 ; B 35 32 892 660 ;
191
+ C 221 ; WX 928 ; N a168 ; B 35 129 891 562 ;
192
+ C 222 ; WX 928 ; N a169 ; B 35 128 893 563 ;
193
+ C 223 ; WX 834 ; N a170 ; B 35 155 799 537 ;
194
+ C 224 ; WX 873 ; N a171 ; B 35 93 838 599 ;
195
+ C 225 ; WX 828 ; N a172 ; B 35 104 791 588 ;
196
+ C 226 ; WX 924 ; N a173 ; B 35 98 889 594 ;
197
+ C 227 ; WX 924 ; N a162 ; B 35 98 889 594 ;
198
+ C 228 ; WX 917 ; N a174 ; B 35 0 882 692 ;
199
+ C 229 ; WX 930 ; N a175 ; B 35 84 896 608 ;
200
+ C 230 ; WX 931 ; N a176 ; B 35 84 896 608 ;
201
+ C 231 ; WX 463 ; N a177 ; B 35 -99 429 791 ;
202
+ C 232 ; WX 883 ; N a178 ; B 35 71 848 623 ;
203
+ C 233 ; WX 836 ; N a179 ; B 35 44 802 648 ;
204
+ C 234 ; WX 836 ; N a193 ; B 35 44 802 648 ;
205
+ C 235 ; WX 867 ; N a180 ; B 35 101 832 591 ;
206
+ C 236 ; WX 867 ; N a199 ; B 35 101 832 591 ;
207
+ C 237 ; WX 696 ; N a181 ; B 35 44 661 648 ;
208
+ C 238 ; WX 696 ; N a200 ; B 35 44 661 648 ;
209
+ C 239 ; WX 874 ; N a182 ; B 35 77 840 619 ;
210
+ C 241 ; WX 874 ; N a201 ; B 35 73 840 615 ;
211
+ C 242 ; WX 760 ; N a183 ; B 35 0 725 692 ;
212
+ C 243 ; WX 946 ; N a184 ; B 35 160 911 533 ;
213
+ C 244 ; WX 771 ; N a197 ; B 34 37 736 655 ;
214
+ C 245 ; WX 865 ; N a185 ; B 35 207 830 481 ;
215
+ C 246 ; WX 771 ; N a194 ; B 34 37 736 655 ;
216
+ C 247 ; WX 888 ; N a198 ; B 34 -19 853 712 ;
217
+ C 248 ; WX 967 ; N a186 ; B 35 124 932 568 ;
218
+ C 249 ; WX 888 ; N a195 ; B 34 -19 853 712 ;
219
+ C 250 ; WX 831 ; N a187 ; B 35 113 796 579 ;
220
+ C 251 ; WX 873 ; N a188 ; B 36 118 838 578 ;
221
+ C 252 ; WX 927 ; N a189 ; B 35 150 891 542 ;
222
+ C 253 ; WX 970 ; N a190 ; B 35 76 931 616 ;
223
+ C 254 ; WX 918 ; N a191 ; B 34 99 884 593 ;
224
+ EndCharMetrics
225
+ EndFontMetrics
@@ -1,4 +1,5 @@
1
1
  # coding: ASCII-8BIT
2
+ # frozen_string_literal: true
2
3
 
3
4
  ################################################################################
4
5
  #
@@ -37,6 +38,7 @@ class PDF::Reader
37
38
  #
38
39
  class Buffer
39
40
  TOKEN_WHITESPACE=[0x00, 0x09, 0x0A, 0x0C, 0x0D, 0x20]
41
+ TOKEN_DELIMITER=[0x25, 0x3C, 0x3E, 0x28, 0x5B, 0x7B, 0x29, 0x5D, 0x7D, 0x2F]
40
42
 
41
43
  # some strings for comparissons. Declaring them here avoids creating new
42
44
  # strings that need GC over and over
@@ -53,7 +55,7 @@ class PDF::Reader
53
55
  #
54
56
  # Params:
55
57
  #
56
- # io - an IO stream or string with the raw data to tokenise
58
+ # io - an IO stream (usually a StringIO) with the raw data to tokenise
57
59
  #
58
60
  # options:
59
61
  #
@@ -224,7 +226,7 @@ class PDF::Reader
224
226
  end
225
227
 
226
228
  def prepare_inline_token
227
- str = ""
229
+ str = "".dup
228
230
 
229
231
  buffer = []
230
232
 
@@ -247,7 +249,7 @@ class PDF::Reader
247
249
  # we find a closing >
248
250
  #
249
251
  def prepare_hex_token
250
- str = ""
252
+ str = "".dup
251
253
  finished = false
252
254
 
253
255
  while !finished
@@ -277,7 +279,7 @@ class PDF::Reader
277
279
  # problem.
278
280
  #
279
281
  def prepare_literal_token
280
- str = ""
282
+ str = "".dup
281
283
  count = 1
282
284
 
283
285
  while count > 0
@@ -307,7 +309,7 @@ class PDF::Reader
307
309
  # to read up on it.
308
310
  #
309
311
  def prepare_regular_token
310
- tok = ""
312
+ tok = "".dup
311
313
 
312
314
  while byte = @io.getbyte
313
315
  case byte
@@ -326,7 +328,7 @@ class PDF::Reader
326
328
  while TOKEN_WHITESPACE.include?(peek_byte) && tok.size == 0
327
329
  @io.getbyte
328
330
  end
329
- tok = ""
331
+ tok = "".dup
330
332
  break
331
333
  when 0x3C
332
334
  # opening delimiter '<', start of new token
@@ -337,7 +339,7 @@ class PDF::Reader
337
339
  else
338
340
  @tokens << "<"
339
341
  end
340
- tok = ""
342
+ tok = "".dup
341
343
  break
342
344
  when 0x3E
343
345
  # closing delimiter '>', start of new token
@@ -348,26 +350,26 @@ class PDF::Reader
348
350
  else
349
351
  @tokens << ">"
350
352
  end
351
- tok = ""
353
+ tok = "".dup
352
354
  break
353
355
  when 0x28, 0x5B, 0x7B
354
356
  # opening delimiter, start of new token
355
357
  @tokens << tok if tok.size > 0
356
358
  @tokens << byte.chr
357
- tok = ""
359
+ tok = "".dup
358
360
  break
359
361
  when 0x29, 0x5D, 0x7D
360
362
  # closing delimiter
361
363
  @tokens << tok if tok.size > 0
362
364
  @tokens << byte.chr
363
- tok = ""
365
+ tok = "".dup
364
366
  break
365
367
  when 0x2F
366
368
  # PDF name, start of new token
367
369
  @tokens << tok if tok.size > 0
368
370
  @tokens << byte.chr
369
- @tokens << "" if byte == 0x2F && [nil, 0x20, 0x0A].include?(peek_byte)
370
- tok = ""
371
+ @tokens << "" if byte == 0x2F && ([nil, 0x20, 0x0A] + TOKEN_DELIMITER).include?(peek_byte)
372
+ tok = "".dup
371
373
  break
372
374
  else
373
375
  tok << byte
@@ -1,4 +1,6 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  #
3
5
 
4
6
  require 'forwardable'