texlive[43201] Master/texmf-dist: bxpdfver (12feb17)

commits+karl at tug.org commits+karl at tug.org
Mon Feb 13 00:32:25 CET 2017


Revision: 43201
          http://tug.org/svn/texlive?view=revision&revision=43201
Author:   karl
Date:     2017-02-13 00:32:25 +0100 (Mon, 13 Feb 2017)
Log Message:
-----------
bxpdfver (12feb17)

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/doc/latex/bxpdfver/sample-bxpdfver.tex
    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	2017-02-12 23:31:56 UTC (rev 43200)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/LICENSE	2017-02-12 23:32:25 UTC (rev 43201)
@@ -1,12 +1,6 @@
-$BK\%=%U%H%&%'%"$O(B MIT $B%i%$%;%s%9$N2<$GG[I[$5$l$^$9!#(B
-$BCx:n8"$O:n<T$G$"$k!VH,EP(B $B?rG7!JJLL>(B ZR$B!K!W$KB0$7$^$9!#(B
-$B$^$?K\%=%U%H%&%'%"$OL5J]>Z$G$9!#(B
-
-This software is distributed under the MIT License.
-
 The MIT License
 
-Copyright (c) 2013 Takayuki YATO (aka. "ZR")
+Copyright (c) 2017 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	2017-02-12 23:31:56 UTC (rev 43200)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md	2017-02-12 23:32:25 UTC (rev 43201)
@@ -13,8 +13,8 @@
 ### 前提環境
 
   * フォーマット: LaTeX
-  * エンジン: 不問
-  * DVIウェア: dvipdfmx、および PDF 出力のエンジン
+  * エンジン: pdfTeX、XeTeX、LuaTeX、および DVI 出力のエンジン
+  * DVIウェア(DVI出力時): dvipdfmx
   * 依存パッケージ:
       - atbegshi(dvipdfmx ドライバの場合)
 
@@ -45,25 +45,52 @@
       + PDF 出力のエンジンの場合は、既定で適切なドライバが選択される
         のでドライバオプションは不要である。
       + `dvipdfmx`: dvipdfmx 用のドライバを指定する。
-      + `disabled`: 全ての機能を無効化する。
+      + `disabled`/`nodvidriver`: 全ての機能を無効化する。
   * `lenient`: サポートしない機能に対するエラーを警告に格下げする。
 
 `compress`、`objcompress` はこのパッケージによる抑止を行わないという意味
 であり、既に抑止されている場合にそれを再び有効化するものではない。
 
-### ドライバ指定
+### 機能
 
-  * pdfTeX および LuaTeX では全ての機能が使用可能。
-  * XeTeX および dvipdfmx の場合:
-      - 「PDF バージョン指定」は無条件に使用可能。
-      - 「オブジェクト圧縮抑止」および「オブジェクトストリーム抑止」の
-        機能を使用するためには、(x)dvipdfmx のバージョンが 20160307 以上
-        である必要がある。またバージョン判定のために外部プログラムの
-        起動を利用するため、シェルエスケープが制限付許可または完全許可
-        されている必要がある。
+  * `\setpdfversion{<バージョン>}`: 出力 PDF バージョンを指定する。
+    `<バージョン>` には以下の何れかを指定する。
+      + `1.4`、`1.5`、`1.6`、`1.7` の何れか。その値に設定する。
+      + PDF ファイルの名前。そのファイルのバージョンと同じ値に設定する。
+  * `\suppresspdfcompression`: ストリームの圧縮を抑止する。
+  * `\suppresspdfobjcompression`: オブジェクトストリームの使用を抑止
+    する。(実はこの指定自体は圧縮とは無関係であるが、pdfTeX エンジンの
+    プリミティブ `\pdfobjcompresslevel` に合わせた命令名を用いた。)
+  * `\setpdfdecimaldigits{<精度>}`: PDF 命令列中に現れる小数値の精度
+    (小数点以下の桁数)を指定する。
+  * `\preservepdfdestinations`: PDF 目的地(PDF destination)の名前の
+    短縮を抑止し、TeX 文書で指定された名前を用いる。異なる PDF 文書間で
+    のリンクを正常に機能させるために必要である。
+
+### ドライバ指定に関する補足
+
+           \ Drivers (engines)     pdfTeX     dvipdfmx
+    Features                       / LuaTeX   / XeTeX    others
+    ---------------------------    ---------  ---------  ------
+    \setpdfversion                 Yes        Yes        No
+    \suppresspdfcompression        Yes        Maybe(*2)  No
+    \suppresspdfobjcompression     Yes        Maybe(*2)  No
+    \setpdfdecimaldigits           Yes        Maybe(*2)  No
+    \preservepdfdestinations       No-op(*1)  Maybe(*2)  No
+
+ 1. pdfTeX/LuaTeX では PDF 目的地の名前が短縮されるることはない。つまり
+    `\preservepdfdestinations` は常に有効になっていると見なせる。
+ 2. これらの機能を使用するためには、(x)dvipdfmx のバージョンが 20160307
+    以上である必要がある。
+      - バージョン判定のために kpsewhich と extractbb の起動を利用する
+        ため、少なくともこれらのプログラムについて、シェルエスケープが
+        許可されている必要がある。
       - dvipdfmx のバージョン情報は補助ファイル(.aux)中にキャッシュ
         される。このため、何か状況が変わった場合は、一旦補助ファイルを
         削除する必要が生じる。
+
+以下のことにも注意されたい。
+
   * 使用不可能な機能を使おうと試みるとエラーが発生する。
   * `dvips` 等の“全く対応していない”若干のドライバオプションを認識
     する。この場合、全ての機能の呼出でエラーが発生する。
@@ -70,23 +97,12 @@
   * `disabled` は特殊で、これを指定した場合は、どの機能の呼出でも
     エラーは発生しないが、全く何の動作も行わない。
 
-### 機能
 
-  * `\setpdfversion{<バージョン>}`: 出力 PDF バージョンを指定する。
-    `<バージョン>` には以下の何れかを指定する。
-      + `1.4`、`1.5`、`1.6`、`1.7` の何れか。バージョンをその値に設定
-        する。
-      + PDF ファイルの名前。この場合、その PDF のバージョンと同じ値に
-        設定する。
-  * `\suppresspdfcompression`: ストリームの圧縮を抑止する。
-  * `\suppresspdfobjcompression`: オブジェクトストリームの使用を抑止
-    する。(実はこの指定自体は圧縮とは無関係であるが、pdfTeX エンジンの
-    プリミティブ `\pdfobjcompresslevel` に合わせた命令名を用いた。)
-
-
 更新履歴
 --------
 
+  * Version 0.4  ‹2017/02/11›
+      - `\setpdfdecimaldigits`、`\preservepdfdestinations` を追加。
   * Version 0.3  ‹2016/08/11›
       - dvipdfmx/XeTeX でも全ての機能がサポートされる。
   * Version 0.2b ‹2016/08/10›
@@ -99,4 +115,4 @@
 
 --------------------
 Takayuki YATO (aka. "ZR")  
-http://zrbabbler.sp.land.to/
+https://github.com/zr-tex8r

Modified: trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md	2017-02-12 23:31:56 UTC (rev 43200)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/README.md	2017-02-12 23:32:25 UTC (rev 43201)
@@ -9,12 +9,14 @@
   * PDF version (1.4, 1.5 etc.);
   * whether or not to compress streams;
   * whether or not to use object streams.
+  * precision of decimal numbers used in PDF commands
+  * whether or not to preserve (not shorten) PDF destination names
 
 ### SYSTEM REQUIREMENT
 
   * TeX format: LaTeX.
   * TeX engine: pdfTeX, XeTeX, LuaTeX, and any DVI-output engines.
-  * DVI-ware: dvipdfmx.
+  * DVI-ware (in DVI mode): dvipdfmx.
   * Required packages:
       - atbegshi (when using dvipdfmx driver)
 
@@ -44,7 +46,7 @@
       + When using a PDF-output engine, you need not give driver options
         since the appropriate one is auto-detected.
       + `dvipdfmx`: Uses dvipdfmx driver.
-      + `disabled`: Disables all functions of the package.
+      + `disabled`/`nodvidriver`: Disables all functions of the package.
   * `lenient`: Turns the errors for unsupported features into warnings.
 
 Note that the options `compress` and `objcompress` mean that this
@@ -51,16 +53,44 @@
 package *does not suppress* a feature. They do not activate a feature
 when it is already suppressed by other means.
 
+### USAGE
+
+  * `\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.
+      + the name of a PDF file; the version is set equal to that of
+        the given file.
+  * `\suppresspdfcompression`: Suppresses stream compression.
+  * `\suppresspdfobjcompression`: Suppresses use of object streams.
+  * `\setpdfdecimaldigits{<precision>}`: Sets the precision (the number
+    of digits after decimal points) of the decimal numbers that appear
+    in PDF command sequences.
+  * `\preservepdfdestinations`: Stops shortening the PDF destination
+    names and uses the original names given in the TeX documents. This
+    is necessary for cross-document links to work correctly.
+
 ### NOTE ON DRIVERS
 
-  * pdfTeX and LuaTeX support all features.
-  * When using XeTeX and dvipdfmx:
-      - PDF version setting is always available.
-      - Suppression of compression and suppression of object streams
-        are available only when the version of (x)dvipdfmx is 20160307
-        or later. Also shell escape must be accepted (with or without
-        restriction), because external programs (such as kpsewhich)
-        are invoked in order to detect the dvipdfmx version.
+           \ Drivers (engines)     pdfTeX     dvipdfmx
+    Features                       / LuaTeX   / XeTeX    others
+    ---------------------------    ---------  ---------  ------
+    \setpdfversion                 Yes        Yes        No
+    \suppresspdfcompression        Yes        Maybe(*2)  No
+    \suppresspdfobjcompression     Yes        Maybe(*2)  No
+    \setpdfdecimaldigits           Yes        Maybe(*2)  No
+    \preservepdfdestinations       No-op(*1)  Maybe(*2)  No
+
+ 1. In pdfTeX and LuaTeX, PDF destination names are never shortened;
+    that is, it can be thought as if `\preservepdfdestinations` were
+    always in effect.
+ 2. These features are available only when the version of (x)dvipdfmx
+    is 20160307 or later. Also shell escape must be accepted (with or
+    without restriction) so that `kpsewhich` and `extractbb` will be
+    allowed to run, because those programs are used in order to detect
+    the dvipdfmx version.
+
+More notices:
+
   * If you try to use unavailable features, an error will occur.
   * The package recognizes some “unsupported” driver options such as
     `dvips`; when such drivers are used, use of any feature will cause
@@ -68,19 +98,11 @@
   * When `disabled` is used, use of any feature will do nothing (nor
     issue an error).
 
-### COMMANDS
-
-  * `\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.
-      + the name of a PDF file; the version is set equal to that of
-        the given file.
-  * `\suppresspdfcompression`: Suppresses stream compression.
-  * `\suppresspdfobjcompression`: Suppresses use of object streams.
-
 REVISION HISTORY
 ----------------
 
+  * Version 0.4  ‹2017/02/11›
+      - Add `\setpdfdecimaldigits` and `\preservepdfdestinations`.
   * Version 0.3  ‹2016/08/11›
       - Supported all features on dvipdfmx/XeTeX.
   * Version 0.2b ‹2016/08/10›
@@ -93,4 +115,4 @@
 
 --------------------
 Takayuki YATO (aka. "ZR")  
-http://zrbabbler.sp.land.to/
+https://github.com/zr-tex8r

Modified: trunk/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex	2017-02-12 23:31:56 UTC (rev 43200)
+++ trunk/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex	2017-02-12 23:32:25 UTC (rev 43201)
@@ -6,6 +6,9 @@
   noobjcompress% to suppress compression of strings for describing objects
   ]{bxpdfver}
 %\setpdfversion{some.pdf}% to set output version equal to some other PDF file
+\setpdfdecimaldigits{4}% to set precision of decimals used in PDF commands
+%\setpdfpkresoluion{1200}% to set resolution (dpi) of PK bitmap fonts
+%\preservepdfdestinations % to preserve PDF destnation names as is
 \begin{document}
 Need to say hello {\TeX}!?
 \end{document}

Modified: trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty	2017-02-12 23:31:56 UTC (rev 43200)
+++ trunk/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty	2017-02-12 23:32:25 UTC (rev 43201)
@@ -2,7 +2,7 @@
 
 %% package declaration
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxpdfver}[2016/08/11 v0.3]
+\ProvidesPackage{bxpdfver}[2017/02/11 v0.4]
 \def\bxpv at pkgname{bxpdfver}
 
 %% preparations
