From 4e6fb7c03bc033485887a99d2ffeca70ef8c0644 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 27 Feb 2021 03:01:43 +0000 Subject: CTAN sync 202102270301 --- macros/latex/contrib/graphics-def/README.md | 2 +- macros/latex/contrib/graphics-def/dvipdfmx.def | 65 ++++++++++++++++++++++++++ macros/latex/contrib/graphics-def/xetex.def | 65 ++++++++++++++++++++++++++ 3 files changed, 131 insertions(+), 1 deletion(-) (limited to 'macros/latex/contrib/graphics-def') diff --git a/macros/latex/contrib/graphics-def/README.md b/macros/latex/contrib/graphics-def/README.md index 4abc4f9279..f97f5793ea 100644 --- a/macros/latex/contrib/graphics-def/README.md +++ b/macros/latex/contrib/graphics-def/README.md @@ -1,7 +1,7 @@ LaTeX support for color and graphics ==================================== -Release 2020-10-05 +Release 2021-02-26 This bundle contains the 'engine-dependent' part of support for color and graphics in LaTeX2e (the code here will also function diff --git a/macros/latex/contrib/graphics-def/dvipdfmx.def b/macros/latex/contrib/graphics-def/dvipdfmx.def index 0944ae0d88..3059916797 100644 --- a/macros/latex/contrib/graphics-def/dvipdfmx.def +++ b/macros/latex/contrib/graphics-def/dvipdfmx.def @@ -336,3 +336,68 @@ } \fi \fi +% Updates for newer dvipdfmx versions +% Loaded last as we can then bail-out if not required +\begingroup + \ifcsname\detokenize{c__kernel_sys_dvipdfmx_version_int}\endcsname + \edef\extractbbversion{% + \number\csname\detokenize{c__kernel_sys_dvipdfmx_version_int}\endcsname}% + \else + \immediate\openin 0 = |"extractbb --version" + \ifeof0 % + \def\extractbbversion{0}% + \else + \read0 to \extractbbversion % \par + \ifeof0 % + \def\extractbbversion{0}% + \else + \read0 to \extractbbversion + \long\def\getextractbbversion#1Version #2 #3\stop{% + \def\extractbbversion{#2}}% + \expandafter\getextractbbversion\extractbbversion Version 0 \stop + \fi + \fi + \fi +\ifnum\extractbbversion<20201111 % + \endgroup + \expandafter\endinput +\else + \endgroup +\fi +% Conversion functions so the internal representation stays unchanged +\let\init@current@color\current@color +\def\convert@color#1{% + \ifx#1\init@current@color + \expandafter\convert@color@init + \else + \expandafter\convert@@color + \fi + #1% +} +\def\convert@color@init#1{0 g 0 G} +\def\convert@@color#1{% + \expandafter\expandafter\expandafter\convert@@@color#1\stop +} +\def\convert@@@color#1 #2\stop{% + \csname convert@color@#1\endcsname{#2}% +} +\def\convert@color@cmyk#1{#1 k #1 K} +\def\convert@color@gray#1{#1 g #1 G} +\def\convert@color@rgb#1{#1 rg #1 RG} +% Change the specials to use the stack +\chardef\main@pdfcolorstack=1 % +\ifx\AtBeginDvi\undefined + \long\def\@firstofone#1{#1}% + \expandafter\@firstofone +\else + \expandafter\AtBeginDvi +\fi + {\special{pdfcolorstackinit \the\main@pdfcolorstack\space page direct (0 g 0 G)}} +\def\@pdfcolorstack{\the\main@pdfcolorstack\space} +\def\set@color{% + \special{pdfcolorstack \@pdfcolorstack push (\convert@color\current@color)}% + \aftergroup \reset@color +} +\def\reset@color{% + \special{pdfcolorstack \@pdfcolorstack pop}% +} diff --git a/macros/latex/contrib/graphics-def/xetex.def b/macros/latex/contrib/graphics-def/xetex.def index 5364b6ccc9..6f37ccc3d4 100644 --- a/macros/latex/contrib/graphics-def/xetex.def +++ b/macros/latex/contrib/graphics-def/xetex.def @@ -435,3 +435,68 @@ } \fi \fi +% Updates for newer dvipdfmx versions +% Loaded last as we can then bail-out if not required +\begingroup + \ifcsname\detokenize{c__kernel_sys_dvipdfmx_version_int}\endcsname + \edef\extractbbversion{% + \number\csname\detokenize{c__kernel_sys_dvipdfmx_version_int}\endcsname}% + \else + \immediate\openin 0 = |"extractbb --version" + \ifeof0 % + \def\extractbbversion{0}% + \else + \read0 to \extractbbversion % \par + \ifeof0 % + \def\extractbbversion{0}% + \else + \read0 to \extractbbversion + \long\def\getextractbbversion#1Version #2 #3\stop{% + \def\extractbbversion{#2}}% + \expandafter\getextractbbversion\extractbbversion Version 0 \stop + \fi + \fi + \fi +\ifnum\extractbbversion<20201111 % + \endgroup + \expandafter\endinput +\else + \endgroup +\fi +% Conversion functions so the internal representation stays unchanged +\let\init@current@color\current@color +\def\convert@color#1{% + \ifx#1\init@current@color + \expandafter\convert@color@init + \else + \expandafter\convert@@color + \fi + #1% +} +\def\convert@color@init#1{0 g 0 G} +\def\convert@@color#1{% + \expandafter\expandafter\expandafter\convert@@@color#1\stop +} +\def\convert@@@color#1 #2\stop{% + \csname convert@color@#1\endcsname{#2}% +} +\def\convert@color@cmyk#1{#1 k #1 K} +\def\convert@color@gray#1{#1 g #1 G} +\def\convert@color@rgb#1{#1 rg #1 RG} +% Change the specials to use the stack +\chardef\main@pdfcolorstack=1 % +\ifx\AtBeginDvi\undefined + \long\def\@firstofone#1{#1}% + \expandafter\@firstofone +\else + \expandafter\AtBeginDvi +\fi + {\special{pdfcolorstackinit \the\main@pdfcolorstack\space page direct (0 g 0 G)}} +\def\@pdfcolorstack{\the\main@pdfcolorstack\space} +\def\set@color{% + \special{pdfcolorstack \@pdfcolorstack push (\convert@color\current@color)}% + \aftergroup \reset@color +} +\def\reset@color{% + \special{pdfcolorstack \@pdfcolorstack pop}% +} -- cgit v1.2.3