texlive[54802] Master/texmf-dist: bxpdfver (20apr20)

commits+karl at tug.org commits+karl at tug.org
Mon Apr 20 00:15:45 CEST 2020


Revision: 54802
          http://tug.org/svn/texlive?view=revision&revision=54802
Author:   karl
Date:     2020-04-20 00:15:45 +0200 (Mon, 20 Apr 2020)
Log Message:
-----------
bxpdfver (20apr20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bxpdfver/LICENSE
    trunk/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
    trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md
    trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty

Modified: trunk/Master/texmf-dist/doc/latex/bxpdfver/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxpdfver/LICENSE	2020-04-19 22:15:28 UTC (rev 54801)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/LICENSE	2020-04-19 22:15:45 UTC (rev 54802)
@@ -1,6 +1,6 @@
 The MIT License
 
-Copyright (c) 2017 Takayuki YATO (aka. "ZR")
+Copyright (c) 2014-2020 Takayuki YATO (aka. "ZR")
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

Modified: trunk/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md	2020-04-19 22:15:28 UTC (rev 54801)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md	2020-04-19 22:15:45 UTC (rev 54802)
@@ -35,7 +35,7 @@
 
 利用可能なオプションは以下の通り。
 
-  * `1.4`、`1.5`、`1.6`、`1.7`: PDF バージョンを指定する。
+  * `1.4`、`1.5`、`1.6`、`1.7`、`2.0`: PDF バージョンを指定する。
   * `nocompress`: ストリームの圧縮を抑止する。
   * `compress`(既定): ストリームの圧縮を抑止しない。
   * `noobjcompress`: オブジェクトストリームの使用を抑止する。
@@ -47,6 +47,8 @@
       + `dvipdfmx`: dvipdfmx 用のドライバを指定する。
       + `disabled`/`nodvidriver`: 全ての機能を無効化する。
   * `lenient`: サポートしない機能に対するエラーを警告に格下げする。
+  * `new-dvipdfmx`: dvipdfmx に対するバージョン検査を省略し、常に最新の
+    バージョンであると仮定する。
 
 `compress`、`objcompress` はこのパッケージによる抑止を行わないという意味
 であり、既に抑止されている場合にそれを再び有効化するものではない。
@@ -55,7 +57,7 @@
 
   * `\setpdfversion{<バージョン>}`: 出力 PDF バージョンを指定する。
     `<バージョン>` には以下の何れかを指定する。
-      + `1.4`、`1.5`、`1.6`、`1.7` の何れか。その値に設定する。
+      + `1.4`、`1.5`、`1.6`、`1.7`、`2.0` の何れか。その値に設定する。
       + PDF ファイルの名前。そのファイルのバージョンと同じ値に設定する。
   * `\suppresspdfcompression`: ストリームの圧縮を抑止する。
   * `\suppresspdfobjcompression`: オブジェクトストリームの使用を抑止
@@ -101,6 +103,8 @@
 更新履歴
 --------
 
+  * Version 0.5  ‹2020/04/19›
+      - PDF バージョンの値として `2.0` をサポートする。
   * Version 0.4  ‹2017/02/11›
       - `\setpdfdecimaldigits`、`\preservepdfdestinations` を追加。
   * Version 0.3  ‹2016/08/11›

Modified: trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md	2020-04-19 22:15:28 UTC (rev 54801)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md	2020-04-19 22:15:45 UTC (rev 54802)
@@ -37,7 +37,7 @@
 
 The available options are:
 
-  * `1.4`, `1.5`, `1.6`, or `1.7`: Sets PDF version.
+  * `1.4`, `1.5`, `1.6`, `1.7` or `2.0`: Sets PDF version.
   * `nocompress`: Suppresses stream compression.
   * `compress` (default): Does not suppress stream compression.
   * `noobjcompress`: Suppresses use of object streams.
@@ -57,7 +57,7 @@
 
   * `\setpdfversion{<version>}`: Sets PDF version.
     Here `<version>` is either one of the following:
-      + `1.4`, `1.5`, `1.6`, or `1.7`; the version itself.
+      + `1.4`, `1.5`, `1.6`, `1.7` or `2.0`; the version itself.
       + the name of a PDF file; the version is set equal to that of
         the given file.
   * `\suppresspdfcompression`: Suppresses stream compression.
@@ -101,6 +101,8 @@
 REVISION HISTORY
 ----------------
 
+  * Version 0.5  ‹2020/04/19›
+      - Suuport PDF version value `2.0`.
   * Version 0.4  ‹2017/02/11›
       - Add `\setpdfdecimaldigits` and `\preservepdfdestinations`.
   * Version 0.3  ‹2016/08/11›

Modified: trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty	2020-04-19 22:15:28 UTC (rev 54801)
+++ trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty	2020-04-19 22:15:45 UTC (rev 54802)
@@ -1,8 +1,16 @@
-% bxpdfver.sty
+%%
+%% This is file 'bxpdfver.sty'.
+%%
+%% Copyright (c) 2014-2020 Takayuki YATO (aka. "ZR")
+%%   GitHub:   https://github.com/zr-tex8r
+%%   Twitter:  @zr_tex8r
+%%
+%% This package is distributed under the MIT License.
+%%
 
 %% package declaration
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxpdfver}[2017/02/11 v0.4]
+\ProvidesPackage{bxpdfver}[2020/04/19 v0.5]
 \def\bxpv at pkgname{bxpdfver}
 
 %% preparations
