This commit is contained in:
John Whitington 2024-06-08 16:05:57 +01:00
parent 34905dd85f
commit d7b2d2fec2
1 changed files with 50 additions and 49 deletions

View File

@ -8,25 +8,26 @@ exception MatterhornUnimplemented
let merror () = raise (MatterhornError `Null) let merror () = raise (MatterhornError `Null)
let merror_str s = raise (MatterhornError (`String s)) let merror_str s = raise (MatterhornError (`String s))
let unimpl () = raise MatterhornUnimplemented let unimpl () = raise MatterhornUnimplemented
let todo () = ()
(* Content marked as Artifact is present inside tagged content. *) (* Content marked as Artifact is present inside tagged content. *)
let matterhorn_01_003 pdf = () let matterhorn_01_003 pdf = todo ()
(* Tagged content is present inside content marked as Artifact. *) (* Tagged content is present inside content marked as Artifact. *)
let matterhorn_01_004 pdf = () let matterhorn_01_004 pdf = todo ()
(* Content is neither marked as Artifact nor tagged as real content. *) (* Content is neither marked as Artifact nor tagged as real content. *)
let matterhorn_01_005 pdf = () let matterhorn_01_005 pdf = todo ()
(* Suspects entry has a value of true. *) (* Suspects entry has a value of true. *)
let matterhorn_01_007 pdf = () let matterhorn_01_007 pdf = todo ()
(* One or more non-standard tags mapping does not terminate with a standard (* One or more non-standard tags mapping does not terminate with a standard
type. *) type. *)
let matterhorn_02_001 pdf = () let matterhorn_02_001 pdf = todo ()
(* A circular mapping exists. *) (* A circular mapping exists. *)
let matterhorn_02_003 pdf = () let matterhorn_02_003 pdf = todo ()
(* Document does not contain an XMP metadata stream *) (* Document does not contain an XMP metadata stream *)
let matterhorn_06_001 pdf = let matterhorn_06_001 pdf =
@ -89,91 +90,91 @@ let matterhorn_07_002 pdf =
(* A table-related structure element is used in a way that does not conform to (* A table-related structure element is used in a way that does not conform to
the syntax defined in ISO 32000-1, Table 337. *) the syntax defined in ISO 32000-1, Table 337. *)
let matterhorn_09_004 pdf = () let matterhorn_09_004 pdf = todo ()
(* A list-related structure element is used in a way that does not conform to (* A list-related structure element is used in a way that does not conform to
Table 336 in ISO 32000-1. *) Table 336 in ISO 32000-1. *)
let matterhorn_09_005 pdf = () let matterhorn_09_005 pdf = todo ()
(* A TOC-related structure element is used in a way that does not conform to (* A TOC-related structure element is used in a way that does not conform to
Table 333 in ISO 32000-1. *) Table 333 in ISO 32000-1. *)
let matterhorn_09_006 pdf = () let matterhorn_09_006 pdf = todo ()
(* A Ruby-related structure element is used in a way that does not conform to (* A Ruby-related structure element is used in a way that does not conform to
Table 338 in ISO 32000-1. *) Table 338 in ISO 32000-1. *)
let matterhorn_09_007 pdf = () let matterhorn_09_007 pdf = todo ()
(* A Warichu-related structure element is used in a way that does not conform (* A Warichu-related structure element is used in a way that does not conform
to Table 338 in ISO 32000-1. *) to Table 338 in ISO 32000-1. *)
let matterhorn_09_008 pdf = () let matterhorn_09_008 pdf = todo ()
(* Character code cannot be mapped to Unicode. *) (* Character code cannot be mapped to Unicode. *)
let matterhorn_10_001 pdf = () let matterhorn_10_001 pdf = todo ()
(* Natural language for text in page content cannot be determined. *) (* Natural language for text in page content cannot be determined. *)
let matterhorn_11_001 pdf = () let matterhorn_11_001 pdf = todo ()
(* Natural language for text in Alt, ActualText and E attributes cannot be (* Natural language for text in Alt, ActualText and E attributes cannot be
determined. *) determined. *)
let matterhorn_11_002 pdf = () let matterhorn_11_002 pdf = todo ()
(* Natural language in the Outline entries cannot be determined. *) (* Natural language in the Outline entries cannot be determined. *)
let matterhorn_11_003 pdf = () let matterhorn_11_003 pdf = todo ()
(* Natural language in the Contents entry for annotations cannot be determined. (* Natural language in the Contents entry for annotations cannot be determined.
*) *)
let matterhorn_11_004 pdf = () let matterhorn_11_004 pdf = todo ()
(* Natural language in the TU entry for form fields cannot be determined. *) (* Natural language in the TU entry for form fields cannot be determined. *)
let matterhorn_11_005 pdf = () let matterhorn_11_005 pdf = todo ()
(* Natural language for document metadata cannot be determined. *) (* Natural language for document metadata cannot be determined. *)
let matterhorn_11_006 pdf = () let matterhorn_11_006 pdf = todo ()
(* <Figure> tag alternative or replacement text missing. *) (* <Figure> tag alternative or replacement text missing. *)
let matterhorn_13_004 pdf = () let matterhorn_13_004 pdf = todo ()
(* Does use numbered headings, but the first heading tag is not <H1>. *) (* Does use numbered headings, but the first heading tag is not <H1>. *)
let matterhorn_14_002 pdf = () let matterhorn_14_002 pdf = todo ()
(* Numbered heading levels in descending sequence are skipped (Example: <H3> (* Numbered heading levels in descending sequence are skipped (Example: <H3>
follows directly after <H1>). *) follows directly after <H1>). *)
let matterhorn_14_003 pdf = () let matterhorn_14_003 pdf = todo ()
(* A node contains more than one <H> tag. *) (* A node contains more than one <H> tag. *)
let matterhorn_14_006 pdf = () let matterhorn_14_006 pdf = todo ()
(* Document uses both <H> and <H#> tags. *) (* Document uses both <H> and <H#> tags. *)
let matterhorn_14_007 pdf = () let matterhorn_14_007 pdf = todo ()
(* In a table not organized with Headers attributes and IDs, a <TH> cell does (* In a table not organized with Headers attributes and IDs, a <TH> cell does
not contain a Scope attribute. *) not contain a Scope attribute. *)
let matterhorn_15_003 pdf = () let matterhorn_15_003 pdf = todo ()
(* <Formula> tag is missing an Alt attribute. *) (* <Formula> tag is missing an Alt attribute. *)
let matterhorn_17_002 pdf = () let matterhorn_17_002 pdf = todo ()
(* Unicode mapping requirements are not met. *) (* Unicode mapping requirements are not met. *)
let matterhorn_17_003 pdf = () let matterhorn_17_003 pdf = todo ()
(* ID entry of the <Note> tag is not present. *) (* ID entry of the <Note> tag is not present. *)
let matterhorn_19_003 pdf = () let matterhorn_19_003 pdf = todo ()
(* ID entry of the <Note> tag is non-unique. *) (* ID entry of the <Note> tag is non-unique. *)
let matterhorn_19_004 pdf = () let matterhorn_19_004 pdf = todo ()
(* Name entry is missing or has an empty string as its value in an Optional (* Name entry is missing or has an empty string as its value in an Optional
Content Configuration Dictionary in the Configs entry in the OCProperties Content Configuration Dictionary in the Configs entry in the OCProperties
entry in the Catalog dictionary. *) entry in the Catalog dictionary. *)
let matterhorn_20_001 pdf = () let matterhorn_20_001 pdf = todo ()
(* Name entry is missing or has an empty string as its value in an Optional (* Name entry is missing or has an empty string as its value in an Optional
Content Configuration Dictionary that is the value of the D entry in the Content Configuration Dictionary that is the value of the D entry in the
OCProperties entry in the Catalog dictionary. *) OCProperties entry in the Catalog dictionary. *)
let matterhorn_20_002 pdf = () let matterhorn_20_002 pdf = todo ()
(* An AS entry appears in an Optional Content Configuration Dictionary. *) (* An AS entry appears in an Optional Content Configuration Dictionary. *)
let matterhorn_20_003 pdf = () let matterhorn_20_003 pdf = todo ()
(* The file specification dictionary for an embedded file does not contain F (* The file specification dictionary for an embedded file does not contain F
and UF entries. *) and UF entries. *)
@ -260,20 +261,20 @@ let matterhorn_26_002 pdf =
(* An annotation, other than of subtype Widget, Link and PrinterMark, is not a (* An annotation, other than of subtype Widget, Link and PrinterMark, is not a
direct child of an <Annot> structure element. *) direct child of an <Annot> structure element. *)
let matterhorn_28_002 pdf = () let matterhorn_28_002 pdf = todo ()
(* An annotation, other than of subtype Widget, does not have a Contents entry (* An annotation, other than of subtype Widget, does not have a Contents entry
and does not have an alternative description (in the form of an Alt entry in and does not have an alternative description (in the form of an Alt entry in
the enclosing structure element). *) the enclosing structure element). *)
let matterhorn_28_004 pdf = () let matterhorn_28_004 pdf = todo ()
(* A form field does not have a TU entry and does not have an alternative (* A form field does not have a TU entry and does not have an alternative
description (in the form of an Alt entry in the enclosing structure description (in the form of an Alt entry in the enclosing structure
element). *) element). *)
let matterhorn_28_005 pdf = () let matterhorn_28_005 pdf = todo ()
(* An annotation with subtype undefined in ISO 32000 does not meet 7.18.1. *) (* An annotation with subtype undefined in ISO 32000 does not meet 7.18.1. *)
let matterhorn_28_006 pdf = () let matterhorn_28_006 pdf = todo ()
(* An annotation of subtype TrapNet exists. *) (* An annotation of subtype TrapNet exists. *)
let matterhorn_28_007 pdf = let matterhorn_28_007 pdf =
@ -285,37 +286,37 @@ let matterhorn_28_007 pdf =
merror () merror ()
(* A page containing an annotation does not contain a Tabs entry *) (* A page containing an annotation does not contain a Tabs entry *)
let matterhorn_28_008 pdf = () let matterhorn_28_008 pdf = todo ()
(* A page containing an annotation has a Tabs entry with a value other than S. (* A page containing an annotation has a Tabs entry with a value other than S.
*) *)
let matterhorn_28_009 pdf = () let matterhorn_28_009 pdf = todo ()
(* A widget annotation is not nested within a <Form> tag. *) (* A widget annotation is not nested within a <Form> tag. *)
let matterhorn_28_010 pdf = () let matterhorn_28_010 pdf = todo ()
(* A link annotation is not nested within a <Link> tag. *) (* A link annotation is not nested within a <Link> tag. *)
let matterhorn_28_011 pdf = () let matterhorn_28_011 pdf = todo ()
(* A link annotation does not include an alternate description in its Contents (* A link annotation does not include an alternate description in its Contents
entry. *) entry. *)
let matterhorn_28_012 pdf = () let matterhorn_28_012 pdf = todo ()
(* CT entry is missing from the media clip data dictionary. *) (* CT entry is missing from the media clip data dictionary. *)
let matterhorn_28_014 pdf = () let matterhorn_28_014 pdf = todo ()
(* Alt entry is missing from the media clip data dictionary. *) (* Alt entry is missing from the media clip data dictionary. *)
let matterhorn_28_015 pdf = () let matterhorn_28_015 pdf = todo ()
(* File attachment annotations do not conform to 7.11. *) (* File attachment annotations do not conform to 7.11. *)
let matterhorn_28_016 pdf = () let matterhorn_28_016 pdf = todo ()
(* A PrinterMark annotation is included in the logical structure. *) (* A PrinterMark annotation is included in the logical structure. *)
let matterhorn_28_017 pdf = () let matterhorn_28_017 pdf = todo ()
(* The appearance stream of a PrinterMark annotation is not marked as Artifact. (* The appearance stream of a PrinterMark annotation is not marked as Artifact.
*) *)
let matterhorn_28_018 pdf = () let matterhorn_28_018 pdf = todo ()
(* A reference XObject is present. *) (* A reference XObject is present. *)
let matterhorn_30_001 pdf = let matterhorn_30_001 pdf =
@ -330,7 +331,7 @@ let matterhorn_30_001 pdf =
let matterhorn_30_002 pdf = let matterhorn_30_002 pdf =
(* We need to consider inheritence here. What solutions do we already have (* We need to consider inheritence here. What solutions do we already have
for that, and do we need anything new? *) for that, and do we need anything new? *)
() todo ()
(* A Type 0 font dictionary with encoding other than Identity-H and Identity-V (* A Type 0 font dictionary with encoding other than Identity-H and Identity-V
has values for Registry in both CIDSystemInfo dictionaries that are not has values for Registry in both CIDSystemInfo dictionaries that are not
@ -647,14 +648,14 @@ let matterhorn_31_026 pdf =
Annex D; the font is a Type 0 font, and its descendant CIDFont uses Annex D; the font is a Type 0 font, and its descendant CIDFont uses
Adobe-GB1, Adobe-CNS1, Adobe-Japan1 or Adobe-Korea1 character collections; Adobe-GB1, Adobe-CNS1, Adobe-Japan1 or Adobe-Korea1 character collections;
the font is a non-symbolic TrueType font. *) the font is a non-symbolic TrueType font. *)
let matterhorn_31_027 pdf = () let matterhorn_31_027 pdf = todo ()
(* One or more Unicode values specified in the ToUnicode CMap are zero (0). *) (* One or more Unicode values specified in the ToUnicode CMap are zero (0). *)
let matterhorn_31_028 pdf = () let matterhorn_31_028 pdf = todo ()
(* One or more Unicode values specified in the ToUnicode CMap are equal to (* One or more Unicode values specified in the ToUnicode CMap are equal to
either U+FEFF or U+FFFE. *) either U+FEFF or U+FFFE. *)
let matterhorn_31_029 pdf = () let matterhorn_31_029 pdf = todo ()
(* One or more characters used in text showing operators reference the .notdef (* One or more characters used in text showing operators reference the .notdef
glyph. *) glyph. *)