[latex3-commits] [git/LaTeX3-latex3-pdfresources] master: converting \PDF at SetupDoc to keys (e761eb9)

Ulrike Fischer fischer at troubleshooting-tex.de
Wed Mar 25 00:37:35 CET 2020


Repository : https://github.com/latex3/pdfresources
On branch  : master
Link       : https://github.com/latex3/pdfresources/commit/e761eb998e9a23cd21f84648a1353c8a9e604c54

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

commit e761eb998e9a23cd21f84648a1353c8a9e604c54
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Wed Mar 25 00:37:35 2020 +0100

    converting \PDF at SetupDoc to keys


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

e761eb998e9a23cd21f84648a1353c8a9e604c54
 hgeneric-experimental.def       | 137 ++++++++++++++++++++++++----------------
 testfiles/metadata.pvt          |   9 +--
 testfiles/viewerpreferences.pvt |   9 ++-
 3 files changed, 93 insertions(+), 62 deletions(-)

diff --git a/hgeneric-experimental.def b/hgeneric-experimental.def
index 77f4e9d..5d641d9 100644
--- a/hgeneric-experimental.def
+++ b/hgeneric-experimental.def
@@ -764,7 +764,7 @@
    ,baseurl       .code:n =
      {
        \__hyp_pstringdef:No \l__hyp_tmpa_tl {#1}%
-        \tl_if_empty:NTF \l__hyp_tmpa_tl %remove if empty??
+        \tl_if_empty:NTF \l__hyp_tmpa_tl
           {
              \pdf_catalog_gremove:n { URI }
           }
@@ -772,49 +772,102 @@
              \pdf_catalog_gput:nx { URI }{ <</Base ( \l__hyp_tmpa_tl )>> }
           }
      }
