1
0

removed extra extraneous comments

This commit is contained in:
2026-08-15 09:51:59 +09:00
parent a024557f7d
commit 90958c3e81
2 changed files with 20 additions and 32 deletions

43
README
View File

@@ -18,10 +18,10 @@ Requirements
============= =============
Because this document uses OpenType and TrueType fonts and produces Because this document uses OpenType and TrueType fonts and produces
tagged, accessible PDF/UA-2 output, it requires LuaLaTeX rather than tagged, accessible PDF/UA-2 output, it requires LuaLaTeX
standard LaTeX. It is supported by Overleaf (https://overleaf.com/) (https://www.luatex.org/) (not XeLaTeX or PDFLaTeX). LuaLaTeX is
although it is not the default. More details on LuaTeX are available supported by Overleaf (https://overleaf.com/) although it is not the
here: https://www.luatex.org/ default.
On Debian or Ubuntu, install the following packages: On Debian or Ubuntu, install the following packages:
@@ -33,16 +33,13 @@ On Debian or Ubuntu, install the following packages:
apt install latexmk texlive-luatex texlive-latex-recommended \ apt install latexmk texlive-luatex texlive-latex-recommended \
texlive-latex-extra texlive-latex-extra
On other systems, installing a full TeX Live distribution should On other systems, installing a full TeX Live distribution should provide
provide everything needed. everything needed. The tagging code requires TeX Live 2025 or later. On
Overleaf, set the version under Menu > Settings > TeX Live version. TeX
Live 2025 is not in Debian Trixie, but it can be installed from sid
(unstable) without pulling in too many other packages.
TeX Live 2025 or later is required. The tagging code is not in TeX The two required fonts, Matrix-II and OpenSans, are both included in
Live 2024, where the build stops with "the key
'document/metadata/tagging' is unknown". Debian trixie ships TeX Live
2024. On Overleaf, set the version under Menu > Settings > TeX Live
version; it is not always high enough by default on an older project.
The two required fonts Matrix-II and OpenSans are both included in
this repository, so no additional font packages are needed. this repository, so no additional font packages are needed.
@@ -53,28 +50,28 @@ The letter is a tagged PDF declaring PDF/UA-2 (ISO 14289-2). Two keys
in the \DocumentMetadata block at the top of the .tex file do this, in the \DocumentMetadata block at the top of the .tex file do this,
and both are needed: tagging=on loads the kernel code that puts the and both are needed: tagging=on loads the kernel code that puts the
text into the PDF's structure tree, and pdfstandard=ua-2 writes the text into the PDF's structure tree, and pdfstandard=ua-2 writes the
conformance claim. The claim without the tagging produces a letter conformance claim.
that passes a conformance checker while containing nothing a screen
reader can read, so keep them together.
Check a built letter with veraPDF (https://verapdf.org/, not packaged You can check a built letter with veraPDF (https://verapdf.org/):
in Debian):
verapdf -f ua2 washington_letterhead_letter-matrix-deptartment.pdf verapdf -f ua2 washington_letterhead_letter-matrix-deptartment.pdf
Note that a PASS is necessary but not sufficient. A letter whose body Note that a PASS is necessary but not sufficient. A letter whose body
text is all marked as artifact passes too, because the standard only text is all marked as artifact passes too, because the standard only
requires that content which is not real be an artifact. Confirm there requires that content which is not real be an artifact.
is something in the structure tree as well:
You can confirm there is something in the structure tree as well:
python3 -c "import pikepdf,sys; d=pikepdf.open(sys.argv[1]); \ python3 -c "import pikepdf,sys; d=pikepdf.open(sys.argv[1]); \
print(d.Root.get('/StructTreeRoot') and 'tagged' or 'UNTAGGED')" file.pdf print(d.Root.get('/StructTreeRoot') and 'tagged' or 'UNTAGGED')" file.pdf
The signature image carries an alt= description, which is what a The signature image carries an alt= description, which is what a
screen reader announces in place of it. Keep that in place if you screen reader announces in place of it. Keep that in place if you
swap in your own signature. The letterhead graphic in the page header swap in your own signature.
is treated as an artifact, like other running header content, so it
is skipped rather than described. The letterhead graphic in the page header is treated as an artifact,
like other running header content, so it is skipped rather than
described.
Encrypted signature files Encrypted signature files

View File

@@ -1,13 +1,4 @@
% Tagged PDF (PDF/UA-2) accessibility setup. % Tagged PDF (PDF/UA-2) accessibility setup.
%
% tagging=on is what actually builds the structure tree: it loads the
% kernel code that tags paragraphs, headings, and figures. Declaring
% pdfstandard=ua-2 on its own only writes the claim into the metadata.
% Without tagging=on this letter validated as PDF/UA-2 while its
% structure tree held nothing but /Document, its body text was marked
% as artifact, and the alt= descriptions below were silently dropped:
% a file that passes the checker and is unreadable to a screen reader.
% Needs TeX Live 2025 or later.
\DocumentMetadata{ \DocumentMetadata{
tagging=on, tagging=on,
pdfversion=2.0, pdfversion=2.0,