Commit 1ecc6bb29e24a4f89470ff91b2682b46e0576ad4
1 parent
467e5d62
Don't lose character after \d or \dd parsing string (fixes #1050)
Showing
8 changed files
with
1043 additions
and
1003 deletions
ChangeLog
| 1 | +2023-10-14 Jay Berkenbilt <ejb@ql.org> | ||
| 2 | + | ||
| 3 | + * Fix serious bug: qpdf could discard a the character after an | ||
| 4 | + escaped octal string. For content, this would only happen with QDF | ||
| 5 | + or when normalizing content, but it could have happened in a | ||
| 6 | + binary string. This bug was introduced between 10.6.3 and 11.0.0. | ||
| 7 | + Fixes #1050. | ||
| 8 | + | ||
| 1 | 2023-10-07 Jay Berkenbilt <ejb@ql.org> | 9 | 2023-10-07 Jay Berkenbilt <ejb@ql.org> |
| 2 | 10 | ||
| 3 | * 11.6.2: release | 11 | * 11.6.2: release |
libqpdf/QPDFTokenizer.cc
| @@ -145,9 +145,8 @@ QPDFTokenizer::presentCharacter(char ch) | @@ -145,9 +145,8 @@ QPDFTokenizer::presentCharacter(char ch) | ||
| 145 | void | 145 | void |
| 146 | QPDFTokenizer::handleCharacter(char ch) | 146 | QPDFTokenizer::handleCharacter(char ch) |
| 147 | { | 147 | { |
| 148 | - // State machine is implemented such that the final character may not be handled. This happens | ||
| 149 | - // whenever you have to use a character from the next token to detect the end of the current | ||
| 150 | - // token. | 148 | + // In some cases, functions called below may call a second handler. This happens whenever you |
| 149 | + // have to use a character from the next token to detect the end of the current token. | ||
| 151 | 150 | ||
| 152 | switch (this->state) { | 151 | switch (this->state) { |
| 153 | case st_top: | 152 | case st_top: |
| @@ -692,16 +691,21 @@ QPDFTokenizer::inHexstring2nd(char ch) | @@ -692,16 +691,21 @@ QPDFTokenizer::inHexstring2nd(char ch) | ||
| 692 | void | 691 | void |
| 693 | QPDFTokenizer::inCharCode(char ch) | 692 | QPDFTokenizer::inCharCode(char ch) |
| 694 | { | 693 | { |
| 694 | + bool handled = false; | ||
| 695 | if (('0' <= ch) && (ch <= '7')) { | 695 | if (('0' <= ch) && (ch <= '7')) { |
| 696 | this->char_code = 8 * this->char_code + (int(ch) - int('0')); | 696 | this->char_code = 8 * this->char_code + (int(ch) - int('0')); |
| 697 | if (++(this->digit_count) < 3) { | 697 | if (++(this->digit_count) < 3) { |
| 698 | return; | 698 | return; |
| 699 | } | 699 | } |
| 700 | - // We've accumulated \ddd. PDF Spec says to ignore high-order overflow. | 700 | + handled = true; |
| 701 | } | 701 | } |
| 702 | + // We've accumulated \ddd or we have \d or \dd followed by other than an octal digit. The PDF | ||
| 703 | + // Spec says to ignore high-order overflow. | ||
| 702 | this->val += char(this->char_code % 256); | 704 | this->val += char(this->char_code % 256); |
| 703 | this->state = st_in_string; | 705 | this->state = st_in_string; |
| 704 | - return; | 706 | + if (!handled) { |
| 707 | + inString(ch); | ||
| 708 | + } | ||
| 705 | } | 709 | } |
| 706 | 710 | ||
| 707 | void | 711 | void |
qpdf/qtest/qpdf/tokens-maxlen.out
| @@ -181,352 +181,352 @@ skipping to endstream | @@ -181,352 +181,352 @@ skipping to endstream | ||
| 181 | 7121: space: \x0a | 181 | 7121: space: \x0a |
| 182 | 7122: word: stream | 182 | 7122: word: stream |
| 183 | skipping to endstream | 183 | skipping to endstream |
| 184 | -7469: word: endstream | ||
| 185 | -7478: space: \x0a | ||
| 186 | -7479: word: endobj | ||
| 187 | -7485: space: \x0a\x0a | ||
| 188 | -7487: integer: 44 | ||
| 189 | -7489: space: | ||
| 190 | -7490: integer: 0 | ||
| 191 | -7491: space: | ||
| 192 | -7492: word: obj | ||
| 193 | -7495: space: \x0a | ||
| 194 | -7496: integer: 340 | ||
| 195 | -7499: space: \x0a | ||
| 196 | -7500: word: endobj | ||
| 197 | -7506: space: \x0a\x0a | ||
| 198 | -7508: comment: %% Contents for page 5 | ||
| 199 | -7530: space: \x0a | ||
| 200 | -7531: comment: %% Original object ID: 41 0 | ||
| 201 | -7558: space: \x0a | ||
| 202 | -7559: integer: 45 | ||
| 203 | -7561: space: | ||
| 204 | -7562: integer: 0 | ||
| 205 | -7563: space: | ||
| 206 | -7564: word: obj | ||
| 207 | -7567: space: \x0a | ||
| 208 | -7568: dict_open: << | ||
| 209 | -7570: space: \x0a | ||
| 210 | -7573: name: /Length | ||
| 211 | -7580: space: | ||
| 212 | -7581: integer: 46 | ||
| 213 | -7583: space: | ||
| 214 | -7584: integer: 0 | ||
| 215 | -7585: space: | ||
| 216 | -7586: word: R | ||
| 217 | -7587: space: \x0a | ||
| 218 | -7588: dict_close: >> | ||
| 219 | -7590: space: \x0a | ||
| 220 | -7591: word: stream | 184 | +7524: word: endstream |
| 185 | +7533: space: \x0a | ||
| 186 | +7534: word: endobj | ||
| 187 | +7540: space: \x0a\x0a | ||
| 188 | +7542: integer: 44 | ||
| 189 | +7544: space: | ||
| 190 | +7545: integer: 0 | ||
| 191 | +7546: space: | ||
| 192 | +7547: word: obj | ||
| 193 | +7550: space: \x0a | ||
| 194 | +7551: integer: 395 | ||
| 195 | +7554: space: \x0a | ||
| 196 | +7555: word: endobj | ||
| 197 | +7561: space: \x0a\x0a | ||
| 198 | +7563: comment: %% Contents for page 5 | ||
| 199 | +7585: space: \x0a | ||
| 200 | +7586: comment: %% Original object ID: 41 0 | ||
| 201 | +7613: space: \x0a | ||
| 202 | +7614: integer: 45 | ||
| 203 | +7616: space: | ||
| 204 | +7617: integer: 0 | ||
| 205 | +7618: space: | ||
| 206 | +7619: word: obj | ||
| 207 | +7622: space: \x0a | ||
| 208 | +7623: dict_open: << | ||
| 209 | +7625: space: \x0a | ||
| 210 | +7628: name: /Length | ||
| 211 | +7635: space: | ||
| 212 | +7636: integer: 46 | ||
| 213 | +7638: space: | ||
| 214 | +7639: integer: 0 | ||
| 215 | +7640: space: | ||
| 216 | +7641: word: R | ||
| 217 | +7642: space: \x0a | ||
| 218 | +7643: dict_close: >> | ||
| 219 | +7645: space: \x0a | ||
| 220 | +7646: word: stream | ||
| 221 | skipping to endstream | 221 | skipping to endstream |
| 222 | -7666: word: endstream | ||
| 223 | -7675: space: \x0a | ||
| 224 | -7676: word: endobj | ||
| 225 | -7682: space: \x0a | ||
| 226 | -7683: comment: %QDF: ignore_newline | ||
| 227 | -7703: space: \x0a\x0a | ||
| 228 | -7705: integer: 46 | ||
| 229 | -7707: space: | ||
| 230 | -7708: integer: 0 | ||
| 231 | -7709: space: | ||
| 232 | -7710: word: obj | ||
| 233 | -7713: space: \x0a | ||
| 234 | -7714: integer: 67 | ||
| 235 | -7716: space: \x0a | ||
| 236 | -7717: word: endobj | ||
| 237 | -7723: space: \x0a\x0a | ||
| 238 | -7725: comment: %% Contents for page 6 | ||
| 239 | -7747: space: \x0a | ||
| 240 | -7748: comment: %% Original object ID: 42 0 | ||
| 241 | -7775: space: \x0a | ||
| 242 | -7776: integer: 47 | ||
| 243 | -7778: space: | ||
| 244 | -7779: integer: 0 | ||
| 245 | -7780: space: | ||
| 246 | -7781: word: obj | ||
| 247 | -7784: space: \x0a | ||
| 248 | -7785: dict_open: << | ||
| 249 | -7787: space: \x0a | ||
| 250 | -7790: name: /Length | ||
| 251 | -7797: space: | ||
| 252 | -7798: integer: 48 | ||
| 253 | -7800: space: | ||
| 254 | -7801: integer: 0 | ||
| 255 | -7802: space: | ||
| 256 | -7803: word: R | ||
| 257 | -7804: space: \x0a | ||
| 258 | -7805: dict_close: >> | ||
| 259 | -7807: space: \x0a | ||
| 260 | -7808: word: stream | 222 | +7721: word: endstream |
| 223 | +7730: space: \x0a | ||
| 224 | +7731: word: endobj | ||
| 225 | +7737: space: \x0a | ||
| 226 | +7738: comment: %QDF: ignore_newline | ||
| 227 | +7758: space: \x0a\x0a | ||
| 228 | +7760: integer: 46 | ||
| 229 | +7762: space: | ||
| 230 | +7763: integer: 0 | ||
| 231 | +7764: space: | ||
| 232 | +7765: word: obj | ||
| 233 | +7768: space: \x0a | ||
| 234 | +7769: integer: 67 | ||
| 235 | +7771: space: \x0a | ||
| 236 | +7772: word: endobj | ||
| 237 | +7778: space: \x0a\x0a | ||
| 238 | +7780: comment: %% Contents for page 6 | ||
| 239 | +7802: space: \x0a | ||
| 240 | +7803: comment: %% Original object ID: 42 0 | ||
| 241 | +7830: space: \x0a | ||
| 242 | +7831: integer: 47 | ||
| 243 | +7833: space: | ||
| 244 | +7834: integer: 0 | ||
| 245 | +7835: space: | ||
| 246 | +7836: word: obj | ||
| 247 | +7839: space: \x0a | ||
| 248 | +7840: dict_open: << | ||
| 249 | +7842: space: \x0a | ||
| 250 | +7845: name: /Length | ||
| 251 | +7852: space: | ||
| 252 | +7853: integer: 48 | ||
| 253 | +7855: space: | ||
| 254 | +7856: integer: 0 | ||
| 255 | +7857: space: | ||
| 256 | +7858: word: R | ||
| 257 | +7859: space: \x0a | ||
| 258 | +7860: dict_close: >> | ||
| 259 | +7862: space: \x0a | ||
| 260 | +7863: word: stream | ||
| 261 | skipping to endstream | 261 | skipping to endstream |
| 262 | -7859: word: endstream | ||
| 263 | -7868: space: \x0a | ||
| 264 | -7869: word: endobj | ||
| 265 | -7875: space: \x0a\x0a | ||
| 266 | -7877: integer: 48 | ||
| 267 | -7879: space: | ||
| 268 | -7880: integer: 0 | ||
| 269 | -7881: space: | ||
| 270 | -7882: word: obj | ||
| 271 | -7885: space: \x0a | ||
| 272 | -7886: integer: 44 | ||
| 273 | -7888: space: \x0a | ||
| 274 | -7889: word: endobj | ||
| 275 | -7895: space: \x0a\x0a | ||
| 276 | -7897: comment: %% Contents for page 7 | ||
| 277 | -7919: space: \x0a | ||
| 278 | -7920: comment: %% Original object ID: 43 0 | ||
| 279 | -7947: space: \x0a | ||
| 280 | -7948: integer: 49 | ||
| 281 | -7950: space: | ||
| 282 | -7951: integer: 0 | ||
| 283 | -7952: space: | ||
| 284 | -7953: word: obj | ||
| 285 | -7956: space: \x0a | ||
| 286 | -7957: dict_open: << | ||
| 287 | -7959: space: \x0a | ||
| 288 | -7962: name: /Length | ||
| 289 | -7969: space: | ||
| 290 | -7970: integer: 50 | ||
| 291 | -7972: space: | ||
| 292 | -7973: integer: 0 | ||
| 293 | -7974: space: | ||
| 294 | -7975: word: R | ||
| 295 | -7976: space: \x0a | ||
| 296 | -7977: dict_close: >> | ||
| 297 | -7979: space: \x0a | ||
| 298 | -7980: word: stream | 262 | +7914: word: endstream |
| 263 | +7923: space: \x0a | ||
| 264 | +7924: word: endobj | ||
| 265 | +7930: space: \x0a\x0a | ||
| 266 | +7932: integer: 48 | ||
| 267 | +7934: space: | ||
| 268 | +7935: integer: 0 | ||
| 269 | +7936: space: | ||
| 270 | +7937: word: obj | ||
| 271 | +7940: space: \x0a | ||
| 272 | +7941: integer: 44 | ||
| 273 | +7943: space: \x0a | ||
| 274 | +7944: word: endobj | ||
| 275 | +7950: space: \x0a\x0a | ||
| 276 | +7952: comment: %% Contents for page 7 | ||
| 277 | +7974: space: \x0a | ||
| 278 | +7975: comment: %% Original object ID: 43 0 | ||
| 279 | +8002: space: \x0a | ||
| 280 | +8003: integer: 49 | ||
| 281 | +8005: space: | ||
| 282 | +8006: integer: 0 | ||
| 283 | +8007: space: | ||
| 284 | +8008: word: obj | ||
| 285 | +8011: space: \x0a | ||
| 286 | +8012: dict_open: << | ||
| 287 | +8014: space: \x0a | ||
| 288 | +8017: name: /Length | ||
| 289 | +8024: space: | ||
| 290 | +8025: integer: 50 | ||
| 291 | +8027: space: | ||
| 292 | +8028: integer: 0 | ||
| 293 | +8029: space: | ||
| 294 | +8030: word: R | ||
| 295 | +8031: space: \x0a | ||
| 296 | +8032: dict_close: >> | ||
| 297 | +8034: space: \x0a | ||
| 298 | +8035: word: stream | ||
| 299 | skipping to endstream | 299 | skipping to endstream |
| 300 | -8306: word: endstream | ||
| 301 | -8315: space: \x0a | ||
| 302 | -8316: word: endobj | ||
| 303 | -8322: space: \x0a | ||
| 304 | -8323: comment: %QDF: ignore_newline | ||
| 305 | -8343: space: \x0a\x0a | ||
| 306 | -8345: integer: 50 | ||
| 307 | -8347: space: | ||
| 308 | -8348: integer: 0 | ||
| 309 | -8349: space: | ||
| 310 | -8350: word: obj | ||
| 311 | -8353: space: \x0a | ||
| 312 | -8354: integer: 318 | ||
| 313 | -8357: space: \x0a | ||
| 314 | -8358: word: endobj | ||
| 315 | -8364: space: \x0a\x0a | ||
| 316 | -8366: comment: %% Contents for page 8 | ||
| 317 | -8388: space: \x0a | ||
| 318 | -8389: comment: %% Original object ID: 44 0 | ||
| 319 | -8416: space: \x0a | ||
| 320 | -8417: integer: 51 | ||
| 321 | -8419: space: | ||
| 322 | -8420: integer: 0 | ||
| 323 | -8421: space: | ||
| 324 | -8422: word: obj | ||
| 325 | -8425: space: \x0a | ||
| 326 | -8426: dict_open: << | ||
| 327 | -8428: space: \x0a | ||
| 328 | -8431: name: /Length | ||
| 329 | -8438: space: | ||
| 330 | -8439: integer: 52 | ||
| 331 | -8441: space: | ||
| 332 | -8442: integer: 0 | ||
| 333 | -8443: space: | ||
| 334 | -8444: word: R | ||
| 335 | -8445: space: \x0a | ||
| 336 | -8446: dict_close: >> | ||
| 337 | -8448: space: \x0a | ||
| 338 | -8449: word: stream | 300 | +8361: word: endstream |
| 301 | +8370: space: \x0a | ||
| 302 | +8371: word: endobj | ||
| 303 | +8377: space: \x0a | ||
| 304 | +8378: comment: %QDF: ignore_newline | ||
| 305 | +8398: space: \x0a\x0a | ||
| 306 | +8400: integer: 50 | ||
| 307 | +8402: space: | ||
| 308 | +8403: integer: 0 | ||
| 309 | +8404: space: | ||
| 310 | +8405: word: obj | ||
| 311 | +8408: space: \x0a | ||
| 312 | +8409: integer: 318 | ||
| 313 | +8412: space: \x0a | ||
| 314 | +8413: word: endobj | ||
| 315 | +8419: space: \x0a\x0a | ||
| 316 | +8421: comment: %% Contents for page 8 | ||
| 317 | +8443: space: \x0a | ||
| 318 | +8444: comment: %% Original object ID: 44 0 | ||
| 319 | +8471: space: \x0a | ||
| 320 | +8472: integer: 51 | ||
| 321 | +8474: space: | ||
| 322 | +8475: integer: 0 | ||
| 323 | +8476: space: | ||
| 324 | +8477: word: obj | ||
| 325 | +8480: space: \x0a | ||
| 326 | +8481: dict_open: << | ||
| 327 | +8483: space: \x0a | ||
| 328 | +8486: name: /Length | ||
| 329 | +8493: space: | ||
| 330 | +8494: integer: 52 | ||
| 331 | +8496: space: | ||
| 332 | +8497: integer: 0 | ||
| 333 | +8498: space: | ||
| 334 | +8499: word: R | ||
| 335 | +8500: space: \x0a | ||
| 336 | +8501: dict_close: >> | ||
| 337 | +8503: space: \x0a | ||
| 338 | +8504: word: stream | ||
| 339 | skipping to endstream | 339 | skipping to endstream |
| 340 | -8500: word: endstream | ||
| 341 | -8509: space: \x0a | ||
| 342 | -8510: word: endobj | ||
| 343 | -8516: space: \x0a\x0a | ||
| 344 | -8518: integer: 52 | ||
| 345 | -8520: space: | ||
| 346 | -8521: integer: 0 | ||
| 347 | -8522: space: | ||
| 348 | -8523: word: obj | ||
| 349 | -8526: space: \x0a | ||
| 350 | -8527: integer: 44 | ||
| 351 | -8529: space: \x0a | ||
| 352 | -8530: word: endobj | ||
| 353 | -8536: space: \x0a\x0a | ||
| 354 | -8538: comment: %% Contents for page 9 | ||
| 355 | -8560: space: \x0a | ||
| 356 | -8561: comment: %% Original object ID: 45 0 | ||
| 357 | -8588: space: \x0a | ||
| 358 | -8589: integer: 53 | ||
| 359 | -8591: space: | ||
| 360 | -8592: integer: 0 | ||
| 361 | -8593: space: | ||
| 362 | -8594: word: obj | ||
| 363 | -8597: space: \x0a | ||
| 364 | -8598: dict_open: << | ||
| 365 | -8600: space: \x0a | ||
| 366 | -8603: name: /Length | ||
| 367 | -8610: space: | ||
| 368 | -8611: integer: 54 | ||
| 369 | -8613: space: | ||
| 370 | -8614: integer: 0 | ||
| 371 | -8615: space: | ||
| 372 | -8616: word: R | ||
| 373 | -8617: space: \x0a | ||
| 374 | -8618: dict_close: >> | ||
| 375 | -8620: space: \x0a | ||
| 376 | -8621: word: stream | 340 | +8555: word: endstream |
| 341 | +8564: space: \x0a | ||
| 342 | +8565: word: endobj | ||
| 343 | +8571: space: \x0a\x0a | ||
| 344 | +8573: integer: 52 | ||
| 345 | +8575: space: | ||
| 346 | +8576: integer: 0 | ||
| 347 | +8577: space: | ||
| 348 | +8578: word: obj | ||
| 349 | +8581: space: \x0a | ||
| 350 | +8582: integer: 44 | ||
| 351 | +8584: space: \x0a | ||
| 352 | +8585: word: endobj | ||
| 353 | +8591: space: \x0a\x0a | ||
| 354 | +8593: comment: %% Contents for page 9 | ||
| 355 | +8615: space: \x0a | ||
| 356 | +8616: comment: %% Original object ID: 45 0 | ||
| 357 | +8643: space: \x0a | ||
| 358 | +8644: integer: 53 | ||
| 359 | +8646: space: | ||
| 360 | +8647: integer: 0 | ||
| 361 | +8648: space: | ||
| 362 | +8649: word: obj | ||
| 363 | +8652: space: \x0a | ||
| 364 | +8653: dict_open: << | ||
| 365 | +8655: space: \x0a | ||
| 366 | +8658: name: /Length | ||
| 367 | +8665: space: | ||
| 368 | +8666: integer: 54 | ||
| 369 | +8668: space: | ||
| 370 | +8669: integer: 0 | ||
| 371 | +8670: space: | ||
| 372 | +8671: word: R | ||
| 373 | +8672: space: \x0a | ||
| 374 | +8673: dict_close: >> | ||
| 375 | +8675: space: \x0a | ||
| 376 | +8676: word: stream | ||
| 377 | skipping to endstream | 377 | skipping to endstream |
| 378 | -8672: word: endstream | ||
| 379 | -8681: space: \x0a | ||
| 380 | -8682: word: endobj | ||
| 381 | -8688: space: \x0a\x0a | ||
| 382 | -8690: integer: 54 | ||
| 383 | -8692: space: | ||
| 384 | -8693: integer: 0 | ||
| 385 | -8694: space: | ||
| 386 | -8695: word: obj | ||
| 387 | -8698: space: \x0a | ||
| 388 | -8699: integer: 44 | ||
| 389 | -8701: space: \x0a | ||
| 390 | -8702: word: endobj | ||
| 391 | -8708: space: \x0a\x0a | ||
| 392 | -8710: comment: %% Contents for page 10 | ||
| 393 | -8733: space: \x0a | ||
| 394 | -8734: comment: %% Original object ID: 46 0 | ||
| 395 | -8761: space: \x0a | ||
| 396 | -8762: integer: 55 | ||
| 397 | -8764: space: | ||
| 398 | -8765: integer: 0 | ||
| 399 | -8766: space: | ||
| 400 | -8767: word: obj | ||
| 401 | -8770: space: \x0a | ||
| 402 | -8771: dict_open: << | ||
| 403 | -8773: space: \x0a | ||
| 404 | -8776: name: /Length | ||
| 405 | -8783: space: | ||
| 406 | -8784: integer: 56 | ||
| 407 | -8786: space: | ||
| 408 | -8787: integer: 0 | ||
| 409 | -8788: space: | ||
| 410 | -8789: word: R | ||
| 411 | -8790: space: \x0a | ||
| 412 | -8791: dict_close: >> | ||
| 413 | -8793: space: \x0a | ||
| 414 | -8794: word: stream | 378 | +8727: word: endstream |
| 379 | +8736: space: \x0a | ||
| 380 | +8737: word: endobj | ||
| 381 | +8743: space: \x0a\x0a | ||
| 382 | +8745: integer: 54 | ||
| 383 | +8747: space: | ||
| 384 | +8748: integer: 0 | ||
| 385 | +8749: space: | ||
| 386 | +8750: word: obj | ||
| 387 | +8753: space: \x0a | ||
| 388 | +8754: integer: 44 | ||
| 389 | +8756: space: \x0a | ||
| 390 | +8757: word: endobj | ||
| 391 | +8763: space: \x0a\x0a | ||
| 392 | +8765: comment: %% Contents for page 10 | ||
| 393 | +8788: space: \x0a | ||
| 394 | +8789: comment: %% Original object ID: 46 0 | ||
| 395 | +8816: space: \x0a | ||
| 396 | +8817: integer: 55 | ||
| 397 | +8819: space: | ||
| 398 | +8820: integer: 0 | ||
| 399 | +8821: space: | ||
| 400 | +8822: word: obj | ||
| 401 | +8825: space: \x0a | ||
| 402 | +8826: dict_open: << | ||
| 403 | +8828: space: \x0a | ||
| 404 | +8831: name: /Length | ||
| 405 | +8838: space: | ||
| 406 | +8839: integer: 56 | ||
| 407 | +8841: space: | ||
| 408 | +8842: integer: 0 | ||
| 409 | +8843: space: | ||
| 410 | +8844: word: R | ||
| 411 | +8845: space: \x0a | ||
| 412 | +8846: dict_close: >> | ||
| 413 | +8848: space: \x0a | ||
| 414 | +8849: word: stream | ||
| 415 | skipping to endstream | 415 | skipping to endstream |
| 416 | -8845: word: endstream | ||
| 417 | -8854: space: \x0a | ||
| 418 | -8855: word: endobj | ||
| 419 | -8861: space: \x0a\x0a | ||
| 420 | -8863: integer: 56 | ||
| 421 | -8865: space: | ||
| 422 | -8866: integer: 0 | ||
| 423 | -8867: space: | ||
| 424 | -8868: word: obj | ||
| 425 | -8871: space: \x0a | ||
| 426 | -8872: integer: 44 | ||
| 427 | -8874: space: \x0a | ||
| 428 | -8875: word: endobj | ||
| 429 | -8881: space: \x0a\x0a | ||
| 430 | -8883: comment: %% Contents for page 11 | ||
| 431 | -8906: space: \x0a | ||
| 432 | -8907: comment: %% Original object ID: 47 0 | ||
| 433 | -8934: space: \x0a | ||
| 434 | -8935: integer: 57 | ||
| 435 | -8937: space: | ||
| 436 | -8938: integer: 0 | ||
| 437 | -8939: space: | ||
| 438 | -8940: word: obj | ||
| 439 | -8943: space: \x0a | ||
| 440 | -8944: dict_open: << | ||
| 441 | -8946: space: \x0a | ||
| 442 | -8949: name: /Length | ||
| 443 | -8956: space: | ||
| 444 | -8957: integer: 58 | ||
| 445 | -8959: space: | ||
| 446 | -8960: integer: 0 | ||
| 447 | -8961: space: | ||
| 448 | -8962: word: R | ||
| 449 | -8963: space: \x0a | ||
| 450 | -8964: dict_close: >> | ||
| 451 | -8966: space: \x0a | ||
| 452 | -8967: word: stream | 416 | +8900: word: endstream |
| 417 | +8909: space: \x0a | ||
| 418 | +8910: word: endobj | ||
| 419 | +8916: space: \x0a\x0a | ||
| 420 | +8918: integer: 56 | ||
| 421 | +8920: space: | ||
| 422 | +8921: integer: 0 | ||
| 423 | +8922: space: | ||
| 424 | +8923: word: obj | ||
| 425 | +8926: space: \x0a | ||
| 426 | +8927: integer: 44 | ||
| 427 | +8929: space: \x0a | ||
| 428 | +8930: word: endobj | ||
| 429 | +8936: space: \x0a\x0a | ||
| 430 | +8938: comment: %% Contents for page 11 | ||
| 431 | +8961: space: \x0a | ||
| 432 | +8962: comment: %% Original object ID: 47 0 | ||
| 433 | +8989: space: \x0a | ||
| 434 | +8990: integer: 57 | ||
| 435 | +8992: space: | ||
| 436 | +8993: integer: 0 | ||
| 437 | +8994: space: | ||
| 438 | +8995: word: obj | ||
| 439 | +8998: space: \x0a | ||
| 440 | +8999: dict_open: << | ||
| 441 | +9001: space: \x0a | ||
| 442 | +9004: name: /Length | ||
| 443 | +9011: space: | ||
| 444 | +9012: integer: 58 | ||
| 445 | +9014: space: | ||
| 446 | +9015: integer: 0 | ||
| 447 | +9016: space: | ||
| 448 | +9017: word: R | ||
| 449 | +9018: space: \x0a | ||
| 450 | +9019: dict_close: >> | ||
| 451 | +9021: space: \x0a | ||
| 452 | +9022: word: stream | ||
| 453 | skipping to endstream | 453 | skipping to endstream |
| 454 | -9018: word: endstream | ||
| 455 | -9027: space: \x0a | ||
| 456 | -9028: word: endobj | ||
| 457 | -9034: space: \x0a\x0a | ||
| 458 | -9036: integer: 58 | ||
| 459 | -9038: space: | ||
| 460 | -9039: integer: 0 | ||
| 461 | -9040: space: | ||
| 462 | -9041: word: obj | ||
| 463 | -9044: space: \x0a | ||
| 464 | -9045: integer: 44 | ||
| 465 | -9047: space: \x0a | ||
| 466 | -9048: word: endobj | ||
| 467 | -9054: space: \x0a\x0a | ||
| 468 | -9056: integer: 59 | ||
| 469 | -9058: space: | ||
| 470 | -9059: integer: 0 | ||
| 471 | -9060: space: | ||
| 472 | -9061: word: obj | ||
| 473 | -9064: space: \x0a | ||
| 474 | -9065: dict_open: << | ||
| 475 | -9067: space: \x0a | ||
| 476 | -9070: name: /Type | ||
| 477 | -9075: space: | ||
| 478 | -9076: name: /XRef | ||
| 479 | -9081: space: \x0a | ||
| 480 | -9084: name: /Length | ||
| 481 | -9091: space: | ||
| 482 | -9092: integer: 240 | ||
| 483 | -9095: space: \x0a | ||
| 484 | -9098: name: /W | ||
| 485 | -9100: space: | ||
| 486 | -9101: array_open: [ | ||
| 487 | -9102: space: | ||
| 488 | -9103: integer: 1 | ||
| 489 | -9104: space: | ||
| 490 | -9105: integer: 2 | ||
| 491 | -9106: space: | ||
| 492 | -9107: integer: 1 | ||
| 493 | -9108: space: | ||
| 494 | -9109: array_close: ] | ||
| 495 | -9110: space: \x0a | ||
| 496 | -9113: name: /Root | ||
| 497 | -9118: space: | ||
| 498 | -9119: integer: 2 | ||
| 499 | -9120: space: | ||
| 500 | -9121: integer: 0 | ||
| 501 | -9122: space: | ||
| 502 | -9123: word: R | ||
| 503 | -9124: space: \x0a | ||
| 504 | -9127: name: /Size | ||
| 505 | -9132: space: | ||
| 506 | -9133: integer: 60 | ||
| 507 | -9135: space: \x0a | ||
| 508 | -9138: name: /ID | ||
| 509 | -9141: space: | ||
| 510 | -9142: array_open: [ | ||
| 511 | -9143: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>) | ||
| 512 | -9177: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>) | ||
| 513 | -9211: array_close: ] | ||
| 514 | -9212: space: \x0a | ||
| 515 | -9213: dict_close: >> | ||
| 516 | -9215: space: \x0a | ||
| 517 | -9216: word: stream | 454 | +9073: word: endstream |
| 455 | +9082: space: \x0a | ||
| 456 | +9083: word: endobj | ||
| 457 | +9089: space: \x0a\x0a | ||
| 458 | +9091: integer: 58 | ||
| 459 | +9093: space: | ||
| 460 | +9094: integer: 0 | ||
| 461 | +9095: space: | ||
| 462 | +9096: word: obj | ||
| 463 | +9099: space: \x0a | ||
| 464 | +9100: integer: 44 | ||
| 465 | +9102: space: \x0a | ||
| 466 | +9103: word: endobj | ||
| 467 | +9109: space: \x0a\x0a | ||
| 468 | +9111: integer: 59 | ||
| 469 | +9113: space: | ||
| 470 | +9114: integer: 0 | ||
| 471 | +9115: space: | ||
| 472 | +9116: word: obj | ||
| 473 | +9119: space: \x0a | ||
| 474 | +9120: dict_open: << | ||
| 475 | +9122: space: \x0a | ||
| 476 | +9125: name: /Type | ||
| 477 | +9130: space: | ||
| 478 | +9131: name: /XRef | ||
| 479 | +9136: space: \x0a | ||
| 480 | +9139: name: /Length | ||
| 481 | +9146: space: | ||
| 482 | +9147: integer: 240 | ||
| 483 | +9150: space: \x0a | ||
| 484 | +9153: name: /W | ||
| 485 | +9155: space: | ||
| 486 | +9156: array_open: [ | ||
| 487 | +9157: space: | ||
| 488 | +9158: integer: 1 | ||
| 489 | +9159: space: | ||
| 490 | +9160: integer: 2 | ||
| 491 | +9161: space: | ||
| 492 | +9162: integer: 1 | ||
| 493 | +9163: space: | ||
| 494 | +9164: array_close: ] | ||
| 495 | +9165: space: \x0a | ||
| 496 | +9168: name: /Root | ||
| 497 | +9173: space: | ||
| 498 | +9174: integer: 2 | ||
| 499 | +9175: space: | ||
| 500 | +9176: integer: 0 | ||
| 501 | +9177: space: | ||
| 502 | +9178: word: R | ||
| 503 | +9179: space: \x0a | ||
| 504 | +9182: name: /Size | ||
| 505 | +9187: space: | ||
| 506 | +9188: integer: 60 | ||
| 507 | +9190: space: \x0a | ||
| 508 | +9193: name: /ID | ||
| 509 | +9196: space: | ||
| 510 | +9197: array_open: [ | ||
| 511 | +9198: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>) | ||
| 512 | +9232: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>) | ||
| 513 | +9266: array_close: ] | ||
| 514 | +9267: space: \x0a | ||
| 515 | +9268: dict_close: >> | ||
| 516 | +9270: space: \x0a | ||
| 517 | +9271: word: stream | ||
| 518 | skipping to endstream | 518 | skipping to endstream |
| 519 | -9464: word: endstream | ||
| 520 | -9473: space: \x0a | ||
| 521 | -9474: word: endobj | ||
| 522 | -9480: space: \x0a\x0a | ||
| 523 | -9482: word: startxref | ||
| 524 | -9491: space: \x0a | ||
| 525 | -9492: integer: 9056 | ||
| 526 | -9496: space: \x0a | ||
| 527 | -9497: comment: %%EOF | ||
| 528 | -9502: space: \x0a | ||
| 529 | -9503: eof | 519 | +9519: word: endstream |
| 520 | +9528: space: \x0a | ||
| 521 | +9529: word: endobj | ||
| 522 | +9535: space: \x0a\x0a | ||
| 523 | +9537: word: startxref | ||
| 524 | +9546: space: \x0a | ||
| 525 | +9547: integer: 9111 | ||
| 526 | +9551: space: \x0a | ||
| 527 | +9552: comment: %%EOF | ||
| 528 | +9557: space: \x0a | ||
| 529 | +9558: eof | ||
| 530 | --- END FILE --- | 530 | --- END FILE --- |
| 531 | --- BEGIN PAGE 1 --- | 531 | --- BEGIN PAGE 1 --- |
| 532 | 0: word: BT | 532 | 0: word: BT |
| @@ -669,69 +669,73 @@ skipping to endstream | @@ -669,69 +669,73 @@ skipping to endstream | ||
| 669 | 117: space: \x0a | 669 | 117: space: \x0a |
| 670 | 120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) | 670 | 120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) |
| 671 | 135: space: \x0a | 671 | 135: space: \x0a |
| 672 | -138: integer: 72 | ||
| 673 | -140: space: | ||
| 674 | -141: integer: 720 | ||
| 675 | -144: space: | ||
| 676 | -145: word: Td | ||
| 677 | -147: space: \x0a | ||
| 678 | -150: real: 3.14 | ||
| 679 | -154: space: \x0a | ||
| 680 | -157: real: 3. | ||
| 681 | -159: space: \x0a | ||
| 682 | -162: real: .14 | ||
| 683 | -165: space: \x0a | ||
| 684 | -168: real: +3.14 | ||
| 685 | -173: space: \x0a | ||
| 686 | -176: real: +3. | ||
| 687 | -179: space: \x0a | ||
| 688 | -182: real: +.14 | ||
| 689 | -186: space: \x0a | ||
| 690 | -189: real: -3.14 | ||
| 691 | -194: space: \x0a | ||
| 692 | -197: real: -3. | ||
| 693 | -200: space: \x0a | ||
| 694 | -203: real: -.14 | ||
| 695 | -207: space: \x0a | ||
| 696 | -210: integer: +16059 | ||
| 697 | -216: space: \x0a | ||
| 698 | -219: integer: -16059 | ||
| 699 | -225: space: \x0a | ||
| 700 | -228: word: +. | ||
| 701 | -230: space: \x0a | ||
| 702 | -233: bad: <fade\x0aET (invalid character (T) in hexstring) | ||
| 703 | -241: space: \x0a | ||
| 704 | -242: bad: ) (unexpected )) | ||
| 705 | -243: bad: > (unexpected >) | ||
| 706 | -244: word: quack | ||
| 707 | -249: space: | ||
| 708 | -250: name: /name\x00oops (raw: /name#oops) (name with stray # will not work with PDF >= 1.2) | ||
| 709 | -260: space: | ||
| 710 | -261: name: /name (raw: /n#61me) | ||
| 711 | -268: space: | ||
| 712 | -269: word: one | ||
| 713 | -272: space: | ||
| 714 | -273: bool: true | ||
| 715 | -277: space: | ||
| 716 | -278: word: two | ||
| 717 | -281: space: | ||
| 718 | -282: bool: false | ||
| 719 | -287: space: | ||
| 720 | -288: word: three | ||
| 721 | -293: space: | ||
| 722 | -294: null: null | ||
| 723 | -298: space: | ||
| 724 | -299: word: four | ||
| 725 | -303: space: \x0a | ||
| 726 | -304: word: !@#$^& | ||
| 727 | -310: brace_open: { | ||
| 728 | -311: brace_close: } | ||
| 729 | -312: word: *-_+= | ||
| 730 | -317: space: \x0a | ||
| 731 | -318: word: abc123def3.14true | ||
| 732 | -335: space: \x0a | ||
| 733 | -336: bad: <ff\x0a (EOF while reading token) | ||
| 734 | -340: eof | 672 | +138: string: \x048!8Q\x04!Q\x04 (raw: (\48\418\121\4\41\121\4)) |
| 673 | +162: space: \x0a | ||
| 674 | +165: string: \x048!8Q\x04!Q! (raw: (\48\418\121\4\41\121\41)) | ||
| 675 | +190: space: \x0a | ||
| 676 | +193: integer: 72 | ||
| 677 | +195: space: | ||
| 678 | +196: integer: 720 | ||
| 679 | +199: space: | ||
| 680 | +200: word: Td | ||
| 681 | +202: space: \x0a | ||
| 682 | +205: real: 3.14 | ||
| 683 | +209: space: \x0a | ||
| 684 | +212: real: 3. | ||
| 685 | +214: space: \x0a | ||
| 686 | +217: real: .14 | ||
| 687 | +220: space: \x0a | ||
| 688 | +223: real: +3.14 | ||
| 689 | +228: space: \x0a | ||
| 690 | +231: real: +3. | ||
| 691 | +234: space: \x0a | ||
| 692 | +237: real: +.14 | ||
| 693 | +241: space: \x0a | ||
| 694 | +244: real: -3.14 | ||
| 695 | +249: space: \x0a | ||
| 696 | +252: real: -3. | ||
| 697 | +255: space: \x0a | ||
| 698 | +258: real: -.14 | ||
| 699 | +262: space: \x0a | ||
| 700 | +265: integer: +16059 | ||
| 701 | +271: space: \x0a | ||
| 702 | +274: integer: -16059 | ||
| 703 | +280: space: \x0a | ||
| 704 | +283: word: +. | ||
| 705 | +285: space: \x0a | ||
| 706 | +288: bad: <fade\x0aET (invalid character (T) in hexstring) | ||
| 707 | +296: space: \x0a | ||
| 708 | +297: bad: ) (unexpected )) | ||
| 709 | +298: bad: > (unexpected >) | ||
| 710 | +299: word: quack | ||
| 711 | +304: space: | ||
| 712 | +305: name: /name\x00oops (raw: /name#oops) (name with stray # will not work with PDF >= 1.2) | ||
| 713 | +315: space: | ||
| 714 | +316: name: /name (raw: /n#61me) | ||
| 715 | +323: space: | ||
| 716 | +324: word: one | ||
| 717 | +327: space: | ||
| 718 | +328: bool: true | ||
| 719 | +332: space: | ||
| 720 | +333: word: two | ||
| 721 | +336: space: | ||
| 722 | +337: bool: false | ||
| 723 | +342: space: | ||
| 724 | +343: word: three | ||
| 725 | +348: space: | ||
| 726 | +349: null: null | ||
| 727 | +353: space: | ||
| 728 | +354: word: four | ||
| 729 | +358: space: \x0a | ||
| 730 | +359: word: !@#$^& | ||
| 731 | +365: brace_open: { | ||
| 732 | +366: brace_close: } | ||
| 733 | +367: word: *-_+= | ||
| 734 | +372: space: \x0a | ||
| 735 | +373: word: abc123def3.14true | ||
| 736 | +390: space: \x0a | ||
| 737 | +391: bad: <ff\x0a (EOF while reading token) | ||
| 738 | +395: eof | ||
| 735 | --- END PAGE 4 --- | 739 | --- END PAGE 4 --- |
| 736 | --- BEGIN PAGE 5 --- | 740 | --- BEGIN PAGE 5 --- |
| 737 | 0: word: BT | 741 | 0: word: BT |
qpdf/qtest/qpdf/tokens-no-ignorable.out
| @@ -81,172 +81,172 @@ skipping to endstream | @@ -81,172 +81,172 @@ skipping to endstream | ||
| 81 | 7119: dict_close: >> | 81 | 7119: dict_close: >> |
| 82 | 7122: word: stream | 82 | 7122: word: stream |
| 83 | skipping to endstream | 83 | skipping to endstream |
| 84 | -7469: word: endstream | ||
| 85 | -7479: word: endobj | ||
| 86 | -7487: integer: 44 | ||
| 87 | -7490: integer: 0 | ||
| 88 | -7492: word: obj | ||
| 89 | -7496: integer: 340 | ||
| 90 | -7500: word: endobj | ||
| 91 | -7559: integer: 45 | ||
| 92 | -7562: integer: 0 | ||
| 93 | -7564: word: obj | ||
| 94 | -7568: dict_open: << | ||
| 95 | -7573: name: /Length | ||
| 96 | -7581: integer: 46 | ||
| 97 | -7584: integer: 0 | ||
| 98 | -7586: word: R | ||
| 99 | -7588: dict_close: >> | ||
| 100 | -7591: word: stream | 84 | +7524: word: endstream |
| 85 | +7534: word: endobj | ||
| 86 | +7542: integer: 44 | ||
| 87 | +7545: integer: 0 | ||
| 88 | +7547: word: obj | ||
| 89 | +7551: integer: 395 | ||
| 90 | +7555: word: endobj | ||
| 91 | +7614: integer: 45 | ||
| 92 | +7617: integer: 0 | ||
| 93 | +7619: word: obj | ||
| 94 | +7623: dict_open: << | ||
| 95 | +7628: name: /Length | ||
| 96 | +7636: integer: 46 | ||
| 97 | +7639: integer: 0 | ||
| 98 | +7641: word: R | ||
| 99 | +7643: dict_close: >> | ||
| 100 | +7646: word: stream | ||
| 101 | skipping to endstream | 101 | skipping to endstream |
| 102 | -7666: word: endstream | ||
| 103 | -7676: word: endobj | ||
| 104 | -7705: integer: 46 | ||
| 105 | -7708: integer: 0 | ||
| 106 | -7710: word: obj | ||
| 107 | -7714: integer: 67 | ||
| 108 | -7717: word: endobj | ||
| 109 | -7776: integer: 47 | ||
| 110 | -7779: integer: 0 | ||
| 111 | -7781: word: obj | ||
| 112 | -7785: dict_open: << | ||
| 113 | -7790: name: /Length | ||
| 114 | -7798: integer: 48 | ||
| 115 | -7801: integer: 0 | ||
| 116 | -7803: word: R | ||
| 117 | -7805: dict_close: >> | ||
| 118 | -7808: word: stream | 102 | +7721: word: endstream |
| 103 | +7731: word: endobj | ||
| 104 | +7760: integer: 46 | ||
| 105 | +7763: integer: 0 | ||
| 106 | +7765: word: obj | ||
| 107 | +7769: integer: 67 | ||
| 108 | +7772: word: endobj | ||
| 109 | +7831: integer: 47 | ||
| 110 | +7834: integer: 0 | ||
| 111 | +7836: word: obj | ||
| 112 | +7840: dict_open: << | ||
| 113 | +7845: name: /Length | ||
| 114 | +7853: integer: 48 | ||
| 115 | +7856: integer: 0 | ||
| 116 | +7858: word: R | ||
| 117 | +7860: dict_close: >> | ||
| 118 | +7863: word: stream | ||
| 119 | skipping to endstream | 119 | skipping to endstream |
| 120 | -7859: word: endstream | ||
| 121 | -7869: word: endobj | ||
| 122 | -7877: integer: 48 | ||
| 123 | -7880: integer: 0 | ||
| 124 | -7882: word: obj | ||
| 125 | -7886: integer: 44 | ||
| 126 | -7889: word: endobj | ||
| 127 | -7948: integer: 49 | ||
| 128 | -7951: integer: 0 | ||
| 129 | -7953: word: obj | ||
| 130 | -7957: dict_open: << | ||
| 131 | -7962: name: /Length | ||
| 132 | -7970: integer: 50 | ||
| 133 | -7973: integer: 0 | ||
| 134 | -7975: word: R | ||
| 135 | -7977: dict_close: >> | ||
| 136 | -7980: word: stream | 120 | +7914: word: endstream |
| 121 | +7924: word: endobj | ||
| 122 | +7932: integer: 48 | ||
| 123 | +7935: integer: 0 | ||
| 124 | +7937: word: obj | ||
| 125 | +7941: integer: 44 | ||
| 126 | +7944: word: endobj | ||
| 127 | +8003: integer: 49 | ||
| 128 | +8006: integer: 0 | ||
| 129 | +8008: word: obj | ||
| 130 | +8012: dict_open: << | ||
| 131 | +8017: name: /Length | ||
| 132 | +8025: integer: 50 | ||
| 133 | +8028: integer: 0 | ||
| 134 | +8030: word: R | ||
| 135 | +8032: dict_close: >> | ||
| 136 | +8035: word: stream | ||
| 137 | skipping to endstream | 137 | skipping to endstream |
| 138 | -8306: word: endstream | ||
| 139 | -8316: word: endobj | ||
| 140 | -8345: integer: 50 | ||
| 141 | -8348: integer: 0 | ||
| 142 | -8350: word: obj | ||
| 143 | -8354: integer: 318 | ||
| 144 | -8358: word: endobj | ||
| 145 | -8417: integer: 51 | ||
| 146 | -8420: integer: 0 | ||
| 147 | -8422: word: obj | ||
| 148 | -8426: dict_open: << | ||
| 149 | -8431: name: /Length | ||
| 150 | -8439: integer: 52 | ||
| 151 | -8442: integer: 0 | ||
| 152 | -8444: word: R | ||
| 153 | -8446: dict_close: >> | ||
| 154 | -8449: word: stream | 138 | +8361: word: endstream |
| 139 | +8371: word: endobj | ||
| 140 | +8400: integer: 50 | ||
| 141 | +8403: integer: 0 | ||
| 142 | +8405: word: obj | ||
| 143 | +8409: integer: 318 | ||
| 144 | +8413: word: endobj | ||
| 145 | +8472: integer: 51 | ||
| 146 | +8475: integer: 0 | ||
| 147 | +8477: word: obj | ||
| 148 | +8481: dict_open: << | ||
| 149 | +8486: name: /Length | ||
| 150 | +8494: integer: 52 | ||
| 151 | +8497: integer: 0 | ||
| 152 | +8499: word: R | ||
| 153 | +8501: dict_close: >> | ||
| 154 | +8504: word: stream | ||
| 155 | skipping to endstream | 155 | skipping to endstream |
| 156 | -8500: word: endstream | ||
| 157 | -8510: word: endobj | ||
| 158 | -8518: integer: 52 | ||
| 159 | -8521: integer: 0 | ||
| 160 | -8523: word: obj | ||
| 161 | -8527: integer: 44 | ||
| 162 | -8530: word: endobj | ||
| 163 | -8589: integer: 53 | ||
| 164 | -8592: integer: 0 | ||
| 165 | -8594: word: obj | ||
| 166 | -8598: dict_open: << | ||
| 167 | -8603: name: /Length | ||
| 168 | -8611: integer: 54 | ||
| 169 | -8614: integer: 0 | ||
| 170 | -8616: word: R | ||
| 171 | -8618: dict_close: >> | ||
| 172 | -8621: word: stream | 156 | +8555: word: endstream |
| 157 | +8565: word: endobj | ||
| 158 | +8573: integer: 52 | ||
| 159 | +8576: integer: 0 | ||
| 160 | +8578: word: obj | ||
| 161 | +8582: integer: 44 | ||
| 162 | +8585: word: endobj | ||
| 163 | +8644: integer: 53 | ||
| 164 | +8647: integer: 0 | ||
| 165 | +8649: word: obj | ||
| 166 | +8653: dict_open: << | ||
| 167 | +8658: name: /Length | ||
| 168 | +8666: integer: 54 | ||
| 169 | +8669: integer: 0 | ||
| 170 | +8671: word: R | ||
| 171 | +8673: dict_close: >> | ||
| 172 | +8676: word: stream | ||
| 173 | skipping to endstream | 173 | skipping to endstream |
| 174 | -8672: word: endstream | ||
| 175 | -8682: word: endobj | ||
| 176 | -8690: integer: 54 | ||
| 177 | -8693: integer: 0 | ||
| 178 | -8695: word: obj | ||
| 179 | -8699: integer: 44 | ||
| 180 | -8702: word: endobj | ||
| 181 | -8762: integer: 55 | ||
| 182 | -8765: integer: 0 | ||
| 183 | -8767: word: obj | ||
| 184 | -8771: dict_open: << | ||
| 185 | -8776: name: /Length | ||
| 186 | -8784: integer: 56 | ||
| 187 | -8787: integer: 0 | ||
| 188 | -8789: word: R | ||
| 189 | -8791: dict_close: >> | ||
| 190 | -8794: word: stream | 174 | +8727: word: endstream |
| 175 | +8737: word: endobj | ||
| 176 | +8745: integer: 54 | ||
| 177 | +8748: integer: 0 | ||
| 178 | +8750: word: obj | ||
| 179 | +8754: integer: 44 | ||
| 180 | +8757: word: endobj | ||
| 181 | +8817: integer: 55 | ||
| 182 | +8820: integer: 0 | ||
| 183 | +8822: word: obj | ||
| 184 | +8826: dict_open: << | ||
| 185 | +8831: name: /Length | ||
| 186 | +8839: integer: 56 | ||
| 187 | +8842: integer: 0 | ||
| 188 | +8844: word: R | ||
| 189 | +8846: dict_close: >> | ||
| 190 | +8849: word: stream | ||
| 191 | skipping to endstream | 191 | skipping to endstream |
| 192 | -8845: word: endstream | ||
| 193 | -8855: word: endobj | ||
| 194 | -8863: integer: 56 | ||
| 195 | -8866: integer: 0 | ||
| 196 | -8868: word: obj | ||
| 197 | -8872: integer: 44 | ||
| 198 | -8875: word: endobj | ||
| 199 | -8935: integer: 57 | ||
| 200 | -8938: integer: 0 | ||
| 201 | -8940: word: obj | ||
| 202 | -8944: dict_open: << | ||
| 203 | -8949: name: /Length | ||
| 204 | -8957: integer: 58 | ||
| 205 | -8960: integer: 0 | ||
| 206 | -8962: word: R | ||
| 207 | -8964: dict_close: >> | ||
| 208 | -8967: word: stream | 192 | +8900: word: endstream |
| 193 | +8910: word: endobj | ||
| 194 | +8918: integer: 56 | ||
| 195 | +8921: integer: 0 | ||
| 196 | +8923: word: obj | ||
| 197 | +8927: integer: 44 | ||
| 198 | +8930: word: endobj | ||
| 199 | +8990: integer: 57 | ||
| 200 | +8993: integer: 0 | ||
| 201 | +8995: word: obj | ||
| 202 | +8999: dict_open: << | ||
| 203 | +9004: name: /Length | ||
| 204 | +9012: integer: 58 | ||
| 205 | +9015: integer: 0 | ||
| 206 | +9017: word: R | ||
| 207 | +9019: dict_close: >> | ||
| 208 | +9022: word: stream | ||
| 209 | skipping to endstream | 209 | skipping to endstream |
| 210 | -9018: word: endstream | ||
| 211 | -9028: word: endobj | ||
| 212 | -9036: integer: 58 | ||
| 213 | -9039: integer: 0 | ||
| 214 | -9041: word: obj | ||
| 215 | -9045: integer: 44 | ||
| 216 | -9048: word: endobj | ||
| 217 | -9056: integer: 59 | ||
| 218 | -9059: integer: 0 | ||
| 219 | -9061: word: obj | ||
| 220 | -9065: dict_open: << | ||
| 221 | -9070: name: /Type | ||
| 222 | -9076: name: /XRef | ||
| 223 | -9084: name: /Length | ||
| 224 | -9092: integer: 240 | ||
| 225 | -9098: name: /W | ||
| 226 | -9101: array_open: [ | ||
| 227 | -9103: integer: 1 | ||
| 228 | -9105: integer: 2 | ||
| 229 | -9107: integer: 1 | ||
| 230 | -9109: array_close: ] | ||
| 231 | -9113: name: /Root | ||
| 232 | -9119: integer: 2 | ||
| 233 | -9121: integer: 0 | ||
| 234 | -9123: word: R | ||
| 235 | -9127: name: /Size | ||
| 236 | -9133: integer: 60 | ||
| 237 | -9138: name: /ID | ||
| 238 | -9142: array_open: [ | ||
| 239 | -9143: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>) | ||
| 240 | -9177: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>) | ||
| 241 | -9211: array_close: ] | ||
| 242 | -9213: dict_close: >> | ||
| 243 | -9216: word: stream | 210 | +9073: word: endstream |
| 211 | +9083: word: endobj | ||
| 212 | +9091: integer: 58 | ||
| 213 | +9094: integer: 0 | ||
| 214 | +9096: word: obj | ||
| 215 | +9100: integer: 44 | ||
| 216 | +9103: word: endobj | ||
| 217 | +9111: integer: 59 | ||
| 218 | +9114: integer: 0 | ||
| 219 | +9116: word: obj | ||
| 220 | +9120: dict_open: << | ||
| 221 | +9125: name: /Type | ||
| 222 | +9131: name: /XRef | ||
| 223 | +9139: name: /Length | ||
| 224 | +9147: integer: 240 | ||
| 225 | +9153: name: /W | ||
| 226 | +9156: array_open: [ | ||
| 227 | +9158: integer: 1 | ||
| 228 | +9160: integer: 2 | ||
| 229 | +9162: integer: 1 | ||
| 230 | +9164: array_close: ] | ||
| 231 | +9168: name: /Root | ||
| 232 | +9174: integer: 2 | ||
| 233 | +9176: integer: 0 | ||
| 234 | +9178: word: R | ||
| 235 | +9182: name: /Size | ||
| 236 | +9188: integer: 60 | ||
| 237 | +9193: name: /ID | ||
| 238 | +9197: array_open: [ | ||
| 239 | +9198: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>) | ||
| 240 | +9232: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>) | ||
| 241 | +9266: array_close: ] | ||
| 242 | +9268: dict_close: >> | ||
| 243 | +9271: word: stream | ||
| 244 | skipping to endstream | 244 | skipping to endstream |
| 245 | -9464: word: endstream | ||
| 246 | -9474: word: endobj | ||
| 247 | -9482: word: startxref | ||
| 248 | -9492: integer: 9056 | ||
| 249 | -9503: eof | 245 | +9519: word: endstream |
| 246 | +9529: word: endobj | ||
| 247 | +9537: word: startxref | ||
| 248 | +9547: integer: 9111 | ||
| 249 | +9558: eof | ||
| 250 | --- END FILE --- | 250 | --- END FILE --- |
| 251 | --- BEGIN PAGE 1 --- | 251 | --- BEGIN PAGE 1 --- |
| 252 | 0: word: BT | 252 | 0: word: BT |
| @@ -330,41 +330,43 @@ skipping to endstream | @@ -330,41 +330,43 @@ skipping to endstream | ||
| 330 | 87: string: qu\x0aack (raw: (qu\\x0d\x0dack)) | 330 | 87: string: qu\x0aack (raw: (qu\\x0d\x0dack)) |
| 331 | 100: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\\x0a\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) | 331 | 100: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\\x0a\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) |
| 332 | 120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) | 332 | 120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) |
| 333 | -138: integer: 72 | ||
| 334 | -141: integer: 720 | ||
| 335 | -145: word: Td | ||
| 336 | -150: real: 3.14 | ||
| 337 | -157: real: 3. | ||
| 338 | -162: real: .14 | ||
| 339 | -168: real: +3.14 | ||
| 340 | -176: real: +3. | ||
| 341 | -182: real: +.14 | ||
| 342 | -189: real: -3.14 | ||
| 343 | -197: real: -3. | ||
| 344 | -203: real: -.14 | ||
| 345 | -210: integer: +16059 | ||
| 346 | -219: integer: -16059 | ||
| 347 | -228: word: +. | ||
| 348 | -233: bad: <fade\x0aET (invalid character (T) in hexstring) | ||
| 349 | -242: bad: ) (unexpected )) | ||
| 350 | -243: bad: > (unexpected >) | ||
| 351 | -244: word: quack | ||
| 352 | -250: name: /name\x00oops (raw: /name#oops) (name with stray # will not work with PDF >= 1.2) | ||
| 353 | -261: name: /name (raw: /n#61me) | ||
| 354 | -269: word: one | ||
| 355 | -273: bool: true | ||
| 356 | -278: word: two | ||
| 357 | -282: bool: false | ||
| 358 | -288: word: three | ||
| 359 | -294: null: null | ||
| 360 | -299: word: four | ||
| 361 | -304: word: !@#$^& | ||
| 362 | -310: brace_open: { | ||
| 363 | -311: brace_close: } | ||
| 364 | -312: word: *-_+= | ||
| 365 | -318: word: abc123def3.14true | ||
| 366 | -336: bad: <ff\x0a (EOF while reading token) | ||
| 367 | -340: eof | 333 | +138: string: \x048!8Q\x04!Q\x04 (raw: (\48\418\121\4\41\121\4)) |
| 334 | +165: string: \x048!8Q\x04!Q! (raw: (\48\418\121\4\41\121\41)) | ||
| 335 | +193: integer: 72 | ||
| 336 | +196: integer: 720 | ||
| 337 | +200: word: Td | ||
| 338 | +205: real: 3.14 | ||
| 339 | +212: real: 3. | ||
| 340 | +217: real: .14 | ||
| 341 | +223: real: +3.14 | ||
| 342 | +231: real: +3. | ||
| 343 | +237: real: +.14 | ||
| 344 | +244: real: -3.14 | ||
| 345 | +252: real: -3. | ||
| 346 | +258: real: -.14 | ||
| 347 | +265: integer: +16059 | ||
| 348 | +274: integer: -16059 | ||
| 349 | +283: word: +. | ||
| 350 | +288: bad: <fade\x0aET (invalid character (T) in hexstring) | ||
| 351 | +297: bad: ) (unexpected )) | ||
| 352 | +298: bad: > (unexpected >) | ||
| 353 | +299: word: quack | ||
| 354 | +305: name: /name\x00oops (raw: /name#oops) (name with stray # will not work with PDF >= 1.2) | ||
| 355 | +316: name: /name (raw: /n#61me) | ||
| 356 | +324: word: one | ||
| 357 | +328: bool: true | ||
| 358 | +333: word: two | ||
| 359 | +337: bool: false | ||
| 360 | +343: word: three | ||
| 361 | +349: null: null | ||
| 362 | +354: word: four | ||
| 363 | +359: word: !@#$^& | ||
| 364 | +365: brace_open: { | ||
| 365 | +366: brace_close: } | ||
| 366 | +367: word: *-_+= | ||
| 367 | +373: word: abc123def3.14true | ||
| 368 | +391: bad: <ff\x0a (EOF while reading token) | ||
| 369 | +395: eof | ||
| 368 | --- END PAGE 4 --- | 370 | --- END PAGE 4 --- |
| 369 | --- BEGIN PAGE 5 --- | 371 | --- BEGIN PAGE 5 --- |
| 370 | 0: word: BT | 372 | 0: word: BT |
qpdf/qtest/qpdf/tokens.out
| @@ -181,352 +181,352 @@ skipping to endstream | @@ -181,352 +181,352 @@ skipping to endstream | ||
| 181 | 7121: space: \x0a | 181 | 7121: space: \x0a |
| 182 | 7122: word: stream | 182 | 7122: word: stream |
| 183 | skipping to endstream | 183 | skipping to endstream |
| 184 | -7469: word: endstream | ||
| 185 | -7478: space: \x0a | ||
| 186 | -7479: word: endobj | ||
| 187 | -7485: space: \x0a\x0a | ||
| 188 | -7487: integer: 44 | ||
| 189 | -7489: space: | ||
| 190 | -7490: integer: 0 | ||
| 191 | -7491: space: | ||
| 192 | -7492: word: obj | ||
| 193 | -7495: space: \x0a | ||
| 194 | -7496: integer: 340 | ||
| 195 | -7499: space: \x0a | ||
| 196 | -7500: word: endobj | ||
| 197 | -7506: space: \x0a\x0a | ||
| 198 | -7508: comment: %% Contents for page 5 | ||
| 199 | -7530: space: \x0a | ||
| 200 | -7531: comment: %% Original object ID: 41 0 | ||
| 201 | -7558: space: \x0a | ||
| 202 | -7559: integer: 45 | ||
| 203 | -7561: space: | ||
| 204 | -7562: integer: 0 | ||
| 205 | -7563: space: | ||
| 206 | -7564: word: obj | ||
| 207 | -7567: space: \x0a | ||
| 208 | -7568: dict_open: << | ||
| 209 | -7570: space: \x0a | ||
| 210 | -7573: name: /Length | ||
| 211 | -7580: space: | ||
| 212 | -7581: integer: 46 | ||
| 213 | -7583: space: | ||
| 214 | -7584: integer: 0 | ||
| 215 | -7585: space: | ||
| 216 | -7586: word: R | ||
| 217 | -7587: space: \x0a | ||
| 218 | -7588: dict_close: >> | ||
| 219 | -7590: space: \x0a | ||
| 220 | -7591: word: stream | 184 | +7524: word: endstream |
| 185 | +7533: space: \x0a | ||
| 186 | +7534: word: endobj | ||
| 187 | +7540: space: \x0a\x0a | ||
| 188 | +7542: integer: 44 | ||
| 189 | +7544: space: | ||
| 190 | +7545: integer: 0 | ||
| 191 | +7546: space: | ||
| 192 | +7547: word: obj | ||
| 193 | +7550: space: \x0a | ||
| 194 | +7551: integer: 395 | ||
| 195 | +7554: space: \x0a | ||
| 196 | +7555: word: endobj | ||
| 197 | +7561: space: \x0a\x0a | ||
| 198 | +7563: comment: %% Contents for page 5 | ||
| 199 | +7585: space: \x0a | ||
| 200 | +7586: comment: %% Original object ID: 41 0 | ||
| 201 | +7613: space: \x0a | ||
| 202 | +7614: integer: 45 | ||
| 203 | +7616: space: | ||
| 204 | +7617: integer: 0 | ||
| 205 | +7618: space: | ||
| 206 | +7619: word: obj | ||
| 207 | +7622: space: \x0a | ||
| 208 | +7623: dict_open: << | ||
| 209 | +7625: space: \x0a | ||
| 210 | +7628: name: /Length | ||
| 211 | +7635: space: | ||
| 212 | +7636: integer: 46 | ||
| 213 | +7638: space: | ||
| 214 | +7639: integer: 0 | ||
| 215 | +7640: space: | ||
| 216 | +7641: word: R | ||
| 217 | +7642: space: \x0a | ||
| 218 | +7643: dict_close: >> | ||
| 219 | +7645: space: \x0a | ||
| 220 | +7646: word: stream | ||
| 221 | skipping to endstream | 221 | skipping to endstream |
| 222 | -7666: word: endstream | ||
| 223 | -7675: space: \x0a | ||
| 224 | -7676: word: endobj | ||
| 225 | -7682: space: \x0a | ||
| 226 | -7683: comment: %QDF: ignore_newline | ||
| 227 | -7703: space: \x0a\x0a | ||
| 228 | -7705: integer: 46 | ||
| 229 | -7707: space: | ||
| 230 | -7708: integer: 0 | ||
| 231 | -7709: space: | ||
| 232 | -7710: word: obj | ||
| 233 | -7713: space: \x0a | ||
| 234 | -7714: integer: 67 | ||
| 235 | -7716: space: \x0a | ||
| 236 | -7717: word: endobj | ||
| 237 | -7723: space: \x0a\x0a | ||
| 238 | -7725: comment: %% Contents for page 6 | ||
| 239 | -7747: space: \x0a | ||
| 240 | -7748: comment: %% Original object ID: 42 0 | ||
| 241 | -7775: space: \x0a | ||
| 242 | -7776: integer: 47 | ||
| 243 | -7778: space: | ||
| 244 | -7779: integer: 0 | ||
| 245 | -7780: space: | ||
| 246 | -7781: word: obj | ||
| 247 | -7784: space: \x0a | ||
| 248 | -7785: dict_open: << | ||
| 249 | -7787: space: \x0a | ||
| 250 | -7790: name: /Length | ||
| 251 | -7797: space: | ||
| 252 | -7798: integer: 48 | ||
| 253 | -7800: space: | ||
| 254 | -7801: integer: 0 | ||
| 255 | -7802: space: | ||
| 256 | -7803: word: R | ||
| 257 | -7804: space: \x0a | ||
| 258 | -7805: dict_close: >> | ||
| 259 | -7807: space: \x0a | ||
| 260 | -7808: word: stream | 222 | +7721: word: endstream |
| 223 | +7730: space: \x0a | ||
| 224 | +7731: word: endobj | ||
| 225 | +7737: space: \x0a | ||
| 226 | +7738: comment: %QDF: ignore_newline | ||
| 227 | +7758: space: \x0a\x0a | ||
| 228 | +7760: integer: 46 | ||
| 229 | +7762: space: | ||
| 230 | +7763: integer: 0 | ||
| 231 | +7764: space: | ||
| 232 | +7765: word: obj | ||
| 233 | +7768: space: \x0a | ||
| 234 | +7769: integer: 67 | ||
| 235 | +7771: space: \x0a | ||
| 236 | +7772: word: endobj | ||
| 237 | +7778: space: \x0a\x0a | ||
| 238 | +7780: comment: %% Contents for page 6 | ||
| 239 | +7802: space: \x0a | ||
| 240 | +7803: comment: %% Original object ID: 42 0 | ||
| 241 | +7830: space: \x0a | ||
| 242 | +7831: integer: 47 | ||
| 243 | +7833: space: | ||
| 244 | +7834: integer: 0 | ||
| 245 | +7835: space: | ||
| 246 | +7836: word: obj | ||
| 247 | +7839: space: \x0a | ||
| 248 | +7840: dict_open: << | ||
| 249 | +7842: space: \x0a | ||
| 250 | +7845: name: /Length | ||
| 251 | +7852: space: | ||
| 252 | +7853: integer: 48 | ||
| 253 | +7855: space: | ||
| 254 | +7856: integer: 0 | ||
| 255 | +7857: space: | ||
| 256 | +7858: word: R | ||
| 257 | +7859: space: \x0a | ||
| 258 | +7860: dict_close: >> | ||
| 259 | +7862: space: \x0a | ||
| 260 | +7863: word: stream | ||
| 261 | skipping to endstream | 261 | skipping to endstream |
| 262 | -7859: word: endstream | ||
| 263 | -7868: space: \x0a | ||
| 264 | -7869: word: endobj | ||
| 265 | -7875: space: \x0a\x0a | ||
| 266 | -7877: integer: 48 | ||
| 267 | -7879: space: | ||
| 268 | -7880: integer: 0 | ||
| 269 | -7881: space: | ||
| 270 | -7882: word: obj | ||
| 271 | -7885: space: \x0a | ||
| 272 | -7886: integer: 44 | ||
| 273 | -7888: space: \x0a | ||
| 274 | -7889: word: endobj | ||
| 275 | -7895: space: \x0a\x0a | ||
| 276 | -7897: comment: %% Contents for page 7 | ||
| 277 | -7919: space: \x0a | ||
| 278 | -7920: comment: %% Original object ID: 43 0 | ||
| 279 | -7947: space: \x0a | ||
| 280 | -7948: integer: 49 | ||
| 281 | -7950: space: | ||
| 282 | -7951: integer: 0 | ||
| 283 | -7952: space: | ||
| 284 | -7953: word: obj | ||
| 285 | -7956: space: \x0a | ||
| 286 | -7957: dict_open: << | ||
| 287 | -7959: space: \x0a | ||
| 288 | -7962: name: /Length | ||
| 289 | -7969: space: | ||
| 290 | -7970: integer: 50 | ||
| 291 | -7972: space: | ||
| 292 | -7973: integer: 0 | ||
| 293 | -7974: space: | ||
| 294 | -7975: word: R | ||
| 295 | -7976: space: \x0a | ||
| 296 | -7977: dict_close: >> | ||
| 297 | -7979: space: \x0a | ||
| 298 | -7980: word: stream | 262 | +7914: word: endstream |
| 263 | +7923: space: \x0a | ||
| 264 | +7924: word: endobj | ||
| 265 | +7930: space: \x0a\x0a | ||
| 266 | +7932: integer: 48 | ||
| 267 | +7934: space: | ||
| 268 | +7935: integer: 0 | ||
| 269 | +7936: space: | ||
| 270 | +7937: word: obj | ||
| 271 | +7940: space: \x0a | ||
| 272 | +7941: integer: 44 | ||
| 273 | +7943: space: \x0a | ||
| 274 | +7944: word: endobj | ||
| 275 | +7950: space: \x0a\x0a | ||
| 276 | +7952: comment: %% Contents for page 7 | ||
| 277 | +7974: space: \x0a | ||
| 278 | +7975: comment: %% Original object ID: 43 0 | ||
| 279 | +8002: space: \x0a | ||
| 280 | +8003: integer: 49 | ||
| 281 | +8005: space: | ||
| 282 | +8006: integer: 0 | ||
| 283 | +8007: space: | ||
| 284 | +8008: word: obj | ||
| 285 | +8011: space: \x0a | ||
| 286 | +8012: dict_open: << | ||
| 287 | +8014: space: \x0a | ||
| 288 | +8017: name: /Length | ||
| 289 | +8024: space: | ||
| 290 | +8025: integer: 50 | ||
| 291 | +8027: space: | ||
| 292 | +8028: integer: 0 | ||
| 293 | +8029: space: | ||
| 294 | +8030: word: R | ||
| 295 | +8031: space: \x0a | ||
| 296 | +8032: dict_close: >> | ||
| 297 | +8034: space: \x0a | ||
| 298 | +8035: word: stream | ||
| 299 | skipping to endstream | 299 | skipping to endstream |
| 300 | -8306: word: endstream | ||
| 301 | -8315: space: \x0a | ||
| 302 | -8316: word: endobj | ||
| 303 | -8322: space: \x0a | ||
| 304 | -8323: comment: %QDF: ignore_newline | ||
| 305 | -8343: space: \x0a\x0a | ||
| 306 | -8345: integer: 50 | ||
| 307 | -8347: space: | ||
| 308 | -8348: integer: 0 | ||
| 309 | -8349: space: | ||
| 310 | -8350: word: obj | ||
| 311 | -8353: space: \x0a | ||
| 312 | -8354: integer: 318 | ||
| 313 | -8357: space: \x0a | ||
| 314 | -8358: word: endobj | ||
| 315 | -8364: space: \x0a\x0a | ||
| 316 | -8366: comment: %% Contents for page 8 | ||
| 317 | -8388: space: \x0a | ||
| 318 | -8389: comment: %% Original object ID: 44 0 | ||
| 319 | -8416: space: \x0a | ||
| 320 | -8417: integer: 51 | ||
| 321 | -8419: space: | ||
| 322 | -8420: integer: 0 | ||
| 323 | -8421: space: | ||
| 324 | -8422: word: obj | ||
| 325 | -8425: space: \x0a | ||
| 326 | -8426: dict_open: << | ||
| 327 | -8428: space: \x0a | ||
| 328 | -8431: name: /Length | ||
| 329 | -8438: space: | ||
| 330 | -8439: integer: 52 | ||
| 331 | -8441: space: | ||
| 332 | -8442: integer: 0 | ||
| 333 | -8443: space: | ||
| 334 | -8444: word: R | ||
| 335 | -8445: space: \x0a | ||
| 336 | -8446: dict_close: >> | ||
| 337 | -8448: space: \x0a | ||
| 338 | -8449: word: stream | 300 | +8361: word: endstream |
| 301 | +8370: space: \x0a | ||
| 302 | +8371: word: endobj | ||
| 303 | +8377: space: \x0a | ||
| 304 | +8378: comment: %QDF: ignore_newline | ||
| 305 | +8398: space: \x0a\x0a | ||
| 306 | +8400: integer: 50 | ||
| 307 | +8402: space: | ||
| 308 | +8403: integer: 0 | ||
| 309 | +8404: space: | ||
| 310 | +8405: word: obj | ||
| 311 | +8408: space: \x0a | ||
| 312 | +8409: integer: 318 | ||
| 313 | +8412: space: \x0a | ||
| 314 | +8413: word: endobj | ||
| 315 | +8419: space: \x0a\x0a | ||
| 316 | +8421: comment: %% Contents for page 8 | ||
| 317 | +8443: space: \x0a | ||
| 318 | +8444: comment: %% Original object ID: 44 0 | ||
| 319 | +8471: space: \x0a | ||
| 320 | +8472: integer: 51 | ||
| 321 | +8474: space: | ||
| 322 | +8475: integer: 0 | ||
| 323 | +8476: space: | ||
| 324 | +8477: word: obj | ||
| 325 | +8480: space: \x0a | ||
| 326 | +8481: dict_open: << | ||
| 327 | +8483: space: \x0a | ||
| 328 | +8486: name: /Length | ||
| 329 | +8493: space: | ||
| 330 | +8494: integer: 52 | ||
| 331 | +8496: space: | ||
| 332 | +8497: integer: 0 | ||
| 333 | +8498: space: | ||
| 334 | +8499: word: R | ||
| 335 | +8500: space: \x0a | ||
| 336 | +8501: dict_close: >> | ||
| 337 | +8503: space: \x0a | ||
| 338 | +8504: word: stream | ||
| 339 | skipping to endstream | 339 | skipping to endstream |
| 340 | -8500: word: endstream | ||
| 341 | -8509: space: \x0a | ||
| 342 | -8510: word: endobj | ||
| 343 | -8516: space: \x0a\x0a | ||
| 344 | -8518: integer: 52 | ||
| 345 | -8520: space: | ||
| 346 | -8521: integer: 0 | ||
| 347 | -8522: space: | ||
| 348 | -8523: word: obj | ||
| 349 | -8526: space: \x0a | ||
| 350 | -8527: integer: 44 | ||
| 351 | -8529: space: \x0a | ||
| 352 | -8530: word: endobj | ||
| 353 | -8536: space: \x0a\x0a | ||
| 354 | -8538: comment: %% Contents for page 9 | ||
| 355 | -8560: space: \x0a | ||
| 356 | -8561: comment: %% Original object ID: 45 0 | ||
| 357 | -8588: space: \x0a | ||
| 358 | -8589: integer: 53 | ||
| 359 | -8591: space: | ||
| 360 | -8592: integer: 0 | ||
| 361 | -8593: space: | ||
| 362 | -8594: word: obj | ||
| 363 | -8597: space: \x0a | ||
| 364 | -8598: dict_open: << | ||
| 365 | -8600: space: \x0a | ||
| 366 | -8603: name: /Length | ||
| 367 | -8610: space: | ||
| 368 | -8611: integer: 54 | ||
| 369 | -8613: space: | ||
| 370 | -8614: integer: 0 | ||
| 371 | -8615: space: | ||
| 372 | -8616: word: R | ||
| 373 | -8617: space: \x0a | ||
| 374 | -8618: dict_close: >> | ||
| 375 | -8620: space: \x0a | ||
| 376 | -8621: word: stream | 340 | +8555: word: endstream |
| 341 | +8564: space: \x0a | ||
| 342 | +8565: word: endobj | ||
| 343 | +8571: space: \x0a\x0a | ||
| 344 | +8573: integer: 52 | ||
| 345 | +8575: space: | ||
| 346 | +8576: integer: 0 | ||
| 347 | +8577: space: | ||
| 348 | +8578: word: obj | ||
| 349 | +8581: space: \x0a | ||
| 350 | +8582: integer: 44 | ||
| 351 | +8584: space: \x0a | ||
| 352 | +8585: word: endobj | ||
| 353 | +8591: space: \x0a\x0a | ||
| 354 | +8593: comment: %% Contents for page 9 | ||
| 355 | +8615: space: \x0a | ||
| 356 | +8616: comment: %% Original object ID: 45 0 | ||
| 357 | +8643: space: \x0a | ||
| 358 | +8644: integer: 53 | ||
| 359 | +8646: space: | ||
| 360 | +8647: integer: 0 | ||
| 361 | +8648: space: | ||
| 362 | +8649: word: obj | ||
| 363 | +8652: space: \x0a | ||
| 364 | +8653: dict_open: << | ||
| 365 | +8655: space: \x0a | ||
| 366 | +8658: name: /Length | ||
| 367 | +8665: space: | ||
| 368 | +8666: integer: 54 | ||
| 369 | +8668: space: | ||
| 370 | +8669: integer: 0 | ||
| 371 | +8670: space: | ||
| 372 | +8671: word: R | ||
| 373 | +8672: space: \x0a | ||
| 374 | +8673: dict_close: >> | ||
| 375 | +8675: space: \x0a | ||
| 376 | +8676: word: stream | ||
| 377 | skipping to endstream | 377 | skipping to endstream |
| 378 | -8672: word: endstream | ||
| 379 | -8681: space: \x0a | ||
| 380 | -8682: word: endobj | ||
| 381 | -8688: space: \x0a\x0a | ||
| 382 | -8690: integer: 54 | ||
| 383 | -8692: space: | ||
| 384 | -8693: integer: 0 | ||
| 385 | -8694: space: | ||
| 386 | -8695: word: obj | ||
| 387 | -8698: space: \x0a | ||
| 388 | -8699: integer: 44 | ||
| 389 | -8701: space: \x0a | ||
| 390 | -8702: word: endobj | ||
| 391 | -8708: space: \x0a\x0a | ||
| 392 | -8710: comment: %% Contents for page 10 | ||
| 393 | -8733: space: \x0a | ||
| 394 | -8734: comment: %% Original object ID: 46 0 | ||
| 395 | -8761: space: \x0a | ||
| 396 | -8762: integer: 55 | ||
| 397 | -8764: space: | ||
| 398 | -8765: integer: 0 | ||
| 399 | -8766: space: | ||
| 400 | -8767: word: obj | ||
| 401 | -8770: space: \x0a | ||
| 402 | -8771: dict_open: << | ||
| 403 | -8773: space: \x0a | ||
| 404 | -8776: name: /Length | ||
| 405 | -8783: space: | ||
| 406 | -8784: integer: 56 | ||
| 407 | -8786: space: | ||
| 408 | -8787: integer: 0 | ||
| 409 | -8788: space: | ||
| 410 | -8789: word: R | ||
| 411 | -8790: space: \x0a | ||
| 412 | -8791: dict_close: >> | ||
| 413 | -8793: space: \x0a | ||
| 414 | -8794: word: stream | 378 | +8727: word: endstream |
| 379 | +8736: space: \x0a | ||
| 380 | +8737: word: endobj | ||
| 381 | +8743: space: \x0a\x0a | ||
| 382 | +8745: integer: 54 | ||
| 383 | +8747: space: | ||
| 384 | +8748: integer: 0 | ||
| 385 | +8749: space: | ||
| 386 | +8750: word: obj | ||
| 387 | +8753: space: \x0a | ||
| 388 | +8754: integer: 44 | ||
| 389 | +8756: space: \x0a | ||
| 390 | +8757: word: endobj | ||
| 391 | +8763: space: \x0a\x0a | ||
| 392 | +8765: comment: %% Contents for page 10 | ||
| 393 | +8788: space: \x0a | ||
| 394 | +8789: comment: %% Original object ID: 46 0 | ||
| 395 | +8816: space: \x0a | ||
| 396 | +8817: integer: 55 | ||
| 397 | +8819: space: | ||
| 398 | +8820: integer: 0 | ||
| 399 | +8821: space: | ||
| 400 | +8822: word: obj | ||
| 401 | +8825: space: \x0a | ||
| 402 | +8826: dict_open: << | ||
| 403 | +8828: space: \x0a | ||
| 404 | +8831: name: /Length | ||
| 405 | +8838: space: | ||
| 406 | +8839: integer: 56 | ||
| 407 | +8841: space: | ||
| 408 | +8842: integer: 0 | ||
| 409 | +8843: space: | ||
| 410 | +8844: word: R | ||
| 411 | +8845: space: \x0a | ||
| 412 | +8846: dict_close: >> | ||
| 413 | +8848: space: \x0a | ||
| 414 | +8849: word: stream | ||
| 415 | skipping to endstream | 415 | skipping to endstream |
| 416 | -8845: word: endstream | ||
| 417 | -8854: space: \x0a | ||
| 418 | -8855: word: endobj | ||
| 419 | -8861: space: \x0a\x0a | ||
| 420 | -8863: integer: 56 | ||
| 421 | -8865: space: | ||
| 422 | -8866: integer: 0 | ||
| 423 | -8867: space: | ||
| 424 | -8868: word: obj | ||
| 425 | -8871: space: \x0a | ||
| 426 | -8872: integer: 44 | ||
| 427 | -8874: space: \x0a | ||
| 428 | -8875: word: endobj | ||
| 429 | -8881: space: \x0a\x0a | ||
| 430 | -8883: comment: %% Contents for page 11 | ||
| 431 | -8906: space: \x0a | ||
| 432 | -8907: comment: %% Original object ID: 47 0 | ||
| 433 | -8934: space: \x0a | ||
| 434 | -8935: integer: 57 | ||
| 435 | -8937: space: | ||
| 436 | -8938: integer: 0 | ||
| 437 | -8939: space: | ||
| 438 | -8940: word: obj | ||
| 439 | -8943: space: \x0a | ||
| 440 | -8944: dict_open: << | ||
| 441 | -8946: space: \x0a | ||
| 442 | -8949: name: /Length | ||
| 443 | -8956: space: | ||
| 444 | -8957: integer: 58 | ||
| 445 | -8959: space: | ||
| 446 | -8960: integer: 0 | ||
| 447 | -8961: space: | ||
| 448 | -8962: word: R | ||
| 449 | -8963: space: \x0a | ||
| 450 | -8964: dict_close: >> | ||
| 451 | -8966: space: \x0a | ||
| 452 | -8967: word: stream | 416 | +8900: word: endstream |
| 417 | +8909: space: \x0a | ||
| 418 | +8910: word: endobj | ||
| 419 | +8916: space: \x0a\x0a | ||
| 420 | +8918: integer: 56 | ||
| 421 | +8920: space: | ||
| 422 | +8921: integer: 0 | ||
| 423 | +8922: space: | ||
| 424 | +8923: word: obj | ||
| 425 | +8926: space: \x0a | ||
| 426 | +8927: integer: 44 | ||
| 427 | +8929: space: \x0a | ||
| 428 | +8930: word: endobj | ||
| 429 | +8936: space: \x0a\x0a | ||
| 430 | +8938: comment: %% Contents for page 11 | ||
| 431 | +8961: space: \x0a | ||
| 432 | +8962: comment: %% Original object ID: 47 0 | ||
| 433 | +8989: space: \x0a | ||
| 434 | +8990: integer: 57 | ||
| 435 | +8992: space: | ||
| 436 | +8993: integer: 0 | ||
| 437 | +8994: space: | ||
| 438 | +8995: word: obj | ||
| 439 | +8998: space: \x0a | ||
| 440 | +8999: dict_open: << | ||
| 441 | +9001: space: \x0a | ||
| 442 | +9004: name: /Length | ||
| 443 | +9011: space: | ||
| 444 | +9012: integer: 58 | ||
| 445 | +9014: space: | ||
| 446 | +9015: integer: 0 | ||
| 447 | +9016: space: | ||
| 448 | +9017: word: R | ||
| 449 | +9018: space: \x0a | ||
| 450 | +9019: dict_close: >> | ||
| 451 | +9021: space: \x0a | ||
| 452 | +9022: word: stream | ||
| 453 | skipping to endstream | 453 | skipping to endstream |
| 454 | -9018: word: endstream | ||
| 455 | -9027: space: \x0a | ||
| 456 | -9028: word: endobj | ||
| 457 | -9034: space: \x0a\x0a | ||
| 458 | -9036: integer: 58 | ||
| 459 | -9038: space: | ||
| 460 | -9039: integer: 0 | ||
| 461 | -9040: space: | ||
| 462 | -9041: word: obj | ||
| 463 | -9044: space: \x0a | ||
| 464 | -9045: integer: 44 | ||
| 465 | -9047: space: \x0a | ||
| 466 | -9048: word: endobj | ||
| 467 | -9054: space: \x0a\x0a | ||
| 468 | -9056: integer: 59 | ||
| 469 | -9058: space: | ||
| 470 | -9059: integer: 0 | ||
| 471 | -9060: space: | ||
| 472 | -9061: word: obj | ||
| 473 | -9064: space: \x0a | ||
| 474 | -9065: dict_open: << | ||
| 475 | -9067: space: \x0a | ||
| 476 | -9070: name: /Type | ||
| 477 | -9075: space: | ||
| 478 | -9076: name: /XRef | ||
| 479 | -9081: space: \x0a | ||
| 480 | -9084: name: /Length | ||
| 481 | -9091: space: | ||
| 482 | -9092: integer: 240 | ||
| 483 | -9095: space: \x0a | ||
| 484 | -9098: name: /W | ||
| 485 | -9100: space: | ||
| 486 | -9101: array_open: [ | ||
| 487 | -9102: space: | ||
| 488 | -9103: integer: 1 | ||
| 489 | -9104: space: | ||
| 490 | -9105: integer: 2 | ||
| 491 | -9106: space: | ||
| 492 | -9107: integer: 1 | ||
| 493 | -9108: space: | ||
| 494 | -9109: array_close: ] | ||
| 495 | -9110: space: \x0a | ||
| 496 | -9113: name: /Root | ||
| 497 | -9118: space: | ||
| 498 | -9119: integer: 2 | ||
| 499 | -9120: space: | ||
| 500 | -9121: integer: 0 | ||
| 501 | -9122: space: | ||
| 502 | -9123: word: R | ||
| 503 | -9124: space: \x0a | ||
| 504 | -9127: name: /Size | ||
| 505 | -9132: space: | ||
| 506 | -9133: integer: 60 | ||
| 507 | -9135: space: \x0a | ||
| 508 | -9138: name: /ID | ||
| 509 | -9141: space: | ||
| 510 | -9142: array_open: [ | ||
| 511 | -9143: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>) | ||
| 512 | -9177: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>) | ||
| 513 | -9211: array_close: ] | ||
| 514 | -9212: space: \x0a | ||
| 515 | -9213: dict_close: >> | ||
| 516 | -9215: space: \x0a | ||
| 517 | -9216: word: stream | 454 | +9073: word: endstream |
| 455 | +9082: space: \x0a | ||
| 456 | +9083: word: endobj | ||
| 457 | +9089: space: \x0a\x0a | ||
| 458 | +9091: integer: 58 | ||
| 459 | +9093: space: | ||
| 460 | +9094: integer: 0 | ||
| 461 | +9095: space: | ||
| 462 | +9096: word: obj | ||
| 463 | +9099: space: \x0a | ||
| 464 | +9100: integer: 44 | ||
| 465 | +9102: space: \x0a | ||
| 466 | +9103: word: endobj | ||
| 467 | +9109: space: \x0a\x0a | ||
| 468 | +9111: integer: 59 | ||
| 469 | +9113: space: | ||
| 470 | +9114: integer: 0 | ||
| 471 | +9115: space: | ||
| 472 | +9116: word: obj | ||
| 473 | +9119: space: \x0a | ||
| 474 | +9120: dict_open: << | ||
| 475 | +9122: space: \x0a | ||
| 476 | +9125: name: /Type | ||
| 477 | +9130: space: | ||
| 478 | +9131: name: /XRef | ||
| 479 | +9136: space: \x0a | ||
| 480 | +9139: name: /Length | ||
| 481 | +9146: space: | ||
| 482 | +9147: integer: 240 | ||
| 483 | +9150: space: \x0a | ||
| 484 | +9153: name: /W | ||
| 485 | +9155: space: | ||
| 486 | +9156: array_open: [ | ||
| 487 | +9157: space: | ||
| 488 | +9158: integer: 1 | ||
| 489 | +9159: space: | ||
| 490 | +9160: integer: 2 | ||
| 491 | +9161: space: | ||
| 492 | +9162: integer: 1 | ||
| 493 | +9163: space: | ||
| 494 | +9164: array_close: ] | ||
| 495 | +9165: space: \x0a | ||
| 496 | +9168: name: /Root | ||
| 497 | +9173: space: | ||
| 498 | +9174: integer: 2 | ||
| 499 | +9175: space: | ||
| 500 | +9176: integer: 0 | ||
| 501 | +9177: space: | ||
| 502 | +9178: word: R | ||
| 503 | +9179: space: \x0a | ||
| 504 | +9182: name: /Size | ||
| 505 | +9187: space: | ||
| 506 | +9188: integer: 60 | ||
| 507 | +9190: space: \x0a | ||
| 508 | +9193: name: /ID | ||
| 509 | +9196: space: | ||
| 510 | +9197: array_open: [ | ||
| 511 | +9198: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>) | ||
| 512 | +9232: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>) | ||
| 513 | +9266: array_close: ] | ||
| 514 | +9267: space: \x0a | ||
| 515 | +9268: dict_close: >> | ||
| 516 | +9270: space: \x0a | ||
| 517 | +9271: word: stream | ||
| 518 | skipping to endstream | 518 | skipping to endstream |
| 519 | -9464: word: endstream | ||
| 520 | -9473: space: \x0a | ||
| 521 | -9474: word: endobj | ||
| 522 | -9480: space: \x0a\x0a | ||
| 523 | -9482: word: startxref | ||
| 524 | -9491: space: \x0a | ||
| 525 | -9492: integer: 9056 | ||
| 526 | -9496: space: \x0a | ||
| 527 | -9497: comment: %%EOF | ||
| 528 | -9502: space: \x0a | ||
| 529 | -9503: eof | 519 | +9519: word: endstream |
| 520 | +9528: space: \x0a | ||
| 521 | +9529: word: endobj | ||
| 522 | +9535: space: \x0a\x0a | ||
| 523 | +9537: word: startxref | ||
| 524 | +9546: space: \x0a | ||
| 525 | +9547: integer: 9111 | ||
| 526 | +9551: space: \x0a | ||
| 527 | +9552: comment: %%EOF | ||
| 528 | +9557: space: \x0a | ||
| 529 | +9558: eof | ||
| 530 | --- END FILE --- | 530 | --- END FILE --- |
| 531 | --- BEGIN PAGE 1 --- | 531 | --- BEGIN PAGE 1 --- |
| 532 | 0: word: BT | 532 | 0: word: BT |
| @@ -669,69 +669,73 @@ skipping to endstream | @@ -669,69 +669,73 @@ skipping to endstream | ||
| 669 | 117: space: \x0a | 669 | 117: space: \x0a |
| 670 | 120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) | 670 | 120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack)) |
| 671 | 135: space: \x0a | 671 | 135: space: \x0a |
| 672 | -138: integer: 72 | ||
| 673 | -140: space: | ||
| 674 | -141: integer: 720 | ||
| 675 | -144: space: | ||
| 676 | -145: word: Td | ||
| 677 | -147: space: \x0a | ||
| 678 | -150: real: 3.14 | ||
| 679 | -154: space: \x0a | ||
| 680 | -157: real: 3. | ||
| 681 | -159: space: \x0a | ||
| 682 | -162: real: .14 | ||
| 683 | -165: space: \x0a | ||
| 684 | -168: real: +3.14 | ||
| 685 | -173: space: \x0a | ||
| 686 | -176: real: +3. | ||
| 687 | -179: space: \x0a | ||
| 688 | -182: real: +.14 | ||
| 689 | -186: space: \x0a | ||
| 690 | -189: real: -3.14 | ||
| 691 | -194: space: \x0a | ||
| 692 | -197: real: -3. | ||
| 693 | -200: space: \x0a | ||
| 694 | -203: real: -.14 | ||
| 695 | -207: space: \x0a | ||
| 696 | -210: integer: +16059 | ||
| 697 | -216: space: \x0a | ||
| 698 | -219: integer: -16059 | ||
| 699 | -225: space: \x0a | ||
| 700 | -228: word: +. | ||
| 701 | -230: space: \x0a | ||
| 702 | -233: bad: <fade\x0aET (invalid character (T) in hexstring) | ||
| 703 | -241: space: \x0a | ||
| 704 | -242: bad: ) (unexpected )) | ||
| 705 | -243: bad: > (unexpected >) | ||
| 706 | -244: word: quack | ||
| 707 | -249: space: | ||
| 708 | -250: name: /name\x00oops (raw: /name#oops) (name with stray # will not work with PDF >= 1.2) | ||
| 709 | -260: space: | ||
| 710 | -261: name: /name (raw: /n#61me) | ||
| 711 | -268: space: | ||
| 712 | -269: word: one | ||
| 713 | -272: space: | ||
| 714 | -273: bool: true | ||
| 715 | -277: space: | ||
| 716 | -278: word: two | ||
| 717 | -281: space: | ||
| 718 | -282: bool: false | ||
| 719 | -287: space: | ||
| 720 | -288: word: three | ||
| 721 | -293: space: | ||
| 722 | -294: null: null | ||
| 723 | -298: space: | ||
| 724 | -299: word: four | ||
| 725 | -303: space: \x0a | ||
| 726 | -304: word: !@#$^& | ||
| 727 | -310: brace_open: { | ||
| 728 | -311: brace_close: } | ||
| 729 | -312: word: *-_+= | ||
| 730 | -317: space: \x0a | ||
| 731 | -318: word: abc123def3.14true | ||
| 732 | -335: space: \x0a | ||
| 733 | -336: bad: <ff\x0a (EOF while reading token) | ||
| 734 | -340: eof | 672 | +138: string: \x048!8Q\x04!Q\x04 (raw: (\48\418\121\4\41\121\4)) |
| 673 | +162: space: \x0a | ||
| 674 | +165: string: \x048!8Q\x04!Q! (raw: (\48\418\121\4\41\121\41)) | ||
| 675 | +190: space: \x0a | ||
| 676 | +193: integer: 72 | ||
| 677 | +195: space: | ||
| 678 | +196: integer: 720 | ||
| 679 | +199: space: | ||
| 680 | +200: word: Td | ||
| 681 | +202: space: \x0a | ||
| 682 | +205: real: 3.14 | ||
| 683 | +209: space: \x0a | ||
| 684 | +212: real: 3. | ||
| 685 | +214: space: \x0a | ||
| 686 | +217: real: .14 | ||
| 687 | +220: space: \x0a | ||
| 688 | +223: real: +3.14 | ||
| 689 | +228: space: \x0a | ||
| 690 | +231: real: +3. | ||
| 691 | +234: space: \x0a | ||
| 692 | +237: real: +.14 | ||
| 693 | +241: space: \x0a | ||
| 694 | +244: real: -3.14 | ||
| 695 | +249: space: \x0a | ||
| 696 | +252: real: -3. | ||
| 697 | +255: space: \x0a | ||
| 698 | +258: real: -.14 | ||
| 699 | +262: space: \x0a | ||
| 700 | +265: integer: +16059 | ||
| 701 | +271: space: \x0a | ||
| 702 | +274: integer: -16059 | ||
| 703 | +280: space: \x0a | ||
| 704 | +283: word: +. | ||
| 705 | +285: space: \x0a | ||
| 706 | +288: bad: <fade\x0aET (invalid character (T) in hexstring) | ||
| 707 | +296: space: \x0a | ||
| 708 | +297: bad: ) (unexpected )) | ||
| 709 | +298: bad: > (unexpected >) | ||
| 710 | +299: word: quack | ||
| 711 | +304: space: | ||
| 712 | +305: name: /name\x00oops (raw: /name#oops) (name with stray # will not work with PDF >= 1.2) | ||
| 713 | +315: space: | ||
| 714 | +316: name: /name (raw: /n#61me) | ||
| 715 | +323: space: | ||
| 716 | +324: word: one | ||
| 717 | +327: space: | ||
| 718 | +328: bool: true | ||
| 719 | +332: space: | ||
| 720 | +333: word: two | ||
| 721 | +336: space: | ||
| 722 | +337: bool: false | ||
| 723 | +342: space: | ||
| 724 | +343: word: three | ||
| 725 | +348: space: | ||
| 726 | +349: null: null | ||
| 727 | +353: space: | ||
| 728 | +354: word: four | ||
| 729 | +358: space: \x0a | ||
| 730 | +359: word: !@#$^& | ||
| 731 | +365: brace_open: { | ||
| 732 | +366: brace_close: } | ||
| 733 | +367: word: *-_+= | ||
| 734 | +372: space: \x0a | ||
| 735 | +373: word: abc123def3.14true | ||
| 736 | +390: space: \x0a | ||
| 737 | +391: bad: <ff\x0a (EOF while reading token) | ||
| 738 | +395: eof | ||
| 735 | --- END PAGE 4 --- | 739 | --- END PAGE 4 --- |
| 736 | --- BEGIN PAGE 5 --- | 740 | --- BEGIN PAGE 5 --- |
| 737 | 0: word: BT | 741 | 0: word: BT |
qpdf/qtest/qpdf/tokens.pdf
No preview for this file type
qpdf/qtest/tokenizer.test
| @@ -14,7 +14,7 @@ cleanup(); | @@ -14,7 +14,7 @@ cleanup(); | ||
| 14 | 14 | ||
| 15 | my $td = new TestDriver('tokenizer'); | 15 | my $td = new TestDriver('tokenizer'); |
| 16 | 16 | ||
| 17 | -my $n_tests = 4; | 17 | +my $n_tests = 5; |
| 18 | 18 | ||
| 19 | $td->runtest("tokenizer with no ignorable", | 19 | $td->runtest("tokenizer with no ignorable", |
| 20 | {$td->COMMAND => "test_tokenizer -no-ignorable tokens.pdf"}, | 20 | {$td->COMMAND => "test_tokenizer -no-ignorable tokens.pdf"}, |
| @@ -38,5 +38,11 @@ $td->runtest("ignore bad token", | @@ -38,5 +38,11 @@ $td->runtest("ignore bad token", | ||
| 38 | $td->EXIT_STATUS => 0}, | 38 | $td->EXIT_STATUS => 0}, |
| 39 | $td->NORMALIZE_NEWLINES); | 39 | $td->NORMALIZE_NEWLINES); |
| 40 | 40 | ||
| 41 | +$td->runtest("quoted char edge cases", | ||
| 42 | + {$td->COMMAND => "test_driver 96 -"}, | ||
| 43 | + {$td->STRING => "test 96 done\n", | ||
| 44 | + $td->EXIT_STATUS => 0}, | ||
| 45 | + $td->NORMALIZE_NEWLINES); | ||
| 46 | + | ||
| 41 | cleanup(); | 47 | cleanup(); |
| 42 | $td->report($n_tests); | 48 | $td->report($n_tests); |
qpdf/test_driver.cc
| @@ -3341,6 +3341,17 @@ test_95(QPDF& pdf, char const* arg2) | @@ -3341,6 +3341,17 @@ test_95(QPDF& pdf, char const* arg2) | ||
| 3341 | assert(!oh_d.isScalar()); | 3341 | assert(!oh_d.isScalar()); |
| 3342 | } | 3342 | } |
| 3343 | 3343 | ||
| 3344 | +static void | ||
| 3345 | +test_96(QPDF& pdf, char const* arg2) | ||
| 3346 | +{ | ||
| 3347 | + // Test edge cases with quoted characters | ||
| 3348 | + | ||
| 3349 | + auto s = R"((\48\418\121\4))"_qpdf; | ||
| 3350 | + assert(s.unparseBinary() == "<043821385104>"); | ||
| 3351 | + s = R"((\48\418\121\41))"_qpdf; | ||
| 3352 | + assert(s.unparseBinary() == "<043821385121>"); | ||
| 3353 | +} | ||
| 3354 | + | ||
| 3344 | void | 3355 | void |
| 3345 | runtest(int n, char const* filename1, char const* arg2) | 3356 | runtest(int n, char const* filename1, char const* arg2) |
| 3346 | { | 3357 | { |
| @@ -3348,7 +3359,7 @@ runtest(int n, char const* filename1, char const* arg2) | @@ -3348,7 +3359,7 @@ runtest(int n, char const* filename1, char const* arg2) | ||
| 3348 | // the test suite to see how the test is invoked to find the file | 3359 | // the test suite to see how the test is invoked to find the file |
| 3349 | // that the test is supposed to operate on. | 3360 | // that the test is supposed to operate on. |
| 3350 | 3361 | ||
| 3351 | - std::set<int> ignore_filename = {61, 81, 83, 84, 85, 86, 87, 92, 95}; | 3362 | + std::set<int> ignore_filename = {61, 81, 83, 84, 85, 86, 87, 92, 95, 96}; |
| 3352 | 3363 | ||
| 3353 | if (n == 0) { | 3364 | if (n == 0) { |
| 3354 | // Throw in some random test cases that don't fit anywhere | 3365 | // Throw in some random test cases that don't fit anywhere |
| @@ -3441,7 +3452,8 @@ runtest(int n, char const* filename1, char const* arg2) | @@ -3441,7 +3452,8 @@ runtest(int n, char const* filename1, char const* arg2) | ||
| 3441 | {72, test_72}, {73, test_73}, {74, test_74}, {75, test_75}, {76, test_76}, {77, test_77}, | 3452 | {72, test_72}, {73, test_73}, {74, test_74}, {75, test_75}, {76, test_76}, {77, test_77}, |
| 3442 | {78, test_78}, {79, test_79}, {80, test_80}, {81, test_81}, {82, test_82}, {83, test_83}, | 3453 | {78, test_78}, {79, test_79}, {80, test_80}, {81, test_81}, {82, test_82}, {83, test_83}, |
| 3443 | {84, test_84}, {85, test_85}, {86, test_86}, {87, test_87}, {88, test_88}, {89, test_89}, | 3454 | {84, test_84}, {85, test_85}, {86, test_86}, {87, test_87}, {88, test_88}, {89, test_89}, |
| 3444 | - {90, test_90}, {91, test_91}, {92, test_92}, {93, test_93}, {94, test_94}, {95, test_95}}; | 3455 | + {90, test_90}, {91, test_91}, {92, test_92}, {93, test_93}, {94, test_94}, {95, test_95}, |
| 3456 | + {96, test_96}}; | ||
| 3445 | 3457 | ||
| 3446 | auto fn = test_functions.find(n); | 3458 | auto fn = test_functions.find(n); |
| 3447 | if (fn == test_functions.end()) { | 3459 | if (fn == test_functions.end()) { |