2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-16 17:45:09 +00:00

Add more names and strings in good13

* native UTF-8 strings
* names whose PDF and canonical syntax differ in both dictionary key
  positions and other positions

For json, names are converted both as names and directly when used as
dictionary keys.
This commit is contained in:
Jay Berkenbilt 2022-05-19 18:24:54 -04:00
parent 6c5e590673
commit 1ec561daa4
3 changed files with 27 additions and 15 deletions

View File

@ -2,8 +2,9 @@
/QTest is a dictionary /QTest is a dictionary
/hex strings is direct /hex strings is direct
/indirect is indirect /indirect is indirect
/names is direct
/nesting is direct /nesting is direct
/strings is direct /strings is direct
unparse: 7 0 R unparse: 7 0 R
unparseResolved: << /hex#20strings [ (Potato) <01020300040560> (AB) ] /indirect 8 0 R /nesting << /a [ 1 2 << /x (y) >> [ (z) ] ] /b << / (legal) /a [ 1 2 ] >> >> /strings [ (one) <24a2> () (\(\)) (\() (\)) (a\f\b\t\r\nb) <410042> (a\nb) (a b) ] >> unparseResolved: << /hex#20strings [ (Potato) <01020300040560> (AB) ] /indirect 8 0 R /names [ /nesting /hex#20strings /text#2fplain ] /nesting << /a [ 1 2 << /x (y) >> [ (z) ] ] /b << / (legal) /a [ 1 2 ] >> >> /strings [ (one) <24a2> () (\(\)) (\() (\)) (a\f\b\t\r\nb) (") ("") ("\("\)") <410042> (a\nb) (a b) <efbbbfcf80> <efbbbff09fa594> ] >>
test 1 done test 1 done

View File

@ -1,4 +1,4 @@
%PDF-1.3 %PDF-2.0
1 0 obj 1 0 obj
<< <<
/Type /Catalog /Type /Catalog
@ -63,9 +63,9 @@ endobj
7 0 obj 7 0 obj
<< <<
/strings [(one) ($\242) () (()) (\() (\)) (a\f\b\t\r\nb) (A\000B) (a /strings [(one) ($\242) () (()) (\() (\)) (a\f\b\t\r\nb) (") ("") ("(")") (A\000B) (a
b) (a \ b) (a \
b)] b) (π) (🥔)]
/hex#20strings [<506F7461746f> <010 203 0004056> <41 /hex#20strings [<506F7461746f> <010 203 0004056> <41
42>] 42>]
/indirect 8 0 R /indirect 8 0 R
@ -73,6 +73,7 @@ b)]
/a [1 2 << /x (y) >> [(z)]] /a [1 2 << /x (y) >> [(z)]]
/b <</a [1 2] / (legal)>> /b <</a [1 2] / (legal)>>
>> >>
/names [/n#65sting /hex#20strings /text#2fplain]
>> >>
endobj endobj
@ -90,12 +91,12 @@ xref
0000000403 00000 n 0000000403 00000 n
0000000438 00000 n 0000000438 00000 n
0000000556 00000 n 0000000556 00000 n
0000000822 00000 n 0000000908 00000 n
trailer << trailer <<
/Size 9 /Size 9
/Root 1 0 R /Root 1 0 R
/QTest 7 0 R /QTest 7 0 R
>> >>
startxref startxref
846 932
%%EOF %%EOF

View File

@ -1,4 +1,4 @@
%PDF-1.3 %PDF-2.0
%¿÷¢þ %¿÷¢þ
%QDF-1.0 %QDF-1.0
@ -19,6 +19,11 @@ endobj
(AB) (AB)
] ]
/indirect 4 0 R /indirect 4 0 R
/names [
/nesting
/hex#20strings
/text#2fplain
]
/nesting << /nesting <<
/a [ /a [
1 1
@ -46,9 +51,14 @@ endobj
(\() (\()
(\)) (\))
(a\f\b\t\r\nb) (a\f\b\t\r\nb)
(")
("")
("\("\)")
<410042> <410042>
(a\nb) (a\nb)
(a b) (a b)
<efbbbfcf80>
<efbbbff09fa594>
] ]
>> >>
endobj endobj
@ -134,13 +144,13 @@ xref
0000000000 65535 f 0000000000 65535 f
0000000052 00000 n 0000000052 00000 n
0000000133 00000 n 0000000133 00000 n
0000000576 00000 n 0000000710 00000 n
0000000675 00000 n 0000000809 00000 n
0000000736 00000 n 0000000870 00000 n
0000000978 00000 n 0000001112 00000 n
0000001077 00000 n 0000001211 00000 n
0000001123 00000 n 0000001257 00000 n
0000001268 00000 n 0000001402 00000 n
trailer << trailer <<
/QTest 2 0 R /QTest 2 0 R
/Root 1 0 R /Root 1 0 R
@ -148,5 +158,5 @@ trailer <<
/ID [<31415926535897932384626433832795><31415926535897932384626433832795>] /ID [<31415926535897932384626433832795><31415926535897932384626433832795>]
>> >>
startxref startxref
1303 1437
%%EOF %%EOF