-   ,baseurl       .value_required:n = true
-   ,pdflang       .code:n =  { \pdf_catalog_gput:nx { Lang } { (#1) } }
+   ,pdfcenterwindow    .choice:
+   ,pdfcenterwindow / false .code:n =
+     { \pdf_catalog_gremove:n { ViewerPreferences / CenterWindow } }
+   ,pdfcenterwindow / true .code:n =
+     { \pdf_catalog_gput:nn { ViewerPreferences } {{ CenterWindow } { true }} }
+   ,pdfcenterwindow    .default:n = true
+   ,pdfdisplaydoctitle    .choice:
+   ,pdfdisplaydoctitle / false .code:n =
+     { \pdf_catalog_gremove:n { ViewerPreferences / DisplayDocTitle } }
+   ,pdfdisplaydoctitle / true .code:n =
+     { \pdf_catalog_gput:nn { ViewerPreferences } {{ DisplayDocTitle } { true }} }
+   ,pdfdisplaydoctitle    .default:n = true
+   ,pdffitwindow    .choice:
+   ,pdffitwindow / false .code:n =
+     { \pdf_catalog_gremove:n { ViewerPreferences / FitWindow } }
+   ,pdffitwindow / true .code:n =
+     { \pdf_catalog_gput:nn { ViewerPreferences } {{ FitWindow } { true }} }
+   ,pdffitwindow    .default:n = true
+   ,pdflang       .code:n =
+          {
+            \tl_if_empty:nTF { #1 }
+              {
+                \pdf_catalog_gremove:n { Lang }
+              }
+              {
+                \pdf_catalog_gput:nx { Lang } { (#1) }
+              }
+          }
+   ,pdfmenubar    .choice:
+   ,pdfmenubar / true .code:n =
+     { \pdf_catalog_gremove:n { ViewerPreferences / HideMenubar } }
+   ,pdfmenubar / false .code:n =
+     { \pdf_catalog_gput:nn { ViewerPreferences } {{ HideMenubar } { true }} }
+   ,pdfmenubar    .default:n = true
+   ,pdfnonfullscreenpagemode   .choices:nn =
+     { UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5
+     {
+       \pdf_catalog_gput:nx {ViewerPreferences }{{NonFullScreenPageMode}{/#1}}
+     }
+   ,pdfnonfullscreenpagemode / UseAttachments .code:n =
+     {
+       \pdf_version_compare:NnTF < {1.6}
+         {
+           %message
+         }
+         {
+           \pdf_catalog_gput:nn {ViewerPreferences }{{NonFullScreenPageMode}{/UseAttachments}}
+         }
+     }
    ,pdfpagelayout .choices:nn =
      { SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, TwoPageLeft, TwoPageRight}
      { \pdf_catalog_gput:nx { PageLayout }{ /#1 } }
    ,pdfpagelayout / .code:n =
      { \pdf_catalog_gremove:n { PageLayout } }
-   ,pdfpagemode   .code:n = { \pdf_catalog_gput:nx { PageMode }{ /#1 } }
-   ,pdfpagemode   .value_required:n = true
+   ,pdfpagemode   .choices:nn =
+     { UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5
+     { \pdf_catalog_gput:nx { PageMode }{ /#1 } }
+   ,pdfpagemode / UseAttachments .code:n =
+     {
+       \pdf_version_compare:NnTF < {1.6}
+         {
+           %message
+         }
+         {
+           \pdf_catalog_gput:nx { PageMode }{ /UseAttachments }
+         }
+     }
    ,pdfpagemode   .initial:n  = { UseOutlines } %for now ...
-   ,pdfpagescrop  .code:n = { \pdf_pagesattr_gput:nx { CropBox } { [#1] } }
-   ,pdfpagescrop  .value_required:n = true
-   ,pdftoolbar    .choices:nn =
-     { true, false }
-     { \pdf_catalog_gput:nn { ViewerPreferences } {{ HideToolbar } { #1 }} }
+   ,pdfpagescrop  .code:n =
+     {
+       \tl_if_empty:nTF %or blank?
+         {
+           \pdf_pagesattr_gremove:n { CropBox }
+         }
+         {
+           \pdf_pagesattr_gput:nx { CropBox } { [#1] }
+         }
+     }
+   ,pdftoolbar    .choice:
+   ,pdftoolbar / true .code:n =
+     { \pdf_catalog_gremove:n { ViewerPreferences / HideToolbar } }
+   ,pdftoolbar / false .code:n =
+     { \pdf_catalog_gput:nn { ViewerPreferences } {{ HideToolbar } { true }} }
    ,pdftoolbar    .default:n = true
+   ,pdfwindowui    .choice:
+   ,pdfwindowui / true .code:n =
+     { \pdf_catalog_gremove:n { ViewerPreferences / HideWindowUI } }
+   ,pdfwindowui / false .code:n =
+     { \pdf_catalog_gput:nn { ViewerPreferences } {{ HideWindowUI } { true }} }
+   ,pdfwindowui    .default:n = true
  }
 
 
 
 \cs_set_protected:Npn \PDF at SetupDoc
   {
-    %\tl_if_empty:NF\@pdfpagescrop
-%      {
-%        \pdf_pagesattr_gput:nn { CropBox } { [\@pdfpagescrop] }
-%      }
-%    \pdf_catalog_gput:nx { PageMode }{ /\@pdfpagemode }
-%    \tl_if_empty:NF \@baseurl
-%      {
-%        \__hyp_pstringdef:No \l__hyp_tmpa_tl {\@baseurl}%
-%        \pdf_catalog_gput:nx { URI }{ <</Base ( \l__hyp_tmpa_tl )>> }
-%      }
- %   \tl_if_empty:oF { \@pdfpagelayout }
-%      {
-%        \pdf_catalog_gput:nx { PageLayout }{ /\@pdfpagelayout }
-%      }
-%    \tl_if_exist:NT\@pdflang
-%      {
-%        \tl_if_empty:NF\@pdflang
-%          {
-%            \pdf_catalog_gput:nx { Lang } { (\@pdflang) }
-%          }
-%      }
     \bool_if:nF
       {
         \tl_if_empty_p:N \@pdfstartpage
@@ -825,28 +878,6 @@
         \exp_args:Noo
         \pdf_docview:nn {\@pdfstartpage} {\tl_tail:N\@pdfstartview}
       }
-    \ifHy at pdftoolbar\else
-     \pdf_catalog_gput:nn { ViewerPreferences } {{ HideToolbar } { true }}
-    \fi
-    \ifHy at pdfmenubar\else
-     \pdf_catalog_gput:nn { ViewerPreferences } {{ HideMenubar } { true }}
-    \fi
-    \ifHy at pdfwindowui\else
-     \pdf_catalog_gput:nn {ViewerPreferences} {{ HideWindowUI } { true }}
-    \fi
-    \ifHy at pdffitwindow
-     \pdf_catalog_gput:nn { ViewerPreferences} {{ FitWindow } { true }}
-    \fi
-    \ifHy at pdfcenterwindow
-     \pdf_catalog_gput:nn { ViewerPreferences } {{ CenterWindow } { true }}
-    \fi
-    \ifHy at pdfdisplaydoctitle
-     \pdf_catalog_gput:nn { ViewerPreferences } {{ DisplayDocTitle } { true }}
-    \fi
-    \tl_if_empty:NF  \@pdfnonfullscreenpagemode
-    {
-     \pdf_catalog_gput:nx { ViewerPreferences } {{ NonFullScreenPageMode } { /\@pdfnonfullscreenpagemode }}
-    }
     \tl_if_empty:NF  \@pdfdirection
     {
      \pdf_catalog_gput:nx { ViewerPreferences } {{ Direction } { /\@pdfdirection }}
diff --git a/testfiles/metadata.pvt b/testfiles/metadata.pvt
index 8360c5d..bdddc1f 100644
--- a/testfiles/metadata.pvt
+++ b/testfiles/metadata.pvt
@@ -6,14 +6,15 @@
 \usepackage{hyperxmp,lipsum}
 
 \usepackage[customdriver=hgeneric-experimental,
-   ocgcolorlinks,
-   pdftoolbar=false,
+   ocgcolorlinks]
+   {hyperref}
+
+\hypersetup{  pdftoolbar=false,
    pdfauthor={Ulrike Fischer},
    pdftitle={A test of metadata},
    pdfnonfullscreenpagemode=UseNone,
    pdfnumcopies=4,
-   pdfpagelayout=SinglePage]
-   {hyperref}
+   pdfpagelayout=SinglePage}   
 
 \ExplSyntaxOn
 \pdf_object_new:nn{metadata-obj}{stream}
diff --git a/testfiles/viewerpreferences.pvt b/testfiles/viewerpreferences.pvt
index 832a04e..4997156 100644
--- a/testfiles/viewerpreferences.pvt
+++ b/testfiles/viewerpreferences.pvt
@@ -9,12 +9,11 @@
 \input{regression-test}
 \documentclass{article}
 \usepackage[customdriver=hgeneric-experimental,
-            ocgcolorlinks,
-            pdftoolbar=false,
-            pdfnonfullscreenpagemode=UseNone,
-            pdfnumcopies=4,
+            ocgcolorlinks
             ]{hyperref}
-\hypersetup{pdfpagelayout=SinglePage}            
+\hypersetup{pdfpagelayout=SinglePage,pdftoolbar=false,
+            pdfnonfullscreenpagemode=UseNone,
+            pdfnumcopies=4}
 \begin{document}
 \START
 abc





More information about the latex3-commits mailing list.