This file is indexed.

/usr/share/perl5/PDF/Reuse/Util.pm is in libpdf-reuse-perl 0.35-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
package PDF::Reuse::Util;
use PDF::Reuse;
require    Exporter;
our @ISA     = qw(Exporter);
our @EXPORT  = qw(hyperLink blackText);


use strict;

our %font_widths = ( 
    'Courier'             => 600,
    'Courier-Bold'        => 600,
    'Courier-BoldOblique' => 600,
    'Courier-Oblique'     => 600,
    'Times-Roman'         => 
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  250,   333,   408,   500,   500,   833,   778,   180, 
	  333,   333,   500,   564,   250,   333,   250,   278,  
	  500,   500,   500,   500,   500,   500,   500,   500,  
	  500,   500,   278,   278,   564,   564,   564,   444,  
	  921,   722,   667,   667,   722,   611,   556,   722,  
	  722,   333,   389,   722,   611,   889,   722,   722,  
	  556,   722,   667,   556,   611,   722,   722,   944,  
	  722,   722,   611,   333,   278,   333,   469,   500,  
	  333,   444,   500,   444,   500,   444,   333,   500,  
	  500,   278,   278,   500,   278,   778,   500,   500,  
	  500,   500,   333,   389,   278,   500,   500,   722,  
	  500,   500,   444,   480,   200,   480,   541,   350,   
	  500,   350,   333,   500,   443,   1000,   500,   500, 
	  333,   1000,   555,   333,  889,   350,   611,  350,   
	  350,   333,   333,   443,   443,   350,   500,   1000, 
	  333,   980,   388,   333,   722,   350,   444,   721,  
	  250,   333,   500,   500,   500,   500,   200,   500, 
	  333,   760,   276,   500,   564,   333,   760,   333, 
	  400,   564,   300,   300,   333,   510,   453,   250, 
	  333,   300,   310,   500,   750,   750,   750,   444, 
	  722,   722,   722,   722,   722,   722,   889,   667, 
	  611,   611,   611,   611,   333,   333,   333,   333,  
	  722,   722,   722,   722,   722,   722,   722,   564,  
	  722,   722,   722,   722,   722,   722,   556,   500,  
	  444,   444,   444,   444,   444,   444,   667,   444,  
	  444,   444,   444,   444,   278,   278,   278,   278,  
	  500,   500,   500,   500,   500,   500,   500,   564,  
	  500,   500,   500,   500,   500,   500,   500,   500],
     'Times-Bold' => 
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  250,   333,   555,   500,   500,  1000,   833,   278,   
	  333,   333,   500,   570,   250,   333,   250,   278,  
	  500,   500,   500,   500,   500,   500,   500,   500,  
	  500,   500,   333,   333,   570,   570,   570,   500,  
	  930,   722,   667,   722,   722,   667,   611,   778,  
	  778,   389,   500,   778,   667,   944,   722,   778,  
	  611,   778,   722,   556,   667,   722,   722,  1000,  
	  722,   722,   667,   333,   278,   333,   581,   500,  
	  333,   500,   556,   444,   556,   444,   333,   500,  
	  556,   278,   333,   556,   278,   833,   556,   500,  
	  556,   556,   444,   389,   333,   556,   500,   722,  
	  500,   500,   444,   394,   220,   394,   520,   350,  
	  500,   350,   333,   500,   500,   1000,   500,   500,
	  333,   1000,   556,   333,  1000,   350,   667,  350, 
	  350,   333,   333,   500,   500,   350,   500,   1000,
	  333,   1000,   389,   333,   723,   350,   444,   722,  
	  250,   333,   500,   500,   500,   500,   220,   500, 
	  333,   747,   300,   500,   570,   333,   747,   333, 
	  400,   570,   300,   300,   333,   601,   540,   250, 
	  333,   300,   330,   500,   750,   750,   750,   500, 
	  722,   722,   722,   722,   722,   722,  1000,   722,  
	  667,   667,   667,   667,   389,   389,   389,   389,  
	  722,   722,   778,   778,   778,   778,   778,   570,  
	  778,   722,   722,   722,   722,   722,   611,   556,  
	  500,   500,   500,   500,   500,   500,   722,   444,  
	  444,   444,   444,   444,   278,   278,   278,   278,  
	  500,   556,   500,   500,   500,   500,   500,   570,  
	  500,   556,   556,   556,   556,   500,   556,   500],
     'Times-Italic' =>
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  250,   333,   420,   500,   500,   833,   778,   214, #39 
	  333,   333,   500,   675,   250,   333,   250,   278, #47
	  500,   500,   500,   500,   500,   500,   500,   500, #55
	  500,   500,   333,   333,   675,   675,   675,   500, #63
	  920,   611,   611,   667,   722,   611,   611,   722, #71
	  722,   333,   444,   667,   556,   833,   667,   722, #79
	  611,   722,   611,   500,   556,   722,   611,   833, #87
	  611,   556,   556,   389,   278,   389,   422,   500, #95
	  333,   500,   500,   444,   500,   444,   278,   500, #103 
	  500,   278,   278,   444,   278,   722,   500,   500, #111
	  500,   500,   389,   389,   278,   500,   444,   667, #119
	  444,   444,   389,   400,   275,   400,   541,   350,  # 127 
	  500,   350,   333,   500,   556,   889,   500,   500,  # 135
	  333,   1000,   500,   333,  944,   350,   556,  350,   # 143
	  350,   333,   333,   556,   556,   350,   500,   890,  # 151
	  333,   980,   389,   333,   668,   350,   390,   557, # 159  
	  250,   389,   500,   500,   500,   500,   275,   500, # 167 
	  333,   760,   276,   500,   675,   333,   760,   333, # 175 
	  400,   675,   300,   300,   333,   514,   523,   250, # 183 
	  333,   300,   310,   500,   750,   750,   750,   500, # 191 
	  611,   611,   611,   611,   611,   611,   889,   667,  
	  611,   611,   611,   611,   333,   333,   333,   333,  
	  722,   667,   722,   722,   722,   722,   722,   675,  
	  722,   722,   722,   722,   722,   556,   611,   500,  
	  500,   500,   500,   500,   500,   500,   667,   444,  
	  444,   444,   444,   444,   278,   278,   278,   278,  
	  500,   500,   500,   500,   500,   500,   500,   675,  
	  500,   500,   500,   500,   500,   444,   500,   444],

    'Times-BoldItalic' =>
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  250,   389,   555,   500,   500,   833,   778,   278,  
	  333,   333,   500,   570,   250,   333,   250,   278,  
	  500,   500,   500,   500,   500,   500,   500,   500,  
	  500,   500,   333,   333,   570,   570,   570,   500,  
	  832,   667,   667,   667,   722,   667,   667,   722,  
	  778,   389,   500,   667,   611,   889,   722,   722,  
	  611,   722,   667,   556,   611,   722,   667,   889,  
	  667,   611,   611,   333,   278,   333,   570,   500,  
	  333,   500,   500,   444,   500,   444,   333,   500,  
	  556,   278,   278,   500,   278,   778,   556,   500,  
	  500,   500,   389,   389,   278,   556,   444,   667,  
	  500,   444,   389,   348,   220,   348,   570,   350,  # 127 
	  500,   350,   333,   500,   502,   1000,   500,   500,  # 135
	  333,   1000,   555,   333,  944,   350,   610,  350,   # 143
	  350,   333,   333,   500,   500,   350,   500,   1000,  # 151
	  333,   1000,   389,   333,   721,   350,   390,   610,  # 159   
	  250,   389,   500,   500,   500,   500,   220,   500,  #167
	  333,   747,   266,   500,   606,   333,   747,   333,  #175
	  400,   570,   300,   300,   333,   532,   500,   250,  #183
	  333,   300,   300,   500,   750,   750,   750,   500,  
	  667,   667,   667,   667,   667,   667,   944,   667,  
	  667,   667,   667,   667,   389,   389,   389,   389,  
	  722,   722,   722,   722,   722,   722,   722,   570,  
	  722,   722,   722,   722,   722,   611,   611,   500,  
	  500,   500,   500,   500,   500,   500,   722,   444,  
	  444,   444,   444,   444,   278,   278,   278,   278,  
	  500,   556,   500,   500,   500,   500,   500,   570,  
	  500,   556,   556,   556,   556,   444,   500,   444],   

    'Helvetica' =>
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  278,   278,   355,   556,   556,   889,   667,   192,  
	  333,   333,   389,   584,   278,   333,   278,   278,  
	  556,   556,   556,   556,   556,   556,   556,   556,  
	  556,   556,   278,   278,   584,   584,   584,   556,  
	 1015,   667,   667,   722,   722,   667,   611,   778,  
	  722,   278,   500,   667,   556,   833,   722,   778,  
	  667,   778,   722,   667,   611,   722,   667,   944,  
	  667,   667,   611,   278,   278,   278,   469,   557,  
	  334,   556,   556,   500,   556,   556,   278,   556,  
	  556,   222,   222,   500,   222,   833,   556,   556,  
	  556,   556,   333,   500,   278,   556,   500,   722,  
	  500,   500,   500,   334,   260,   334,   584,   350,  # 127 
	  556,   350,   222,   556,   333,   1000,   556,   556,  # 135
	  333,   1000,   667,   333,   1000,   351,   611,  350,   # 143
	  350,   223,   222,   333,   333,   351,   557,   1000,  # 151
	  333,   1000,   500,   333,   945,   350,   500,   667, # 159 
	  278,   333,   556,   556,   556,   556,   260,   556,  # 167
	  333,   737,   370,   556,   584,   333,   737,   333,  # 175
	  400,   584,   333,   333,   333,   578,   537,   278,  # 183
	  333,   333,   365,   556,   835,   835,   835,   611,  # 191
	  667,   667,   667,   667,   667,   667,  1000,   722,  
	  667,   667,   667,   667,   278,   278,   278,   278,  
	  722,   722,   778,   778,   778,   778,   778,   584,  
	  778,   722,   722,   722,   722,   667,   667,   611,  
	  556,   556,   556,   556,   556,   556,   889,   500,  
	  556,   556,   556,   556,   278,   278,   278,   278,  
	  556,   556,   556,   556,   556,   556,   556,   584,  
	  611,   556,   556,   556,   556,   500,   556,   500],

    'Helvetica-Bold' =>
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  #31 
	  278,   333,   474,   556,   556,   889,   722,   238,  #39
	  333,   333,   389,   584,   278,   333,   278,   278,  #47
	  556,   556,   556,   556,   556,   556,   556,   556,  #55
	  556,   556,   333,   333,   584,   584,   584,   611,  #63
	  975,   722,   722,   722,   722,   667,   611,   778,  #71
	  722,   278,   556,   722,   611,   833,   722,   778,  #79
	  667,   778,   722,   667,   611,   722,   667,   944,  #87
	  667,   667,   611,   333,   278,   333,   584,   556,  #95
	  333,   556,   611,   556,   611,   556,   333,   611,  #103
	  611,   278,   278,   556,   278,   889,   611,   611,  #111
	  611,   611,   389,   556,   333,   611,   556,   778,  #119
	  556,   556,   500,   389,   280,   389,   584,   350,  # 127 
	  556,   350,   278,   556,   500,   1000,   556,   556,  # 135
	  333,   1000,   667,   333,   1000,   350,   611,  350,   # 143
	  350,   278,   278,   500,   500,   350,   556,   1000,  # 151
	  333,   1000,   556,   333,   944,   350,   500,   667, # 159
	  278,   333,   556,   556,   556,   556,   280,   556,  #167
	  333,   737,   370,   556,   584,   333,   737,   333,  
	  400,   584,   333,   333,   333,   611,   556,   278,  
	  333,   333,   365,   556,   834,   834,   834,   611,  
	  722,   722,   722,   722,   722,   722,  1000,   722,  
	  667,   667,   667,   667,   278,   278,   278,   278,  
	  722,   722,   778,   778,   778,   778,   778,   584,  
	  778,   722,   722,   722,   722,   667,   667,   611,  
	  556,   556,   556,   556,   556,   556,   889,   556,  
	  556,   556,   556,   556,   278,   278,   278,   278,  
	  611,   611,   611,   611,   611,   611,   611,   584,  
	  611,   611,   611,   611,   611,   556,   611,   556],

    'Helvetica-Oblique' =>
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  278,   278,   355,   556,   556,   889,   667,   191,  
	  333,   333,   389,   584,   278,   333,   278,   278,  
	  556,   556,   556,   556,   556,   556,   556,   556,  
	  556,   556,   278,   278,   584,   584,   584,   556,  
	 1015,   667,   667,   722,   722,   667,   611,   778,  
	  722,   278,   500,   667,   556,   833,   722,   778,  
	  667,   778,   722,   667,   611,   722,   667,   944,  
	  667,   667,   611,   278,   278,   278,   469,   556,  
	  333,   556,   556,   500,   556,   556,   278,   556,  
	  556,   222,   222,   500,   222,   833,   556,   556,  
	  556,   556,   333,   500,   278,   556,   500,   722,  
	  500,   500,   500,   334,   260,   334,   584,   350,  # 127 
	  556,   350,   222,   556,   333,   1000,   556,   556,  # 135
	  333,   1000,   667,   333,   1000,   351,   611,  350,   # 143
	  350,   223,   222,   333,   333,   351,   557,   1000,  # 151
	  333,   1000,   500,   333,   945,   350,   500,   667, # 159 
	  278,   333,   556,   556,   556,   556,   260,   556,  # 167
	  333,   737,   370,   556,   584,   333,   737,   333,  # 175
	  400,   584,   333,   333,   333,   578,   537,   278,  # 183
	  333,   333,   365,   556,   834,   834,   834,   611,  # 191
	  667,   667,   667,   667,   667,   667,  1000,   722,  
	  667,   667,   667,   667,   278,   278,   278,   278,  
	  722,   722,   778,   778,   778,   778,   778,   584,  
	  778,   722,   722,   722,   722,   667,   667,   611,  
	  556,   556,   556,   556,   556,   556,   889,   500,  
	  556,   556,   556,   556,   278,   278,   278,   278,  
	  556,   556,   556,   556,   556,   556,   556,   584,  
	  611,   556,   556,   556,   556,   500,   556,   500],

    'Helvetica-BoldOblique' =>
	 [000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  000,   000,   000,   000,   000,   000,   000,   000,  
	  278,   333,   474,   556,   556,   889,   722,   238, #39  
	  333,   333,   389,   584,   278,   333,   278,   278, #47 
	  556,   556,   556,   556,   556,   556,   556,   556, #55 
	  556,   556,   333,   333,   584,   584,   584,   611, #63
	  975,   722,   722,   722,   722,   667,   611,   778, #71 
	  722,   278,   556,   722,   611,   833,   722,   778, #79 
	  667,   778,   722,   667,   611,   722,   667,   944, #87
	  667,   667,   611,   333,   278,   333,   584,   556, #95
	  333,   556,   611,   556,   611,   556,   333,   611, #103
	  611,   278,   278,   556,   278,   889,   611,   611, #111
	  611,   611,   389,   556,   333,   611,   556,   778, #119
	  556,   556,   500,   389,   280,   389,   584,   350,  # 127 
	  556,   350,   278,   556,   500,   1000,   556,   556,  # 135
	  333,   1000,   667,   333,   1000,   350,   611,  350,   # 143
	  350,   278,   278,   500,   500,   350,   556,   1000,  # 151
	  333,   1000,   556,   333,   944,   350,   500,   667, # 159
	  278,   333,   556,   556,   556,   556,   280,   556,  
	  333,   737,   370,   556,   584,   333,   737,   333,  
	  400,   584,   333,   333,   333,   611,   556,   278,  
	  333,   333,   365,   556,   834,   834,   834,   611,  
	  722,   722,   722,   722,   722,   722,  1000,   722,  
	  667,   667,   667,   667,   278,   278,   278,   278,  
	  722,   722,   778,   778,   778,   778,   778,   584,  
	  778,   722,   722,   722,   722,   667,   667,   611,  
	  556,   556,   556,   556,   556,   556,   889,   556,  
	  556,   556,   556,   556,   278,   278,   278,   278,  
	  611,   611,   611,   611,   611,   611,   611,   584,  
	  611,   611,   611,   611,   611,   556,   611,   556]
     );
