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