@@ -79,6 +79,10 @@
   \let\bxpv at drv@type=0%
   \def\bxpv at drv@name{disabled}%
 }
+\DeclareOption{nodvidriver}{%
+  \let\bxpv at drv@type=0%
+  \def\bxpv at drv@name{nodvidriver}%
+}
 % (other)
 \DeclareOption{lenient}{%
   \chardef\bxpv at infolevel=1
@@ -91,8 +95,8 @@
 
 %% unique tokens
 \def\bxpv at end{\bxpv at end@}
-\def\bxpv at mkj{\bxpv at mk@}
 \def\bxpv at mt{\bxpv at mt@}
+\let\bxpv at mk\noindent
 
 %% \bxpv at csletcs
 \def\bxpv at csletcs#1#2{%
@@ -119,29 +123,45 @@
   \fi
 }
 
+%% \bxpv at fail@nafea
+\@onlypreamble\bxpv at fail@nafea
+\def\bxpv at fail@nafea#1{%
+  \bxpv at fail{#1, because\MessageBreak
+    the engine/driver does not support the feature}%
+}
+
 %--------------------------------------- internal dispatchers
 
 %% \bxpv at suppress@compress
 \@onlypreamble\bxpv at suppress@compress
 \def\bxpv at suppress@compress{%
-  \bxpv at fail
-   {Cannot suppress compression, because\MessageBreak
-    the engine/driver does not support the feature}%
+  \bxpv at fail@nafea{Cannot suppress compression}%
 }
 %% \bxpv at suppress@obj at compress
 \@onlypreamble\bxpv at suppress@obj at compress
 \def\bxpv at suppress@obj at compress{%
-  \bxpv at fail
-   {Cannot suppress object compression, because\MessageBreak
-    the engine/driver does not support the feature}%
+  \bxpv at fail@nafea{Cannot suppress object compression}%
 }
 %% \bxpv at set@version
 \@onlypreamble\bxpv at set@version
 \def\bxpv at set@version{%
-  \bxpv at fail
-   {Cannot set PDF version, because\MessageBreak
-    the engine/driver does not support the feature}%
+  \bxpv at fail@nafea{Cannot set PDF version}%
 }