1;

sub hyperLink
{   my $x    = shift;
    my $y    = shift;
    my $text = shift || ' ';
    my $URI  = shift;
    my $fontSize = shift;
    my $s    = shift || 'URI';

    my ($actualSize, $fontSizeBeforetheChange, $height, $x2, $y2);
    if ((! defined $x) || (! defined $y) || (! defined $URI))
    {  return undef;
    }
    my ($internalName, $externalName, $oldInternalName, $oldExternalname) =
         PDF::Reuse::prFont('HO');
    if (! defined $fontSize) 
    {  ($actualSize, $fontSizeBeforetheChange) = PDF::Reuse::prFontSize();
       $fontSize = $fontSizeBeforetheChange;
       PDF::Reuse::prFontSize($fontSize) if ($actualSize != $fontSizeBeforetheChange);
    }
    else
    {  ($actualSize, $fontSizeBeforetheChange) = PDF::Reuse::prFontSize($fontSize);
    }
    $height = $fontSize + 2.5;
    my $width = PDF::Reuse::prStrWidth($text);
    $y2 = $y - 2;
    $x2 = $x + $width;
    PDF::Reuse::prAdd("q\n 0.3 0.3 1 RG 0.3 0.3 1 rg\n$x $y2 m\n$x2 $y2 l\n B*\n");
    $y2 -= 1;
    PDF::Reuse::prText($x, $y, $text);
    PDF::Reuse::prLink( { x => $x,
                          y => $y2,
                          width => $width,
                          height => $height,
                          URI => $URI,
                          s => $s} );

    PDF::Reuse::prAdd("0 0 0 RG 0 0 0 rg\nQ\n");
    PDF::Reuse::prFont($oldExternalname) 
                 if ($oldExternalname ne $externalName);
    PDF::Reuse::prFontSize($fontSizeBeforetheChange)
                 if ($fontSizeBeforetheChange != $fontSize);
    return $x2;
}

sub blackText
{   PDF::Reuse::prAdd("0 0 0 rg\n0 g\nf\n");
    1;
}