[latex3-commits] [git/LaTeX3-latex3-pdfresources] develop, main: add tagging to fields (fdb74cc)

Ulrike Fischer fischer at troubleshooting-tex.de
Mon Jun 14 16:01:42 CEST 2021


Repository : https://github.com/latex3/pdfresources
On branches: develop,main
Link       : https://github.com/latex3/pdfresources/commit/fdb74cc882a9530a11698330a7c623aa28522e2e

>---------------------------------------------------------------

commit fdb74cc882a9530a11698330a7c623aa28522e2e
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Mon Jun 14 16:01:42 2021 +0200

    add tagging to fields


>---------------------------------------------------------------

fdb74cc882a9530a11698330a7c623aa28522e2e
 l3pdffield.dtx                                |  49 +++
 testfiles/calculate-textfield.xetex.tpf       |  18 +-
 testfiles/tag-checkbox.luatex.tpf             | 242 +++++++++++
 testfiles/{textfield.pvt => tag-checkbox.pvt} |  11 +-
 testfiles/tag-checkbox.tpf                    | 555 ++++++++++++++++++++++++++
 testfiles/tag-checkbox.xetex.tpf              | 203 ++++++++++
 6 files changed, 1065 insertions(+), 13 deletions(-)

diff --git a/l3pdffield.dtx b/l3pdffield.dtx
index eca3ff3..c699352 100644
--- a/l3pdffield.dtx
+++ b/l3pdffield.dtx
@@ -238,6 +238,26 @@
 % are related in a form field.  Tests with some PDF viewers
 % are needed here.
 %
+% \subsection{Tagged PDF}
+%
+% Field annotations are (like link annotations) not part of the page stream. But
+% they are obviously nevertheless meaningful content and must be consider if
+% a PDF is \enquote{tagged}, that means if a structure is added.
+%
+% According to the PDF references fields should be tagged by adding a |Form| structure
+% element containing the object reference to a field annotations. Fields with more than
+% one annotation like radio buttons need a |Form| structure for every one.
+% Additional some cross references to structure relevant object like the parent tree
+% are needed, for more info check the documentation of the \pkg{tagpdf} package.
+%
+% The commands of this module already contain the needed support. So if
+% \pkg{tagpdf} is used and tagging activated the fields will be added as |Form| element
+% to the structure where they are created. It is possible to deactivate tagging for
+% a field annotation by setting the |tag| to false as described below.
+%
+% It is recommended to use the |TU|/|altname| key to give the field a readable
+% name.
+%
 %
 % \section{Commands}
 % \begin{function}{\pdffield_field:nn,\pdffield_field:Vn}
@@ -966,6 +986,7 @@
 %     ,\g_@@_CO_sortkeys_prop
 %     ,\l_@@_CO_sortkey_str
 %     ,\g_@@_annot_ref_last_tl
+%     ,\l_@@_tag_bool
 %  }
 % Some tmp variables, and a variable for the current parent and the
 % current fieldID.
@@ -983,6 +1004,7 @@
 \seq_new:N \g_@@_CO_sortkeys_seq
 \str_new:N  \l_@@_CO_sortkey_str
 \tl_new:N \g_@@_annot_ref_last_tl
+\bool_new:N \l_@@_tag_bool
 %    \end{macrocode}
 % \end{variable}
 %
@@ -1241,6 +1263,7 @@
         \bitset_set_false:Nn \l_@@_F_bitset {NoView}
       }
     \pdfannot_dict_put:nnx {widget}{F}{ \bitset_to_arabic:N \l_@@_F_bitset }
+    \@@_tag_add_struct_parent:
     \tl_if_empty:NF \l_@@_currentparent_tl
       {
          \exp_args:Ne
@@ -1268,6 +1291,7 @@
          \hfill
       }
     \tl_gset:Nx \g_@@_annot_ref_last_tl { \pdfannot_box_ref_last: }
