From a483cdc5476ccac70573183cd1a4027a1c0629b2 Mon Sep 17 00:00:00 2001 From: Maxim Date: Tue, 12 Sep 2023 17:15:22 +0300 Subject: [PATCH] Add PDF/UA-2 rules --- .../verapdf-profile-5-t01.xml | 21 + .../verapdf-profile-5-t02.xml | 26 + .../verapdf-profile-5-t03.xml | 23 + .../verapdf-profile-5-t04.xml | 23 + .../verapdf-profile-5-t05.xml | 23 + .../verapdf-profile-8-10-1-t01.xml | 26 + .../verapdf-profile-8-10-1-t02.xml | 23 + .../verapdf-profile-8-10-2-3-t01.xml | 23 + .../verapdf-profile-8-10-3-3-t01.xml | 26 + .../verapdf-profile-8-10-3-5-t01.xml | 24 + .../verapdf-profile-8-11-1-t01.xml | 25 + .../verapdf-profile-8-11-2-t01.xml | 30 + .../verapdf-profile-8-14-1-t01.xml | 23 + .../verapdf-profile-8-2-1-t01.xml | 25 + .../verapdf-profile-8-2-2-t01.xml | 21 + .../verapdf-profile-8-2-4-t01.xml | 33 + .../verapdf-profile-8-2-4-t02.xml | 23 + .../verapdf-profile-8-2-4-t03.xml | 23 + .../verapdf-profile-8-2-5-12-t01.xml | 21 + .../verapdf-profile-8-2-5-14-t01.xml | 23 + .../verapdf-profile-8-2-5-14-t02.xml | 28 + .../verapdf-profile-8-2-5-14-t03.xml | 23 + .../verapdf-profile-8-2-5-2-t01.xml | 30 + .../verapdf-profile-8-2-5-2-t02.xml | 31 + .../verapdf-profile-8-2-5-20-t01.xml | 27 + .../verapdf-profile-8-2-5-20-t02.xml | 27 + .../verapdf-profile-8-2-5-20-t03.xml | 26 + .../verapdf-profile-8-2-5-23-t01.xml | 25 + .../verapdf-profile-8-2-5-24-t01.xml | 25 + .../verapdf-profile-8-2-5-25-t01.xml | 26 + .../verapdf-profile-8-2-5-25-t02.xml | 24 + .../verapdf-profile-8-2-5-26-t01.xml | 21 + .../verapdf-profile-8-2-5-26-t02.xml | 28 + .../verapdf-profile-8-2-5-26-t03.xml | 25 + .../verapdf-profile-8-2-5-26-t04.xml | 27 + .../verapdf-profile-8-2-5-26-t05.xml | 27 + .../verapdf-profile-8-2-5-26-t06.xml | 30 + .../verapdf-profile-8-2-5-28-2-t01.xml | 28 + .../verapdf-profile-8-2-5-29-t01.xml | 23 + .../verapdf-profile-8-2-5-29-t02.xml | 24 + .../verapdf-profile-8-2-5-8-t01.xml | 24 + .../verapdf-profile-8-4-3-t01.xml | 21 + .../verapdf-profile-8-4-3-t02.xml | 21 + .../verapdf-profile-8-4-3-t03.xml | 21 + .../verapdf-profile-8-4-4-t01.xml | 23 + .../verapdf-profile-8-4-4-t02.xml | 32 + .../verapdf-profile-8-4-5-3-1-t01.xml | 44 + .../verapdf-profile-8-4-5-3-2-t01.xml | 25 + .../verapdf-profile-8-4-5-4-t01.xml | 42 + .../verapdf-profile-8-4-5-4-t02.xml | 26 + .../verapdf-profile-8-4-5-4-t03.xml | 40 + .../verapdf-profile-8-4-5-5-1-t01.xml | 25 + .../verapdf-profile-8-4-5-5-1-t02.xml | 32 + .../verapdf-profile-8-4-5-6-t01.xml | 28 + .../verapdf-profile-8-4-5-7-t01.xml | 26 + .../verapdf-profile-8-4-5-7-t02.xml | 37 + .../verapdf-profile-8-4-5-7-t03.xml | 21 + .../verapdf-profile-8-4-5-7-t04.xml | 24 + .../verapdf-profile-8-4-5-8-t01.xml | 26 + .../verapdf-profile-8-4-5-8-t02.xml | 24 + .../verapdf-profile-8-4-5-9-t01.xml | 23 + .../verapdf-profile-8-5-1-t01.xml | 28 + .../verapdf-profile-8-6-t01.xml | 23 + .../verapdf-profile-8-7-t01.xml | 39 + .../verapdf-profile-8-7-t02.xml | 21 + .../verapdf-profile-8-8-t01.xml | 24 + .../verapdf-profile-8-8-t02.xml | 24 + .../verapdf-profile-8-9-2-1-t01.xml | 34 + .../verapdf-profile-8-9-2-2-t01.xml | 29 + .../verapdf-profile-8-9-2-2-t02.xml | 31 + .../verapdf-profile-8-9-2-3-t01.xml | 24 + .../verapdf-profile-8-9-2-3-t02.xml | 24 + .../verapdf-profile-8-9-2-4-10-t01.xml | 29 + .../verapdf-profile-8-9-2-4-11-t01.xml | 21 + .../verapdf-profile-8-9-2-4-11-t02.xml | 21 + .../verapdf-profile-8-9-2-4-12-t01.xml | 21 + .../verapdf-profile-8-9-2-4-13-t01.xml | 28 + .../verapdf-profile-8-9-2-4-14-t01.xml | 26 + .../verapdf-profile-8-9-2-4-15-t01.xml | 21 + .../verapdf-profile-8-9-2-4-19-t01.xml | 23 + .../verapdf-profile-8-9-2-4-19-t02.xml | 23 + .../verapdf-profile-8-9-2-4-7-t01.xml | 23 + .../verapdf-profile-8-9-2-4-8-t01.xml | 21 + .../verapdf-profile-8-9-2-4-9-t01.xml | 26 + .../verapdf-profile-8-9-3-3-t01.xml | 25 + .../verapdf-profile-8-9-4-1-t01.xml | 30 + .../verapdf-profile-8-9-4-2-t01.xml | 24 + PDF_UA/PDFUA-2.xml | 1070 +++++++++++++++++ 88 files changed, 3328 insertions(+) create mode 100644 PDF_UA/2/5 Version identification/verapdf-profile-5-t01.xml create mode 100644 PDF_UA/2/5 Version identification/verapdf-profile-5-t02.xml create mode 100644 PDF_UA/2/5 Version identification/verapdf-profile-5-t03.xml create mode 100644 PDF_UA/2/5 Version identification/verapdf-profile-5-t04.xml create mode 100644 PDF_UA/2/5 Version identification/verapdf-profile-5-t05.xml create mode 100644 PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t01.xml create mode 100644 PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t02.xml create mode 100644 PDF_UA/2/8.10 Forms/8.10.2 Context/8.10.2.3 Contents entry/verapdf-profile-8-10-2-3-t01.xml create mode 100644 PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.3 Text fields/verapdf-profile-8-10-3-3-t01.xml create mode 100644 PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.5 Signature fields/verapdf-profile-8-10-3-5-t01.xml create mode 100644 PDF_UA/2/8.11 Metadata/8.11.1 General/verapdf-profile-8-11-1-t01.xml create mode 100644 PDF_UA/2/8.11 Metadata/8.11.2 Interactive aspects/verapdf-profile-8-11-2-t01.xml create mode 100644 PDF_UA/2/8.14 Use of embedded files/8.14.1 Descriptions for embedded files/verapdf-profile-8-14-1-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.1 General/verapdf-profile-8-2-1-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.2 Real content/verapdf-profile-8-2-2-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t03.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.12 Heading (Hn) and (H)/verapdf-profile-8-2-5-12-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t03.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t03.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.23 Ruby (Ruby, RB, RT, RP)/verapdf-profile-8-2-5-23-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.24 Warichu (WT, WP)/verapdf-profile-8-2-5-24-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t03.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t04.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t05.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t06.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.28 Figure/8.2.5.28.2 Figure properties/verapdf-profile-8-2-5-28-2-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t01.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t02.xml create mode 100644 PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.8 Table of Contents (TOC and TOCI)/verapdf-profile-8-2-5-8-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t02.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t03.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t02.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.1 General/verapdf-profile-8-4-5-3-1-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.2 CIDFonts/verapdf-profile-8-4-5-3-2-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t02.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t03.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t02.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.6 Font metrics/verapdf-profile-8-4-5-6-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t02.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t03.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t04.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t01.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t02.xml create mode 100644 PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.9 Use of .notdef glyph/verapdf-profile-8-4-5-9-t01.xml create mode 100644 PDF_UA/2/8.5 Real content without textual semantics/8.5.1 General/verapdf-profile-8-5-1-t01.xml create mode 100644 PDF_UA/2/8.6 Text string objects/verapdf-profile-8-6-t01.xml create mode 100644 PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t01.xml create mode 100644 PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t02.xml create mode 100644 PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t01.xml create mode 100644 PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t02.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.1 General/verapdf-profile-8-9-2-1-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t02.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t02.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.10 File attachment/verapdf-profile-8-9-2-4-10-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t02.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.12 Screen/verapdf-profile-8-9-2-4-12-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.13 Widget/verapdf-profile-8-9-2-4-13-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.14 Printer's mark/verapdf-profile-8-9-2-4-14-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.15 Trap network/verapdf-profile-8-9-2-4-15-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t02.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.7 Rubber stamp/verapdf-profile-8-9-2-4-7-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.8 Ink/verapdf-profile-8-9-2-4-8-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.9 Popup/verapdf-profile-8-9-2-4-9-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.3 Order/8.9.3.3 Tab order/verapdf-profile-8-9-3-3-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.1 Contents entries/verapdf-profile-8-9-4-1-t01.xml create mode 100644 PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.2 Alt properties/verapdf-profile-8-9-4-2-t01.xml create mode 100644 PDF_UA/PDFUA-2.xml diff --git a/PDF_UA/2/5 Version identification/verapdf-profile-5-t01.xml b/PDF_UA/2/5 Version identification/verapdf-profile-5-t01.xml new file mode 100644 index 00000000..82310772 --- /dev/null +++ b/PDF_UA/2/5 Version identification/verapdf-profile-5-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 5 Version identification - PDF/UA Identification Schema + The PDF/UA version of a file shall be specified in the value of the Metadata entry in the document catalog using the PDF/UA identification schema +
+ + + + + The PDF/UA version of a file shall be specified in the value of the Metadata entry in the document catalog using the PDF/UA identification schema + UAIdentification_size == 1 + + The document metadata stream doesn't contains PDF/UA Identification Schema + + + + + + +
diff --git a/PDF_UA/2/5 Version identification/verapdf-profile-5-t02.xml b/PDF_UA/2/5 Version identification/verapdf-profile-5-t02.xml new file mode 100644 index 00000000..c718dc33 --- /dev/null +++ b/PDF_UA/2/5 Version identification/verapdf-profile-5-t02.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 5 Version identification - Part number + The value of pdfuaid:part shall be the part number of the International Standard to which the file + conforms +
+ + + + + The value of pdfuaid:part shall be the part number of the International Standard to which the + file conforms + part == 2 + + The "part" property of the PDF/UA Identification Schema is %1 instead of 2 for + PDF/UA-2 conforming file + + part + + + + + + +
diff --git a/PDF_UA/2/5 Version identification/verapdf-profile-5-t03.xml b/PDF_UA/2/5 Version identification/verapdf-profile-5-t03.xml new file mode 100644 index 00000000..429745b0 --- /dev/null +++ b/PDF_UA/2/5 Version identification/verapdf-profile-5-t03.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 5 Version identification - part prefix + Property part of the PDF/UA Identification Schema shall have namespace prefix pdfuaid +
+ + + + + Property part of the PDF/UA Identification Schema shall have namespace prefix pdfuaid + partPrefix == null || partPrefix == "pdfuaid" + + Property part of the PDF/UA Identification Schema has invalid namespace prefix %1 + + partPrefix + + + + + + +
diff --git a/PDF_UA/2/5 Version identification/verapdf-profile-5-t04.xml b/PDF_UA/2/5 Version identification/verapdf-profile-5-t04.xml new file mode 100644 index 00000000..1670e9c8 --- /dev/null +++ b/PDF_UA/2/5 Version identification/verapdf-profile-5-t04.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 5 Version identification - rev prefix + Property rev of the PDF/UA Identification Schema shall have namespace prefix pdfuaid +
+ + + + + Property rev of the PDF/UA Identification Schema shall have namespace prefix pdfuaid + revPrefix == null || revPrefix == "pdfuaid" + + Property rev of the PDF/UA Identification Schema has invalid namespace prefix %1 + + revPrefix + + + + + + +
diff --git a/PDF_UA/2/5 Version identification/verapdf-profile-5-t05.xml b/PDF_UA/2/5 Version identification/verapdf-profile-5-t05.xml new file mode 100644 index 00000000..db8ba9d3 --- /dev/null +++ b/PDF_UA/2/5 Version identification/verapdf-profile-5-t05.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 5 Version identification - rev property + The value of pdfuaid:rev shall be the four digit year +
+ + + + + The value of pdfuaid:rev shall be the four digit year + /^\d{4}$/.test(rev) + + The value of pdfuaid:rev (%1) not the four digit year + + rev + + + + + + +
diff --git a/PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t01.xml b/PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t01.xml new file mode 100644 index 00000000..bd8d6712 --- /dev/null +++ b/PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.10 Forms - 8.10.1 General - Form structure element + Each widget annotation shall be enclosed by a Form structure element unless the widget annotation + is an artifact +
+ + + + + Each widget annotation shall be enclosed by a Form structure element unless the widget + annotation is an artifact + structParentType == null || structParentStandardType == 'Form' || isArtifact == true + + A Widget annotation is nested within %1 tag (standard type = %2) instead of Form or Artifact + + structParentType + structParentStandardType + + + + + + +
diff --git a/PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t02.xml b/PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t02.xml new file mode 100644 index 00000000..081b1d00 --- /dev/null +++ b/PDF_UA/2/8.10 Forms/8.10.1 General/verapdf-profile-8-10-1-t02.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.10 Forms - 8.10.1 General - Widget annotations count + A Form structure element shall contain at most one widget annotation +
+ + + + + A Form structure element shall contain at most one widget annotation + widgetAnnotsCount <= 1 + + A Form structure element contains %1 annotations + + widgetAnnotsCount + + + + + + +
diff --git a/PDF_UA/2/8.10 Forms/8.10.2 Context/8.10.2.3 Contents entry/verapdf-profile-8-10-2-3-t01.xml b/PDF_UA/2/8.10 Forms/8.10.2 Context/8.10.2.3 Contents entry/verapdf-profile-8-10-2-3-t01.xml new file mode 100644 index 00000000..ca69d0de --- /dev/null +++ b/PDF_UA/2/8.10 Forms/8.10.2 Context/8.10.2.3 Contents entry/verapdf-profile-8-10-2-3-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.10 Forms - 8.10.2.3 Contents entry - Lbl + If a label for a widget annotation is not present, a Contents entry shall be provided to supply + description and context for the widget +
+ + + + + If a label for a widget annotation is not present, a Contents entry shall be provided to supply + description and context for the widget + containsLbl == true || Contents != null + + Widget annotation contains neither label nor Contents entry + + + + + + +
diff --git a/PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.3 Text fields/verapdf-profile-8-10-3-3-t01.xml b/PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.3 Text fields/verapdf-profile-8-10-3-3-t01.xml new file mode 100644 index 00000000..3b4792a5 --- /dev/null +++ b/PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.3 Text fields/verapdf-profile-8-10-3-3-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.10 Forms - 8.10.3.3 Text fields - RV and V entries + For text fields, when an RV entry is present a V entry shall also be present, and they shall be + textually equivalent +
+ + + + + For text fields, when an RV entry is present a V entry shall also be present, and they shall be + textually equivalent + containsRV == false || (V != null && RV == V) + + Text field contains RV entry, but no V entry or they are not textually equivalent (RV = %1, V = %2) + + RV + V + + + + + + +
diff --git a/PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.5 Signature fields/verapdf-profile-8-10-3-5-t01.xml b/PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.5 Signature fields/verapdf-profile-8-10-3-5-t01.xml new file mode 100644 index 00000000..d8cc5453 --- /dev/null +++ b/PDF_UA/2/8.10 Forms/8.10.3 Fields/8.10.3.5 Signature fields/verapdf-profile-8-10-3-5-t01.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.10 Forms - 8.10.3.5 Signature fields - Alt for the graphic + If a portion of the appearance of a signature is represented by a graphic, alternative text shall + be provided for that graphic +
+ + + + + If a portion of the appearance of a signature is represented by a graphic, alternative text + shall be provided for that graphic + isSignature == false || Alt != null + + A portion of the appearance of a signature is represented by a graphic, but alternative text + is not provided for that graphic + + + + + + +
diff --git a/PDF_UA/2/8.11 Metadata/8.11.1 General/verapdf-profile-8-11-1-t01.xml b/PDF_UA/2/8.11 Metadata/8.11.1 General/verapdf-profile-8-11-1-t01.xml new file mode 100644 index 00000000..054943e6 --- /dev/null +++ b/PDF_UA/2/8.11 Metadata/8.11.1 General/verapdf-profile-8-11-1-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.11 Metadata - 8.11.1 General - Dc title + The Metadata stream as specified in ISO 32000-2:2020, 14.3 in the document catalog dictionary shall + contain a dc:title entry +
+ + + + + The Metadata stream as specified in ISO 32000-2:2020, 14.3 in the document catalog dictionary + shall contain a dc:title entry + dc_title != null + + Metadata stream does not contain dc:title + + + + + + + + +
diff --git a/PDF_UA/2/8.11 Metadata/8.11.2 Interactive aspects/verapdf-profile-8-11-2-t01.xml b/PDF_UA/2/8.11 Metadata/8.11.2 Interactive aspects/verapdf-profile-8-11-2-t01.xml new file mode 100644 index 00000000..9cad758b --- /dev/null +++ b/PDF_UA/2/8.11 Metadata/8.11.2 Interactive aspects/verapdf-profile-8-11-2-t01.xml @@ -0,0 +1,30 @@ + + +
+ ISO 14289-2:202x - 8.11 Metadata - 8.11.2 Interactive aspects - DisplayDocTitle + The ViewerPreferences dictionary of the document catalog dictionary shall be present and shall + contain at least the DisplayDocTitle key with a value of true, as described in ISO 32000-2:2020, Table 147 +
+ + + + + The ViewerPreferences dictionary of the document catalog dictionary shall be present and shall + contain at least the DisplayDocTitle key with a value of true, as described in ISO 32000-2:2020, Table 147 + DisplayDocTitle == true + + ViewerPreferences dictionary is not present in the document Catalog, or DisplayDocTitle key is + set to false or is not present in the ViewerPreferences dictionary (ViewerPreferences = %1, + DisplayDocTitle = %2) + + ViewerPreferences + DisplayDocTitle + + + + + + + + +
diff --git a/PDF_UA/2/8.14 Use of embedded files/8.14.1 Descriptions for embedded files/verapdf-profile-8-14-1-t01.xml b/PDF_UA/2/8.14 Use of embedded files/8.14.1 Descriptions for embedded files/verapdf-profile-8-14-1-t01.xml new file mode 100644 index 00000000..f018207c --- /dev/null +++ b/PDF_UA/2/8.14 Use of embedded files/8.14.1 Descriptions for embedded files/verapdf-profile-8-14-1-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.14 Use of embedded files - 8.14.1 Descriptions for embedded files - Desc entry + The Desc entry shall be present on all file specification dictionaries present in the EmbeddedFiles + name tree of a conforming document +
+ + + + + The Desc entry shall be present on all file specification dictionaries present in the + EmbeddedFiles name tree of a conforming document + containsDesc == true + + The file specification dictionary for an embedded file does not contain Desc key + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.1 General/verapdf-profile-8-2-1-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.1 General/verapdf-profile-8-2-1-t01.xml new file mode 100644 index 00000000..d3081321 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.1 General/verapdf-profile-8-2-1-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.1 General - StructureTreeRoot + The logical structure of the conforming file shall be described by a structure hierarchy rooted + in the StructTreeRoot entry of the document catalog dictionary, as described in ISO 32000-2:2020, 14.7 +
+ + + + + The logical structure of the conforming file shall be described by a structure hierarchy rooted + in the StructTreeRoot entry of the document catalog dictionary, as described in ISO 32000-2:2020, 14.7 + StructTreeRoot_size == 1 + + StructTreeRoot entry is not present in the document catalog + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.2 Real content/verapdf-profile-8-2-2-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.2 Real content/verapdf-profile-8-2-2-t01.xml new file mode 100644 index 00000000..46359770 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.2 Real content/verapdf-profile-8-2-2-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.2 Real content - Artifact or real content + Content that is not considered real shall be an artifact +
+ + + + + Content that is not considered real shall be an artifact + parentStructureTag != null || parentsTags.split('&').filter(elem => elem == 'Artifact').length > 0 + + Content is neither marked as Artifact nor tagged as real content + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t01.xml new file mode 100644 index 00000000..3621f868 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t01.xml @@ -0,0 +1,33 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.4 Structure types - Standard roles + All structure elements shall belong to, or be role mapped to, at least one of the following + namespaces specified in ISO 32000-2:2020, 14.8.6: + — the PDF 1.7 namespace; + — the PDF 2.0 namespace; + — the MathML namespace +
+ + + + + All structure elements shall belong to, or be role mapped to, at least one of the following + namespaces specified in ISO 32000-2:2020, 14.8.6: + — the PDF 1.7 namespace; + — the PDF 2.0 namespace; + — the MathML namespace + circularMappingExist == true + + Non-standard structure type %1 is not mapped to a standard type + + valueS + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t02.xml new file mode 100644 index 00000000..9b79733a --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t02.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.4 Structure types - Circular mapping + A circular mapping shall not exist +
+ + + + + A circular mapping shall not exist + circularMappingExist != true + + A circular mapping exists for %1 structure type + + valueS + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t03.xml b/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t03.xml new file mode 100644 index 00000000..5512e0d2 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.4 Structure types/verapdf-profile-8-2-4-t03.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.4 Structure types - Same namespace mapping + Structure types shall not be role mapped to other structure types in the same namespace +
+ + + + + Structure types shall not be role mapped to other structure types in the same namespace + roleMapToSameNamespaceTag == null + + Structure type %1 is role mapped to other structure type in the same namespace + + roleMapToSameNamespaceTag + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.12 Heading (Hn) and (H)/verapdf-profile-8-2-5-12-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.12 Heading (Hn) and (H)/verapdf-profile-8-2-5-12-t01.xml new file mode 100644 index 00000000..db909b7a --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.12 Heading (Hn) and (H)/verapdf-profile-8-2-5-12-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.12 Heading (Hn) and (H) - H + Conforming files shall not use the H structure type +
+ + + + + Conforming files shall not use the H structure type + false + + Document uses H structure type + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t01.xml new file mode 100644 index 00000000..4cc939f3 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.14 Footnotes and Endnotes (FENote) - Note + The Note standard structure type shall not be present in conforming documents unless role mapped to + a structure element in the PDF 2.0 namespace +
+ + + + + The Note standard structure type shall not be present in conforming documents unless role + mapped to a structure element in the PDF 2.0 namespace + false + + Document uses Note structure type + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t02.xml new file mode 100644 index 00000000..ca3da3c4 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t02.xml @@ -0,0 +1,28 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.14 Footnotes and Endnotes (FENote) - Ref entry + Real content that refers to footnotes or endnotes (real content enclosed in FENote structure + elements) shall use the Ref entry as specified in 8.8 on the referring structure element to reference the + FENote. The corresponding FENote shall also use the Ref entry to identify all citations that reference it +
+ + + + + Real content that refers to footnotes or endnotes (real content enclosed in FENote structure + elements) shall use the Ref entry as specified in 8.8 on the referring structure element to reference the + FENote. The corresponding FENote shall also use the Ref entry to identify all citations that reference it + orphanRefs == null + + Ref entry in the FENote does not reference structure elements with object numbers %1, while + these structure elements reference this FENote + + orphanRefs + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t03.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t03.xml new file mode 100644 index 00000000..3f11818b --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.14 Footnotes and Endnotes (FENote)/verapdf-profile-8-2-5-14-t03.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.14 Footnotes and Endnotes (FENote) - NoteType + The value of the NoteType attribute of the FENote structure element shall be Footnote, Endnote or None +
+ + + + + The value of the NoteType attribute of the FENote structure element shall be Footnote, Endnote or None + NoteType == 'Footnote' || NoteType == 'Endnote' || NoteType == 'None' + + NoteType attribute of the FENote structure element has value %1 instead of Footnote, Endnote or None + + NoteType + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t01.xml new file mode 100644 index 00000000..be6814c8 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t01.xml @@ -0,0 +1,30 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.2 Document and DocumentFragment - Struct tree root child + The structure tree root shall contain a single Document structure element as its only child, as + specified in ISO 32000-2:2020, Annex L and ISO/TS 32005 +
+ + + + + The structure tree root shall contain a single Document structure element as its only child, + as specified in ISO 32000-2:2020, Annex L and ISO/TS 32005 + kidsStandardTypes == 'Document' + + The structure tree root contains %1 element(s) instead of a single Document structure element + + kidsStandardTypes.replaceAll('&', ',') + + + + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t02.xml new file mode 100644 index 00000000..cc3ad0ff --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.2 Document and DocumentFragment/verapdf-profile-8-2-5-2-t02.xml @@ -0,0 +1,31 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.2 Document and DocumentFragment - Struct tree root child + The structure tree root shall contain a single Document structure element as its only child. + The namespace for that element shall be specified as the PDF 2.0 namespace +
+ + + + + The structure tree root shall contain a single Document structure element as its only child. + The namespace for that element shall be specified as the PDF 2.0 namespace + kidsStandardTypes != 'Document' || firstChildStandardTypeNamespaceURL == 'http://iso.org/pdf2/ssn' + + The structure tree root contains a single Document structure element, but this element is not + within the PDF 2.0 namespace (namespace URI = %1) + + firstChildStandardTypeNamespaceURL + + + + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t01.xml new file mode 100644 index 00000000..548e77ce --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t01.xml @@ -0,0 +1,27 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.20 Link and Reference - Link annotation + A link annotation and its associated content shall be enclosed in either a Link or Reference + structure element +
+ + + + + A link annotation and its associated content shall be enclosed in either a Link or Reference + structure element + structParentStandardType == 'Link' || structParentStandardType == 'Reference' + + A Link annotation is an Artifact or is nested within %1 tag (standard type = %2) instead of Link + or Reference + + structParentType + structParentStandardType + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t02.xml new file mode 100644 index 00000000..492fe100 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t02.xml @@ -0,0 +1,27 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.20 Link and Reference - Different locations + Link annotations that target different locations shall be in separate Link or Reference + structure elements +
+ + + + + Link annotations that target different locations shall be in separate Link or Reference + structure elements + differentTargetAnnotObjectKey == null + + Struct element %1 contains Link annotations %1 and %2 that target different locations + + structParentObjectKey + objectKey + differentTargetAnnotObjectKey + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t03.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t03.xml new file mode 100644 index 00000000..6925851c --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.20 Link and Reference/verapdf-profile-8-2-5-20-t03.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.20 Link and Reference - Same locations + Multiple link annotations shall be included in a single Link or Reference structure element if + they target the same location and are semantically perceived to be a single link +
+ + + + + Multiple link annotations shall be included in a single Link or Reference structure element if + they target the same location and are semantically perceived to be a single link + sameTargetAnnotObjectKey == null + + Annotations %1 and %2 target the same location, but are included into different structure elements + + objectKey + sameTargetAnnotObjectKey + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.23 Ruby (Ruby, RB, RT, RP)/verapdf-profile-8-2-5-23-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.23 Ruby (Ruby, RB, RT, RP)/verapdf-profile-8-2-5-23-t01.xml new file mode 100644 index 00000000..7130b8f8 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.23 Ruby (Ruby, RB, RT, RP)/verapdf-profile-8-2-5-23-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.23 Ruby (Ruby, RB, RT, RP) - Ruby's children + A Ruby structure element shall contain a single RB structure element and a single RT structure + element or a Ruby structure element shall consist of a four-element subsequence: RB, RP, RT, RP +
+ + + + + A Ruby structure element shall contain a single RB structure element and a single RT structure + element or a Ruby structure element shall consist of a four-element subsequence: RB, RP, RT, RP + kidsStandardTypes == 'RB&RT' || kidsStandardTypes == 'RB&RP&RT&RP' + + The Ruby structure element has invalid sequence of children: %1 + + kidsStandardTypes.split('&').toString() + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.24 Warichu (WT, WP)/verapdf-profile-8-2-5-24-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.24 Warichu (WT, WP)/verapdf-profile-8-2-5-24-t01.xml new file mode 100644 index 00000000..a13d7c71 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.24 Warichu (WT, WP)/verapdf-profile-8-2-5-24-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.24 Warichu (WT, WP) - Warichu's children + Content typeset as warichu shall be tagged in a three-element sequence consisting of the structure + elements WP, WT and WP, grouped inside a Warichu structure element +
+ + + + + Content typeset as warichu shall be tagged in a three-element sequence consisting of the + structure elements WP, WT and WP, grouped inside a Warichu structure element + kidsStandardTypes == 'WP&WT&WP' + + The Warichu structure element has invalid sequence of children: %1 + + kidsStandardTypes.split('&').toString() + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t01.xml new file mode 100644 index 00000000..3731accb --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.25 List (L, LI, LBody) - ListNumbering attribute + If Lbl structure elements are present, the ListNumbering attribute shall be present on the + respective L structure element; in such cases the value None shall not be used +
+ + + + + If Lbl structure elements are present, the ListNumbering attribute shall be present on the + respective L structure element; in such cases the value None shall not be used + containsLabels == false || ListNumbering != 'None' + + List items contain Lbl structure elements, but the ListNumbering attribute is not present on + the respective L structure element or it has value None + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t02.xml new file mode 100644 index 00000000..2caa3c16 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.25 List (L, LI, LBody)/verapdf-profile-8-2-5-25-t02.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.25 List (L, LI, LBody) - Real content within LI + Any real content within an LI structure element that is not enclosed in an Lbl structure element + shall be enclosed in an LBody structure element +
+ + + + + Any real content within an LI structure element that is not enclosed in an Lbl structure + element shall be enclosed in an LBody structure element + hasContentItems == false + + The LI structure element contains real content as its direct child instead of enclosing it into + Lbl or LBody structure elements + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t01.xml new file mode 100644 index 00000000..377465a9 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.26 Table - Regular Table + Tables shall be regular. Table cell shall not have intersection with other cells +
+ + + + + Tables shall be regular. Table cell shall not have intersection with other cells + hasIntersection != true + + Table cell has intersection with other cells + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t02.xml new file mode 100644 index 00000000..81042786 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t02.xml @@ -0,0 +1,28 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.26 Table - Regular Table + Tables shall be regular. Row groupings formed by THead, TBody and TFoot structure elements shall be + regular. Table columns shall have the same number of rows (taking into account row spans) in table and each + row groupings formed by THead, TBody and TFoot structure elements +
+ + + + + Tables shall be regular. Row groupings formed by THead, TBody and TFoot structure elements + shall be regular. Table columns shall have the same number of rows (taking into account row spans) in + table and each row groupings formed by THead, TBody and TFoot structure elements + numberOfColumnWithWrongRowSpan == null + + Columns 1 and %1 span different number of rows in table or one of row groupings formed by THead, + TBody and TFoot structure elements + + numberOfColumnWithWrongRowSpan + 1 + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t03.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t03.xml new file mode 100644 index 00000000..43a9e739 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t03.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.26 Table - Regular Table + Tables shall be regular. Table rows shall have the same number of columns (taking into account + column spans) +
+ + + + + Tables shall be regular. Table rows shall have the same number of columns (taking into account + column spans) + numberOfRowWithWrongColumnSpan == null || wrongColumnSpan != null + + Table rows 1 and %1 span different number of columns + + numberOfRowWithWrongColumnSpan + 1 + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t04.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t04.xml new file mode 100644 index 00000000..6a5e7b75 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t04.xml @@ -0,0 +1,27 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.26 Table - Regular Table + Tables shall be regular. Table rows shall have the same number of columns (taking into account + column spans) +
+ + + + + Tables shall be regular. Table rows shall have the same number of columns (taking into account + column spans) + numberOfRowWithWrongColumnSpan == null || wrongColumnSpan == null + + Table rows 1 and %1 span different number of columns (%2 and %3 respectively) + + numberOfRowWithWrongColumnSpan + 1 + columnSpan + wrongColumnSpan + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t05.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t05.xml new file mode 100644 index 00000000..320a79f7 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t05.xml @@ -0,0 +1,27 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.26 Table - Headers, IDs and Scope + When a table contains header cells, that table shall provide sufficient semantic information to + allow accurate determination of which of its table header cells (structure element TH) pertain to other + cells as specified in ISO 32000-2:2020, 14.8.5.7 +
+ + + + + When a table contains header cells, that table shall provide sufficient semantic information to + allow accurate determination of which of its table header cells (structure element TH) pertain to other + cells as specified in ISO 32000-2:2020, 14.8.5.7 + hasConnectedHeader != false || unknownHeaders != '' + + TD does not contain Headers attribute, and Headers for this table cell cannot be determined algorithmically + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t06.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t06.xml new file mode 100644 index 00000000..243049a7 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.26 Table (Table, TR, TH, TD, THead, TBody, TFoot)/verapdf-profile-8-2-5-26-t06.xml @@ -0,0 +1,30 @@ + + +
+ ISO 14289-2:202x - 8.2 logical structure - 8.2.5.26 Table - Headers, IDs and Scope + When a table contains header cells, that table shall provide sufficient semantic information to + allow accurate determination of which of its table header cells (structure element TH) pertain to other + cells as specified in ISO 32000-2:2020, 14.8.5.7 +
+ + + + + When a table contains header cells, that table shall provide sufficient semantic information to + allow accurate determination of which of its table header cells (structure element TH) pertain to other + cells as specified in ISO 32000-2:2020, 14.8.5.7 + hasConnectedHeader != false || unknownHeaders == '' + + TD references undefined Header(s) %1, and Headers for this table cell cannot be determined algorithmically + + unknownHeaders + + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.28 Figure/8.2.5.28.2 Figure properties/verapdf-profile-8-2-5-28-2-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.28 Figure/8.2.5.28.2 Figure properties/verapdf-profile-8-2-5-28-2-t01.xml new file mode 100644 index 00000000..4a728a5c --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.28 Figure/8.2.5.28.2 Figure properties/verapdf-profile-8-2-5-28-2-t01.xml @@ -0,0 +1,28 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.28 Figure - Figure alternative and replacement text + A Figure structure element shall have at least one of the following properties: + a) an alternate description (Alt property), as specified in ISO 32000-2:2020, 14.9.3; + b) a replacement text (ActualText property) that represents the content enclosed by the Figure structure element +
+ + + + + A Figure structure element shall have at least one of the following properties: + a) an alternate description (Alt property), as specified in ISO 32000-2:2020, 14.9.3; + b) a replacement text (ActualText property) that represents the content enclosed by the Figure structure + element + Alt != null || ActualText != null + + Figure structure element neither has an alternate description nor a replacement text + + + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t01.xml new file mode 100644 index 00000000..50c3a804 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.29 Formula - Math structure type + The math structure type shall occur only as a child of a Formula structure element +
+ + + + + The math structure type shall occur only as a child of a Formula structure element + parentStandardType == 'Formula' || parentStandardType == 'MathML' + + The math structure type is nested within %1 tag instead of Formula + + parentStandardType + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t02.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t02.xml new file mode 100644 index 00000000..405cf7a4 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.29 Formula/verapdf-profile-8-2-5-29-t02.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.29 Formula - Non-math formula + Non-mathematical scientific formula enclosed within Formula structure elements shall have either + an Alt entry or an ActualText entry in its structure element dictionary +
+ + + + + Non-mathematical scientific formula enclosed within Formula structure elements shall have either + an Alt entry or an ActualText entry in its structure element dictionary + Alt != null || ActualText != null || isMathFormula == true + + A non-mathematical scientific formula enclosed within Formula structure elements contains + neither Alt nor ActualText entry in its structure element dictionary + + + + + + +
diff --git a/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.8 Table of Contents (TOC and TOCI)/verapdf-profile-8-2-5-8-t01.xml b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.8 Table of Contents (TOC and TOCI)/verapdf-profile-8-2-5-8-t01.xml new file mode 100644 index 00000000..58f4a748 --- /dev/null +++ b/PDF_UA/2/8.2 Logical structure/8.2.5 Additional requirements for specific structure types/8.2.5.8 Table of Contents (TOC and TOCI)/verapdf-profile-8-2-5-8-t01.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.2 Logical structure - 8.2.5.8 Table of Contents (TOC/TOCI) - Reference in TOCI + Each TOCI in the table of contents shall identify the target of the reference using the Ref entry, + either directly on the TOCI structure element itself or on a child structure element contained within +
+ + + + + Each TOCI in the table of contents shall identify the target of the reference using the Ref entry, + either directly on the TOCI structure element itself or on a child structure element contained within + containsRef == true + + TOCI in the TOC does not contain the Ref entry, neither directly on the TOCI structure element + itself nor on its descendant structure elements + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t01.xml new file mode 100644 index 00000000..01dabd42 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.4 Text representation for content - Unicode PUA + In all cases, where real content maps to Unicode PUA values, an ActualText or Alt entry shall be present +
+ + + + + In all cases, where real content maps to Unicode PUA values, an ActualText or Alt entry shall be present + unicodePUA == false || actualTextPresent == true || altPresent == true + + Real content maps to Unicode PUA values, but ActualText and Alt entry are not present + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t02.xml b/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t02.xml new file mode 100644 index 00000000..b9838ca4 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t02.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.4 Text representation for content - Unicode PUA in ActualText + The ActualText entry shall not contain any PUA values +
+ + + + + The ActualText entry shall not contain any PUA values + containsPUA == false + + The ActualText entry contains a Private Unicoide Area value + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t03.xml b/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t03.xml new file mode 100644 index 00000000..371838fb --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.3 Replacements and alternatives for text/verapdf-profile-8-4-3-t03.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.4 Text representation for content - Unicode PUA in Alt + The Alt entry shall not contain any PUA values +
+ + + + + The Alt entry shall not contain any PUA values + containsPUA == false + + The Alt entry contains a Private Unicoide Area value + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t01.xml new file mode 100644 index 00000000..38b250c1 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.4 Text representation for content - Lang in catalog + The default natural language for content and text strings shall be specified using the Lang entry, + with a non-empty value, in the catalog dictionary +
+ + + + + The default natural language for content and text strings shall be specified using the Lang + entry, with a non-empty value, in the catalog dictionary + Lang_size > 0 + + Catalog dictionary does not contain Lang entry + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t02.xml b/PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t02.xml new file mode 100644 index 00000000..b91b7e10 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.4 Declaring natural language/verapdf-profile-8-4-4-t02.xml @@ -0,0 +1,32 @@ + + +
+ ISO 14289-2:202x - 8.4 Text representation for content - Natural language specification + If the Lang entry is present in the document's Catalog dictionary or in a structure element + dictionary or property list, its value shall be a language identifier as described in ISO 32000-2:2020, + 14.9.2. A language identifier shall be a Language-Tag as defined in RFC 3066, Tags for the Identification + of Languages +
+ + + + + If the Lang entry is present in the document's Catalog dictionary or in a structure element + dictionary or property list, its value shall be a language identifier as described in ISO 32000-2:2020, + 14.9.2. A language identifier shall be a Language-Tag as defined in RFC 3066, Tags for the Identification + of Languages + /^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(unicodeValue) + + Value %1 of the Lang entry is not a Language-Tag + + unicodeValue + + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.1 General/verapdf-profile-8-4-5-3-1-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.1 General/verapdf-profile-8-4-5-3-1-t01.xml new file mode 100644 index 00000000..82d5fc56 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.1 General/verapdf-profile-8-4-5-3-1-t01.xml @@ -0,0 +1,44 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.3 Composite fonts - CIDSystemInfo + For any given composite (Type 0) font within a conforming file, the CIDSystemInfo entry in its + CIDFont dictionary and its Encoding dictionary shall have the following relationship: + - If the Encoding key in the Type 0 font dictionary has a value of Identity-H or Identity-V, then any values + for the Registry, Ordering, and Supplement keys may be used in the CIDSystemInfo dictionary of the CIDFont. + - Otherwise the corresponding values of the Registry and Ordering keys in both CIDSystemInfo dictionaries + shall be identical, and the value of the Supplement key in the CIDSystemInfo dictionary of the CIDFont shall + be greater than or equal to the value of the Supplement key in the CIDSystemInfo dictionary of the CMap +
+ + + + + For any given composite (Type 0) font within a conforming file, the CIDSystemInfo entry in its + CIDFont dictionary and its Encoding dictionary shall have the following relationship: + - If the Encoding key in the Type 0 font dictionary has a value of Identity-H or Identity-V, then any values + for the Registry, Ordering, and Supplement keys may be used in the CIDSystemInfo dictionary of the CIDFont. + - Otherwise the corresponding values of the Registry and Ordering keys in both CIDSystemInfo dictionaries + shall be identical, and the value of the Supplement key in the CIDSystemInfo dictionary of the CIDFont shall + be less than or equal to the value of the Supplement key in the CIDSystemInfo dictionary of the CMap + cmapName == "Identity-H" || cmapName == "Identity-V" || (CIDFontOrdering != null && + CIDFontOrdering == CMapOrdering && CIDFontRegistry != null && CIDFontRegistry == CMapRegistry && + CIDFontSupplement != null && CMapSupplement != null && CIDFontSupplement <= CMapSupplement) + + CIDSystemInfo entries the CIDFont and CMap dictionaries of a Type 0 font are not compatible + (CIDSystemInfo Ordering = %1, CMap Ordering = %2, CIDSystemInfo Registry = %3, + CMap Registry = %4, CIDSystemInfo Supplement = %5, CMap Supplement = %6) + + CIDFontOrdering + CMapOrdering + CIDFontRegistry + CMapRegistry + CIDFontSupplement + CMapSupplement + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.2 CIDFonts/verapdf-profile-8-4-5-3-2-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.2 CIDFonts/verapdf-profile-8-4-5-3-2-t01.xml new file mode 100644 index 00000000..fcd026f3 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.3 Composite fonts/8.4.5.3.2 CIDFonts/verapdf-profile-8-4-5-3-2-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.3 Composite fonts - CIDToGIDMap + All embedded Type 2 CIDFonts in the CIDFont dictionary shall contain a CIDToGIDMap entry that shall + be a stream mapping from CIDs to glyph indices or the name Identity, as described in ISO 32000-2:2020, Table 115 +
+ + + + + All embedded Type 2 CIDFonts in the CIDFont dictionary shall contain a CIDToGIDMap entry that + shall be a stream mapping from CIDs to glyph indices or the name Identity, as described in ISO 32000-2:2020, Table 115 + Subtype != "CIDFontType2" || CIDToGIDMap != null || fontFile_size == 0 + + A Type 2 CIDFont dictionary has missing or invalid CIDToGIDMap entry + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t01.xml new file mode 100644 index 00000000..3dd25111 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t01.xml @@ -0,0 +1,42 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.4 Composite fonts - CMaps + All CMaps used within a file that conforms to PDF/UA-2, except those listed in + ISO 32000-2:2020, Table 116, shall be embedded in that file, as described in ISO 32000-2:2020, 9.7.5 +
+ + + + + All CMaps used within a file that conforms to PDF/UA-2, except those listed in + ISO 32000-2:2020, Table 116, shall be embedded in that file, as described in ISO 32000-2:2020, 9.7.5 + CMapName == "Identity-H" || CMapName == "Identity-V" || CMapName == "GB-EUC-H" || CMapName == "GB-EUC-V" || + CMapName == "GBpc-EUC-H" || CMapName == "GBpc-EUC-V" || CMapName == "GBK-EUC-H" || CMapName == "GBK-EUC-V" || + CMapName == "GBKp-EUC-H" || CMapName == "GBKp-EUC-V" || CMapName == "GBK2K-H" || CMapName == "GBK2K-V" || + CMapName == "UniGB-UCS2-H" || CMapName == "UniGB-UCS2-V" || CMapName == "UniGB-UFT16-H" || CMapName == "UniGB-UFT16-V" || + CMapName == "B5pc-H" || CMapName == "B5pc-V" || CMapName == "HKscs-B5-H" || CMapName == "HKscs-B5-V" || + CMapName == "ETen-B5-H" || CMapName == "ETen-B5-V" || CMapName == "ETenms-B5-H" || CMapName == "ETenms-B5-V" || + CMapName == "CNS-EUC-H" || CMapName == "CNS-EUC-V" || CMapName == "UniCNS-UCS2-H" || CMapName == "UniCNS-UCS2-V" || + CMapName == "UniCNS-UFT16-H" || CMapName == "UniCNS-UTF16-V" || CMapName == "83pv-RKSJ-H" || CMapName == "90ms-RKSJ-H" || + CMapName == "90ms-RKSJ-V" || CMapName == "90msp-RKSJ-H" || CMapName == "90msp-RKSJ-V" || CMapName == "90pv-RKSJ-H" || + CMapName == "Add-RKSJ-H" || CMapName == "Add-RKSJ-V" || CMapName == "EUC-H" || CMapName == "EUC-V" || + CMapName == "Ext-RKSJ-H" || CMapName == "Ext-RKSJ-V" || CMapName == "H" || CMapName == "V" || + CMapName == "UniJIS-UCS2-H" || CMapName == "UniJIS-UCS2-V" || CMapName == "UniJIS-UCS2-HW-H" || CMapName == "UniJIS-UCS2-HW-V" || + CMapName == "UniJIS-UTF16-H" || CMapName == "UniJIS-UTF16-V" || CMapName == "KSC-EUC-H" || CMapName == "KSC-EUC-V" || + CMapName == "KSCms-UHC-H" || CMapName == "KSCms-UHC-V" || CMapName == "KSCms-UHC-HW-H" || CMapName == "KSCms-UHC-HW-V" || + CMapName == "KSCpc-EUC-H" || CMapName == "UniKS-UCS2-H" || CMapName == "UniKS-UCS2-V" || CMapName == "UniKS-UTF16-H" || CMapName == "UniKS-UTF16-V" || + embeddedFile_size == 1 + + A non-standard CMap %1 is not embedded + + CMapName + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t02.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t02.xml new file mode 100644 index 00000000..8be21cb3 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t02.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.4 Composite fonts - WMode + For those CMaps that are embedded, the integer value of the WMode entry in the CMap dictionary + shall be identical to the WMode value in the embedded CMap stream +
+ + + + + For those CMaps that are embedded, the integer value of the WMode entry in the CMap dictionary + shall be identical to the WMode value in the embedded CMap stream + WMode == dictWMode + + WMode entry (value %1) in the embedded CMap and in the CMap dictionary (value %2) are not identical + + WMode + dictWMode + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t03.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t03.xml new file mode 100644 index 00000000..b30ebd33 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.4 CMaps/verapdf-profile-8-4-5-4-t03.xml @@ -0,0 +1,40 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.4 Composite fonts - CMaps + A CMap shall not reference any other CMap except those listed in ISO 32000-2:2020, 9.7.5.2 Table 116 +
+ + + + + A CMap shall not reference any other CMap except those listed in ISO 32000-2:2020, 9.7.5.2 Table 116 + CMapName == "Identity-H" || CMapName == "Identity-V" || CMapName == "GB-EUC-H" || CMapName == "GB-EUC-V" || + CMapName == "GBpc-EUC-H" || CMapName == "GBpc-EUC-V" || CMapName == "GBK-EUC-H" || CMapName == "GBK-EUC-V" || + CMapName == "GBKp-EUC-H" || CMapName == "GBKp-EUC-V" || CMapName == "GBK2K-H" || CMapName == "GBK2K-V" || + CMapName == "UniGB-UCS2-H" || CMapName == "UniGB-UCS2-V" || CMapName == "UniGB-UFT16-H" || CMapName == "UniGB-UFT16-V" || + CMapName == "B5pc-H" || CMapName == "B5pc-V" || CMapName == "HKscs-B5-H" || CMapName == "HKscs-B5-V" || + CMapName == "ETen-B5-H" || CMapName == "ETen-B5-V" || CMapName == "ETenms-B5-H" || CMapName == "ETenms-B5-V" || + CMapName == "CNS-EUC-H" || CMapName == "CNS-EUC-V" || CMapName == "UniCNS-UCS2-H" || CMapName == "UniCNS-UCS2-V" || + CMapName == "UniCNS-UFT16-H" || CMapName == "UniCNS-UTF16-V" || CMapName == "83pv-RKSJ-H" || CMapName == "90ms-RKSJ-H" || + CMapName == "90ms-RKSJ-V" || CMapName == "90msp-RKSJ-H" || CMapName == "90msp-RKSJ-V" || CMapName == "90pv-RKSJ-H" || + CMapName == "Add-RKSJ-H" || CMapName == "Add-RKSJ-V" || CMapName == "EUC-H" || CMapName == "EUC-V" || + CMapName == "Ext-RKSJ-H" || CMapName == "Ext-RKSJ-V" || CMapName == "H" || CMapName == "V" || + CMapName == "UniJIS-UCS2-H" || CMapName == "UniJIS-UCS2-V" || CMapName == "UniJIS-UCS2-HW-H" || CMapName == "UniJIS-UCS2-HW-V" || + CMapName == "UniJIS-UTF16-H" || CMapName == "UniJIS-UTF16-V" || CMapName == "KSC-EUC-H" || CMapName == "KSC-EUC-V" || + CMapName == "KSCms-UHC-H" || CMapName == "KSCms-UHC-V" || CMapName == "KSCms-UHC-HW-H" || CMapName == "KSCms-UHC-HW-V" || + CMapName == "KSCpc-EUC-H" || CMapName == "UniKS-UCS2-H" || CMapName == "UniKS-UCS2-V" || CMapName == "UniKS-UTF16-H" || + CMapName == "UniKS-UTF16-V" + + A CMap references another non-standard CMap %1 + + CMapName + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t01.xml new file mode 100644 index 00000000..571477de --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.5 Embedding - General + The font programs for all fonts used for rendering within a conforming file shall be embedded + within that file, as defined in ISO 32000-2:2020, 9.9 +
+ + + + + The font programs for all fonts used for rendering within a conforming file shall be embedded + within that file, as defined in ISO 32000-2:2020, 9.9 + Subtype == "Type3" || Subtype == "Type0" || renderingMode == 3 || fontFile_size == 1 + + The font program is not embedded + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t02.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t02.xml new file mode 100644 index 00000000..f6f7931b --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.5 Embedding/8.4.5.5.1 General/verapdf-profile-8-4-5-5-1-t02.xml @@ -0,0 +1,32 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.5 Embedding - Glyphs + Embedded fonts shall define all glyphs referenced for rendering within the conforming file. + A font referenced solely in text rendering mode 3 is not rendered and is thus exempt from the requirements + that impact the visual representation of the glyphs of a font. In all cases for TrueType fonts that are to + be rendered, character codes shall be able to be mapped to glyphs in accordance with ISO 32000-2:2020, 9.6.5, + without the use of a non-standard mapping chosen by the conforming processor +
+ + + + + Embedded fonts shall define all glyphs referenced for rendering within the conforming file. + A font referenced solely in text rendering mode 3 is not rendered and is thus exempt from the requirements + that impact the visual representation of the glyphs of a font. In all cases for TrueType fonts that are to + be rendered, character codes shall be able to be mapped to glyphs in accordance with ISO 32000-2:2020, 9.6.5, + without the use of a non-standard mapping chosen by the conforming processor + renderingMode == 3 || isGlyphPresent == null || isGlyphPresent == true + + Not all glyphs referenced for rendering are present in the embedded font program + + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.6 Font metrics/verapdf-profile-8-4-5-6-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.6 Font metrics/verapdf-profile-8-4-5-6-t01.xml new file mode 100644 index 00000000..87655d74 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.6 Font metrics/verapdf-profile-8-4-5-6-t01.xml @@ -0,0 +1,28 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.6 Font metrics - Glyph width + For every font embedded in a conforming file and referenced for rendering, the glyph width + information in the font dictionary and in the embedded font program shall be consistent for every glyph +
+ + + + + For every font embedded in a conforming file and referenced for rendering, the glyph width + information in the font dictionary and in the embedded font program shall be consistent for every glyph + renderingMode == 3 || widthFromFontProgram == null || widthFromDictionary == null || + Math.abs(widthFromFontProgram - widthFromDictionary) <= 1 + + Glyph width %1 in the embedded font program is not consistent with the Widths entry of the font + dictionary (value %2) + + widthFromFontProgram + widthFromDictionary + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t01.xml new file mode 100644 index 00000000..07a6c7c9 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.7 Character encodings - cmaps for non-symbolic TrueType fonts + For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall + contain at least Microsoft Unicode (3,1 – Platform ID=3, Encoding ID=1), or Macintosh Roman + (1,0 – Platform ID=1, Encoding ID=0) 'cmap' subtable +
+ + + + + For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall + contain at least Microsoft Unicode (3,1 – Platform ID=3, Encoding ID=1), or Macintosh Roman + (1,0 – Platform ID=1, Encoding ID=0) 'cmap' subtable + isSymbolic == true || cmap31Present == true || cmap10Present == true + + The embedded font program for a non-symbolic TrueType font does not contain Microsoft + Symbol (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=0) encoding + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t02.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t02.xml new file mode 100644 index 00000000..a4b7067a --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t02.xml @@ -0,0 +1,37 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.7 Character encodings - Non-symbolic TrueType fonts + All non-symbolic TrueType fonts shall have either MacRomanEncoding or WinAnsiEncoding as the + value for the Encoding key in the Font dictionary or as the value for the BaseEncoding key in the + dictionary which is the value of the Encoding key in the Font dictionary. In addition, no non-symbolic + TrueType font shall define a Differences array unless all of the glyph names in the Differences array + are listed in the Adobe Glyph List and the embedded font program contains at least the Microsoft + Unicode (3,1 – Platform ID=3, Encoding ID=1) encoding in the 'cmap' table +
+ + + + + All non-symbolic TrueType fonts shall have either MacRomanEncoding or WinAnsiEncoding as the + value for the Encoding key in the Font dictionary or as the value for the BaseEncoding key in the + dictionary which is the value of the Encoding key in the Font dictionary. In addition, no non-symbolic + TrueType font shall define a Differences array unless all of the glyph names in the Differences array + are listed in the Adobe Glyph List and the embedded font program contains at least the Microsoft + Unicode (3,1 – Platform ID=3, Encoding ID=1) encoding in the 'cmap' table + isSymbolic == true || ((Encoding == "MacRomanEncoding" || Encoding == "WinAnsiEncoding") && + (containsDifferences == false || differencesAreUnicodeCompliant == true)) + + A non-symbolic TrueType font encoding does not define a correct mapping to the Adobe Glyph List + (Encoding = %1, Encoding entry contains a Differences = %2, Differences are Unicode compliant = %3) + + Encoding + containsDifferences + differencesAreUnicodeCompliant + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t03.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t03.xml new file mode 100644 index 00000000..52c1af72 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t03.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.7 Character encodings - Symbolic TrueType fonts + Symbolic TrueType fonts shall not contain an Encoding entry in the font dictionary +
+ + + + + Symbolic TrueType fonts shall not contain an Encoding entry in the font dictionary + isSymbolic == false || Encoding == null + + A symbolic TrueType font specifies an Encoding entry in its dictionary + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t04.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t04.xml new file mode 100644 index 00000000..ba155906 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.7 Character encodings/verapdf-profile-8-4-5-7-t04.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.7 Character encodings - cmaps in the symbolic TrueType font program + The 'cmap' subtable in the embedded font program shall either contain the Microsoft Symbol + (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=1) encoding +
+ + + + + The 'cmap' subtable in the embedded font program shall either contain the Microsoft Symbol + (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=1) encoding + isSymbolic == false || cmap30Present == true || cmap10Present == true + + The embedded font program for a symbolic TrueType font does not contain Microsoft Symbol + (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=0) encoding + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t01.xml new file mode 100644 index 00000000..cba7b3c4 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.8 Unicode character maps - Unicode mapping + The Font dictionary of all fonts shall define the map of all used character codes to Unicode values, + either via a ToUnicode entry, or other mechanisms as defined in ISO 14289-2, 8.4.5.8 +
+ + + + + The Font dictionary of all fonts shall define the map of all used character codes to Unicode + values, either via a ToUnicode entry, or other mechanisms as defined in ISO 14289-2, 8.4.5.8 + toUnicode != null + + The glyph can not be mapped to Unicode + + + + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t02.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t02.xml new file mode 100644 index 00000000..781089ec --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.8 Unicode character maps/verapdf-profile-8-4-5-8-t02.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.8 Unicode character maps - Valid Unicode values + If a ToUnicode CMap is present, the Unicode values it specifies shall all be greater than zero (0), + but not equal to either U+FEFF or U+FFFE +
+ + + + + If a ToUnicode CMap is present, the Unicode values it specifies shall all be greater than + zero (0), but not equal to either U+FEFF or U+FFFE + toUnicode == null || (toUnicode.indexOf("\u0000") == -1 && toUnicode.indexOf("\uFFFE") == -1 && + toUnicode.indexOf("\uFEFF") == -1) + + The glyph has an invalid Unicode value, which is either 0, or is equal to U+FEFF or U+FFFE + + + + + + +
diff --git a/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.9 Use of .notdef glyph/verapdf-profile-8-4-5-9-t01.xml b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.9 Use of .notdef glyph/verapdf-profile-8-4-5-9-t01.xml new file mode 100644 index 00000000..948cd183 --- /dev/null +++ b/PDF_UA/2/8.4 Text representation for content/8.4.5 Fonts/8.4.5.9 Use of .notdef glyph/verapdf-profile-8-4-5-9-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.4.5 Fonts - 8.4.5.9 Use of .notdef glyph - Use of .notdef glyph + A file in conformance with PDF/UA-2 shall not contain a reference to the .notdef glyph from any of + the text showing operators, regardless of text rendering mode, in any content stream +
+ + + + + A file in conformance with PDF/UA-2 shall not contain a reference to the .notdef glyph from any + of the text showing operators, regardless of text rendering mode, in any content stream + name != ".notdef" + + The document contains a reference to the .notdef glyph + + + + + + +
diff --git a/PDF_UA/2/8.5 Real content without textual semantics/8.5.1 General/verapdf-profile-8-5-1-t01.xml b/PDF_UA/2/8.5 Real content without textual semantics/8.5.1 General/verapdf-profile-8-5-1-t01.xml new file mode 100644 index 00000000..183615e2 --- /dev/null +++ b/PDF_UA/2/8.5 Real content without textual semantics/8.5.1 General/verapdf-profile-8-5-1-t01.xml @@ -0,0 +1,28 @@ + + +
+ ISO 14289-2:202x - 8.5 Real content without textual semantics - 8.5.1 General - Figure and Formula + Real content that does not possess the semantics of text objects and does not have an alternate + textual representation shall be enclosed within Figure or Formula structure elements as appropriate +
+ + + + + Real content that does not possess the semantics of text objects and does not have an alternate + textual representation shall be enclosed within Figure or Formula structure elements as appropriate + itemType == 'text' || parentStructureTag == null || ActualText != null || + isArtifact == true || isFigure == true || isFormula == true + + Real content that does not possess the semantics of text objects and does not have an alternate + textual representation is not enclosed within Figure or Formula structure elements + + + + + + + + + +
diff --git a/PDF_UA/2/8.6 Text string objects/verapdf-profile-8-6-t01.xml b/PDF_UA/2/8.6 Text string objects/verapdf-profile-8-6-t01.xml new file mode 100644 index 00000000..a7cde446 --- /dev/null +++ b/PDF_UA/2/8.6 Text string objects/verapdf-profile-8-6-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.6 Text string objects - Unicode PUA + Text strings intended to be human readable shall not use the Unicode PUA +
+ + + + + Text strings intended to be human readable shall not use the Unicode PUA + containsPUA == false + + Text string intended to be human readable uses Unicode PUA + + + + + + + + +
diff --git a/PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t01.xml b/PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t01.xml new file mode 100644 index 00000000..e97b720d --- /dev/null +++ b/PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t01.xml @@ -0,0 +1,39 @@ + + +
+ ISO 14289-2:202x - 8.7 Optional content - Name key present + All optional content configuration dictionaries in the document, including the default optional + content configuration dictionary, shall contain a Name entry (see ISO 32000-2:2020, Table 96) whose value is + a non-empty text string when: + a) a document contains a Configs entry in the OCProperties entry of the catalog dictionary + (see ISO 32000-2:2020, Table 29), and + b) the Configs entry contains at least one optional content configuration dictionary +
+ + + + + All optional content configuration dictionaries in the document, including the default optional + content configuration dictionary, shall contain a Name entry (see ISO 32000-2:2020, Table 96) whose value + is a non-empty text string when: + a) a document contains a Configs entry in the OCProperties entry of the catalog dictionary + (see ISO 32000-2:2020, Table 29), and + b) the Configs entry contains at least one optional content configuration dictionary + gContainsConfigs == false || (Name != null && Name.length() > 0) + + Missing or empty Name entry of the optional content configuration dictionary + + + + + + + + + + + false + containsConfigs + + +
diff --git a/PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t02.xml b/PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t02.xml new file mode 100644 index 00000000..4a695104 --- /dev/null +++ b/PDF_UA/2/8.7 Optional content/verapdf-profile-8-7-t02.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.7 Optional content - AS key + The AS key shall not appear in any optional content configuration dictionary +
+ + + + + The AS key shall not appear in any optional content configuration dictionary + AS == null + + AS key is present in the optional content configuration dictionary + + + + + + +
diff --git a/PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t01.xml b/PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t01.xml new file mode 100644 index 00000000..097fcddb --- /dev/null +++ b/PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t01.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.8 Intra-document destinations - Struct destination + All destinations whose target lies within the current document shall be structure destinations +
+ + + + + All destinations whose target lies within the current document shall be structure destinations + isStructDestination == true + + Destination in Outline item or Link annotation is not a structure destination + + + + + + + + + +
diff --git a/PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t02.xml b/PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t02.xml new file mode 100644 index 00000000..90e71f76 --- /dev/null +++ b/PDF_UA/2/8.8 Intra-document destinations/verapdf-profile-8-8-t02.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.8 Intra-document destinations - Struct destination + All destinations whose target lies within the current document shall be structure destinations +
+ + + + + All destinations whose target lies within the current document shall be structure destinations + containsStructDestination == true + + Destination in GoTo action is not a structure destination + + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.1 General/verapdf-profile-8-9-2-1-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.1 General/verapdf-profile-8-9-2-1-t01.xml new file mode 100644 index 00000000..c2da5fad --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.1 General/verapdf-profile-8-9-2-1-t01.xml @@ -0,0 +1,34 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2 Semantics and content - Annotations in structure tree + Annotations shall be included in the structure tree unless explicitly excluded by the following + subclauses +
+ + + + + Annotations shall be included in the structure tree unless explicitly excluded by the following + subclauses + (structParentType != null && isArtifact == false) || + (Subtype == "Popup") || + (Subtype == "PrinterMark") || + (Subtype == "Widget" && width == 0 && height == 0) || + ((F & 1) == 1) || ((F & 32) == 1 && (F & 256) == 0) + + + Annotation is not included in the structure tree + + + + + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t01.xml new file mode 100644 index 00000000..48a3ad3a --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t01.xml @@ -0,0 +1,29 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.2 Annotations as artifacts - Invisible flag + Annotations shall be artifacts, if the Invisible flag is set in accordance with ISO 32000-2:2020, + Table 167 +
+ + + + + Annotations shall be artifacts, if the Invisible flag is set in accordance with ISO 32000-2:2020, + Table 167 + structParentType == null || isArtifact == true || (F & 1) == 0 + + An invisible annotation is included in logical structure with tag %1 (standard type = %2, Invisible = %3) + + structParentType + structParentStandardType + F != null ? (F & 1) : null + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t02.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t02.xml new file mode 100644 index 00000000..7363264c --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.2 Annotations as artifacts/verapdf-profile-8-9-2-2-t02.xml @@ -0,0 +1,31 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.2 Annotations as artifacts - NoView and ToggleNoView flags + Annotations shall be artifacts if the NoView flag is set and the ToggleNoView flag is not set + in accordance with ISO 32000-2:2020, Table 167 +
+ + + + + Annotations shall be artifacts if the NoView flag is set and the ToggleNoView flag is not set + in accordance with ISO 32000-2:2020, Table 167 + structParentType == null || isArtifact == true || ((F & 32) == 0 || (F & 256) == 1) + + An invisible annotation is included in logical structure with tag %1 (standard type = %2, + NoView = %3, ToggleNoView = %4) + + structParentType + structParentStandardType + F != null ? (F & 32) >> 5 : null + F != null ? (F & 256) >> 8 : null + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t01.xml new file mode 100644 index 00000000..ca5f8307 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t01.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.3 Markup annotations - Annot structure element + Markup annotations shall be enclosed within Annot structure elements +
+ + + + + Markup annotations shall be enclosed within Annot structure elements + structParentStandardType == 'Annot' + + A Markup annotation is an Artifact or is nested within %1 tag (standard type = %2) instead of Annot + + structParentType + structParentStandardType + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t02.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t02.xml new file mode 100644 index 00000000..875d5fb1 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.3 Markup annotations/verapdf-profile-8-9-2-3-t02.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.3 Markup annotations - RC and Contents entries + When both RC and Contents entries are present for markup annotation, they shall be textually equivalent +
+ + + + + When both RC and Contents entries are present for markup annotation, they shall be textually equivalent + containsRC == false || Contents == null || RC == Contents + + A Markup annotation contains Contents and RC entries with non-equivalent textual values (RC = %1, Contents = %2) + + RC + Contents + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.10 File attachment/verapdf-profile-8-9-2-4-10-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.10 File attachment/verapdf-profile-8-9-2-4-10-t01.xml new file mode 100644 index 00000000..2c89fa77 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.10 File attachment/verapdf-profile-8-9-2-4-10-t01.xml @@ -0,0 +1,29 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - File attachment annotation + When a file attachment annotation references a file specification dictionary in accordance with + ISO 32000-2:2020, 7.11.3 using the FS entry in accordance with ISO 32000-2:2020, 12.5.6.15, that file + specification dictionary shall include an AFRelationship entry +
+ + + + + When a file attachment annotation references a file specification dictionary in accordance with + ISO 32000-2:2020, 7.11.3 using the FS entry in accordance with ISO 32000-2:2020, 12.5.6.15, that file + specification dictionary shall include an AFRelationship entry + containsFS == false || AFRelationship != null + + The file specification dictionary referenced by a file attachment annotation does not include + AFRelationship entry + + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t01.xml new file mode 100644 index 00000000..383293ee --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Sound annotation + Sound annotation cannot be used when conforming to PDF/UA-2 +
+ + + + + Sound annotation cannot be used when conforming to PDF/UA-2 + false + + An annotation of subtype Sound exists + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t02.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t02.xml new file mode 100644 index 00000000..0cc71beb --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.11 Sound,movie/verapdf-profile-8-9-2-4-11-t02.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Movie annotation + Movie annotation cannot be used when conforming to PDF/UA-2 +
+ + + + + Movie annotation cannot be used when conforming to PDF/UA-2 + false + + An annotation of subtype Movie exists + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.12 Screen/verapdf-profile-8-9-2-4-12-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.12 Screen/verapdf-profile-8-9-2-4-12-t01.xml new file mode 100644 index 00000000..04827451 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.12 Screen/verapdf-profile-8-9-2-4-12-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Screen annotation + Screen annotations shall include a Contents entry +
+ + + + + Screen annotations shall include a Contents entry + Contents != null + + Screen annotation does not contain Contents entry + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.13 Widget/verapdf-profile-8-9-2-4-13-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.13 Widget/verapdf-profile-8-9-2-4-13-t01.xml new file mode 100644 index 00000000..c9f09109 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.13 Widget/verapdf-profile-8-9-2-4-13-t01.xml @@ -0,0 +1,28 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Widget annotation + A widget annotation of zero height and width, accordance with ISO 32000-2:2020, 12.7.5.5 shall be + an artifact +
+ + + + + A widget annotation of zero height and width, accordance with ISO 32000-2:2020, 12.7.5.5 shall + be an artifact + width != 0 || height != 0 || structParentType == null || isArtifact == true + + A Widget annotation of zero height and width is not marked as an Artifact (structure tag = %1, standard type = %2) + + structParentType + structParentStandardType + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.14 Printer's mark/verapdf-profile-8-9-2-4-14-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.14 Printer's mark/verapdf-profile-8-9-2-4-14-t01.xml new file mode 100644 index 00000000..aba3d2c1 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.14 Printer's mark/verapdf-profile-8-9-2-4-14-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - PrinterMark annotation + A printer's mark annotation as specified in ISO 32000-2:2020, 14.11.3 shall be an artifact +
+ + + + + A printer's mark annotation as specified in ISO 32000-2:2020, 14.11.3 shall be an artifact + structParentType == null || isArtifact == true + + A PrinterMark annotation is included in logical structure with tag %1 (standard type = %2) + + structParentType + structParentStandardType + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.15 Trap network/verapdf-profile-8-9-2-4-15-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.15 Trap network/verapdf-profile-8-9-2-4-15-t01.xml new file mode 100644 index 00000000..ed1cd928 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.15 Trap network/verapdf-profile-8-9-2-4-15-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Trap network annotation + Trap network annotations shall not be used in files conforming to PDF/UA-2 +
+ + + + + Trap network annotations shall not be used in files conforming to PDF/UA-2 + false + + An annotation of subtype TrapNet exists + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t01.xml new file mode 100644 index 00000000..0a614360 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - 3D annotation + 3D annotation shall include alternate description in respective Contents entry +
+ + + + + 3D annotation shall include alternate description in respective Contents entry + Contents != null + + 3D annotation does not contain Contents entry + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t02.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t02.xml new file mode 100644 index 00000000..e9e6bd84 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.19 3D and RichMedia/verapdf-profile-8-9-2-4-19-t02.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - RichMedia annotation + RichMedia annotation shall include alternate description in respective Contents entry +
+ + + + + RichMedia annotation shall include alternate description in respective Contents entry + Contents != null + + RichMedia annotation does not contain Contents entry + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.7 Rubber stamp/verapdf-profile-8-9-2-4-7-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.7 Rubber stamp/verapdf-profile-8-9-2-4-7-t01.xml new file mode 100644 index 00000000..66f35de2 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.7 Rubber stamp/verapdf-profile-8-9-2-4-7-t01.xml @@ -0,0 +1,23 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Rubber stamp annotation + If the Name entry is insufficient to describe the intent of the stamp annotation, a Contents entry + describing the author’s intent shall be provided +
+ + + + + If the Name entry is insufficient to describe the intent of the stamp annotation, a Contents + entry describing the author’s intent shall be provided + Name != null || Contents != null + + Rubber stamp annotation contains neither Name nor Contents entry + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.8 Ink/verapdf-profile-8-9-2-4-8-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.8 Ink/verapdf-profile-8-9-2-4-8-t01.xml new file mode 100644 index 00000000..52bc87d0 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.8 Ink/verapdf-profile-8-9-2-4-8-t01.xml @@ -0,0 +1,21 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Ink annotation + A Contents entry describing the author’s intent shall be provided for Ink annotation +
+ + + + + A Contents entry describing the author’s intent shall be provided for Ink annotation + Contents != null + + Ink annotation does not contain Contents entry + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.9 Popup/verapdf-profile-8-9-2-4-9-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.9 Popup/verapdf-profile-8-9-2-4-9-t01.xml new file mode 100644 index 00000000..097169ab --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.2 Semantics and content/8.9.2.4 Annotation types/8.9.2.4.9 Popup/verapdf-profile-8-9-2-4-9-t01.xml @@ -0,0 +1,26 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.2.4 Annotation types - Popup annotation + Popup annotations shall not be present in the structure tree +
+ + + + + Popup annotations shall not be present in the structure tree + structParentType == null || isArtifact == true + + A Popup annotation is included in logical structure with tag %1 (standard type = %2) + + structParentType + structParentStandardType + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.3 Order/8.9.3.3 Tab order/verapdf-profile-8-9-3-3-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.3 Order/8.9.3.3 Tab order/verapdf-profile-8-9-3-3-t01.xml new file mode 100644 index 00000000..d6b388f1 --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.3 Order/8.9.3.3 Tab order/verapdf-profile-8-9-3-3-t01.xml @@ -0,0 +1,25 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.3.3 Tab order - Tabs in page with annotations + Every page that includes an annotation shall contain a Tabs entry in its page dictionary in + accordance with ISO 32000-2:2020, Table 31, and its value shall be A, W or S +
+ + + + + Every page that includes an annotation shall contain a Tabs entry in its page dictionary in + accordance with ISO 32000-2:2020, Table 31, and its value shall be A, W or S + annots_size == 0 || Tabs == 'A' || Tabs == 'W' || Tabs == 'S' + + A page with annotation(s) contains Tabs key with value %1 instead of A, W or S + + Tabs + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.1 Contents entries/verapdf-profile-8-9-4-1-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.1 Contents entries/verapdf-profile-8-9-4-1-t01.xml new file mode 100644 index 00000000..138e67ae --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.1 Contents entries/verapdf-profile-8-9-4-1-t01.xml @@ -0,0 +1,30 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.4.1 Contents entries - Contents and Alt + Except Widget annotations, Contents entries in annotation dictionaries shall provide an alternative + description of the annotation. If Contents cannot be used for this purpose, an alternate description shall + be provided for the annotation via one of the other mechanisms defined in ISO 32000-2:2020, 14.9.3 +
+ + + + + Except Widget annotations, Contents entries in annotation dictionaries shall provide an + alternative description of the annotation. If Contents cannot be used for this purpose, an alternate + description shall be provided for the annotation via one of the other mechanisms defined in + ISO 32000-2:2020, 14.9.3 + Subtype == 'Widget' || Contents != null || Alt != null + + %1 annotation neither has a Contents entry nor alternate description + + Subtype + + + + + + + + +
diff --git a/PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.2 Alt properties/verapdf-profile-8-9-4-2-t01.xml b/PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.2 Alt properties/verapdf-profile-8-9-4-2-t01.xml new file mode 100644 index 00000000..e3050a6c --- /dev/null +++ b/PDF_UA/2/8.9 Annotations/8.9.4 Alternative descriptions/8.9.4.2 Alt properties/verapdf-profile-8-9-4-2-t01.xml @@ -0,0 +1,24 @@ + + +
+ ISO 14289-2:202x - 8.9 Annotations - 8.9.4.2 Alt properties - Alt and Contents + Where both Contents and Alt entries are present for the annotation, they shall be identical +
+ + + + + Where both Contents and Alt entries are present for the annotation, they shall be identical + Contents == null || Alt == null || Contents == Alt + + Both Contents and Alt entries are present for the annotation, but they are not identical (Contents = %1, Alt = %2) + + Contents + Alt + + + + + + +
diff --git a/PDF_UA/PDFUA-2.xml b/PDF_UA/PDFUA-2.xml new file mode 100644 index 00000000..8a03ae15 --- /dev/null +++ b/PDF_UA/PDFUA-2.xml @@ -0,0 +1,1070 @@ + + +
+ PDF/UA-2 validation profile + Validation rules against ISO 14289-2:202x +
+ + + + + The PDF/UA version of a file shall be specified in the value of the Metadata entry in the document catalog using the PDF/UA identification schema + UAIdentification_size == 1 + + The document metadata stream doesn't contains PDF/UA Identification Schema + + + + + + + The value of pdfuaid:part shall be the part number of the International Standard to which the file conforms + part == 2 + + The "part" property of the PDF/UA Identification Schema is %1 instead of 2 for PDF/UA-2 conforming file + + part + + + + + + + Property part of the PDF/UA Identification Schema shall have namespace prefix pdfuaid + partPrefix == null || partPrefix == "pdfuaid" + + Property part of the PDF/UA Identification Schema has invalid namespace prefix %1 + + partPrefix + + + + + + + Property rev of the PDF/UA Identification Schema shall have namespace prefix pdfuaid + revPrefix == null || revPrefix == "pdfuaid" + + Property rev of the PDF/UA Identification Schema has invalid namespace prefix %1 + + revPrefix + + + + + + + The value of pdfuaid:rev shall be the four digit year + /^\d{4}$/.test(rev) + + The value of pdfuaid:rev (%1) not the four digit year + + rev + + + + + + + The logical structure of the conforming file shall be described by a structure hierarchy rooted in the StructTreeRoot entry of the document catalog dictionary, as described in ISO 32000-2:2020, 14.7 + StructTreeRoot_size == 1 + + StructTreeRoot entry is not present in the document catalog + + + + + + + + + Content that is not considered real shall be an artifact + parentStructureTag != null || parentsTags.split('&').filter(elem => elem == 'Artifact').length > 0 + + Content is neither marked as Artifact nor tagged as real content + + + + + + + All structure elements shall belong to, or be role mapped to, at least one of the following namespaces specified in ISO 32000-2:2020, 14.8.6: — the PDF 1.7 namespace; — the PDF 2.0 namespace; — the MathML namespace + circularMappingExist == true + + Non-standard structure type %1 is not mapped to a standard type + + valueS + + + + + + + + + A circular mapping shall not exist + circularMappingExist != true + + A circular mapping exists for %1 structure type + + valueS + + + + + + + Structure types shall not be role mapped to other structure types in the same namespace + roleMapToSameNamespaceTag == null + + Structure type %1 is role mapped to other structure type in the same namespace + + roleMapToSameNamespaceTag + + + + + + + The structure tree root shall contain a single Document structure element as its only child, as specified in ISO 32000-2:2020, Annex L and ISO/TS 32005 + kidsStandardTypes == 'Document' + + The structure tree root contains %1 element(s) instead of a single Document structure element + + kidsStandardTypes.replaceAll('&', ',') + + + + + + + + + + + + The structure tree root shall contain a single Document structure element as its only child. The namespace for that element shall be specified as the PDF 2.0 namespace + kidsStandardTypes != 'Document' || firstChildStandardTypeNamespaceURL == 'http://iso.org/pdf2/ssn' + + The structure tree root contains a single Document structure element, but this element is not within the PDF 2.0 namespace (namespace URI = %1) + + firstChildStandardTypeNamespaceURL + + + + + + + + + + + + Each TOCI in the table of contents shall identify the target of the reference using the Ref entry, either directly on the TOCI structure element itself or on a child structure element contained within + containsRef == true + + TOCI in the TOC does not contain the Ref entry, neither directly on the TOCI structure element itself nor on its descendant structure elements + + + + + + + Conforming files shall not use the H structure type + false + + Document uses H structure type + + + + + + + The Note standard structure type shall not be present in conforming documents unless role mapped to a structure element in the PDF 2.0 namespace + false + + Document uses Note structure type + + + + + + + Real content that refers to footnotes or endnotes (real content enclosed in FENote structure elements) shall use the Ref entry as specified in 8.8 on the referring structure element to reference the FENote. The corresponding FENote shall also use the Ref entry to identify all citations that reference it + orphanRefs == null + + Ref entry in the FENote does not reference structure elements with object numbers %1, while these structure elements reference this FENote + + orphanRefs + + + + + + + The value of the NoteType attribute of the FENote structure element shall be Footnote, Endnote or None + NoteType == 'Footnote' || NoteType == 'Endnote' || NoteType == 'None' + + NoteType attribute of the FENote structure element has value %1 instead of Footnote, Endnote or None + + NoteType + + + + + + + A link annotation and its associated content shall be enclosed in either a Link or Reference structure element + structParentStandardType == 'Link' || structParentStandardType == 'Reference' + + A Link annotation is an Artifact or is nested within %1 tag (standard type = %2) instead of Link or Reference + + structParentType + structParentStandardType + + + + + + + Link annotations that target different locations shall be in separate Link or Reference structure elements + differentTargetAnnotObjectKey == null + + Struct element %1 contains Link annotations %1 and %2 that target different locations + + structParentObjectKey + objectKey + differentTargetAnnotObjectKey + + + + + + + Multiple link annotations shall be included in a single Link or Reference structure element if they target the same location and are semantically perceived to be a single link + sameTargetAnnotObjectKey == null + + Annotations %1 and %2 target the same location, but are included into different structure elements + + objectKey + sameTargetAnnotObjectKey + + + + + + + A Ruby structure element shall contain a single RB structure element and a single RT structure element or a Ruby structure element shall consist of a four-element subsequence: RB, RP, RT, RP + kidsStandardTypes == 'RB&RT' || kidsStandardTypes == 'RB&RP&RT&RP' + + The Ruby structure element has invalid sequence of children: %1 + + kidsStandardTypes.split('&').toString() + + + + + + + Content typeset as warichu shall be tagged in a three-element sequence consisting of the structure elements WP, WT and WP, grouped inside a Warichu structure element + kidsStandardTypes == 'WP&WT&WP' + + The Warichu structure element has invalid sequence of children: %1 + + kidsStandardTypes.split('&').toString() + + + + + + + If Lbl structure elements are present, the ListNumbering attribute shall be present on the respective L structure element; in such cases the value None shall not be used + containsLabels == false || ListNumbering != 'None' + + List items contain Lbl structure elements, but the ListNumbering attribute is not present on the respective L structure element or it has value None + + + + + + + + + Any real content within an LI structure element that is not enclosed in an Lbl structure element shall be enclosed in an LBody structure element + hasContentItems == false + + The LI structure element contains real content as its direct child instead of enclosing it into Lbl or LBody structure elements + + + + + + + Tables shall be regular. Table cell shall not have intersection with other cells + hasIntersection != true + + Table cell has intersection with other cells + + + + + + + Tables shall be regular. Row groupings formed by THead, TBody and TFoot structure elements shall be regular. Table columns shall have the same number of rows (taking into account row spans) in table and each row groupings formed by THead, TBody and TFoot structure elements + numberOfColumnWithWrongRowSpan == null + + Columns 1 and %1 span different number of rows in table or one of row groupings formed by THead, TBody and TFoot structure elements + + numberOfColumnWithWrongRowSpan + 1 + + + + + + + Tables shall be regular. Table rows shall have the same number of columns (taking into account column spans) + numberOfRowWithWrongColumnSpan == null || wrongColumnSpan != null + + Table rows 1 and %1 span different number of columns + + numberOfRowWithWrongColumnSpan + 1 + + + + + + + Tables shall be regular. Table rows shall have the same number of columns (taking into account column spans) + numberOfRowWithWrongColumnSpan == null || wrongColumnSpan == null + + Table rows 1 and %1 span different number of columns (%2 and %3 respectively) + + numberOfRowWithWrongColumnSpan + 1 + columnSpan + wrongColumnSpan + + + + + + + When a table contains header cells, that table shall provide sufficient semantic information to allow accurate determination of which of its table header cells (structure element TH) pertain to other cells as specified in ISO 32000-2:2020, 14.8.5.7 + hasConnectedHeader != false || unknownHeaders != '' + + TD does not contain Headers attribute, and Headers for this table cell cannot be determined algorithmically + + + + + + + + + + When a table contains header cells, that table shall provide sufficient semantic information to allow accurate determination of which of its table header cells (structure element TH) pertain to other cells as specified in ISO 32000-2:2020, 14.8.5.7 + hasConnectedHeader != false || unknownHeaders == '' + + TD references undefined Header(s) %1, and Headers for this table cell cannot be determined algorithmically + + unknownHeaders + + + + + + + + + + A Figure structure element shall have at least one of the following properties: a) an alternate description (Alt property), as specified in ISO 32000-2:2020, 14.9.3; b) a replacement text (ActualText property) that represents the content enclosed by the Figure structure element + Alt != null || ActualText != null + + Figure structure element neither has an alternate description nor a replacement text + + + + + + + + + The math structure type shall occur only as a child of a Formula structure element + parentStandardType == 'Formula' || parentStandardType == 'MathML' + + The math structure type is nested within %1 tag instead of Formula + + parentStandardType + + + + + + + Non-mathematical scientific formula enclosed within Formula structure elements shall have either an Alt entry or an ActualText entry in its structure element dictionary + Alt != null || ActualText != null || isMathFormula == true + + A non-mathematical scientific formula enclosed within Formula structure elements contains neither Alt nor ActualText entry in its structure element dictionary + + + + + + + In all cases, where real content maps to Unicode PUA values, an ActualText or Alt entry shall be present + unicodePUA == false || actualTextPresent == true || altPresent == true + + Real content maps to Unicode PUA values, but ActualText and Alt entry are not present + + + + + + + The ActualText entry shall not contain any PUA values + containsPUA == false + + The ActualText entry contains a Private Unicoide Area value + + + + + + + The Alt entry shall not contain any PUA values + containsPUA == false + + The Alt entry contains a Private Unicoide Area value + + + + + + + The default natural language for content and text strings shall be specified using the Lang entry, with a non-empty value, in the catalog dictionary + Lang_size > 0 + + Catalog dictionary does not contain Lang entry + + + + + + + If the Lang entry is present in the document's Catalog dictionary or in a structure element dictionary or property list, its value shall be a language identifier as described in ISO 32000-2:2020, 14.9.2. A language identifier shall be a Language-Tag as defined in RFC 3066, Tags for the Identification of Languages + /^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(unicodeValue) + + Value %1 of the Lang entry is not a Language-Tag + + unicodeValue + + + + + + + + + + For any given composite (Type 0) font within a conforming file, the CIDSystemInfo entry in its CIDFont dictionary and its Encoding dictionary shall have the following relationship: - If the Encoding key in the Type 0 font dictionary has a value of Identity-H or Identity-V, then any values for the Registry, Ordering, and Supplement keys may be used in the CIDSystemInfo dictionary of the CIDFont. - Otherwise the corresponding values of the Registry and Ordering keys in both CIDSystemInfo dictionaries shall be identical, and the value of the Supplement key in the CIDSystemInfo dictionary of the CIDFont shall be less than or equal to the value of the Supplement key in the CIDSystemInfo dictionary of the CMap + cmapName == "Identity-H" || cmapName == "Identity-V" || (CIDFontOrdering != null && CIDFontOrdering == CMapOrdering && CIDFontRegistry != null && CIDFontRegistry == CMapRegistry && CIDFontSupplement != null && CMapSupplement != null && CIDFontSupplement <= CMapSupplement) + + CIDSystemInfo entries the CIDFont and CMap dictionaries of a Type 0 font are not compatible (CIDSystemInfo Ordering = %1, CMap Ordering = %2, CIDSystemInfo Registry = %3, CMap Registry = %4, CIDSystemInfo Supplement = %5, CMap Supplement = %6) + + CIDFontOrdering + CMapOrdering + CIDFontRegistry + CMapRegistry + CIDFontSupplement + CMapSupplement + + + + + + + All embedded Type 2 CIDFonts in the CIDFont dictionary shall contain a CIDToGIDMap entry that shall be a stream mapping from CIDs to glyph indices or the name Identity, as described in ISO 32000-2:2020, Table 115 + Subtype != "CIDFontType2" || CIDToGIDMap != null || fontFile_size == 0 + + A Type 2 CIDFont dictionary has missing or invalid CIDToGIDMap entry + + + + + + + + + All CMaps used within a file that conforms to PDF/UA-2, except those listed in ISO 32000-2:2020, Table 116, shall be embedded in that file, as described in ISO 32000-2:2020, 9.7.5 + CMapName == "Identity-H" || CMapName == "Identity-V" || CMapName == "GB-EUC-H" || CMapName == "GB-EUC-V" || CMapName == "GBpc-EUC-H" || CMapName == "GBpc-EUC-V" || CMapName == "GBK-EUC-H" || CMapName == "GBK-EUC-V" || CMapName == "GBKp-EUC-H" || CMapName == "GBKp-EUC-V" || CMapName == "GBK2K-H" || CMapName == "GBK2K-V" || CMapName == "UniGB-UCS2-H" || CMapName == "UniGB-UCS2-V" || CMapName == "UniGB-UFT16-H" || CMapName == "UniGB-UFT16-V" || CMapName == "B5pc-H" || CMapName == "B5pc-V" || CMapName == "HKscs-B5-H" || CMapName == "HKscs-B5-V" || CMapName == "ETen-B5-H" || CMapName == "ETen-B5-V" || CMapName == "ETenms-B5-H" || CMapName == "ETenms-B5-V" || CMapName == "CNS-EUC-H" || CMapName == "CNS-EUC-V" || CMapName == "UniCNS-UCS2-H" || CMapName == "UniCNS-UCS2-V" || CMapName == "UniCNS-UFT16-H" || CMapName == "UniCNS-UTF16-V" || CMapName == "83pv-RKSJ-H" || CMapName == "90ms-RKSJ-H" || CMapName == "90ms-RKSJ-V" || CMapName == "90msp-RKSJ-H" || CMapName == "90msp-RKSJ-V" || CMapName == "90pv-RKSJ-H" || CMapName == "Add-RKSJ-H" || CMapName == "Add-RKSJ-V" || CMapName == "EUC-H" || CMapName == "EUC-V" || CMapName == "Ext-RKSJ-H" || CMapName == "Ext-RKSJ-V" || CMapName == "H" || CMapName == "V" || CMapName == "UniJIS-UCS2-H" || CMapName == "UniJIS-UCS2-V" || CMapName == "UniJIS-UCS2-HW-H" || CMapName == "UniJIS-UCS2-HW-V" || CMapName == "UniJIS-UTF16-H" || CMapName == "UniJIS-UTF16-V" || CMapName == "KSC-EUC-H" || CMapName == "KSC-EUC-V" || CMapName == "KSCms-UHC-H" || CMapName == "KSCms-UHC-V" || CMapName == "KSCms-UHC-HW-H" || CMapName == "KSCms-UHC-HW-V" || CMapName == "KSCpc-EUC-H" || CMapName == "UniKS-UCS2-H" || CMapName == "UniKS-UCS2-V" || CMapName == "UniKS-UTF16-H" || CMapName == "UniKS-UTF16-V" || embeddedFile_size == 1 + + A non-standard CMap %1 is not embedded + + CMapName + + + + + + + + + For those CMaps that are embedded, the integer value of the WMode entry in the CMap dictionary shall be identical to the WMode value in the embedded CMap stream + WMode == dictWMode + + WMode entry (value %1) in the embedded CMap and in the CMap dictionary (value %2) are not identical + + WMode + dictWMode + + + + + + + A CMap shall not reference any other CMap except those listed in ISO 32000-2:2020, 9.7.5.2 Table 116 + CMapName == "Identity-H" || CMapName == "Identity-V" || CMapName == "GB-EUC-H" || CMapName == "GB-EUC-V" || CMapName == "GBpc-EUC-H" || CMapName == "GBpc-EUC-V" || CMapName == "GBK-EUC-H" || CMapName == "GBK-EUC-V" || CMapName == "GBKp-EUC-H" || CMapName == "GBKp-EUC-V" || CMapName == "GBK2K-H" || CMapName == "GBK2K-V" || CMapName == "UniGB-UCS2-H" || CMapName == "UniGB-UCS2-V" || CMapName == "UniGB-UFT16-H" || CMapName == "UniGB-UFT16-V" || CMapName == "B5pc-H" || CMapName == "B5pc-V" || CMapName == "HKscs-B5-H" || CMapName == "HKscs-B5-V" || CMapName == "ETen-B5-H" || CMapName == "ETen-B5-V" || CMapName == "ETenms-B5-H" || CMapName == "ETenms-B5-V" || CMapName == "CNS-EUC-H" || CMapName == "CNS-EUC-V" || CMapName == "UniCNS-UCS2-H" || CMapName == "UniCNS-UCS2-V" || CMapName == "UniCNS-UFT16-H" || CMapName == "UniCNS-UTF16-V" || CMapName == "83pv-RKSJ-H" || CMapName == "90ms-RKSJ-H" || CMapName == "90ms-RKSJ-V" || CMapName == "90msp-RKSJ-H" || CMapName == "90msp-RKSJ-V" || CMapName == "90pv-RKSJ-H" || CMapName == "Add-RKSJ-H" || CMapName == "Add-RKSJ-V" || CMapName == "EUC-H" || CMapName == "EUC-V" || CMapName == "Ext-RKSJ-H" || CMapName == "Ext-RKSJ-V" || CMapName == "H" || CMapName == "V" || CMapName == "UniJIS-UCS2-H" || CMapName == "UniJIS-UCS2-V" || CMapName == "UniJIS-UCS2-HW-H" || CMapName == "UniJIS-UCS2-HW-V" || CMapName == "UniJIS-UTF16-H" || CMapName == "UniJIS-UTF16-V" || CMapName == "KSC-EUC-H" || CMapName == "KSC-EUC-V" || CMapName == "KSCms-UHC-H" || CMapName == "KSCms-UHC-V" || CMapName == "KSCms-UHC-HW-H" || CMapName == "KSCms-UHC-HW-V" || CMapName == "KSCpc-EUC-H" || CMapName == "UniKS-UCS2-H" || CMapName == "UniKS-UCS2-V" || CMapName == "UniKS-UTF16-H" || CMapName == "UniKS-UTF16-V" + + A CMap references another non-standard CMap %1 + + CMapName + + + + + + + + + The font programs for all fonts used for rendering within a conforming file shall be embedded within that file, as defined in ISO 32000-2:2020, 9.9 + Subtype == "Type3" || Subtype == "Type0" || renderingMode == 3 || fontFile_size == 1 + + The font program is not embedded + + + + + + + + + Embedded fonts shall define all glyphs referenced for rendering within the conforming file. A font referenced solely in text rendering mode 3 is not rendered and is thus exempt from the requirements that impact the visual representation of the glyphs of a font. In all cases for TrueType fonts that are to be rendered, character codes shall be able to be mapped to glyphs in accordance with ISO 32000-2:2020, 9.6.5, without the use of a non-standard mapping chosen by the conforming processor + renderingMode == 3 || isGlyphPresent == null || isGlyphPresent == true + + Not all glyphs referenced for rendering are present in the embedded font program + + + + + + + + + + For every font embedded in a conforming file and referenced for rendering, the glyph width information in the font dictionary and in the embedded font program shall be consistent for every glyph + renderingMode == 3 || widthFromFontProgram == null || widthFromDictionary == null || Math.abs(widthFromFontProgram - widthFromDictionary) <= 1 + + Glyph width %1 in the embedded font program is not consistent with the Widths entry of the font dictionary (value %2) + + widthFromFontProgram + widthFromDictionary + + + + + + + For all non-symbolic TrueType fonts used for rendering, the embedded TrueType font program shall contain at least Microsoft Unicode (3,1 – Platform ID=3, Encoding ID=1), or Macintosh Roman (1,0 – Platform ID=1, Encoding ID=0) 'cmap' subtable + isSymbolic == true || cmap31Present == true || cmap10Present == true + + The embedded font program for a non-symbolic TrueType font does not contain Microsoft Symbol (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=0) encoding + + + + + + + All non-symbolic TrueType fonts shall have either MacRomanEncoding or WinAnsiEncoding as the value for the Encoding key in the Font dictionary or as the value for the BaseEncoding key in the dictionary which is the value of the Encoding key in the Font dictionary. In addition, no non-symbolic TrueType font shall define a Differences array unless all of the glyph names in the Differences array are listed in the Adobe Glyph List and the embedded font program contains at least the Microsoft Unicode (3,1 – Platform ID=3, Encoding ID=1) encoding in the 'cmap' table + isSymbolic == true || ((Encoding == "MacRomanEncoding" || Encoding == "WinAnsiEncoding") && (containsDifferences == false || differencesAreUnicodeCompliant == true)) + + A non-symbolic TrueType font encoding does not define a correct mapping to the Adobe Glyph List (Encoding = %1, Encoding entry contains a Differences = %2, Differences are Unicode compliant = %3) + + Encoding + containsDifferences + differencesAreUnicodeCompliant + + + + + + + Symbolic TrueType fonts shall not contain an Encoding entry in the font dictionary + isSymbolic == false || Encoding == null + + A symbolic TrueType font specifies an Encoding entry in its dictionary + + + + + + + The 'cmap' subtable in the embedded font program shall either contain the Microsoft Symbol (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=1) encoding + isSymbolic == false || cmap30Present == true || cmap10Present == true + + The embedded font program for a symbolic TrueType font does not contain Microsoft Symbol (3,0 – Platform ID=3, Encoding ID=0) or the Mac Roman (1,0 – Platform ID=1, Encoding ID=0) encoding + + + + + + + The Font dictionary of all fonts shall define the map of all used character codes to Unicode values, either via a ToUnicode entry, or other mechanisms as defined in ISO 14289-2, 8.4.5.8 + toUnicode != null + + The glyph can not be mapped to Unicode + + + + + + + + + + If a ToUnicode CMap is present, the Unicode values it specifies shall all be greater than zero (0), but not equal to either U+FEFF or U+FFFE + toUnicode == null || (toUnicode.indexOf("\u0000") == -1 && toUnicode.indexOf("\uFFFE") == -1 && toUnicode.indexOf("\uFEFF") == -1) + + The glyph has an invalid Unicode value, which is either 0, or is equal to U+FEFF or U+FFFE + + + + + + + A file in conformance with PDF/UA-2 shall not contain a reference to the .notdef glyph from any of the text showing operators, regardless of text rendering mode, in any content stream + name != ".notdef" + + The document contains a reference to the .notdef glyph + + + + + + + Real content that does not possess the semantics of text objects and does not have an alternate textual representation shall be enclosed within Figure or Formula structure elements as appropriate + itemType == 'text' || parentStructureTag == null || ActualText != null || isArtifact == true || isFigure == true || isFormula == true + + Real content that does not possess the semantics of text objects and does not have an alternate textual representation is not enclosed within Figure or Formula structure elements + + + + + + + + + + Text strings intended to be human readable shall not use the Unicode PUA + containsPUA == false + + Text string intended to be human readable uses Unicode PUA + + + + + + + + + The AS key shall not appear in any optional content configuration dictionary + AS == null + + AS key is present in the optional content configuration dictionary + + + + + + + All destinations whose target lies within the current document shall be structure destinations + isStructDestination == true + + Destination in Outline item or Link annotation is not a structure destination + + + + + + + + + + All destinations whose target lies within the current document shall be structure destinations + containsStructDestination == true + + Destination in GoTo action is not a structure destination + + + + + + + + + + Annotations shall be included in the structure tree unless explicitly excluded by the following subclauses + (structParentType != null && isArtifact == false) || (Subtype == "Popup") || (Subtype == "PrinterMark") || (Subtype == "Widget" && width == 0 && height == 0) || ((F & 1) == 1) || ((F & 32) == 1 && (F & 256) == 0) + + Annotation is not included in the structure tree + + + + + + + + + + + + + Annotations shall be artifacts, if the Invisible flag is set in accordance with ISO 32000-2:2020, Table 167 + structParentType == null || isArtifact == true || (F & 1) == 0 + + An invisible annotation is included in logical structure with tag %1 (standard type = %2, Invisible = %3) + + structParentType + structParentStandardType + F != null ? (F & 1) : null + + + + + + + + + Annotations shall be artifacts if the NoView flag is set and the ToggleNoView flag is not set in accordance with ISO 32000-2:2020, Table 167 + structParentType == null || isArtifact == true || ((F & 32) == 0 || (F & 256) == 1) + + An invisible annotation is included in logical structure with tag %1 (standard type = %2, NoView = %3, ToggleNoView = %4) + + structParentType + structParentStandardType + F != null ? (F & 32) >> 5 : null + F != null ? (F & 256) >> 8 : null + + + + + + + + + Markup annotations shall be enclosed within Annot structure elements + structParentStandardType == 'Annot' + + A Markup annotation is an Artifact or is nested within %1 tag (standard type = %2) instead of Annot + + structParentType + structParentStandardType + + + + + + + When both RC and Contents entries are present for markup annotation, they shall be textually equivalent + containsRC == false || Contents == null || RC == Contents + + A Markup annotation contains Contents and RC entries with non-equivalent textual values (RC = %1, Contents = %2) + + RC + Contents + + + + + + + If the Name entry is insufficient to describe the intent of the stamp annotation, a Contents entry describing the author’s intent shall be provided + Name != null || Contents != null + + Rubber stamp annotation contains neither Name nor Contents entry + + + + + + + A Contents entry describing the author’s intent shall be provided for Ink annotation + Contents != null + + Ink annotation does not contain Contents entry + + + + + + + Popup annotations shall not be present in the structure tree + structParentType == null || isArtifact == true + + A Popup annotation is included in logical structure with tag %1 (standard type = %2) + + structParentType + structParentStandardType + + + + + + + + + When a file attachment annotation references a file specification dictionary in accordance with ISO 32000-2:2020, 7.11.3 using the FS entry in accordance with ISO 32000-2:2020, 12.5.6.15, that file specification dictionary shall include an AFRelationship entry + containsFS == false || AFRelationship != null + + The file specification dictionary referenced by a file attachment annotation does not include AFRelationship entry + + + + + + + + + + Sound annotation cannot be used when conforming to PDF/UA-2 + false + + An annotation of subtype Sound exists + + + + + + + Movie annotation cannot be used when conforming to PDF/UA-2 + false + + An annotation of subtype Movie exists + + + + + + + Screen annotations shall include a Contents entry + Contents != null + + Screen annotation does not contain Contents entry + + + + + + + A widget annotation of zero height and width, accordance with ISO 32000-2:2020, 12.7.5.5 shall be an artifact + width != 0 || height != 0 || structParentType == null || isArtifact == true + + A Widget annotation of zero height and width is not marked as an Artifact (structure tag = %1, standard type = %2) + + structParentType + structParentStandardType + + + + + + + + + A printer's mark annotation as specified in ISO 32000-2:2020, 14.11.3 shall be an artifact + structParentType == null || isArtifact == true + + A PrinterMark annotation is included in logical structure with tag %1 (standard type = %2) + + structParentType + structParentStandardType + + + + + + + + + Trap network annotations shall not be used in files conforming to PDF/UA-2 + false + + An annotation of subtype TrapNet exists + + + + + + + 3D annotation shall include alternate description in respective Contents entry + Contents != null + + 3D annotation does not contain Contents entry + + + + + + + + + RichMedia annotation shall include alternate description in respective Contents entry + Contents != null + + RichMedia annotation does not contain Contents entry + + + + + + + + + Every page that includes an annotation shall contain a Tabs entry in its page dictionary in accordance with ISO 32000-2:2020, Table 31, and its value shall be A, W or S + annots_size == 0 || Tabs == 'A' || Tabs == 'W' || Tabs == 'S' + + A page with annotation(s) contains Tabs key with value %1 instead of A, W or S + + Tabs + + + + + + + Except Widget annotations, Contents entries in annotation dictionaries shall provide an alternative description of the annotation. If Contents cannot be used for this purpose, an alternate description shall be provided for the annotation via one of the other mechanisms defined in ISO 32000-2:2020, 14.9.3 + Subtype == 'Widget' || Contents != null || Alt != null + + %1 annotation neither has a Contents entry nor alternate description + + Subtype + + + + + + + + + Where both Contents and Alt entries are present for the annotation, they shall be identical + Contents == null || Alt == null || Contents == Alt + + Both Contents and Alt entries are present for the annotation, but they are not identical (Contents = %1, Alt = %2) + + Contents + Alt + + + + + + + Each widget annotation shall be enclosed by a Form structure element unless the widget annotation is an artifact + structParentType == null || structParentStandardType == 'Form' || isArtifact == true + + A Widget annotation is nested within %1 tag (standard type = %2) instead of Form or Artifact + + structParentType + structParentStandardType + + + + + + + A Form structure element shall contain at most one widget annotation + widgetAnnotsCount <= 1 + + A Form structure element contains %1 annotations + + widgetAnnotsCount + + + + + + + If a label for a widget annotation is not present, a Contents entry shall be provided to supply description and context for the widget + containsLbl == true || Contents != null + + Widget annotation contains neither label nor Contents entry + + + + + + + For text fields, when an RV entry is present a V entry shall also be present, and they shall be textually equivalent + containsRV == false || (V != null && RV == V) + + Text field contains RV entry, but no V entry or they are not textually equivalent (RV = %1, V = %2) + + RV + V + + + + + + + If a portion of the appearance of a signature is represented by a graphic, alternative text shall be provided for that graphic + isSignature == false || Alt != null + + A portion of the appearance of a signature is represented by a graphic, but alternative text is not provided for that graphic + + + + + + + The Metadata stream as specified in ISO 32000-2:2020, 14.3 in the document catalog dictionary shall contain a dc:title entry + dc_title != null + + Metadata stream does not contain dc:title + + + + + + + + + The ViewerPreferences dictionary of the document catalog dictionary shall be present and shall contain at least the DisplayDocTitle key with a value of true, as described in ISO 32000-2:2020, Table 147 + DisplayDocTitle == true + + ViewerPreferences dictionary is not present in the document Catalog, or DisplayDocTitle key is set to false or is not present in the ViewerPreferences dictionary (ViewerPreferences = %1, DisplayDocTitle = %2) + + ViewerPreferences + DisplayDocTitle + + + + + + + + + The Desc entry shall be present on all file specification dictionaries present in the EmbeddedFiles name tree of a conforming document + containsDesc == true + + The file specification dictionary for an embedded file does not contain Desc key + + + + + + + + false + containsConfigs + + +