+%% \bxpv at set@decimaldigits
+\@onlypreamble\bxpv at set@decimaldigits
+\def\bxpv at set@decimaldigits{%
+  \bxpv at fail@nafea{Cannot set PDF decimal digits}%
+}
+%% \bxpv at set@pkresolution
+\@onlypreamble\bxpv at set@pkresolution
+\def\bxpv at set@pkresolution{%
+  \bxpv at fail@nafea{Cannot set PK resolution}%
+}
+%% \bxpv at preserve@destinations
+\@onlypreamble\bxpv at preserve@destinations
+\def\bxpv at preserve@destinations{%
+  \bxpv at fail@nafea{Cannot preserve PDF destinations}%
+}
 %% \bxpv at cancel@obj at compress
 % The silent version of \bxpv at suppress@obj at compress.
 \@onlypreamble\bxpv at cancel@obj at compress
@@ -184,10 +204,14 @@
   \global\let\bxpv@@compresslevel\pdfcompresslevel
   \global\let\bxpv@@objcompresslevel\pdfobjcompresslevel
   \global\let\bxpv@@minorversion\pdfminorversion
+  \global\let\bxpv@@decimaldigits\pdfdecimaldigits
+  \global\let\bxpv@@pkresolution\pdfpkresolution
   \bxpv at check@prim\pdfvariable{%
     \protected\xdef\bxpv@@compresslevel{\pdfvariable compresslevel}%
     \protected\xdef\bxpv@@objcompresslevel{\pdfvariable objcompresslevel}%
     \protected\xdef\bxpv@@minorversion{\pdfvariable minorversion}%
+    \protected\xdef\bxpv@@decimaldigits{\pdfvariable decimaldigits}%
+    \protected\xdef\bxpv@@pkresolution{\pdfvariable pkresolution}%
   }%
   % If \pdfcompresslevel is available, use it.
   \ifx\bxpv@@compresslevel\@undefined\else
