From 88ad6ed6179838d65a8c79c1867b8c1de2db3079 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 12 Feb 2017 23:32:25 +0000 Subject: bxpdfver (12feb17) git-svn-id: svn://tug.org/texlive/trunk@43201 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxpdfver/LICENSE | 8 +- Master/texmf-dist/doc/latex/bxpdfver/README-ja.md | 68 +++--- Master/texmf-dist/doc/latex/bxpdfver/README.md | 64 +++-- .../doc/latex/bxpdfver/sample-bxpdfver.tex | 3 + Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty | 259 +++++++++++++++++---- 5 files changed, 300 insertions(+), 102 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/bxpdfver/LICENSE b/Master/texmf-dist/doc/latex/bxpdfver/LICENSE index 4acbc245013..8ada757fbc8 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/LICENSE +++ b/Master/texmf-dist/doc/latex/bxpdfver/LICENSE @@ -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(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 diff --git a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md index 368811e072b..dc466aa98bd 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md @@ -13,8 +13,8 @@ LaTeX 文書を PDF 文書に変換する際に出力 PDF に関する以下の ### 前提環境 * フォーマット: LaTeX - * エンジン: 不問 - * DVIウェア: dvipdfmx、および PDF 出力のエンジン + * エンジン: pdfTeX、XeTeX、LuaTeX、および DVI 出力のエンジン + * DVIウェア(DVI出力時): dvipdfmx * 依存パッケージ: - atbegshi(dvipdfmx ドライバの場合) @@ -45,48 +45,64 @@ bxpdfver パッケージ + 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` 等の“全く対応していない”若干のドライバオプションを認識 する。この場合、全ての機能の呼出でエラーが発生する。 * `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 @@ bxpdfver パッケージ -------------------- Takayuki YATO (aka. "ZR") -http://zrbabbler.sp.land.to/ +https://github.com/zr-tex8r diff --git a/Master/texmf-dist/doc/latex/bxpdfver/README.md b/Master/texmf-dist/doc/latex/bxpdfver/README.md index 2149826e3e0..e577a74252f 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/README.md +++ b/Master/texmf-dist/doc/latex/bxpdfver/README.md @@ -9,12 +9,14 @@ settings on the PDF document to output: * 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,31 +46,14 @@ The available options are: + 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 package *does not suppress* a feature. They do not activate a feature when it is already suppressed by other means. -### 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. - * 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 - an error. - * When `disabled` is used, use of any feature will do nothing (nor - issue an error). - -### COMMANDS +### USAGE * `\setpdfversion{}`: Sets PDF version. Here `` is either one of the following: @@ -77,10 +62,47 @@ when it is already suppressed by other means. the given file. * `\suppresspdfcompression`: Suppresses stream compression. * `\suppresspdfobjcompression`: Suppresses use of object streams. + * `\setpdfdecimaldigits{}`: 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 + + \ 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 + an error. + * When `disabled` is used, use of any feature will do nothing (nor + issue an error). 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 @@ REVISION HISTORY -------------------- Takayuki YATO (aka. "ZR") -http://zrbabbler.sp.land.to/ +https://github.com/zr-tex8r diff --git a/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex b/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex index b421b75a3c9..41c795d1fef 100644 --- a/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex +++ b/Master/texmf-dist/doc/latex/bxpdfver/sample-bxpdfver.tex @@ -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} diff --git a/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty b/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty index 0c3afab1a70..213871f7bfb 100644 --- a/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty +++ b/Master/texmf-dist/tex/latex/bxpdfver/bxpdfver.sty @@ -2,7 +2,7 @@ %% package declaration \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{bxpdfver}[2016/08/11 v0.3] +\ProvidesPackage{bxpdfver}[2017/02/11 v0.4] \def\bxpv@pkgname{bxpdfver} %% preparations @@ -79,6 +79,10 @@ \let\bxpv@drv@type=0% \def\bxpv@drv@name{disabled}% } +\DeclareOption{nodvidriver}{% + \let\bxpv@drv@type=0% + \def\bxpv@drv@name{nodvidriver}% +} % (other) \DeclareOption{lenient}{% \chardef\bxpv@infolevel=1 @@ -91,8 +95,8 @@ %% unique tokens \def\bxpv@end{\bxpv@end@} -\def\bxpv@mkj{\bxpv@mk@} \def\bxpv@mt{\bxpv@mt@} +\let\bxpv@mk\noindent %% \bxpv@csletcs \def\bxpv@csletcs#1#2{% @@ -119,28 +123,44 @@ \fi } +%% \bxpv@fail@nafea +\@onlypreamble\bxpv@fail@nafea +\def\bxpv@fail@nafea#1{% + \bxpv@fail{#1, because\MessageBreak + the engine/driver does not support the feature}% +} + %--------------------------------------- internal dispatchers %% \bxpv@suppress@compress \@onlypreamble\bxpv@suppress@compress \def\bxpv@suppress@compress{% - \bxpv@fail - {Cannot suppress compression, because\MessageBreak - the engine/driver does not support the feature}% + \bxpv@fail@nafea{Cannot suppress compression}% } %% \bxpv@suppress@obj@compress \@onlypreamble\bxpv@suppress@obj@compress \def\bxpv@suppress@obj@compress{% - \bxpv@fail - {Cannot suppress object compression, because\MessageBreak - the engine/driver does not support the feature}% + \bxpv@fail@nafea{Cannot suppress object compression}% } %% \bxpv@set@version \@onlypreamble\bxpv@set@version \def\bxpv@set@version{% - \bxpv@fail - {Cannot set PDF version, because\MessageBreak - the engine/driver does not support the feature}% + \bxpv@fail@nafea{Cannot set PDF version}% +} +%% \bxpv@set@decimaldigits +\@onlypreamble\bxpv@set@decimaldigits +\def\bxpv@set@decimaldigits{% + \bxpv@fail@nafea{Cannot set PDF decimal digits}% +} +%% \bxpv@set@pkresolution +\@onlypreamble\bxpv@set@pkresolution +\def\bxpv@set@pkresolution{% + \bxpv@fail@nafea{Cannot set PK resolution}% +} +%% \bxpv@preserve@destinations +\@onlypreamble\bxpv@preserve@destinations +\def\bxpv@preserve@destinations{% + \bxpv@fail@nafea{Cannot preserve PDF destinations}% } %% \bxpv@cancel@obj@compress % The silent version of \bxpv@suppress@obj@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@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@org@decimaldigits\bxpv@@decimaldigits + \gdef\bxpv@set@decimaldigits{% + \ifx\bxpdfverDecimalDigits\relax + \global\bxpv@@decimaldigits\bxpv@org@decimaldigits + \else + \global\bxpv@@decimaldigits\bxpdfverDecimalDigits + \fi + }% + \fi + % If \pdfpkresolution is available, use it. + \ifx\bxpv@@pkresolution\@undefined\else + \global\mathchardef\bxpv@org@pkresolution\bxpv@@pkresolution + \gdef\bxpv@set@pkresolution{% + \ifx\bxpdfverPkResolution\relax + \global\bxpv@@pkresolution\bxpv@org@pkresolution + \else + \global\bxpv@@pkresolution\bxpdfverPkResolution + \fi + }% + \fi + % On pdfTeX or LuaTeX, \pdfpreservedestionations can be no-op. + \bxpv@oktrue \bxpv@check@prim\ngbanner{\bxpv@okfalse}% + \ifbxpv@ok + \global\let\bxpv@preserve@destinations\relax + \fi \else % XeTeX should do just as dvipdfmx. \bxpv@check@prim\XeTeXversion{% @@ -235,6 +286,9 @@ \global\let\bxpv@suppress@compress\relax \global\let\bxpv@suppress@obj@compress\relax \global\let\bxpv@set@version\relax + \global\let\bxpv@set@decimaldigits\relax + %\global\let\bxpv@set@pkresolution\relax + \global\let\bxpv@preserve@destinations\relax \g@addto@macro\bxpv@begin@document@hook{% \bxpv@begin@document@dvipdfmx } @@ -274,6 +328,27 @@ \bxpv@set@version } +%%<*> \setpdfdecimaldigits{} +\@onlypreamble\setpdfdecimaldigits +\newcommand*\setpdfdecimaldigits[1]{% + \bxpv@assign@num\bxpdfverDecimalDigits{#1}{0}{4}% + \bxpv@set@decimaldigits +} + +%%<*> \setpdfpkresolution{} +\@onlypreamble\setpdfpkresolution +\newcommand*\setpdfpkresolution[1]{% + \bxpv@assign@num\bxpdfverPkResolution{#1}{0}{10000}% + \bxpv@set@pkresolution +} + +%%<*> \preservepdfdestinations +\@onlypreamble\preservepdfdestinations +\newcommand*\preservepdfdestinations{% + \bxpv@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@assign@num\CS{}{}{} +\@onlypreamble\bxpv@assign@num +\def\bxpv@assign@num#1#2#3#4{% + \begingroup + \edef\bxpv@tmpa{#2}% + \ifx\bxpv@tmpa\@empty + \global\let#1\relax + \else + \@tempswatrue + \afterassignment\bxpv@assign@num@a + \@tempcnta=\bxpv@tmpa\bxpv@mk + \if@tempswa + \ifnum\@tempcnta<#3\relax \@tempswafalse \fi + \ifnum\@tempcnta>#4\relax \@tempswafalse \fi + \if@tempswa + \global\mathchardef#1=\@tempcnta + \else + \PackageError\bxpv@pkgname + {Number is out of range (#3..#4)\MessageBreak + (value=\the\@tempcnta)}% + {\@ehc} + \fi + \else + \PackageError\bxpv@pkgname + {Illegal number format\MessageBreak + (value=\bxpv@tmpa)}% + {\@ehc} + \fi + \fi + \endgroup} +\@onlypreamble\bxpv@assign@num@a +\def\bxpv@assign@num@a#1\bxpv@mk{% + \ifx\bxpv@mt#1\bxpv@mt\else \@tempswafalse \fi} + %--------------------------------------- version values %% variables @@ -389,9 +514,19 @@ %% variables \let\bxpv@C@value\relax +%% \bxpv@C@bits +\@onlypreamble\bxpv@C@bits +\let\bxpv@C@bits\@empty + %% \bxpv@page@specials \let\bxpv@page@specials\@empty +%% \bxpv@put@special +\@onlypreamble\bxpv@put@special +\def\bxpv@put@special#1{% + \edef\bxpv@page@specials{\bxpv@page@specials\special{#1}}% +} + %% \bxpv@begin@document@dvipdfmx \@onlypreamble\bxpv@begin@document@dvipdfmx \def\bxpv@begin@document@dvipdfmx{% @@ -403,7 +538,8 @@ \fi % compression \ifbxpdfverCompressionSuppressed - \bxpv@check@dvipdfmx@version{Cannot suppress compression}% + \bxpv@check@dvipdfmx@version{20160307}% + {Cannot suppress compression}% \ifbxpv@ok % New dvipdfmx supports this special. \g@addto@macro\bxpv@page@specials{% @@ -413,21 +549,46 @@ \fi % object compression \ifbxpdfverObjCompressionSuppressed - \bxpv@check@dvipdfmx@version{Cannot suppress object compression}% + \bxpv@check@dvipdfmx@version{20160307}% + {Cannot suppress object compression}% \ifbxpv@ok - \bxpv@cache@fetch{dvipdfmxcfg}% - \def\bxpv@C@value{0}% - \ifx\bxpv@cache@@dvipdfmxcfg\@empty\else - \def\bxpv@next##1##2{\def\bxpv@C@value{##1}}% - \expandafter\bxpv@next\bxpv@cache@@dvipdfmxcfg - \fi - \bxpv@rc@bitset{\bxpv@C@value}{64}% - \let\bxpv@C@value\bxpv@rc@num - \g@addto@macro\bxpv@page@specials{% - \special{dvipdfmx:config C \bxpv@C@value}% - }% + \g@addto@macro\bxpv@C@bits{\do{64}}% + \fi + \fi + % PDF decimal digits + \ifx\bxpdfverDecimalDigits\relax\else + \bxpv@check@dvipdfmx@version{20160307}% + {Cannot set PDF decimal digits}% + \ifbxpv@ok + \bxpv@put@special{dvipdfmx:config d \the\bxpdfverDecimalDigits}% \fi \fi + % PK resolution + \ifx\bxpdfverPkResolution\relax\else + \iffalse % This will never work.... + \bxpv@put@special{dvipdfmx:config r \the\bxpdfverPkResolution}% + \fi + \fi + % PDF destinations + \ifbxpdfverDestinationsPreserved + \bxpv@check@dvipdfmx@version{20160307}% + {Cannot preserve PDF destinations}% + \ifbxpv@ok + \g@addto@macro\bxpv@C@bits{\do{16}}% + \fi + \fi + % C option value + \ifx\bxpv@C@bits\@empty\else + \bxpv@cache@fetch{dvipdfmxcfg}% + \def\bxpv@next##1##2\bxpv@mk{\def\bxpv@C@value{##1}}% + \expandafter\bxpv@next\bxpv@cache@@dvipdfmxcfg{0}\bxpv@mk + \bxpv@rc@bitset{\bxpv@C@value}{64}% + \def\do##1{% + \bxpv@rc@bitset{\bxpv@C@value}{##1}% + \let\bxpv@C@value\bxpv@rc@num}% + \bxpv@C@bits + \bxpv@put@special{dvipdfmx:config C \bxpv@C@value}% + \fi % special added to every page \ifx\bxpv@page@specials\@empty\else \edef\bxpv@page@specials{\bxpv@page@specials}% @@ -443,19 +604,19 @@ %% \bxpv@check@dvipdfmx@version \@onlypreamble\bxpv@check@dvipdfmx@version -\def\bxpv@check@dvipdfmx@version#1{% +\def\bxpv@check@dvipdfmx@version#1#2{% \bxpv@cache@fetch{dvipdfmxver}% \bxpv@okfalse \ifnum\bxpv@cache@@dvipdfmxver=\z@ \bxpv@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@cache@@dvipdfmxver<20160307 + \MessageBreak (v.#1 or later is required)}% + \else\ifnum\bxpv@cache@@dvipdfmxver<#1 \bxpv@fail - {#1, because the\MessageBreak + {#2, because the\MessageBreak version of dvipdfmx in use (v.\bxpv@cache@@dvipdfmxver) is too old - \MessageBreak (v.20160307 or later is required)}% + \MessageBreak (v.#1 or later is required)}% \else \PackageInfo\bxpv@pkgname {dvipdfmx version is \bxpv@cache@@dvipdfmxver\@gobble}% @@ -717,27 +878,29 @@ %--------------------------------------- start-up \ifx t\bxUseDebug -\typeout{% - mversion=\meaning\bxpdfverMinorVersion^^J% - compress=\meaning\bxpv@compress^^J% - objcompress=\meaning\bxpv@obj@compress^^J% - drvtype=\meaning\bxpv@drv@type^^J% - drvname=\meaning\bxpv@drv@name^^J% - +version=\meaning\bxpv@set@version^^J% - +compress=\meaning\bxpv@suppress@compress^^J% - +objcompress=\meaning\bxpv@suppress@obj@compress^^J% -} -\ifx p\bxpv@drv@type + \typeout{**bxpdfver-----------% + ^^Jdrvtype=\meaning\bxpv@drv@type + ^^Jdrvname=\meaning\bxpv@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@C@value }% } \fi -\fi %% Applies the setting specified by package options \ifx\bxpv@version\relax\else -- cgit v1.2.3