@@ -20,27 +28,18 @@
 \let\bxpv at compress=t      % use compression?
 \let\bxpv at obj@compress=t  % use object stream?
 \chardef\bxpv at infolevel=2 % info-log level
+\let\bxpv at new@dvipdfmx=f  % assume new dvipdfmx?
 
+%% \bxpv at valid@versions
+\def\bxpv at valid@versions{1.4,1.5,1.6,1.7,2.0}
+
 %% options
 % (PDF version)
-\DeclareOption{1.4}{%
-  \edef\bxpv at version{\CurrentOption}%
+\@for\bxpv at tmpa:=\bxpv at valid@versions\do{%
+  \DeclareOption{\bxpv at tmpa}{%
+    \edef\bxpv at version{\CurrentOption}%
+  }%
 }
-\DeclareOption{1.5}{%
-  \edef\bxpv at version{\CurrentOption}%
-}
-\DeclareOption{1.6}{%
-  \edef\bxpv at version{\CurrentOption}%
-}
-\DeclareOption{1.7}{%
-  \edef\bxpv at version{\CurrentOption}%
-}
-\DeclareOption{1.8}{%
-  \edef\bxpv at version{\CurrentOption}%
-}
-\DeclareOption{1.9}{%
-  \edef\bxpv at version{\CurrentOption}%
-}
 % (compression)
 \DeclareOption{nocompress}{%
   \let\bxpv at compress=f%
@@ -83,6 +82,11 @@
   \let\bxpv at drv@type=0%
   \def\bxpv at drv@name{nodvidriver}%
 }
+\DeclareOption{new-dvipdfmx}{%
+  \let\bxpv at drv@type=d%
+  \let\bxpv at new@dvipdfmx=t%
+  \def\bxpv at drv@name{dvipdfmx}%
+}
 % (other)
 \DeclareOption{lenient}{%
   \chardef\bxpv at infolevel=1
@@ -130,6 +134,12 @@
     the engine/driver does not support the feature}%
 }
 
+%% \ifbxpv at defined
+\let\ifbxpv at defined\ifdefined
+\ifx\ifbxpv at defined\@undefined \expandafter\@firstofone
+\else \expandafter\@gobble
+\fi{\let\ifbxpv at defined\iffalse}
+
 %--------------------------------------- internal dispatchers
 
 %% \bxpv at suppress@compress
@@ -142,6 +152,9 @@
 \def\bxpv at suppress@obj at compress{%
   \bxpv at fail@nafea{Cannot suppress object compression}%
 }
