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.