@@ -219,6 +243,33 @@
       \fi
     }%
   \fi
+  % If \pdfdecimaldigits is available, use it.
+  \ifx\bxpv@@decimaldigits\@undefined\else
+    \global\chardef\bxpv at org@decimaldigits\bxpv@@decimaldigits
+    \gdef\bxpv at set@decimaldigits{%
+      \ifx\bxpdfverDecimalDigits\relax
+        \global\bxpv@@decimaldigits\bxpv at org@decimaldigits
+      \else
+        \global\bxpv@@decimaldigits\bxpdfverDecimalDigits
+      \fi
+    }%
+  \fi
+  % If \pdfpkresolution is available, use it.
+  \ifx\bxpv@@pkresolution\@undefined\else
+    \global\mathchardef\bxpv at org@pkresolution\bxpv@@pkresolution
+    \gdef\bxpv at set@pkresolution{%
+      \ifx\bxpdfverPkResolution\relax
+        \global\bxpv@@pkresolution\bxpv at org@pkresolution
+      \else
+        \global\bxpv@@pkresolution\bxpdfverPkResolution
+      \fi
+    }%
+  \fi
+  % On pdfTeX or LuaTeX, \pdfpreservedestionations can be no-op.
+  \bxpv at oktrue \bxpv at check@prim\ngbanner{\bxpv at okfalse}%
+  \ifbxpv at ok
+    \global\let\bxpv at preserve@destinations\relax
+  \fi
 \else
   % XeTeX should do just as dvipdfmx.
   \bxpv at check@prim\XeTeXversion{%
@@ -235,6 +286,9 @@
   \global\let\bxpv at suppress@compress\relax
   \global\let\bxpv at suppress@obj at compress\relax
   \global\let\bxpv at set@version\relax
+  \global\let\bxpv at set@decimaldigits\relax
+  %\global\let\bxpv at set@pkresolution\relax
+  \global\let\bxpv at preserve@destinations\relax
   \g at addto@macro\bxpv at begin@document at hook{%
     \bxpv at begin@document at dvipdfmx
   }
@@ -274,6 +328,27 @@
   \bxpv at set@version
 }
 