+%% \bxpv at check@version
+\@onlypreamble\bxpv at check@version
+\let\bxpv at check@version\bxpv at okfalse
 %% \bxpv at set@version
 \@onlypreamble\bxpv at set@version
 \def\bxpv at set@version{%
@@ -206,6 +219,7 @@
   \global\let\bxpv@@minorversion\pdfminorversion
   \global\let\bxpv@@decimaldigits\pdfdecimaldigits
   \global\let\bxpv@@pkresolution\pdfpkresolution
+  \global\let\bxpv@@majorversion\pdfmajorversion
   \bxpv at check@prim\pdfvariable{%
     \protected\xdef\bxpv@@compresslevel{\pdfvariable compresslevel}%
     \protected\xdef\bxpv@@objcompresslevel{\pdfvariable objcompresslevel}%
@@ -212,15 +226,19 @@
     \protected\xdef\bxpv@@minorversion{\pdfvariable minorversion}%
     \protected\xdef\bxpv@@decimaldigits{\pdfvariable decimaldigits}%
     \protected\xdef\bxpv@@pkresolution{\pdfvariable pkresolution}%
+    \ifnum 0\directlua{%
+      if pdf.getmajorversion then tex.write('1') end}>\z@
+      \protected\xdef\bxpv@@majorversion{\pdfvariable majorversion}%
+    \fi
   }%
   % If \pdfcompresslevel is available, use it.
-  \ifx\bxpv@@compresslevel\@undefined\else
+  \ifbxpv at defined\bxpv@@compresslevel
     \gdef\bxpv at suppress@compress{%
       \global\bxpv@@compresslevel\z@
     }%
   \fi
   % If \pdfobjcompresslevel is available, use it.
-  \ifx\bxpv@@objcompresslevel\@undefined\else
+  \ifbxpv at defined\bxpv@@objcompresslevel
     \global\chardef\bxpv at org@objcompresslevel\bxpv@@objcompresslevel
     \gdef\bxpv at suppress@obj at compress{%
       \global\bxpv@@objcompresslevel\z@
@@ -227,24 +245,48 @@
     }%
     \global\let\bxpv at cancel@obj at compress\bxpv at suppress@obj at compress
   \fi
-  % If \pdfminorversion is available, use it.
-  \ifx\bxpv@@minorversion\@undefined\else
+  % If \pdfmajorversion/\pdfminorversion is available, use it.
+  \ifbxpv at defined\bxpv@@majorversion
     \global\chardef\bxpv at org@minorversion\bxpv@@minorversion
+    \global\chardef\bxpv at org@majorversion\bxpv@@majorversion
+    \global\let\bxpv at check@version\bxpv at oktrue
     \gdef\bxpv at set@version{%
       \ifx\bxpdfverMinorVersion\relax
         \global\bxpv@@minorversion\bxpv at org@minorversion
+        \global\bxpv@@majorversion\bxpv at org@majorversion
       \else
         \global\bxpv@@minorversion\bxpdfverMinorVersion
+        \global\bxpv@@majorversion\bxpdfverMajorVersion
       \fi
     }%
     \g at addto@macro\bxpv at begin@document at hook{%
+      \ifnum\bxpv@@majorversion<2 \ifnum\bxpv@@minorversion<5
+        \bxpv at cancel@obj at compress
+      \fi\fi
+    }%
+  \else\ifbxpv at defined\bxpv@@minorversion
+    \global\chardef\bxpv at org@minorversion\bxpv@@minorversion
+    \gdef\bxpv at check@version{%
+      \bxpv at oktrue
+      \ifx\bxpdfverMajorVersion\tw@
+        \bxpv at okfalse % cannot set major version 2
+      \fi
+    }
+    \gdef\bxpv at set@version{%
+      \ifx\bxpdfverMinorVersion\relax
+        \global\bxpv@@minorversion\bxpv at org@minorversion
+      \else
+        \global\bxpv@@minorversion\bxpdfverMinorVersion
+      \fi
+    }%
+    \g at addto@macro\bxpv at begin@document at hook{%
       \ifnum\bxpv@@minorversion<5
         \bxpv at cancel@obj at compress
       \fi
     }%
-  \fi
+  \fi\fi
   % If \pdfdecimaldigits is available, use it.
-  \ifx\bxpv@@decimaldigits\@undefined\else
+  \ifbxpv at defined\bxpv@@decimaldigits
     \global\chardef\bxpv at org@decimaldigits\bxpv@@decimaldigits
     \gdef\bxpv at set@decimaldigits{%
       \ifx\bxpdfverDecimalDigits\relax
@@ -255,7 +297,7 @@
     }%
   \fi
   % If \pdfpkresolution is available, use it.
-  \ifx\bxpv@@pkresolution\@undefined\else
+  \ifbxpv at defined\bxpv@@pkresolution
     \global\mathchardef\bxpv at org@pkresolution\bxpv@@pkresolution
     \gdef\bxpv at set@pkresolution{%
       \ifx\bxpdfverPkResolution\relax
@@ -285,6 +327,7 @@
 \else\if d\bxpv at drv@type % 'dvipdfmx'
   \global\let\bxpv at suppress@compress\relax
   \global\let\bxpv at suppress@obj at compress\relax
+  \global\let\bxpv at check@version\relax
   \global\let\bxpv at set@version\relax
   \global\let\bxpv at set@decimaldigits\relax
   %\global\let\bxpv at set@pkresolution\relax
@@ -324,8 +367,13 @@
 \@onlypreamble\setpdfversion
 \newcommand*\setpdfversion[1]{%
   \edef\bxpv at version{#1}%
-  \bxpv at get@mversion
-  \bxpv at set@version
+  \bxpv at set@version at values
+  \bxpv at check@version
+  \ifbxpv at ok
+    \bxpv at set@version
+  \else
+    \bxpv at fail@nafea{Cannot set PDF version to '\bxpv at version'}%
+  \fi
 }
 
 %%<*> \setpdfdecimaldigits{<number>}
@@ -362,6 +410,13 @@
   \let\bxpdfverMinorVersion\relax
 }
 
+%%<+> \bxpdfverMajorVersion
+% The PDF major version (eg. '1' for 1.4) that this package
+% will impose. It is a number constant, or \relax.
+\@ifdefinable{\bxpdfverMajorVersion}{%
+  \let\bxpdfverMajorVersion\relax
+}
+
 %%<+> \bxpdfverDecimalDigits
 % The PDF decimal-digits value that this package
 % will impose. It is a number constant, or \relax.
@@ -418,57 +473,67 @@
 %% variables
 \let\bxpv at mversion\relax  % minor version (temporary)
 
-%% \bxpv at get@mversion
-% Sets \bxpdfverMinorVersion.
-\@onlypreamble\bxpv at get@mversion
-\def\bxpv at get@mversion{%
+%% \bxpv at set@version at values
+% Sets \bxpdfverMinorVersion/\bxpdfverMajorVersion.
+\@onlypreamble\bxpv at set@version at values
+\def\bxpv at set@version at values{%
   \edef\bxpv at version{\bxpv at version}%
+  \let\bxpv at tmpc\bxpv at version
   \ifx\bxpv at version\@empty
     \global\let\bxpdfverMinorVersion\relax % unset
+    \global\let\bxpdfverMajorVersion\relax % unset
   \else
-    \let\bxpv at mversion\relax
-    \@tfor\bxpv at x:=456789\do{%
-      \edef\bxpv at tmpa{1.\bxpv at x}%
+    \bxpv at okfalse
+    \@for\bxpv at tmpa:=\bxpv at valid@versions\do{%
       \ifx\bxpv at version\bxpv at tmpa
-        \chardef\bxpv at mversion=\bxpv at x\relax
+        \bxpv at oktrue
       \fi
     }%
-    \ifx\bxpv at mversion\relax
-      \bxpv at file@mversion
+    \ifbxpv at ok\else
+      \bxpv at check@file at version
+      \ifx\bxpv at version\relax
+        \bxpv at okfalse
+      \else
+        \bxpv at oktrue
+        \PackageInfo\bxpv at pkgname
+         {Output PDF version is set to \bxpv at version\MessageBreak}%
+      \fi
     \fi
-    \ifx\bxpv at mversion\relax
+    \ifbxpv at ok
+      \expandafter\bxpv at set@version at values@a\bxpv at version\relax
+    \else
       \PackageError\bxpv at pkgname
        {Invalid value given for PDF version\MessageBreak
-        (value=\bxpv at version)}{%
-        PDF version must be either 1.4, 1.5, ..., 1.9, or\MessageBreak
+        (value=\bxpv at tmpc)}{%
+        PDF version must be either one of the following:\MessageBreak
+        \@spaces \bxpv at valid@versions;\MessageBreak
         or the name of a PDF file from which the version is pulled.%
         \MessageBreak\@ehc}%
-    \else
-      \PackageInfo\bxpv at pkgname
-       {Output PDF version is set to 1.\the\bxpv at mversion
-        \MessageBreak}%
-      \global\let\bxpdfverMinorVersion\bxpv at mversion
     \fi
   \fi
 }
+\def\bxpv at set@version at values@a#1.#2\relax{%
+  \global\chardef\bxpdfverMinorVersion=#2\relax
+  \global\chardef\bxpdfverMajorVersion=#1\relax
+}
 
-%% \bxpv at file@mversion
-\@onlypreamble\bxpv at file@mversion
-\def\bxpv at file@mversion{%
-  \let\bxpv at mversion\relax
-  \expandafter\bxpv at file@mversion at a\bxpv at version\bxpv at end
+%% \bxpv at check@file at version
+\@onlypreamble\bxpv at check@file at version
+\def\bxpv at check@file at version{%
+  \expandafter\bxpv at check@file at version@a\bxpv at version\bxpv at end
 }
-\@onlypreamble\bxpv at file@mversion at a
-\def\bxpv at file@mversion at a#1\bxpv at end{%
+\@onlypreamble\bxpv at check@file at version@a
+\def\bxpv at check@file at version@a#1\bxpv at end{%
   \filename at parse{#1}%
   \edef\bxpv at next{%
     \lowercase{\def\noexpand\filename at ext{\filename at ext}}%
   }\bxpv at next
   \def\bxpv at tmpb{pdf}%
+  \let\bxpv at version\relax
   \ifx\filename at ext\bxpv at tmpb
     \global\let\bxpv at gtmpa\relax
     \bxpv at read@file{#1}{%
-      \bxpv at file@mversion at xa{##1 }%
+      \bxpv at check@file at version@xa{##1 }%
       \bxpv at read@file at finish
     }%
     \ifbxpv at read@file at ok\else
@@ -475,33 +540,33 @@
       \PackageWarning\bxpv at pkgname
        {File '#1' not found}%
     \fi
-    \@tfor\bxpv at x:=456789\do{%
-      \ifx\bxpv at x\bxpv at gtmpa
-        \chardef\bxpv at mversion=\bxpv at x\relax
+    \@for\bxpv at tmpa:=\bxpv at valid@versions\do{%
+      \ifx\bxpv at gtmpa\bxpv at tmpa
+        \let\bxpv at version\bxpv at tmpa
       \fi
     }%
   \fi
 }
 % some more subprocedures
-\@onlypreamble\bxpv at file@mversion at xa
-\@onlypreamble\bxpv at file@mversion at xb
-\@onlypreamble\bxpv at file@mversion at xc
+\@onlypreamble\bxpv at check@file at version@xa
+\@onlypreamble\bxpv at check@file at version@xb
+\@onlypreamble\bxpv at check@file at version@xc
 \begingroup
   \escapechar\m at ne
   \def\bxpv at tmpa#1\bxpv at end{%
-    \gdef\bxpv at file@mversion at xa##1{%
-      \bxpv at file@mversion at xb##1#1\bxpv at end
+    \gdef\bxpv at check@file at version@xa##1{%
+      \bxpv at check@file at version@xb##1#1\bxpv at end
     }%
-    \gdef\bxpv at file@mversion at xb##1#1##2\bxpv at end{%
+    \gdef\bxpv at check@file at version@xb##1#1##2\bxpv at end{%
       \ifx\bxpv at mt##1\bxpv at mt
-        \bxpv at file@mversion at xc##2\bxpv at end
+        \bxpv at check@file at version@xc##2\bxpv at end
       \fi
     }%
-    \gdef\bxpv at file@mversion at xc##1 ##2\bxpv at end{%
+    \gdef\bxpv at check@file at version@xc##1 ##2\bxpv at end{%
       \gdef\bxpv at gtmpa{##1}%
     }%
   }
-  \edef\bxpv at tmpb{{\expandafter\string\csname\string\%PDF-1.\endcsname}}%
+  \edef\bxpv at tmpb{{\expandafter\string\csname\string\%PDF-\endcsname}}%
   \expandafter\bxpv at tmpa\bxpv at tmpb\bxpv at end
 \endgroup
 
@@ -531,11 +596,27 @@
 \@onlypreamble\bxpv at begin@document at dvipdfmx
 \def\bxpv at begin@document at dvipdfmx{%
   % PDF version
-  \ifx\bxpdfverMinorVersion\relax\else
-    \g at addto@macro\bxpv at page@specials{%
-      \special{pdf:minorversion \the\bxpdfverMinorVersion}%
-    }%
+  \ifx\bxpdfverMajorVersion\tw@
+    \bxpv at check@dvipdfmx at version{20180217}%
+     {Cannot set PDF major version}%
+  \else
+    \bxpv at oktrue
   \fi
+  \ifbxpv at ok
+    \ifx\bxpdfverMinorVersion\relax\else
+      \g at addto@macro\bxpv at page@specials{%
+        \special{pdf:minorversion \the\bxpdfverMinorVersion}%
+      }%
+    \fi
+    \ifx\bxpdfverMinorVersion\relax\else
+      \bxpv at cache@fetch{dvipdfmxver}%
+      \ifnum\bxpv at cache@@dvipdfmxver<20180217 \else
+        \g at addto@macro\bxpv at page@specials{%
+          \special{pdf:majorversion \the\bxpdfverMajorVersion}%
+        }%
+      \fi
+    \fi
+  \fi
   % compression
   \ifbxpdfverCompressionSuppressed
     \bxpv at check@dvipdfmx at version{20160307}%
@@ -806,6 +887,7 @@
       \chardef\bxpv at rf@cont\@ne
       \bxpv at read@file at b
     \fi
+    \closein\@inputcheck
   \endgroup
 }
 \@onlypreamble\bxpv at read@file at b
@@ -888,11 +970,13 @@
     \def\next#1{\expandafter\meaning\csname if#1\endcsname}%
     \typeout{**bxpdfver-----------%
       ^^JMinorVersion=\meaning\bxpdfverMinorVersion
+      ^^JMajorVersion=\meaning\bxpdfverMajorVersion
       ^^JCompressionSuppressed=\next{bxpdfverCompressionSuppressed}%
       ^^JObjCompressionSuppressed=\next{bxpdfverObjCompressionSuppressed}%
       ^^JDecimalDigits=\meaning\bxpdfverDecimalDigits
       ^^JPkResolution=\meaning\bxpdfverPkResolution
       \do minorversion=\bxpv@@minorversion
+      \do majorversion=\bxpv@@majorversion
       \do compresslevel=\bxpv@@compresslevel
       \do objcompresslevel=\bxpv@@objcompresslevel
       \do decimaldigits=\bxpv@@decimaldigits
@@ -912,6 +996,9 @@
 \if t\bxpv at obj@compress\else
   \suppresspdfobjcompression
 \fi
+\if t\bxpv at new@dvipdfmx
+  \bxpv at cache@store{dvipdfmxver}{99999999}
+\fi
 
 %--------------------------------------- all done
 \endinput



More information about the tex-live-commits mailing list.