+    \exp_args:NV \@@_tag_add_objr:n \g_@@_annot_ref_last_tl
     \tl_if_empty:NF \l_@@_currentparent_tl
       {
         \seq_if_exist:cTF {g_@@_field/Kids/\l_@@_currentparent_tl _seq}
@@ -1296,6 +1320,31 @@
 \cs_new:Npn \pdffield_annot_ref_last: { \g_@@_annot_ref_last_tl }
 %    \end{macrocode}
 % \end{macro}
+% \subsection{Tagging}
+% \begin{macro}{\@@_tag_add_struct_parent:,\@@_tag_add_objr:n}
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_tag_add_struct_parent: {}
+\cs_new_protected:Npn \@@_tag_add_objr:n #1 {}
+\hook_gput_code:nnn {begindocument} { l3pdffield }
+ {
+   \cs_if_exist:NT \tag_if_active:T
+    {
+      \tag_if_active:T
+       {
+         \cs_set_protected:Npn \@@_tag_add_struct_parent:
+           {
+             \pdfannot_dict_put:nnx {widget}{StructParent}{ \tag_struct_parent_int: }
+           }
+         \cs_set_protected:Npn \@@_tag_add_objr:n #1
+           {
+             \exp_args:Nnx
+              \tag_struct_insert_annot:nn {#1}{ \tag_struct_parent_int: }
+           }
+       }
+    }
+}    
+%    \end{macrocode}
+% \end{macro}
 % \subsection{auxiliary command for color keys}
 % \begin{macro}{\@@_color_set:nn }
 %    \begin{macrocode}
diff --git a/testfiles/calculate-textfield.xetex.tpf b/testfiles/calculate-textfield.xetex.tpf
index 98c4fbd..ce9de27 100644
--- a/testfiles/calculate-textfield.xetex.tpf
+++ b/testfiles/calculate-textfield.xetex.tpf
@@ -107,7 +107,7 @@ endobj
 <</Type/Pages/Count 1/Kids[3 0 R]/MediaBox[0 0 595.28 841.89]>>
 endobj
 2 0 obj
-<</Creator( XeTeX output 2016.05.20:0900)/Producer(xdvipdfmx \(20210318\))/CreationDate(D:20160520090000-00'00')>>
+<</Creator(TeX)/Producer(xetex)/CreationDate(D:20010101194934+01'00')/ModDate(D:20010101205959-00'00')>>
 endobj
 1 0 obj
 <</Lang(en-US)/AcroForm 30 0 R/Pages 33 0 R/Type/Catalog>>
@@ -163,7 +163,7 @@ endobj
 xref
 0 39
 0000000000 65535 f 
-0000002453 00000 n 
+0000002443 00000 n 
 0000002323 00000 n 
 0000002151 00000 n 
 0000000136 00000 n 
@@ -172,8 +172,8 @@ xref
 0000000862 00000 n 
 0000000822 00000 n 
 0000000015 00000 n 
-0000004466 00000 n 
-0000004029 00000 n 
+0000004456 00000 n 
+0000004019 00000 n 
 0000000882 00000 n 
 0000001113 00000 n 
 0000001138 00000 n 
@@ -197,13 +197,13 @@ xref
 0000000683 00000 n 
 0000002243 00000 n 
 0000002112 00000 n 
-0000002527 00000 n 
-0000004219 00000 n 
-0000002975 00000 n 
-0000003982 00000 n 
+0000002517 00000 n 
+0000004209 00000 n 
+0000002965 00000 n 
+0000003972 00000 n 
 trailer
 <</ID[<ID-STRING><ID-STRING>]/Root
 1 0 R/Info 2 0 R/Size 39>>
 startxref
-4617
+4607
 %%EOF
diff --git a/testfiles/tag-checkbox.luatex.tpf b/testfiles/tag-checkbox.luatex.tpf
new file mode 100644
index 0000000..0f331a0
--- /dev/null
+++ b/testfiles/tag-checkbox.luatex.tpf
@@ -0,0 +1,242 @@
+%PDF-1.5
+%ÌÕÁÔÅØÐÄÆ
+10 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 11.955 12.752 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 11 0 R /Length 310 >>        
+stream
+q
+1 0 0 1 0 12.553 cm
+[] 0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+q
+1 0 0 1 0.199 0.398 cm
+[] 0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+BT
+/F23 9.96264 Tf
+1 0 0 1 2.102 3.985 Tm [<0193>]TJ
+ET
+q
+1 0 0 1 11.756 0.398 cm
+[] 0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+q
+1 0 0 1 0 0.199 cm
+[] 0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+endstream
+endobj
+11 0 obj
+<< /ExtGState 1 0 R /Font << /F23 12 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+13 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 11.955 12.752 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 14 0 R /Length 254 >>        
+stream
+q
+1 0 0 1 0 12.553 cm
+[] 0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+q
+1 0 0 1 0.199 0.398 cm
+[] 0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+q
+1 0 0 1 11.756 0.398 cm
+[] 0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+q
+1 0 0 1 0 0.199 cm
+[] 0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+endstream
+endobj
+14 0 obj
+<< /ExtGState 1 0 R /ProcSet [ /PDF ] >>
+endobj
+15 0 obj
+<< /Yes 10 0 R/Off 13 0 R >>
+endobj
+16 0 obj
+<< /T (a) /V /Off /DV /Off /FT /Btn /Kids 17 0 R /Ff 0  >>
+endobj
+18 0 obj
+<< /N 15 0 R  >>
+endobj
+20 0 obj
+<< /Type /OBJR /Obj 19 0 R >>
+endobj
+17 0 obj
+[ 19 0 R ]
+endobj
+1 0 obj
+<< /opacity1 <</ca 1/CA 1>>  >>
+endobj
+23 0 obj
+<< /Length 226 >>        
+stream
+/opacity1 gs
+/Artifact BMC
+EMC
+/P<</MCID 0>> BDC
+BT
+/F23 9.96264 Tf
+1 0 0 1 148.712 705.133 Tm [<001C001C001C001C>-1533<0023002300230023>]TJ
+ET
+EMC
+/Artifact BMC
+BT
+/F23 9.96264 Tf
+1 0 0 1 303.133 139.255 Tm [<0052>]TJ
+ET
+EMC
+endstream
+endobj
+22 0 obj
+<< /Type /Page /Contents 23 0 R /Resources 21 0 R /MediaBox [ 0 0 595.276 841.89 ] /StructParents 0/Tabs /S /Parent 24 0 R /Annots 25 0 R >>
+endobj
+25 0 obj
+[ 19 0 R ]
+endobj
+19 0 obj
+<< /Type /Annot /Subtype /Widget /AS /Off /F 0 /StructParent 1 /Parent 16 0 R /AP 18 0 R  /Rect [ 171.955 705.133 183.91 717.088 ] >>
+endobj
+21 0 obj
+<< /ExtGState 1 0 R /Font << /F23 12 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+26 0 obj
+[ 16 0 R ]
+endobj
+27 0 obj
+<< /Fields 26 0 R  >>
+endobj
+28 0 obj
+<< /Marked true  >>
+endobj
+6 0 obj
+<< /Nums [0 [9 0 R]
+1 9 0 R
+] >>
+endobj
+7 0 obj
+<< /DocumentFragment /Art /Aside /Note /Title /H1 /Sub /Span /H7 /H6 /H8 /H6 /H9 /H6 /H10 /H6 /FENote /Note /Em /Span /Strong /Span  >>
+endobj
+8 0 obj
+[  ]
+endobj
+9 0 obj
+<<  /Type /StructElem /S /P /P 5 0 R /K [<</Type /MCR /Pg 22 0 R /MCID 0>>  20 0 R] >>
+endobj
+5 0 obj
+<<  /Type /StructTreeRoot /K 9 0 R /ParentTree 6 0 R /RoleMap 7 0 R /Namespaces 8 0 R >>
+endobj
+29 0 obj
+[ 28 [ 500 ] 35 [ 556 ] 82 [ 500 ] 403 [ 778 ] ]
+endobj
+31 0 obj
+<< /Length 51 >>         
+[BINARY STREAM]
+endobj
+32 0 obj
+<< /Subtype /CIDFontType0C /Length 959 >>        
+[BINARY STREAM]
+endobj
+30 0 obj
+<< /Type /FontDescriptor /FontName /OIGWJD+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 32 0 R /CIDSet 31 0 R >>
+endobj
+33 0 obj
+<< /Length 734 >>        
+stream
+%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%IncludeResource: ProcSet (CIDInit)
+%%BeginResource: CMap (TeX-OIGWJD-LMRoman10-Regular-0)
+%%Title: (TeX-OIGWJD-LMRoman10-Regular-0 TeX OIGWJD-LMRoman10-Regular 0)
+%%Version: 1.000
+%%EndComments
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CIDSystemInfo
+<< /Registry (TeX)
+/Ordering (OIGWJD-LMRoman10-Regular)
+/Supplement 0
+>> def
+/CMapName /TeX-Identity-OIGWJD-LMRoman10-Regular def
+/CMapType 2 def
+1 begincodespacerange
+<0000> <FFFF>
+endcodespacerange
+0 beginbfrange
+endbfrange
+4 beginbfchar
+<001C> <0061>
+<0023> <0062>
+<0052> <0031>
+<0193> <00D7>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+%%EndResource
+%%EOF
+endstream
+endobj
+12 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OIGWJD+LMRoman10-Regular /DescendantFonts [ 34 0 R ] /ToUnicode 33 0 R >>
+endobj
+34 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OIGWJD+LMRoman10-Regular /FontDescriptor 30 0 R /W 29 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+endobj
+24 0 obj
+<< /Type /Pages  /Count 1 /Kids [ 22 0 R ] >>
+endobj
+35 0 obj
+<< /Type /Catalog /Pages 24 0 R /MarkInfo 28 0 R/Lang (en-US)/StructTreeRoot 5 0 R/AcroForm 27 0 R >>
+endobj
+36 0 obj
+<< /Creator (TeX)/Producer (LuaTeX)/CreationDate (D:20010101205959-00'00')/ModDate (D:20010101205959-00'00') /Trapped /False >>
+endobj
+xref
+0 37
+0000000002 65535 f 
+0000001298 00000 n 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000002474 00000 n 
+0000002153 00000 n 
+0000002201 00000 n 
+0000002352 00000 n 
+0000002372 00000 n 
+0000000020 00000 n 
+0000000502 00000 n 
+0000004827 00000 n 
+0000000589 00000 n 
+0000001015 00000 n 
+0000001072 00000 n 
+0000001117 00000 n 
+0000001271 00000 n 
+0000001192 00000 n 
+0000001815 00000 n 
+0000001225 00000 n 
+0000001965 00000 n 
+0000001631 00000 n 
+0000001345 00000 n 
+0000005181 00000 n 
+0000001788 00000 n 
+0000002052 00000 n 
+0000002079 00000 n 
+0000002117 00000 n 
+0000002578 00000 n 
+0000003797 00000 n 
+0000002643 00000 n 
+0000002754 00000 n 
+0000004033 00000 n 
+0000004981 00000 n 
+0000005243 00000 n 
+0000005361 00000 n 
+trailer
+<< /Size 37 /Root 35 0 R /Info 36 0 R /ID [ <2350CAD05F8A7AF0AA4058486855344F> <2350CAD05F8A7AF0AA4058486855344F> ] >>
+startxref
+5505
+%%EOF
diff --git a/testfiles/textfield.pvt b/testfiles/tag-checkbox.pvt
similarity index 69%
copy from testfiles/textfield.pvt
copy to testfiles/tag-checkbox.pvt
index 51fabee..9c7d14c 100644
--- a/testfiles/textfield.pvt
+++ b/testfiles/tag-checkbox.pvt
@@ -5,14 +5,17 @@
 \RequirePackage{pdfmanagement-regressiontest}
 \documentclass{article}
 
+\usepackage{tagpdf}
 \usepackage{l3pdffield-testphase}
 
-\begin{document}%\showoutput
-\START
+\tagpdfsetup{activate-all,paratagging}
 
+\begin{document}
+
+aaaa
 \ExplSyntaxOn
-\pdffield_textfield:n{name=date,width=4cm,setfieldflags={comb},MaxLen=10}
+\pdffield_checkbox:n{name=a}
 \ExplSyntaxOff
-
+bbbb
 
 \end{document}
diff --git a/testfiles/tag-checkbox.tpf b/testfiles/tag-checkbox.tpf
new file mode 100644
index 0000000..82eded5
--- /dev/null
+++ b/testfiles/tag-checkbox.tpf
@@ -0,0 +1,555 @@
+%PDF-1.5
+%ÐÔÅØ
+10 0 obj
+<< /MCID 0  >>
+endobj
+12 0 obj
+<<
+/Type /XObject
+/Subtype /Form
+/BBox [0 0 11.955 12.752]
+/FormType 1
+/Matrix [1 0 0 1 0 0]
+/Resources 13 0 R
+/Length 322       
+>>
+stream
+q
+1 0 0 1 0 12.553 cm
+[]0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+q
+1 0 0 1 0.199 0.398 cm
+[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+1 0 0 1 0 12.752 cm
+BT
+/F28 9.9626 Tf 2.104 -8.767 Td [(\326)]TJ
+ET
+q
+1 0 0 1 11.756 -12.354 cm
+[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+q
+1 0 0 1 0 -12.553 cm
+[]0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+endstream
+endobj
+13 0 obj
+<<
+/ExtGState 1 0 R
+/Font << /F28 14 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+15 0 obj
+<<
+/Type /XObject
+/Subtype /Form
+/BBox [0 0 11.955 12.752]
+/FormType 1
+/Matrix [1 0 0 1 0 0]
+/Resources 16 0 R
+/Length 250       
+>>
+stream
+q
+1 0 0 1 0 12.553 cm
+[]0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+q
+1 0 0 1 0.199 0.398 cm
+[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+q
+1 0 0 1 11.756 0.398 cm
+[]0 d 0 J 0.398 w 0 0 m 0 11.955 l S
+Q
+q
+1 0 0 1 0 0.199 cm
+[]0 d 0 J 0.398 w 0 0 m 11.955 0 l S
+Q
+endstream
+endobj
+16 0 obj
+<<
+/ExtGState 1 0 R
+/ProcSet [ /PDF ]
+>>
+endobj
+17 0 obj
+<< /Yes 12 0 R/Off 15 0 R >>
+endobj
+18 0 obj
+<< /T (a) /V /Off /DV /Off /FT /Btn /Kids 19 0 R /Ff 0  >>
+endobj
+20 0 obj
+<< /N 17 0 R  >>
+endobj
+22 0 obj
+<< /Type /OBJR /Obj 21 0 R >>
+endobj
+19 0 obj
+[ 21 0 R ]
+endobj
+1 0 obj
+<< /opacity1 <</ca 1/CA 1>>  >>
+endobj
+24 0 obj
+<<
+/Length 142       
+>>
+stream
+/opacity1 gs
+/P /l3pdf1 BDC
+BT
+/F19 9.9626 Tf 148.712 705.133 Td [(aaaa)-1533(bbbb)]TJ
+ET
+EMC
+BT
+/F19 9.9626 Tf 303.133 139.255 Td [(1)]TJ
+ET
+endstream
+endobj
+11 0 obj
+<<
+/Type /Page
+/Contents 24 0 R
+/Resources 23 0 R
+/MediaBox [0 0 595.276 841.89]
+/Tabs /S /StructParents 0 
+/Parent 26 0 R
+/Annots [ 21 0 R ]
+>>
+endobj
+21 0 obj
+<<
+/Type /Annot
+/Subtype /Widget /AS /Off /F 0 /StructParent 1 /Parent 18 0 R /AP 20 0 R 
+/Rect [171.959 705.133 183.914 717.088]
+>>
+endobj
+23 0 obj
+<<
+/Properties <</l3pdf1 10 0 R >>/ExtGState 1 0 R 
+/Font << /F19 25 0 R >>
+/ProcSet [ /PDF /Text ]
+>>
+endobj
+27 0 obj
+[ 18 0 R ]
+endobj
+28 0 obj
+<< /Fields 27 0 R  >>
+endobj
+29 0 obj
+<< /Marked true  >>
+endobj
+6 0 obj
+<< /Nums [0 [ 9 0 R ]
+1 9 0 R
+] >>
+endobj
+7 0 obj
+<< /DocumentFragment /Art /Aside /Note /Title /H1 /Sub /Span /H7 /H6 /H8 /H6 /H9 /H6 /H10 /H6 /FENote /Note /Em /Span /Strong /Span  >>
+endobj
+8 0 obj
+[  ]
+endobj
+9 0 obj
+<<  /Type /StructElem /S /P /P 5 0 R /K [<</Type /MCR /Pg 11 0 R/MCID 0>> 22 0 R] >>
+endobj
+5 0 obj
+<<  /Type /StructTreeRoot /K 9 0 R /ParentTree 6 0 R /RoleMap 7 0 R /Namespaces 8 0 R >>
+endobj
+30 0 obj
+[500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6]
+endobj
+32 0 obj
+[777.6]
+endobj
+33 0 obj
+<<
+/Length1 1393
+/Length2 7602
+/Length3 0
+/Length 8995      
+>>
+[BINARY STREAM]
+endobj
+34 0 obj
+<<
+/Type /FontDescriptor
+/FontName /XFWMEY+CMR10
+/Flags 4
+/FontBBox [-40 -250 1009 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/a/b/one)
+/FontFile 33 0 R
+>>
+endobj
+35 0 obj
+<<
+/Length1 721
+/Length2 1088
+/Length3 0
+/Length 1809      
+>>
+[BINARY STREAM]
+endobj
+36 0 obj
+<<
+/Type /FontDescriptor
+/FontName /LNEZCO+SFRM1000
+/Flags 4
+/FontBBox [-189 -321 1456 937]
+/Ascent 0
+/CapHeight 0
+/Descent 0
+/ItalicAngle 0
+/StemV 50
+/XHeight 430
+/CharSet (/multiply)
+/FontFile 35 0 R
+>>
+endobj
+31 0 obj
+<<
+/Type /Encoding
+/Differences [214/multiply]
+>>
+endobj
+37 0 obj
+<<
+/Length 1724      
+>>
+stream
+%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%IncludeResource: ProcSet (CIDInit)
+%%BeginResource: CMap (TeX-cmr10-builtin-0)
+%%Title: (TeX-cmr10-builtin-0 TeX cmr10-builtin 0)
+%%Version: 1.000
+%%EndComments
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CIDSystemInfo
+<< /Registry (TeX)
+/Ordering (cmr10-builtin)
+/Supplement 0
+>> def
+/CMapName /TeX-cmr10-builtin-0 def
+/CMapType 2 def
+1 begincodespacerange
+<00> <FF>
+endcodespacerange
+7 beginbfrange
+<07> <08> <03A5>
+<23> <26> <0023>
+<28> <3B> <0028>
+<3F> <5B> <003F>
+<61> <7A> <0061>
+<7B> <7C> <2013>
+<A8> <A9> <03A5>
+endbfrange
+78 beginbfchar
+<00> <0393>
+<01> <2206>
+<02> <0398>
+<03> <039B>
+<04> <039E>
+<05> <03A0>
+<06> <03A3>
+<09> <03A8>
+<0A> <2126>
+<0B> <00660066>
+<0C> <00660069>
+<0D> <0066006C>
+<0E> <006600660069>
+<0F> <00660066006C>
+<10> <0131>
+<11> <0237>
+<12> <0060>
+<13> <00B4>
+<14> <02C7>
+<15> <02D8>
+<16> <00AF>
+<17> <02DA>
+<18> <00B8>
+<19> <00DF>
+<1A> <00E6>
+<1B> <0153>
+<1C> <00F8>
+<1D> <00C6>
+<1E> <0152>
+<1F> <00D8>
+<21> <0021>
+<22> <201D>
+<27> <2019>
+<3C> <00A1>
+<3D> <003D>
+<3E> <00BF>
+<5C> <201C>
+<5D> <005D>
+<5E> <02C6>
+<5F> <02D9>
+<60> <2018>
+<7D> <02DD>
+<7E> <02DC>
+<7F> <00A8>
+<A0> <0020>
+<A1> <0393>
+<A2> <2206>
+<A3> <0398>
+<A4> <039B>
+<A5> <039E>
+<A6> <03A0>
+<A7> <03A3>
+<AA> <03A8>
+<AB> <00AD>
+<AC> <00A0>
+<AD> <2126>
+<AE> <00660066>
+<AF> <00660069>
+<B0> <0066006C>
+<B1> <006600660069>
+<B2> <00660066006C>
+<B3> <0131>
+<B4> <0237>
+<B5> <0060>
+<B6> <00B4>
+<B7> <02C7>
+<B8> <02D8>
+<B9> <00AF>
+<BA> <02DA>
+<BB> <00B8>
+<BC> <00DF>
+<BD> <00E6>
+<BE> <0153>
+<BF> <00F8>
+<C0> <00C6>
+<C1> <0152>
+<C2> <00D8>
+<C4> <00A8>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+%%EndResource
+%%EOF
+endstream
+endobj
+25 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XFWMEY+CMR10
+/FontDescriptor 34 0 R
+/FirstChar 49
+/LastChar 98
+/Widths 30 0 R
+/ToUnicode 37 0 R
+>>
+endobj
+38 0 obj
+<<
+/Length 1568      
+>>
+stream
+%!PS-Adobe-3.0 Resource-CMap
+%%DocumentNeededResources: ProcSet (CIDInit)
+%%IncludeResource: ProcSet (CIDInit)
+%%BeginResource: CMap (TeX-tcrm1000-cm-super-ts1-0)
+%%Title: (TeX-tcrm1000-cm-super-ts1-0 TeX tcrm1000-cm-super-ts1 0)
+%%Version: 1.000
+%%EndComments
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CIDSystemInfo
+<< /Registry (TeX)
+/Ordering (tcrm1000-cm-super-ts1)
+/Supplement 0
+>> def
+/CMapName /TeX-tcrm1000-cm-super-ts1-0 def
+/CMapType 2 def
+1 begincodespacerange
+<00> <FF>
+endcodespacerange
+7 beginbfrange
+<30> <39> <0030>
+<84> <85> <2020>
+<A0> <A1> <2045>
+<A2> <AA> <00A2>
+<AE> <B7> <00AE>
+<B9> <BA> <00B9>
+<BC> <BE> <00BC>
+endbfrange
+66 beginbfchar
+<00> <0060>
+<01> <00B4>
+<04> <00A8>
+<05> <02DD>
+<07> <02C7>
+<09> <00AF>
+<0B> <00B8>
+<0C> <02DB>
+<0D> <201A>
+<12> <201E>
+<16> <F6DE>
+<17> <200C>
+<18> <2190>
+<19> <2192>
+<1F> <200C>
+<20> <2422>
+<24> <0024>
+<27> <0027>
+<2A> <2217>
+<2C> <002C>
+<2E> <002E>
+<2F> <2044>
+<3C> <2329>
+<3D> <2212>
+<3E> <232A>
+<4D> <2127>
+<4F> <25CB>
+<57> <2126>
+<5B> <301A>
+<5D> <301B>
+<5E> <2191>
+<5F> <2193>
+<60> <0060>
+<6E> <266A>
+<80> <02D8>
+<81> <02C7>
+<82> <02DD>
+<83> <00A0030F>
+<86> <2016>
+<87> <2030>
+<88> <2022>
+<89> <2103>
+<8A> <0024>
+<8B> <00A2>
+<8C> <0192>
+<8D> <20A1>
+<8E> <20A9>
+<8F> <20A6>
+<92> <20A4>
+<94> <203D>
+<96> <20AB>
+<97> <2122>
+<98> <2031>
+<99> <00B6>
+<9A> <0E3F>
+<9B> <2116>
+<9D> <212E>
+<9E> <25E6>
+<9F> <2120>
+<AC> <00AC>
+<AD> <2117>
+<B8> <203B>
+<BB> <221A>
+<BF> <20AC>
+<D6> <00D7>
+<F6> <00F7>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+%%EndResource
+%%EOF
+endstream
+endobj
+14 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LNEZCO+SFRM1000
+/FontDescriptor 36 0 R
+/FirstChar 214
+/LastChar 214
+/Widths 32 0 R
+/Encoding 31 0 R
+/ToUnicode 38 0 R
+>>
+endobj
+26 0 obj
+<<
+/Type /Pages
+/Count 1
+/Kids [11 0 R]
+>>
+endobj
+39 0 obj
+<<
+/Type /Catalog
+/Pages 26 0 R
+/MarkInfo 29 0 R/Lang (en-US)/StructTreeRoot 5 0 R/AcroForm 28 0 R
+>>
+endobj
+40 0 obj
+<<
+/Creator (TeX)/Producer (pdfTeX)/CreationDate (D:20010101205959-00'00')/ModDate (D:20010101205959-00'00')
+/Trapped /False
+>>
+endobj
+xref
+0 41
+0000000002 65535 f 
+0000001322 00000 n 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000002421 00000 n 
+0000002100 00000 n 
+0000002150 00000 n 
+0000002301 00000 n 
+0000002321 00000 n 
+0000000015 00000 n 
+0000001570 00000 n 
+0000000046 00000 n 
+0000000535 00000 n 
+0000017904 00000 n 
+0000000622 00000 n 
+0000001039 00000 n 
+0000001096 00000 n 
+0000001141 00000 n 
+0000001295 00000 n 
+0000001216 00000 n 
+0000001731 00000 n 
+0000001249 00000 n 
+0000001880 00000 n 
+0000001369 00000 n 
+0000016120 00000 n 
+0000018083 00000 n 
+0000001999 00000 n 
+0000002026 00000 n 
+0000002064 00000 n 
+0000002525 00000 n 
+0000014271 00000 n 
+0000002804 00000 n 
+0000002828 00000 n 
+0000011921 00000 n 
+0000012144 00000 n 
+0000014050 00000 n 
+0000014337 00000 n 
+0000016277 00000 n 
+0000018142 00000 n 
+0000018260 00000 n 
+trailer
+<< /Size 41
+/Root 39 0 R
+/Info 40 0 R
+/ID [<9BD18DF3359C1216B83ADB4AA401CC9A> <9BD18DF3359C1216B83ADB4AA401CC9A>] >>
+startxref
+18404
+%%EOF
diff --git a/testfiles/tag-checkbox.xetex.tpf b/testfiles/tag-checkbox.xetex.tpf
new file mode 100644
index 0000000..37404da
--- /dev/null
+++ b/testfiles/tag-checkbox.xetex.tpf
@@ -0,0 +1,203 @@
+%PDF-1.5
+%äðíø
+11 0 obj
+<</Font<</F1 5 0 R>>/ExtGState 7 0 R/Pattern 8 0 R/Shading 9 0 R/ColorSpace 10 0 R/ProcSet[/PDF/Text/ImageC/ImageB/ImageI]>>
+endobj
+4 0 obj
+<</Type/XObject/Subtype/Form/FormType 1/BBox[-72 68.015 -60.045 80.767]/Matrix[1
+0 0 1 72 -72]/Resources 11 0 R/Length 257>>
+stream
+ 0 G 0 g 0 g 0 G /opacity1 gs q .3985 w -72 80.568 m -60.045 80.568 l S Q q .3985 w -71.801 68.413 m -71.801 80.369 l S Q BT /F1 9.9626 Tf -69.898 72 Td[<0193>]TJ ET q .3985 w -60.244 68.413 m -60.244 80.369 l S Q q .3985 w -72 68.214 m -60.045 68.214 l S Q
+endstream
+endobj
+13 0 obj
+<</ExtGState 7 0 R/Pattern 8 0 R/Shading 9 0 R/ColorSpace 10 0 R/ProcSet[/PDF/Text/ImageC/ImageB/ImageI]>>
+endobj
+12 0 obj
+<</Type/XObject/Subtype/Form/FormType 1/BBox[-60.045 68.015 -48.09 80.767]/Matrix[1
+0 0 1 60.045 -72]/Resources 13 0 R/Length 219>>
+stream
+ 0 G 0 g 0 g 0 G /opacity1 gs q .3985 w -60.045 80.568 m -48.09 80.568 l S Q q .3985 w -59.846 68.413 m -59.846 80.369 l S Q q .3985 w -48.289 68.413 m -48.289 80.369 l S Q q .3985 w -60.045 68.214 m -48.09 68.214 l S Q
+endstream
+endobj
+29 0 obj
+<</Length 301>>
+stream
+ q 1 0 0 1 72 769.89 cm 0 G 0 g 0 g 0 G /opacity1 gs 0 G 0 g 0 g 0 G /opacity1 gs 0 G 0 g 0 g 0 G /opacity1 gs /P/l3pdf1 BDC BT /F1 9.9626 Tf 76.712 -64.757 Td[<001c001c001c001c>]TJ ET BT /F1 9.9626 Tf 111.91 -64.757 Td[<0023002300230023>]TJ ET EMC BT /F1 9.9626 Tf 231.133 -630.635 Td[<0052>]TJ ET Q
+endstream
+endobj
+30 0 obj
+<</ExtGState 7 0 R/Properties<</l3pdf1 14 0 R>>/Font<</F1 5 0 R>>/ProcSet[/PDF/Text/ImageC/ImageB/ImageI]>>
+endobj
+7 0 obj
+<</opacity1<</ca 1/CA 1>>>>
+endobj
+10 0 obj
+<<>>
+endobj
+8 0 obj
+<<>>
+endobj
+9 0 obj
+<<>>
+endobj
+21 0 obj
+<</Type/StructTreeRoot/K 20 0 R/ParentTree 23 0 R/RoleMap 24 0 R/Namespaces 25 0 R>>
+endobj
+23 0 obj
+<</Nums[0[20 0 R]1 20 0 R]>>
+endobj
+24 0 obj
+<</DocumentFragment/Art/Aside/Note/Title/H1/Sub/Span/H7/H6/H8/H6/H9/H6/H10/H6/FENote/Note/Em/Span/Strong/Span>>
+endobj
+25 0 obj
+[]
+endobj
+20 0 obj
+<</Type/StructElem/S/P/P 21 0 R/K[<</Type/MCR/Pg 3 0 R/MCID 0>>22 0 R]>>
+endobj
+14 0 obj
+<</MCID 0>>
+endobj
+16 0 obj
+<</Yes 4 0 R/Off 12 0 R>>
+endobj
+17 0 obj
+<</T(a)/V/Off/DV/Off/FT/Btn/Kids 15 0 R/Ff 0>>
+endobj
+15 0 obj
+[19 0 R]
+endobj
+18 0 obj
+<</N 16 0 R>>
+endobj
+19 0 obj
+<</Type/Annot/Subtype/Widget/AS/Off/F 0/StructParent 1/Parent 17 0 R/AP 18 0 R/Rect[171.955
+705.133 183.91 717.088]>>
+endobj
+22 0 obj
+<</Type/OBJR/Obj 19 0 R>>
+endobj
+26 0 obj
+[17 0 R]
+endobj
+28 0 obj
+<</Fields 26 0 R>>
+endobj
+27 0 obj
+<</Marked true>>
+endobj
+32 0 obj
+[19 0 R]
+endobj
+3 0 obj
+<</Tabs/S/StructParents 0/Resources 30 0 R/Type/Page/Parent 31 0 R/Contents[29 0 R]/Annots
+32 0 R>>
+endobj
+31 0 obj
+<</Type/Pages/Count 1/Kids[3 0 R]/MediaBox[0 0 595.28 841.89]>>
+endobj
+2 0 obj
+<</Creator(TeX)/Producer(xetex)/CreationDate(D:20010101194934+01'00')/ModDate(D:20010101205959-00'00')>>
+endobj
+1 0 obj
+<</MarkInfo 27 0 R/Lang(en-US)/StructTreeRoot 21 0 R/AcroForm 28 0 R/Pages 31 0 R/Type/Catalog>>
+endobj
+33 0 obj
+<</Length 398>>
+stream
+/CIDInit /ProcSet findresource begin
+12 dict begin
+begincmap
+/CMapName /EXQIVM+LMRoman10-Regular-UTF16 def
+/CMapType 2 def
+/CIDSystemInfo <<
+  /Registry (Adobe)
+  /Ordering (UCS)
+  /Supplement 0
+>> def
+1 begincodespacerange
+<0000> <FFFF>
+endcodespacerange
+4 beginbfchar
+<001C> <0061>
+<0023> <0062>
+<0052> <0031>
+<0193> <00D7>
+endbfchar
+endcmap
+CMapName currentdict /CMap defineresource pop
+end
+end
+endstream
+endobj
+35 0 obj
+<</Subtype/CIDFontType0C/Length 938>>
+[BINARY STREAM]
+endobj
+36 0 obj
+[28[500]35[556]82[500]403[778]]
+endobj
+37 0 obj
+<</Length 51>>
+[BINARY STREAM]
+endobj
+6 0 obj
+<</Type/Font/Subtype/CIDFontType0/BaseFont/EXQIVM+LMRoman10-Regular/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement
+0>>/FontDescriptor 34 0 R/DW 280/W 36 0 R>>
+endobj
+34 0 obj
+<</Type/FontDescriptor/Ascent 806/Descent -194/StemV 69/CapHeight 806/AvgWidth 549/FontBBox[-430
+-290 1417 1127]/ItalicAngle 0/Flags 6/Style<</Panose<000000000500000000000000>>>/FontName/EXQIVM+LMRoman10-Regular/FontFile3
+35 0 R/CIDSet 37 0 R>>
+endobj
+5 0 obj
+<</Type/Font/Subtype/Type0/BaseFont/EXQIVM+LMRoman10-Regular-Identity-H/Encoding/Identity-H/DescendantFonts[6 0 R]/ToUnicode
+33 0 R>>
+endobj
+xref
+0 38
+0000000000 65535 f 
+0000002837 00000 n 
+0000002717 00000 n 
+0000002522 00000 n 
+0000000156 00000 n 
+0000005005 00000 n 
+0000004555 00000 n 
+0000001554 00000 n 
+0000001618 00000 n 
+0000001638 00000 n 
+0000001597 00000 n 
+0000000015 00000 n 
+0000000694 00000 n 
+0000000571 00000 n 
+0000002040 00000 n 
+0000002173 00000 n 
+0000002068 00000 n 
+0000002110 00000 n 
+0000002198 00000 n 
+0000002228 00000 n 
+0000001951 00000 n 
+0000001658 00000 n 
+0000002362 00000 n 
+0000001759 00000 n 
+0000001804 00000 n 
+0000001932 00000 n 
+0000002404 00000 n 
+0000002464 00000 n 
+0000002429 00000 n 
+0000001079 00000 n 
+0000001430 00000 n 
+0000002637 00000 n 
+0000002497 00000 n 
+0000002949 00000 n 
+0000004744 00000 n 
+0000003397 00000 n 
+0000004407 00000 n 
+0000004455 00000 n 
+trailer
+<</ID[<ID-STRING><ID-STRING>]/Root
+1 0 R/Info 2 0 R/Size 38>>
+startxref
+5154
+%%EOF





More information about the latex3-commits mailing list.