+%%<*> \setpdfdecimaldigits{<number>}
+\@onlypreamble\setpdfdecimaldigits
+\newcommand*\setpdfdecimaldigits[1]{%
+  \bxpv at assign@num\bxpdfverDecimalDigits{#1}{0}{4}%
+  \bxpv at set@decimaldigits
+}
+
+%%<*> \setpdfpkresolution{<number>}
+\@onlypreamble\setpdfpkresolution
+\newcommand*\setpdfpkresolution[1]{%
+  \bxpv at assign@num\bxpdfverPkResolution{#1}{0}{10000}%
+  \bxpv at set@pkresolution
+}
+
+%%<*> \preservepdfdestinations
+\@onlypreamble\preservepdfdestinations
+\newcommand*\preservepdfdestinations{%
+  \bxpv at preserve@destinations
+  \global\bxpdfverDestinationsPreservedtrue
+}
+
 %%<+> \ifbxpdfverCompressionSuppressed
 \newboolean{bxpdfverCompressionSuppressed}
 
@@ -283,11 +358,61 @@
 %%<+> \bxpdfverMinorVersion
 % The PDF minor version (eg. '4' for 1.4) that this package
 % will impose. It is a number constant, or \relax.
-% (number constant or \relax)
 \@ifdefinable{\bxpdfverMinorVersion}{%
   \let\bxpdfverMinorVersion\relax
 }
 
+%%<+> \bxpdfverDecimalDigits
+% The PDF decimal-digits value that this package
+% will impose. It is a number constant, or \relax.
+\@ifdefinable{\bxpdfverDecimalDigits}{%
+  \let\bxpdfverDecimalDigits\relax
+}
+
+%%<+> \bxpdfverPkResolution
+% The PK resolution value that this package
+% will impose. It is a number constant, or \relax.
+\@ifdefinable{\bxpdfverPkResolution}{%
+  \let\bxpdfverPkResolution\relax
+}
+
+%%<+> \ifbxpdfverDestinationsPreserved
+\newboolean{bxpdfverDestinationsPreserved}
+
+%% \bxpv at assign@num\CS{<value>}{<min>}{<max>}
+\@onlypreamble\bxpv at assign@num
+\def\bxpv at assign@num#1#2#3#4{%
+  \begingroup
+    \edef\bxpv at tmpa{#2}%
+    \ifx\bxpv at tmpa\@empty
+      \global\let#1\relax
+    \else
+      \@tempswatrue
+      \afterassignment\bxpv at assign@num at a
+      \@tempcnta=\bxpv at tmpa\bxpv at mk
+      \if at tempswa
+        \ifnum\@tempcnta<#3\relax \@tempswafalse \fi
+        \ifnum\@tempcnta>#4\relax \@tempswafalse \fi
+        \if at tempswa
+          \global\mathchardef#1=\@tempcnta
+        \else
+          \PackageError\bxpv at pkgname
+           {Number is out of range (#3..#4)\MessageBreak
+            (value=\the\@tempcnta)}%
+           {\@ehc}
+        \fi
+      \else
+        \PackageError\bxpv at pkgname
+         {Illegal number format\MessageBreak
+          (value=\bxpv at tmpa)}%
+         {\@ehc}
+      \fi
+    \fi
+  \endgroup}
+\@onlypreamble\bxpv at assign@num at a
+\def\bxpv at assign@num at a#1\bxpv at mk{%
+  \ifx\bxpv at mt#1\bxpv at mt\else \@tempswafalse \fi}
+
 %--------------------------------------- version values
 
 %% variables
@@ -389,9 +514,19 @@
 %% variables
 \let\bxpv at C@value\relax
 
+%% \bxpv at C@bits
+\@onlypreamble\bxpv at C@bits
+\let\bxpv at C@bits\@empty
+
 %% \bxpv at page@specials
 \let\bxpv at page@specials\@empty
 
+%% \bxpv at put@special
+\@onlypreamble\bxpv at put@special
+\def\bxpv at put@special#1{%
+  \edef\bxpv at page@specials{\bxpv at page@specials\special{#1}}%
+}
+
 %% \bxpv at begin@document at dvipdfmx
 \@onlypreamble\bxpv at begin@document at dvipdfmx
 \def\bxpv at begin@document at dvipdfmx{%
@@ -403,7 +538,8 @@
   \fi
   % compression
   \ifbxpdfverCompressionSuppressed
-    \bxpv at check@dvipdfmx at version{Cannot suppress compression}%
+    \bxpv at check@dvipdfmx at version{20160307}%
+     {Cannot suppress compression}%
     \ifbxpv at ok
       % New dvipdfmx supports this special.
       \g at addto@macro\bxpv at page@specials{%
@@ -413,21 +549,46 @@
   \fi
   % object compression
   \ifbxpdfverObjCompressionSuppressed
-    \bxpv at check@dvipdfmx at version{Cannot suppress object compression}%
+    \bxpv at check@dvipdfmx at version{20160307}%
+     {Cannot suppress object compression}%
     \ifbxpv at ok
-      \bxpv at cache@fetch{dvipdfmxcfg}%
-      \def\bxpv at C@value{0}%
-      \ifx\bxpv at cache@@dvipdfmxcfg\@empty\else
-        \def\bxpv at next##1##2{\def\bxpv at C@value{##1}}%
-        \expandafter\bxpv at next\bxpv at cache@@dvipdfmxcfg
-      \fi
-      \bxpv at rc@bitset{\bxpv at C@value}{64}%
-      \let\bxpv at C@value\bxpv at rc@num
-      \g at addto@macro\bxpv at page@specials{%
-        \special{dvipdfmx:config C \bxpv at C@value}%
-      }%
+      \g at addto@macro\bxpv at C@bits{\do{64}}%
     \fi
   \fi
+  % PDF decimal digits
+  \ifx\bxpdfverDecimalDigits\relax\else
+    \bxpv at check@dvipdfmx at version{20160307}%
+     {Cannot set PDF decimal digits}%
+    \ifbxpv at ok
+      \bxpv at put@special{dvipdfmx:config d \the\bxpdfverDecimalDigits}%
+    \fi
+  \fi
+  % PK resolution
+  \ifx\bxpdfverPkResolution\relax\else
+    \iffalse % This will never work....
+      \bxpv at put@special{dvipdfmx:config r \the\bxpdfverPkResolution}%
+    \fi
+  \fi
+  % PDF destinations
+  \ifbxpdfverDestinationsPreserved
+    \bxpv at check@dvipdfmx at version{20160307}%
+     {Cannot preserve PDF destinations}%
+    \ifbxpv at ok
+      \g at addto@macro\bxpv at C@bits{\do{16}}%
+    \fi
+  \fi
+  % C option value
+  \ifx\bxpv at C@bits\@empty\else
+    \bxpv at cache@fetch{dvipdfmxcfg}%
+    \def\bxpv at next##1##2\bxpv at mk{\def\bxpv at C@value{##1}}%
+    \expandafter\bxpv at next\bxpv at cache@@dvipdfmxcfg{0}\bxpv at mk
+    \bxpv at rc@bitset{\bxpv at C@value}{64}%
+    \def\do##1{%
+      \bxpv at rc@bitset{\bxpv at C@value}{##1}%
+      \let\bxpv at C@value\bxpv at rc@num}%
+    \bxpv at C@bits
+    \bxpv at put@special{dvipdfmx:config C \bxpv at C@value}%
+  \fi
   % special added to every page
   \ifx\bxpv at page@specials\@empty\else
     \edef\bxpv at page@specials{\bxpv at page@specials}%
@@ -443,19 +604,19 @@
 
 %% \bxpv at check@dvipdfmx at version
 \@onlypreamble\bxpv at check@dvipdfmx at version
-\def\bxpv at check@dvipdfmx at version#1{%
+\def\bxpv at check@dvipdfmx at version#1#2{%
   \bxpv at cache@fetch{dvipdfmxver}%
   \bxpv at okfalse
   \ifnum\bxpv at cache@@dvipdfmxver=\z@
     \bxpv at fail
-     {#1, because the\MessageBreak
+     {#2, because the\MessageBreak
       version of dvipdfmx in use is unknown
-      \MessageBreak (v.20160307 or later is required)}%
-  \else\ifnum\bxpv at cache@@dvipdfmxver<20160307
+      \MessageBreak (v.#1 or later is required)}%
+  \else\ifnum\bxpv at cache@@dvipdfmxver<#1
     \bxpv at fail
-     {#1, because the\MessageBreak
+     {#2, because the\MessageBreak
       version of dvipdfmx in use (v.\bxpv at cache@@dvipdfmxver) is too old
-      \MessageBreak (v.20160307 or later is required)}%
+      \MessageBreak (v.#1 or later is required)}%
   \else
     \PackageInfo\bxpv at pkgname
      {dvipdfmx version is \bxpv at cache@@dvipdfmxver\@gobble}%
@@ -717,27 +878,29 @@
 %--------------------------------------- start-up
 
 \ifx t\bxUseDebug
-\typeout{%
-  mversion=\meaning\bxpdfverMinorVersion^^J%
-  compress=\meaning\bxpv at compress^^J%
-  objcompress=\meaning\bxpv at obj@compress^^J%
-  drvtype=\meaning\bxpv at drv@type^^J%
-  drvname=\meaning\bxpv at drv@name^^J%
-  +version=\meaning\bxpv at set@version^^J%
-  +compress=\meaning\bxpv at suppress@compress^^J%
-  +objcompress=\meaning\bxpv at suppress@obj at compress^^J%
-}
-\ifx p\bxpv at drv@type
+  \typeout{**bxpdfver-----------%
+    ^^Jdrvtype=\meaning\bxpv at drv@type
+    ^^Jdrvname=\meaning\bxpv at drv@name}
   \AtBeginDocument{%
-    \def\do#1{\ifx#1\@undefined\else\the#1\fi}%
-    \typeout{%
-      pdfminorversion=\do\pdfminorversion^^J%
-      pdfcompresslevel=\do\pdfcompresslevel^^J%
-      pdfobjcompresslevel=\do\pdfobjcompresslevel^^J%
+    \def\do#1=#2{\ifx#2\@undefined\else
+      ^^J#1=\the#2 [\meaning#2]%
+    \fi}%
+    \def\next#1{\expandafter\meaning\csname if#1\endcsname}%
+    \typeout{**bxpdfver-----------%
+      ^^JMinorVersion=\meaning\bxpdfverMinorVersion
+      ^^JCompressionSuppressed=\next{bxpdfverCompressionSuppressed}%
+      ^^JObjCompressionSuppressed=\next{bxpdfverObjCompressionSuppressed}%
+      ^^JDecimalDigits=\meaning\bxpdfverDecimalDigits
+      ^^JPkResolution=\meaning\bxpdfverPkResolution
+      \do minorversion=\bxpv@@minorversion
+      \do compresslevel=\bxpv@@compresslevel
+      \do objcompresslevel=\bxpv@@objcompresslevel
+      \do decimaldigits=\bxpv@@decimaldigits
+      \do pkresolution=\bxpv@@pkresolution
+      ^^JCvalue=\meaning\bxpv at C@value
     }%
   }
 \fi
-\fi
 
 %% Applies the setting specified by package options
 \ifx\bxpv at version\relax\else



More information about the tex-live-commits mailing list