diff options
author | Karl Berry <karl@freefriends.org> | 2024-08-02 21:04:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-08-02 21:04:52 +0000 |
commit | d6b9a80a26c5ae40fd9c34d9f65192f862b6774a (patch) | |
tree | 4e8aa941f348a75fd53aa2a9abb12f597246cc9b | |
parent | 18f9cef5479c7345fd31090f2c62f0dc6d7f9a0d (diff) |
tagpdf (2aug24)
git-svn-id: svn://tug.org/texlive/trunk@71958 c570f23f-e606-0410-a88d-b1316a301751
47 files changed, 468 insertions, 222 deletions
diff --git a/Master/texmf-dist/doc/latex/tagpdf/README.md b/Master/texmf-dist/doc/latex/tagpdf/README.md index 9602302c2a2..edcdc6b5e6e 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/README.md +++ b/Master/texmf-dist/doc/latex/tagpdf/README.md @@ -1,6 +1,6 @@ #tagpdf β A package to create tagged pdf -Packageversion: 0.99c -Packagedate: 2024/06/20 +Packageversion: 0.99d +Packagedate: 2024/08/02 Author: Ulrike Fischer, LaTeX Project Team ## License diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf index 37673eac26e..9ba962e1e33 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf @@ -1,11 +1,11 @@ %PDF-2.0 %ΜΥΑΤΕΨΠΔΖ 22 0 obj -<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240620175033+02'00') /Size 151 /CheckSum (4C0D15859D9BA750E65BE6F420DEA972) >> /Length 151 >> +<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240802125547+02'00') /Size 151 /CheckSum (D4716966C44F441B4E4C1D2DD929683B) >> /Length 151 >> stream %% LaTeX2e file `example-input-file.tex' %% generated by the `filecontents' environment -%% from source `ex-AF-file' on 2024/06/20. +%% from source `ex-AF-file' on 2024/08/02. %% Additional info! @@ -15,7 +15,7 @@ endobj << /Type /Filespec /AFRelationship /Unspecified /F (example-input-file.tex) /UF <FEFF006500780061006D0070006C0065002D0069006E007000750074002D00660069006C0065002E007400650078> /EF<</F 22 0 R/UF 22 0 R>> >> endobj 25 0 obj -<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 19 >> +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 19 >> stream BΓ€r with teh shirt endstream @@ -24,7 +24,7 @@ endobj << /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile1.txt) /UF <FEFF007400610067002D0041004600660069006C00650031002E007400780074> /EF<</F 25 0 R/UF 25 0 R>> >> endobj 28 0 obj -<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 4 >> +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 4 >> stream Duck endstream @@ -242,17 +242,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:50:54+02:00</rdf:li> + <rdf:li>2024-08-02T12:56:09+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-AF-file.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:50:54+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:50:54+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:50:54+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:56:09+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:56:09+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:56:09+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:38d5a844-2217-4081-87cc-b2129dc357a6</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:9859f422-c856-46c6-8928-4dfab5f8790c</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:3ff2b426-7c06-4861-8f14-4e8e04ac9b4c</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -347,7 +347,7 @@ endobj << /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> endobj 19 0 obj -<< /Type /Namespace /NS (data:,15379C35-DB3-5B3E-89A5-42149DCFB2F) >> +<< /Type /Namespace /NS (data:,BBA64916-90D9-A0B9-F592-8E68FD20F532) >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] @@ -449,7 +449,7 @@ endobj << /Type /Catalog /Pages 36 0 R /MarkInfo 37 0 R/Lang (de-DE)/Metadata 31 0 R/StructTreeRoot 5 0 R >> endobj 46 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175054+02'00')/ModDate (D:20240620175054+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125609+02'00')/ModDate (D:20240802125609+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 47 @@ -458,10 +458,10 @@ xref 0000000003 00000 f 0000000004 00000 f 0000000010 00000 f -0000016360 00000 n +0000016362 00000 n 0000013627 00000 n 0000013838 00000 n -0000015790 00000 n +0000015792 00000 n 0000014417 00000 n 0000000012 00000 f 0000014485 00000 n @@ -474,34 +474,34 @@ xref 0000015425 00000 n 0000015703 00000 n 0000000000 00000 f -0000015851 00000 n +0000015853 00000 n 0000000020 00000 n 0000000382 00000 n -0000015964 00000 n +0000015966 00000 n 0000000603 00000 n 0000000758 00000 n -0000016096 00000 n +0000016098 00000 n 0000000943 00000 n 0000001083 00000 n -0000016228 00000 n +0000016230 00000 n 0000001268 00000 n 0000013481 00000 n 0000013346 00000 n 0000012740 00000 n -0000020113 00000 n -0000020467 00000 n +0000020115 00000 n +0000020469 00000 n 0000013591 00000 n 0000013684 00000 n 0000013801 00000 n -0000016480 00000 n -0000018929 00000 n -0000016666 00000 n -0000019150 00000 n -0000020267 00000 n -0000020529 00000 n -0000020647 00000 n +0000016482 00000 n +0000018931 00000 n +0000016668 00000 n +0000019152 00000 n +0000020269 00000 n +0000020531 00000 n +0000020649 00000 n trailer -<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <CB0601DB4D9A68774E7E29190E0D5823> <CB0601DB4D9A68774E7E29190E0D5823> ] >> +<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <E2F9D94DBDFC11D2EE5801BA51FD5C99> <E2F9D94DBDFC11D2EE5801BA51FD5C99> ] >> startxref -20870 +20872 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf Binary files differindex 8bbbbcc16c0..f64d4e66bfe 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf index 172ce029909..feda9e252ac 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf @@ -216,17 +216,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:51:49+02:00</rdf:li> + <rdf:li>2024-08-02T12:57:08+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-attribute.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:51:49+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:51:49+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:51:49+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:57:08+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:57:08+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:57:08+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:d4b89449-5e1d-43cf-83af-3903105d1b3f</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:b262e437-7e89-4c42-8e29-bedae4c498b6</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -450,7 +450,7 @@ endobj << /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de_DE)/Metadata 21 0 R/StructTreeRoot 5 0 R >> endobj 38 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240620175149+02'00')/ModDate (D:20240620175149+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240802125708+02'00')/ModDate (D:20240802125708+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 39 @@ -494,7 +494,7 @@ xref 0000017721 00000 n 0000017839 00000 n trailer -<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <658202793A4D39DC44497E1203173F04> <658202793A4D39DC44497E1203173F04> ] >> +<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <2033D8BFB67E1F1EDFB190E1DEC10A2C> <2033D8BFB67E1F1EDFB190E1DEC10A2C> ] >> startxref 18076 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf index 9ac7a851bc9..637338d16f2 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf @@ -239,17 +239,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:52:18+02:00</rdf:li> + <rdf:li>2024-08-02T12:57:37+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-formula-problem.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:52:18+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:52:18+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:52:18+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:57:37+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:57:37+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:57:37+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:b48ac58a-5b57-46ab-8ab8-087479364eeb</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:8fbc3896-5f57-401a-81d8-1fdb02abac8a</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>2</prism:pageCount> </rdf:Description> @@ -425,7 +425,7 @@ endobj << /Type /Catalog /Pages 16 0 R /MarkInfo 23 0 R/Lang (de-DE)/Metadata 19 0 R/StructTreeRoot 5 0 R >> endobj 33 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175218+02'00')/ModDate (D:20240620175218+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125737+02'00')/ModDate (D:20240802125737+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 34 @@ -464,7 +464,7 @@ xref 0000018886 00000 n 0000019004 00000 n trailer -<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <4A2EBD4B9A1971E2BAF6A530303DF07B> <4A2EBD4B9A1971E2BAF6A530303DF07B> ] >> +<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <84EDE341B761805B059537E407E8C0CD> <84EDE341B761805B059537E407E8C0CD> ] >> startxref 19227 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf index 2346b0398a9..381477d8292 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:52:47+02:00</rdf:li> + <rdf:li>2024-08-02T12:58:08+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-list.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:52:47+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:52:47+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:52:47+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:58:08+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:58:08+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:58:08+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:843c5ce9-108a-49d8-86ef-881382f178ee</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:0803684d-fad7-4d08-8dc2-c5108f24d889</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -654,7 +654,7 @@ endobj << /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en)/Metadata 48 0 R/StructTreeRoot 5 0 R >> endobj 72 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175247+02'00')/ModDate (D:20240620175247+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125808+02'00')/ModDate (D:20240802125808+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 73 @@ -732,7 +732,7 @@ xref 0000029590 00000 n 0000029705 00000 n trailer -<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <14B40F363BE2C4EFB96EAE91DC2CE4F7> <14B40F363BE2C4EFB96EAE91DC2CE4F7> ] >> +<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <0EE2DD31789AD5C7E80F8407D72CF075> <0EE2DD31789AD5C7E80F8407D72CF075> ] >> startxref 29928 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf index 70cfe5e7937..6d60e107364 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf @@ -243,17 +243,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:53:22+02:00</rdf:li> + <rdf:li>2024-08-02T12:58:35+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-mc-manual-para-split-obsolete.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:53:22+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:53:22+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:53:22+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:58:35+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:58:35+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:58:35+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:36712ce3-22f3-4c4a-8418-0427448d178a</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:075c36f4-757d-4e0f-8258-3c0a3e372d69</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>2</prism:pageCount> </rdf:Description> @@ -413,7 +413,7 @@ endobj << /Type /Catalog /Pages 14 0 R /Lang (de)/Metadata 15 0 R >> endobj 25 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175322+02'00')/ModDate (D:20240620175322+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125835+02'00')/ModDate (D:20240802125835+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 26 @@ -444,7 +444,7 @@ xref 0000023894 00000 n 0000023972 00000 n trailer -<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <2A141E41EDA78C2ADA31A952D041C439> <2A141E41EDA78C2ADA31A952D041C439> ] >> +<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <1A7EFBAD198841A82D20467F858B3B6C> <1A7EFBAD198841A82D20467F858B3B6C> ] >> startxref 24195 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf index 5f96db2bdbf..09a8d8aca07 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:53:55+02:00</rdf:li> + <rdf:li>2024-08-02T12:59:01+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-softhyphen.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:53:55+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:53:55+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:53:55+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:59:01+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:59:01+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:59:01+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:aa82e685-4098-469d-861c-3c45dfc700c7</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:9c8a342f-f758-4367-8d05-7621809f3e05</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:994c7ab3-d509-4a5b-88b5-92bca5031c75</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -393,7 +393,7 @@ endobj << /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (de)/Metadata 14 0 R/StructTreeRoot 5 0 R >> endobj 30 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175355+02'00')/ModDate (D:20240620175355+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125901+02'00')/ModDate (D:20240802125901+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 31 @@ -429,7 +429,7 @@ xref 0000018113 00000 n 0000018228 00000 n trailer -<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <5BCC76B86A64606D9B117AF50FFA18AE> <5BCC76B86A64606D9B117AF50FFA18AE> ] >> +<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <EECF5F575625EC21F0BEE870E572FEB1> <EECF5F575625EC21F0BEE870E572FEB1> ] >> startxref 18451 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf index 21b11b9346f..35e1d0609af 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:54:22+02:00</rdf:li> + <rdf:li>2024-08-02T12:59:25+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-spaceglyph-listings.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:54:22+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:54:22+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:54:22+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:59:25+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:59:25+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:59:25+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:ad8487cb-8dcc-4cab-8542-55106010deec</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:c59181fc-bb69-430b-8f90-90206d3ba579</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -354,7 +354,7 @@ endobj << /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (de)/Metadata 10 0 R/StructTreeRoot 5 0 R >> endobj 26 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175422+02'00')/ModDate (D:20240620175422+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125925+02'00')/ModDate (D:20240802125925+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 27 @@ -386,7 +386,7 @@ xref 0000015485 00000 n 0000015600 00000 n trailer -<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <50A5738B4CABF76A4CC27558811B7E58> <50A5738B4CABF76A4CC27558811B7E58> ] >> +<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <EC0A5DEABF5EE1A293FAD60891A0BF63> <EC0A5DEABF5EE1A293FAD60891A0BF63> ] >> startxref 15823 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf index 7c9c135bf7a..73ce1c06022 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:54:47+02:00</rdf:li> + <rdf:li>2024-08-02T12:59:50+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-structure-obsolete.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:54:47+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:54:47+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:54:47+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T12:59:50+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T12:59:50+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T12:59:50+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:971e1e25-37c4-4af9-8523-72714a87dea7</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:2ccba557-e5ae-4703-80db-28b73a88c1cd</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -526,7 +526,7 @@ endobj << /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de)/Metadata 20 0 R/StructTreeRoot 5 0 R >> endobj 43 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175447+02'00')/ModDate (D:20240620175447+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125950+02'00')/ModDate (D:20240802125950+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 44 @@ -575,7 +575,7 @@ xref 0000023423 00000 n 0000023538 00000 n trailer -<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <ADB87D57539D5CE2A8FC3A4721B94DA0> <ADB87D57539D5CE2A8FC3A4721B94DA0> ] >> +<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <AE5400E970AB8EBE6C04A229EBA70E89> <AE5400E970AB8EBE6C04A229EBA70E89> ] >> startxref 23761 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf index 81423fede4f..7147cd1e913 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf @@ -210,17 +210,17 @@ stream </dc:language> <dc:date> <rdf:Seq> - <rdf:li>2024-06-20T17:55:14+02:00</rdf:li> + <rdf:li>2024-08-02T13:00:16+02:00</rdf:li> </rdf:Seq> </dc:date> <dc:format>application/pdf</dc:format> <dc:source>ex-tagpdf-template.tex</dc:source> <xmp:CreatorTool>LaTeX</xmp:CreatorTool> - <xmp:CreateDate>2024-06-20T17:55:14+02:00</xmp:CreateDate> - <xmp:ModifyDate>2024-06-20T17:55:14+02:00</xmp:ModifyDate> - <xmp:MetadataDate>2024-06-20T17:55:14+02:00</xmp:MetadataDate> + <xmp:CreateDate>2024-08-02T13:00:16+02:00</xmp:CreateDate> + <xmp:ModifyDate>2024-08-02T13:00:16+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2024-08-02T13:00:16+02:00</xmp:MetadataDate> <xmpMM:DocumentID>uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:898c4009-cc18-43c3-8fda-44ab8e28318c</xmpMM:InstanceID> + <xmpMM:InstanceID>uuid:3b4409f1-f3e5-4c01-86c4-a0bcea68ea38</xmpMM:InstanceID> <prism:complianceProfile>three</prism:complianceProfile> <prism:pageCount>1</prism:pageCount> </rdf:Description> @@ -307,7 +307,7 @@ endobj << /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> endobj 19 0 obj -<< /Type /Namespace /NS (data:,69C62BB9-6D5A-6FC9-FD75-56BC71E087F4) >> +<< /Type /Namespace /NS (data:,25352333-84F8-941A-42AB-414B46468294) >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] @@ -399,7 +399,7 @@ endobj << /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en)/Metadata 26 0 R/StructTreeRoot 5 0 R >> endobj 42 0 obj -<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175514+02'00')/ModDate (D:20240620175514+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802130016+02'00')/ModDate (D:20240802130016+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 43 @@ -447,7 +447,7 @@ xref 0000017842 00000 n 0000017957 00000 n trailer -<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <E36FE13F3FA0066C1F9796E38E50018C> <E36FE13F3FA0066C1F9796E38E50018C> ] >> +<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <42D962292B4982520E998D32C837DE43> <42D962292B4982520E998D32C837DE43> ] >> startxref 18180 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex b/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex index ef07c33e95b..1a1036d282d 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex @@ -27,7 +27,7 @@ \NewDocumentCommand\balloon{m}{% \node[fit={(pic cs:#1-first) (pic cs:#1-end) ([yshift=7pt]pic cs:#1-end)},balloon](#1){};} -\begin{tikzpicture}[overlay,remember picture] +\begin{tikzpicture}[overlay,remember picture,alt={Illustration of link annotation structure}] \balloon{link} \balloon{structparent} \balloon{OBJR} @@ -45,7 +45,7 @@ \draw[ref] (kid)--(OBJR); \draw[ref] (OBJR)--(linkref); \end{tikzpicture} -\begin{lstlisting}[name=OBJR] +\begin{taglstlisting}[name=OBJR] *\tikzmark{link-first}*18 0 obj*\tikzmark{link-end}* %Link Object << /Type /Annot /Subtype/Link /Rect [ 196.109 494.573 399.167 506.831 ] @@ -67,4 +67,4 @@ endobj}; << /Nums [... *\tikzmark{pnum-first}*16*\tikzmark{pnum-end}* *\tikzmark{pref-first}*17 0 R*\tikzmark{pref-end}* ...] >> endobj -\end{lstlisting} +\end{taglstlisting} diff --git a/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png b/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png Binary files differnew file mode 100644 index 00000000000..4474bc989f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png diff --git a/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png b/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png Binary files differnew file mode 100644 index 00000000000..1bc12bdafe4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf Binary files differindex 4dd216d1a95..76e839d0d50 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf Binary files differindex 04d46c2fbfc..f7c6ea02a36 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex index ac1c33fa4a8..10d36d09a0d 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex @@ -16,8 +16,8 @@ } \DebugBlocksOff \makeatletter -\def\UlrikeFischer@package@version{0.99c} -\def\UlrikeFischer@package@date{2024-06-20} +\def\UlrikeFischer@package@version{0.99d} +\def\UlrikeFischer@package@date{2024-08-02} \makeatother \documentclass[bibliography=totoc,a4paper]{article} @@ -338,13 +338,15 @@ improvements and new features in the \LaTeX\ kernel, the latex-lab bundle and the \PDF\ management code and is now much better. Only a few structures---mostly some from currently unsupported packages--- still need manual tagging. But sadly the output of the validators don't quite reflect -the improvements. The documentation uses now \PDF~2.0 and PAC~2024 can't handle -this, it claims that the file is damaged. The Adobe validator has a bug and +the improvements. The documentation uses now \PDF~2.0 and while the newest +PAC~2024 can at least open the file it can not validate properly the file. For example +it complains about the tabular header cells as it doesn't follow attribute classes. +The Adobe validator has a bug and doesn't like the (valid) use of the \texttt{Lbl} tag for the section numbers (see figure~\ref{fig:adobe}). -But even if the documentation passed the tests of the validators: as +But even if the documentation would pass all the tests of the validators: as mentioned above passing a formal test doesn't mean that the content is really good and usable. The user commands used for the tagging and also some of the patches used are still rather crude. So there is lot space for improvement. @@ -354,8 +356,9 @@ Be aware that to create the tagged version a current lualatex-dev and a current version of the pdfmanagment-testphase package is needed. \end{tcolorbox} -\includegraphics[alt=PAC 3 report]{pac3} +\includegraphics[alt=PAC 2024 complains about PDF version]{pac2024-version} +\includegraphics[alt=PAC 2024 complains about table header cells]{pac2024-report} \begin{figure} @@ -504,6 +507,10 @@ The key-val list understands at least the following keys. More keys are defined least \PrintKeyName{activate/mc} has been used. The old name of the key |interwordspace| is still supported but deprecated. +\item[\PrintKeyName{activate/softhyphen}] Boolean. luamode only. + The key activates/deactivates the replacing of hard hyphens from hyphenation + by soft hyphens. By default this is activated. + \item[\PrintKeyName{role/new-tag}] Allows to define new tag names, see section \ref{sec:new-tag} for a description. @@ -721,11 +728,8 @@ To tag a \PDF{} three tasks must be carried out: \minisec{Page stream with marked content} -\tagpdfparaOff - -\tagstructbegin{tag=Figure,alt={Illustration of page stream with marked content},attribute=bbox}% -\tagmcbegin{tag=Figure}% -\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture] +\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture, +alt={Illustration of page stream with marked content}] \node(start){\ldots~\ldots~\ldots}; \node[draw,base right = of start](a) {mc-chunk 1}; \node[draw,base right = of a](b) {mc-chunk 2}; @@ -733,20 +737,13 @@ To tag a \PDF{} three tasks must be carried out: \node[draw,base right = of c](d) {mc-chunk 3}; \node[base right = of d] {\ldots~\ldots}; \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn \minisec{Structure} -\tagpdfparaOff \newlength\ydistance\setlength\ydistance{-0.8cm} -\tagstructbegin{tag=Figure,alt={Illustration of structure},attribute=bbox}% -\tagmcbegin{tag=Figure}% -\begin{tikzpicture}[remember picture,baseline=(root.north)] - +\begin{tikzpicture}[remember picture,baseline=(root.north),alt={Illustration of structure}] \node[draw,anchor=base west] (root) at (0,0) {Sect (start section)}; \node[draw,anchor=base west] at (0.3,\ydistance) {H (header section)}; \node[draw,anchor=base west](aref) at (0.6,2\ydistance){mc-chunk 1}; @@ -758,17 +755,12 @@ To tag a \PDF{} three tasks must be carried out: \node[draw,anchor=base west] at (0.3,8\ydistance){/P (end paragraph)}; \node[draw,anchor=base west] at (0,9\ydistance){/Sect (end section)}; \end{tikzpicture} - \begin{tikzpicture}[remember picture, overlay] \draw[->,red](aref)-|(a); \draw[->,red](bref)-|(b); \draw[->,red](cref)-|(c); \draw[->,red](dref)-|(d); - \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn \end{tcolorbox} @@ -1108,8 +1100,8 @@ the command, as the effect of the begin command ends with a new \begin{docCommands} { - {doc name=tagmcuse}, - {doc name=tag_mc_use:n} + {doc name=tagmcuse,doc parameter=\marg{label}}, + {doc name=tag_mc_use:n,doc parameter=\marg{label}} } \end{docCommands} @@ -1283,13 +1275,8 @@ add the needed code. \begin{figure} -\tagpdfparaOff -\tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure} -\tagstop \input{link-figure-input} -\tagstart -\tagmcend\tagstructend \caption{Structure needed for a link annotation}\label{fig:linkannot} @@ -2661,7 +2648,8 @@ already mentioned there are more requirements: is normally not a problem. With pdflatex it could need additional \verb+\pdfglyphtounicode+ commands. - \item Hard and soft hyphen must be distinct. + \item Hard and soft hyphen must be distinct. In luamode this is now handled through + the \texttt{activate/softhyphen} key. For pdftex no solution is known. \item Spaces between words should be space glyphs and not only a horizontal movement. See section~\ref{sec:spacechars}. @@ -3061,10 +3049,7 @@ examples and remarks easier to understand. \item[postfix notation] \PDF{} uses in various places postfix notation. This means that the operator is behind its arguments: -\tagpdfparaOff - -\tagstructbegin{tag=Figure,alt={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure} -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {18}; \node[arg,right=of a1.east](a2) {0}; \node[operator,right= of a2.east](c) {obj}; @@ -3072,7 +3057,7 @@ examples and remarks easier to understand. \draw[->] (c.south) --++(0,-2mm) -| (a2); \end{tikzpicture} -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {18}; \node[arg,right=of a1.east](a2) {0}; \node[operator,right= of a2.east](c) {R}; @@ -3081,7 +3066,7 @@ examples and remarks easier to understand. \end{tikzpicture} (a reference (operator R) to an object -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {1}; \node[arg,right = of a1.east](a2) {0}; \node[arg,right = of a2.east](a3) {0}; @@ -3097,19 +3082,15 @@ examples and remarks easier to understand. \draw[->] (c.south) --++(0,-2mm) -|(a1); \end{tikzpicture} -\begin{tikzpicture}[baseline=(c.base)] +\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}] \node[arg](a1) {/P}; \node[arg,right = of a1.east](a2) {<</MCID 0>>}; \node[operator,right = of a2.east](c) {BDC}; \draw[->] (c.south) --++(0,-2mm) -| (a1); \draw[->] (c.south) --++(0,-2mm) -| (a2); \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn - \item[Names] \PDF{} knows a sort of variable called a \enquote{name}. Names start with a slash and may include any regular characters, but not delimiter or white-space characters. Uppercase @@ -3152,19 +3133,13 @@ examples and remarks easier to understand. \mbox{\texttt{[0 15 0 R (hello) <</Type /X>> [1 2 3]]}} -\tagpdfparaOff - - \tagstructbegin{tag=Figure,alt={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure} - \begin{tikzpicture}[baseline=(c.base)] + \begin{tikzpicture}[baseline=(c.base),alt={Illustration of array}] \node[arg](a1) {0}; \node[arg,right = of a1.east](a2) {15 0 R}; \node[arg,right = of a2.east](a3) {(hello)}; \node[arg,right = of a3.east](a4) {<</Type /X>>}; \node[arg,right = of a4.east](a5) {[1 2 3]}; \end{tikzpicture} -\tagmcend\tagstructend - -\tagpdfparaOn \item[Dictionaries] Dictionaries are enclosed by double angle diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex index 04f8b88aec6..a02411c31fd 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex @@ -12,7 +12,8 @@ new key name & old key name & value &type & defined in \\\midrul activate & activate & boolean &meta & tagpdf \\ activate/all & activate-all & boolean &meta & tagpdf\\ -activate/mc & activate-mc & boolean &bool & tagpdf\\ +activate/mc & activate-mc & boolean &bool & tagpdf\\ +activate/softhyphen & --- & boolean &bool & tagpdf \\ activate/spaces & interwordspace & boolean &code & tagpdf-space\\ activate/struct & activate-struct & boolean &bool & tagpdf\\ activate/struct-dest & no-struct-dest&boolean &bool & tagpdf\\ diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx index 7e19e1e90f7..0ed233e2e0b 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx @@ -47,13 +47,13 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*luatex> -\ProvidesExplFile {tagpdf-luatex.def} {2024-06-20} {0.99c} +\ProvidesExplFile {tagpdf-luatex.def} {2024-08-02} {0.99d} {tagpdf~driver~for~luatex} % \end{macrocode} % \section{Loading the lua} @@ -164,8 +164,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.99c", --TAGVERSION - date = "2024-06-20", --TAGDATE + version = "0.99d", --TAGVERSION + date = "2024-08-02", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } @@ -252,6 +252,12 @@ local iwfontattributeid = luatexbase.new_attribute ("g_@@_interwordfont_attr") local tagunmarkedbool= token.create("g_@@_tagunmarked_bool") local truebool = token.create("c_true_bool") % \end{macrocode} +% with this token we can query the state of the softhyphen boolean +% and so detect if hyphens from hyphenation should be replaced by soft-hyphens. +% \begin{macrocode} +local softhyphenbool = token.create("g_@@_softhyphen_bool") +% \end{macrocode} + % Now a number of local versions from global tables. % Not all is perhaps needed, most node variants were copied from lua-debug. % \begin{macrocode} @@ -286,6 +292,9 @@ local KERN = node.id("kern") local PENALTY = node.id("penalty") local LOCAL_PAR = node.id("local_par") local MATH = node.id("math") + +local explicit_disc = 1 +local regular_disc = 3 % \end{macrocode} % Now we setup the main table structure. ltx is used by other latex code too! % \begin{macrocode} @@ -1267,6 +1276,80 @@ function ltx.@@.func.output_parenttree (abspage) end % \end{macrocode} % \end{macro} +% +% \begin{macro} +% { +% process_softhyphen_pre +% process_softhyphen_post +% } +% First some local definitions. Since these are only needed locally everything gets wrapped into a block. +% \begin{macrocode} +do + local properties = node.get_properties_table() + local is_soft_hyphen_prop = 'tagpdf.rewrite-softhyphen.is_soft_hyphen' + local hyphen_char = 0x2D + local soft_hyphen_char = 0xAD +% \end{macrocode} +% +% A lookup table to test if the font supports the soft hyphen glyph. +% \begin{macrocode} + local softhyphen_fonts = setmetatable({}, {__index = function(t, fid) + local fdir = identifiers[fid] + local format = fdir and fdir.format + local result = (format == 'opentype' or format == 'truetype') + local characters = fdir and fdir.characters + result = result and (characters and characters[soft_hyphen_char]) ~= nil + t[fid] = result + return result + end}) +% \end{macrocode} +% +% A pre shaping callback to mark hyphens as being hyphenation hyphens. +% This runs before shaping to avoid affecting hyphens moved into +% discretionaries during shaping. +% \begin{macrocode} + local function process_softhyphen_pre(head, _context, _dir) + if softhyphenbool.mode ~= truebool.mode then return true end + for disc, sub in node.traverse_id(DISC, head) do + if sub == explicit_disc or sub == regular_disc then + for n, _ch, _f in node.traverse_char(disc.pre) do + local props = properties[n] + if not props then + props = {} + properties[n] = props + end + props[is_soft_hyphen_prop] = true + end + end + end + return true + end + +% \end{macrocode} +% +% Finally do the actual replacement after shaping. No checking for double processing here +% since the operation is idempotent. +% \begin{macrocode} + local function process_softhyphen_post(head, _context, _dir) + if softhyphenbool.mode ~= truebool.mode then return true end + for disc, sub in node.traverse_id(DISC, head) do + for n, ch, fid in node.traverse_glyph(disc.pre) do + local props = properties[n] + if softhyphen_fonts[fid] and ch == hyphen_char and props and props[is_soft_hyphen_prop] then + n.char = soft_hyphen_char + props.glyph_info = nil + end + end + end + return true + end + + luatexbase.add_to_callback('pre_shaping_filter', process_softhyphen_pre, 'tagpdf.rewrite-softhyphen') + luatexbase.add_to_callback('post_shaping_filter', process_softhyphen_post, 'tagpdf.rewrite-softhyphen') +end +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} %</lua> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx index 345b2e35bad..3cbe3b141bb 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \section{Commands} @@ -331,7 +331,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-checks-code} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-checks-code} {2024-08-02} {0.99d} {part of tagpdf - code related to checks, conditionals, debugging and messages} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx index f07e5db3edc..6417b44c404 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % This files contains a various data files which are read in @@ -61,7 +61,7 @@ % latex-lab has also a namespace module, which takes precedence! % \begin{macrocode} %<*ns-latex> -%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-08-02} {0.99d} %% {latex} {https://www.latex-project.org/ns/dflt/2022}{} title, Title, pdf2, part, Title, pdf2, @@ -93,7 +93,7 @@ text, P, pdf2, % It is bound to change % \begin{macrocode} %<*ns-latex-book> -%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-08-02} {0.99d} %% {latex-book} {https://www.latex-project.org/ns/book/2022}{} chapter, H1,pdf2, section, H2,pdf2, @@ -107,7 +107,7 @@ subparagraph, H6,pdf2, % \section{The pdf namespace data} % \begin{macrocode} %<*ns-pdf> -%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-08-02} {0.99d} %% {pdf} {http://iso.org/pdf/ssn}{} StructTreeRoot,StructTreeRoot,pdf,D, Document,Document,pdf,D, @@ -175,7 +175,7 @@ Strong,Span,pdf,I, % \section{The pdf 2.0 namespace data} % \begin{macrocode} %<*ns-pdf2> -%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-08-02} {0.99d} %% {pdf2} {http://iso.org/pdf2/ssn}{} StructTreeRoot,StructTreeRoot,pdf2,D, Document,Document,pdf2,D, @@ -232,7 +232,7 @@ Strong,Strong,pdf2,I, % \section{The mathml namespace data} % \begin{macrocode} %<*ns-mathml> -%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-08-02} {0.99d} % {mathml}{http://www.w3.org/1998/Math/MathML}{} abs,abs,mathml, and,and,mathml, @@ -467,7 +467,7 @@ xor,xor,mathml, % This will perhaps change in future. % \begin{macrocode} %<*parent-child> -%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-08-02} {0.99d} ,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC Document,both,document level,1,0..n,β
,β‘,β‘,β
,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
Art,1.7,grouping,β
,0..n,β
,β‘,β‘,0..n,0..n,β‘,β
,β
,β
,0..n,β
,0..n,β
,β
,β
,0..1,0..1,β
,β
,β
,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,β
,β
@@ -522,7 +522,7 @@ MC,both,---,β
,β
,β
,β
,β
,β
,0..n,β‘,β
,β
,β
,0..n,0..n,0..n,0..n,0.. % This will perhaps change in future. % \begin{macrocode} %<*parent-child-2> -%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-08-02} {0.99d} ,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC Document,both,document level,1,0..n,0..n,β
,β‘,β‘,β
,0..n,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
DocumentFragment,2.0,document level,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
*,β
,β
,β
,β
,β
,β
,β
*,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
,β
,β
,β
,0..n,β
diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx index 0cef27fd3b8..ff036b5523f 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \end{documentation} @@ -55,11 +55,11 @@ % \begin{macrocode} %<@@=tag> %<*generic> -\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-08-02} {0.99d} {part of tagpdf - code related to marking chunks - generic mode} %</generic> %<*debug> -\ProvidesExplPackage {tagpdf-debug-generic} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-debug-generic} {2024-08-02} {0.99d} {part of tagpdf - debugging code related to marking chunks - generic mode} %</debug> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx index 7dd309c5f53..3c2e91605e1 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{implementation} % The code is split into three parts: code shared by all engines, @@ -86,11 +86,11 @@ % \begin{macrocode} %<@@=tag> %<*luamode> -\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-08-02} {0.99d} {tagpdf - mc code only for the luamode } %</luamode> %<*debug> -\ProvidesExplPackage {tagpdf-debug-lua} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-debug-lua} {2024-08-02} {0.99d} {part of tagpdf - debugging code related to marking chunks - lua mode} %</debug> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx index c96fd8c4c81..5bfe0658d10 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -181,7 +181,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-08-02} {0.99d} {part of tagpdf - code related to marking chunks - code shared by generic and luamode } %</header> diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx index 80f9da0f6bd..fb5f1b77c99 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \begin{function} @@ -98,7 +98,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-roles-code} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-roles-code} {2024-08-02} {0.99d} {part of tagpdf - code related to roles and structure names} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx index a29c8f0fb3d..5c8e0070848 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \begin{function}{activate/space (setup-key),interwordspace (deprecated)} @@ -66,7 +66,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-space-code} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-space-code} {2024-08-02} {0.99d} {part of tagpdf - code related to real space chars} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx index 963852b1fca..6da5e48b187 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -285,7 +285,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-struct-code} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-struct-code} {2024-08-02} {0.99d} {part of tagpdf - code related to storing structure} %</header> % \end{macrocode} @@ -1937,7 +1937,7 @@ % \section{Attributes and attribute classes} % \begin{macrocode} %<*header> -\ProvidesExplPackage {tagpdf-attr-code} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-attr-code} {2024-08-02} {0.99d} {part of tagpdf - code related to attributes and attribute classes} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx index 04b9309597f..f7ae6de9966 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx @@ -47,13 +47,13 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-tree-code} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-tree-code} {2024-08-02} {0.99d} {part of tagpdf - code related to writing trees and dictionaries to the pdf} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx index 916ff041d01..a4014b62e39 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.99c, released 2024-06-20} +% \date{Version 0.99d, released 2024-08-02} % \maketitle % \begin{documentation} % \section{Setup commands} @@ -309,7 +309,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-user} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-user} {2024-08-02} {0.99d} {tagpdf - user commands} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx index e58570340e5..b1d008a6e6c 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx @@ -72,6 +72,12 @@ % marked up as artifact. The initial value is true. % \end{function} % +% \begin{function}{activate/softhyphen (setup-key)} +% This key allows to activates automatic handling of hyphens inserted +% by hyphenation. It only is used in luamode and replaces hyphens +% by U+00AD if the font supports this. +% \end{function} +% % \begin{function}{page/tabsorder (setup-key), tabsorder (deprecated)} % This sets the tabsorder on a page. The values are |row|, |column|, |structure| (default) % or |none|. Currently this is set more or less globally. More finer control can be @@ -87,7 +93,7 @@ % \begin{macrocode} %<@@=tag> %<*package> -\ProvidesExplPackage {tagpdf} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf} {2024-08-02} {0.99d} { A package to experiment with pdf tagging } \bool_if:nF @@ -113,7 +119,7 @@ % \end{macrocode} %<*debug> % \begin{macrocode} -\ProvidesExplPackage {tagpdf-debug} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-debug} {2024-08-02} {0.99d} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} % \end{macrocode} @@ -136,7 +142,7 @@ % we define a base package with dummy functions % \begin{macrocode} %<*base> -\ProvidesExplPackage {tagpdf-base} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-base} {2024-08-02} {0.99d} {part of tagpdf - provide base, no-op versions of the user commands } %</base> % \end{macrocode} @@ -354,6 +360,13 @@ % \end{macrocode} % \end{variable} % +% \begin{variable}{\g_@@_softhyphen_bool} +% This boolean controls if the code should try to automatically +% handle hyphens from hyphenation. It is currently only used in luamode. +% \begin{macrocode} +\bool_new:N \g_@@_softhyphen_bool +% \end{macrocode} +% \end{variable} % \section{Variants of l3 commands} % \begin{macrocode} \prg_generate_conditional_variant:Nnn \pdf_object_if_exist:n {e}{T,F,TF} @@ -648,6 +661,13 @@ tagunmarked .bool_gset:N = \g_@@_tagunmarked_bool, % \end{macrocode} % \end{macro} +% \begin{macro}{activate/softhyphen (setup-key)} +% This key activates (in luamode) the handling of soft hyphens. +% \begin{macrocode} + activate/softhyphen .bool_gset:N = \g_@@_softhyphen_bool, + activate/softhyphen .initial:n = true, +% \end{macrocode} +% \end{macro} % \begin{macro}{page/tabsorder (setup-key),tabsorder (deprecated)} % This sets the tabsorder on a page. The values are |row|, |column|, |structure| (default) % or |none|. Currently this is set more or less globally. More finer control can be diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty index 8f712c5b367..7a9a9d6d55d 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty @@ -25,7 +25,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-base} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-base} {2024-08-02} {0.99d} {part of tagpdf - provide base, no-op versions of the user commands } \cs_new_protected:Npn \__tag_whatsits: {} \AddToHook{begindocument} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty index 0b49140d300..901c138ac94 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-generic.dtx -\ProvidesExplPackage {tagpdf-debug-generic} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-debug-generic} {2024-08-02} {0.99d} {part of tagpdf - debugging code related to marking chunks - generic mode} \cs_set_protected:Npn \tag_mc_begin:n #1 %#1 keyval { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty index 4b6836ea134..5872b3cee0a 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-luacode.dtx -\ProvidesExplPackage {tagpdf-debug-lua} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-debug-lua} {2024-08-02} {0.99d} {part of tagpdf - debugging code related to marking chunks - lua mode} \cs_set_protected:Npn \__tag_mc_handle_stash:n #1 %1 mcidnum { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty index b3fd520713b..4aec29b682d 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty @@ -26,7 +26,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-debug} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-debug} {2024-08-02} {0.99d} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} \prop_gput:Nnn \g_msg_module_type_prop { tag / debug} {} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def index 09846bc0b56..1425f7f3ae1 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-backend.dtx -\ProvidesExplFile {tagpdf-luatex.def} {2024-06-20} {0.99c} +\ProvidesExplFile {tagpdf-luatex.def} {2024-08-02} {0.99d} {tagpdf~driver~for~luatex} { \fontencoding{TU}\fontfamily{lmr}\fontseries{m}\fontshape{n}\fontsize{10pt}{10pt}\selectfont diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty index ca704be6e82..20f619c57b2 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-generic.dtx -\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-08-02} {0.99d} {part of tagpdf - code related to marking chunks - generic mode} \tl_new:N \l__tag_mc_ref_abspage_tl diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty index 1057a7bc678..e87996ede51 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-luacode.dtx -\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-08-02} {0.99d} {tagpdf - mc code only for the luamode } \hook_gput_code:nnn{begindocument}{tagpdf/mc} { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def index 19dac1571b8..c869398d1c6 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-08-02} {0.99d} %% {latex-book} {https://www.latex-project.org/ns/book/2022}{} chapter, H1,pdf2, section, H2,pdf2, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def index 4b51be0e8d7..de5cfacde9a 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-08-02} {0.99d} %% {latex} {https://www.latex-project.org/ns/dflt/2022}{} title, Title, pdf2, part, Title, pdf2, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def index bca7660ca53..eba7d348687 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-08-02} {0.99d} abs,abs,mathml, and,and,mathml, annotation,annotation,mathml, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def index 2e2ccc6c45f..3dd6cd6af68 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-08-02} {0.99d} %% {pdf} {http://iso.org/pdf/ssn}{} StructTreeRoot,StructTreeRoot,pdf,D, Document,Document,pdf,D, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def index b5cb091a716..f646b798d92 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-08-02} {0.99d} %% {pdf2} {http://iso.org/pdf2/ssn}{} StructTreeRoot,StructTreeRoot,pdf2,D, Document,Document,pdf2,D, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv index b0495a598c1..6acd9851901 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-08-02} {0.99d} ,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC Document,both,document level,1,0..n,0..n,β
,β‘,β‘,β
,0..n,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
DocumentFragment,2.0,document level,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
*,β
,β
,β
,β
,β
,β
,β
*,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
,β
,β
,β
,0..n,β
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv index c3b120e5d5a..74e8ba8e519 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-06-20} {0.99c} +%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-08-02} {0.99d} ,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC Document,both,document level,1,0..n,β
,β‘,β‘,β
,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
Art,1.7,grouping,β
,0..n,β
,β‘,β‘,0..n,0..n,β‘,β
,β
,β
,0..n,β
,0..n,β
,β
,β
,0..1,0..1,β
,β
,β
,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,β
,β
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua index 425dd8120f1..eebcf5ec97d 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua @@ -24,8 +24,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.99c", --TAGVERSION - date = "2024-06-20", --TAGDATE + version = "0.99d", --TAGVERSION + date = "2024-08-02", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } @@ -90,6 +90,8 @@ local iwspaceattributeid = luatexbase.new_attribute ("g__tag_interwordspace_attr local iwfontattributeid = luatexbase.new_attribute ("g__tag_interwordfont_attr") local tagunmarkedbool= token.create("g__tag_tagunmarked_bool") local truebool = token.create("c_true_bool") +local softhyphenbool = token.create("g__tag_softhyphen_bool") + local catlatex = luatexbase.registernumber("catcodetable@latex") local tableinsert = table.insert local nodeid = node.id @@ -121,6 +123,9 @@ local KERN = node.id("kern") local PENALTY = node.id("penalty") local LOCAL_PAR = node.id("local_par") local MATH = node.id("math") + +local explicit_disc = 1 +local regular_disc = 3 ltx = ltx or { } ltx.__tag = ltx.__tag or { } ltx.__tag.mc = ltx.__tag.mc or { } -- mc data @@ -826,5 +831,53 @@ function ltx.__tag.func.output_parenttree (abspage) tex.sprint(catlatex,line) end end +do + local properties = node.get_properties_table() + local is_soft_hyphen_prop = 'tagpdf.rewrite-softhyphen.is_soft_hyphen' + local hyphen_char = 0x2D + local soft_hyphen_char = 0xAD + local softhyphen_fonts = setmetatable({}, {__index = function(t, fid) + local fdir = identifiers[fid] + local format = fdir and fdir.format + local result = (format == 'opentype' or format == 'truetype') + local characters = fdir and fdir.characters + result = result and (characters and characters[soft_hyphen_char]) ~= nil + t[fid] = result + return result + end}) + local function process_softhyphen_pre(head, _context, _dir) + if softhyphenbool.mode ~= truebool.mode then return true end + for disc, sub in node.traverse_id(DISC, head) do + if sub == explicit_disc or sub == regular_disc then + for n, _ch, _f in node.traverse_char(disc.pre) do + local props = properties[n] + if not props then + props = {} + properties[n] = props + end + props[is_soft_hyphen_prop] = true + end + end + end + return true + end + + local function process_softhyphen_post(head, _context, _dir) + if softhyphenbool.mode ~= truebool.mode then return true end + for disc, sub in node.traverse_id(DISC, head) do + for n, ch, fid in node.traverse_glyph(disc.pre) do + local props = properties[n] + if softhyphen_fonts[fid] and ch == hyphen_char and props and props[is_soft_hyphen_prop] then + n.char = soft_hyphen_char + props.glyph_info = nil + end + end + end + return true + end + + luatexbase.add_to_callback('pre_shaping_filter', process_softhyphen_pre, 'tagpdf.rewrite-softhyphen') + luatexbase.add_to_callback('post_shaping_filter', process_softhyphen_post, 'tagpdf.rewrite-softhyphen') +end -- -- End of File `tagpdf.lua'. diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty index 1688cdf6478..063109a7a22 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty @@ -28,7 +28,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdf} {2024-08-02} {0.99d} { A package to experiment with pdf tagging } \bool_if:nF @@ -137,6 +137,7 @@ \bool_set_true:N \l__tag_active_struct_bool \bool_new:N \l__tag_active_socket_bool \bool_new:N \g__tag_tagunmarked_bool +\bool_new:N \g__tag_softhyphen_bool \prg_generate_conditional_variant:Nnn \pdf_object_if_exist:n {e}{T,F,TF} \cs_generate_variant:Nn \pdf_object_ref:n {e} \cs_generate_variant:Nn \pdfannot_dict_put:nnn {nne} @@ -273,6 +274,8 @@ activate/tagunmarked .bool_gset:N = \g__tag_tagunmarked_bool, activate/tagunmarked .initial:n = true, tagunmarked .bool_gset:N = \g__tag_tagunmarked_bool, + activate/softhyphen .bool_gset:N = \g__tag_softhyphen_bool, + activate/softhyphen .initial:n = true, page/tabsorder .choice:, page/tabsorder / row .code:n = \pdfmanagement_add:nnn { Page } {Tabs}{/R}, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty index 936f8adacd2..6ae5840b113 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty @@ -1,5 +1,5 @@ %\RequirePackage[enable-debug]{expl3}[2018/06/14] -\ProvidesExplPackage {tagpdfdocu-patches} {2024-06-20} {0.99c} +\ProvidesExplPackage {tagpdfdocu-patches} {2024-08-02} {0.99d} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox,xpatch} @@ -82,10 +82,6 @@ % } \ExplSyntaxOff -% ======== tikzpicture ========== -% TODO this needs some investigation: it messes up the stack if one add paraOff - -\AddToHook{env/tikzpicture/begin}{} %======== tcolorbox ======== % We switch of paratagging at the begin and reenable it locally in before upper. @@ -138,22 +134,6 @@ % ======= footnote ======== % done in testphase code -% ======= bibliography ======== -% biblatex. Creates some empty mc-chunks. -% no internal patches, but redefining begentry/finentry is not safe. -% better hook is needed. - - -\def\blx@endbibliography{% - \csuse{blx@endenv@\blx@theenv}% - \blx@noitem - \blx@locallabelwidth@finish - \endgroup - \blx@bibnote\blx@thepostnote -% \endgroup - \expandafter\endgroup\if@endpe\@doendpe\fi -} - % ====== hyperref ======== % this should probably go into tagpdf, but it is related to % problem of pdf strings and context .... @@ -167,16 +147,147 @@ \let\tagstructend\relax }}{} -%====== picture ======= +%====== tikz picture ======= +% first draft to tag. The main problem is to handle paragraphs. One +\ExplSyntaxOn +\cs_new_protected:Npn\__tag_tikz_savepos:n #1 + { + \tex_savepos:D + \tikz@resetexpandcount% + \tikz@scan@one@point\pgfutil@firstofone(current~bounding~box.north~east)\relax + \pgf@pos@transform{\pgf@x}{\pgf@y}% + \property_record:nn{#1}{xpos,ypos,abspage} + \property_record:nn{#1-tr}{pgfx,pgfy} + \tikz@scan@one@point\pgfutil@firstofone(current~bounding~box.south~west)\relax + \pgf@pos@transform{\pgf@x}{\pgf@y}% + \property_record:nn{#1-bl}{pgfx,pgfy} + \tex_savepos:D + } +\cs_generate_variant:Nn \__tag_tikz_savepos:n {e} + +\NewProperty{pgfx}{now}{0} + { + \dim_compare:nNnTF {\dim_abs:n {\pgf@x}} > {15999pt} + { 0 } + { \dim_to_decimal_in_sp:n{\pgf@x} } + } +\NewProperty{pgfy}{now}{0} + { + \dim_compare:nNnTF {\dim_abs:n {\pgf@y}} > {15999pt} + { 0 } + { \dim_to_decimal_in_sp:n{\pgf@y} } + } + +\cs_new_protected:Npn \__tag_tikz_getbbox: + { + \int_gincr:N\g__tag_graphic_int + \tl_set:Ne\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int} + \tl_gset:Ne\g__tag_graphic_lx_tl + { + \dim_to_decimal_in_bp:n + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp + + \property_ref:een {\l__tag_graphic_currentlabel_tl-bl}{pgfx}{0}sp + } + } + \tl_gset:Ne\g__tag_graphic_ly_tl + { + \dim_to_decimal_in_bp:n + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp + + \property_ref:een {\l__tag_graphic_currentlabel_tl-bl}{pgfy}{0}sp + } + } + \tl_gset:Ne\g__tag_graphic_ux_tl + { + \dim_to_decimal_in_bp:n + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp + + \property_ref:een {\l__tag_graphic_currentlabel_tl-tr}{pgfx}{0}sp + } + } + \tl_gset:Ne\g__tag_graphic_uy_tl + { + \dim_to_decimal_in_bp:n + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp + + \property_ref:een {\l__tag_graphic_currentlabel_tl-tr}{pgfy}{0}sp + } + } + } -% PAC3 complained that the BBox is missing, so we are cheating for now -% and add a fix size. -\tagpdfsetup - { - newattribute = - {bbox}{/O /Layout /BBox [0 0 100 100]} +\cs_new_protected:Npn \__tag_graphic_tikz_begin_picture: + { + \tag_mc_end_push: + \bool_if:NTF \l__tag_graphic_artifact_bool + { \tagmcbegin{artifact} } + { + \__tag_tikz_getbbox: + \tagstructbegin{tag=Figure,alt=\l__tag_graphic_alt_tl}\tagmcbegin{} + \__tag_prop_gput:cne + { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + { A } + { + << + /O /Layout /BBox~ + [ + \g__tag_graphic_lx_tl\c_space_tl + \g__tag_graphic_ly_tl\c_space_tl + \g__tag_graphic_ux_tl\c_space_tl + \g__tag_graphic_uy_tl + ] + >> + } + \bool_if:NT\l__tag_graphic_debug_bool + { + \__tag_graphic_show_bbox:VVVVne + \g__tag_graphic_lx_tl + \g__tag_graphic_ly_tl + \g__tag_graphic_ux_tl + \g__tag_graphic_uy_tl + {red} + {\int_use:N\g__tag_graphic_int} + } + } + \SuspendTagging{tikz} } +\cs_new_protected:Npn \__tag_graphic_tikz_end_picture: + { + \ResumeTagging{tikz}\tagmcend + \bool_if:NF \l__tag_graphic_artifact_bool + { + \tagstructend + \__tag_tikz_savepos:e {__tag_graphic_\int_use:N \g__tag_graphic_int} + } + \tag_mc_begin_pop:n{} + } + +\tikzset + { + every~picture/.style= + { + artifact, + execute~at~begin~picture=\__tag_graphic_tikz_begin_picture:, + execute~at~end~picture=\__tag_graphic_tikz_end_picture: + } + } +\AddToHook{env/tikzpicture/before}{\leavevmode} + +\tikzset + { + alt/.code= + { + \bool_set_false:N \l__tag_graphic_artifact_bool + \tl_set:Nn \l__tag_graphic_alt_tl{#1} + } + } +\tikzset + { + artifact/.code= + \bool_set_true:N \l__tag_graphic_artifact_bool + } + +\ExplSyntaxOff + + + \endinput |