summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-03 20:50:55 +0000
committerKarl Berry <karl@freefriends.org>2016-07-03 20:50:55 +0000
commit044deb0931d98633db7d843495f034f97ca0565f (patch)
treeee52c5d0b6c5f4af7fd14a10a1d021b23154c3de /Master/texmf-dist
parent761e078df31f4a944cf5ff23559c39fe413d9ef4 (diff)
rm luatex-def, replaced by graphics-def
git-svn-id: svn://tug.org/texlive/trunk@41615 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/lualatex/luatex-def/README.md16
-rw-r--r--Master/texmf-dist/tex/lualatex/luatex-def/luatex.def1262
2 files changed, 0 insertions, 1278 deletions
diff --git a/Master/texmf-dist/doc/lualatex/luatex-def/README.md b/Master/texmf-dist/doc/lualatex/luatex-def/README.md
deleted file mode 100644
index c129cdf8582..00000000000
--- a/Master/texmf-dist/doc/lualatex/luatex-def/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# luatex-def
-
-luatex option file for LaTeX2e color and graphics
-
-Licence: LPPL
-Maintained by the LaTeX3 project
-
-https://github.com/latex3/luatex-def
-
-This first version of luatex.def is a modified version of pdftex.def.
-
-This is only needed for LuaTeX releases from 0.87 on: it will not work with the version 0.80 in current TeX Live and MiKTeX distributions but is being made available for testing.
-
-If you have a test version of LuaTeX 0.88 you may use this file via
-
-`\usepackage[luatex]{graphicx}`
diff --git a/Master/texmf-dist/tex/lualatex/luatex-def/luatex.def b/Master/texmf-dist/tex/lualatex/luatex-def/luatex.def
deleted file mode 100644
index 34af1f9cc26..00000000000
--- a/Master/texmf-dist/tex/lualatex/luatex-def/luatex.def
+++ /dev/null
@@ -1,1262 +0,0 @@
-\ProvidesFile{luatex.def}[2016/06/17 v0.01e Graphics/Color for luaTeX]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%
-%% LaTeX Colour and Graphics support for luatex
-%%
-%% License
-%% =======
-%%
-%% Copyright (C) 2000-2016 LaTeX3 Project
-%%
-%% based on pdftex.def by the following authors
-%% David Carlisle, Sebastian Rahtz, Hans Hagen,
-%% Heiko Oberdiek and Martin Schr\"oder
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
-%%
-%% https://github.com/latex3/luatex-def/issues
-%%
-%% This work consists of the file luatex.def.
-%%
-%% Usage
-%% =====
-%%
-%% It may be used by specifying the luatex option to any of the
-%% supported packages, for example:
-%%
-%% \usepackage[luatex]{graphicx}
-%%
-%% * luatex determines the bounding box of the images itself
-%% Therefore the bounding box options should not be used.
-%% In this cases a warning is issued and viewport is used instead.
-%% * Option "page" (graphicx) for selecting a page of a multipage
-%% PDF document.
-%% * \pagecolor is supported. \nopagecolor disables the page color.
-%% * Option "quiet" (graphicx/experimental): log messages are suppressed.
-%% * Option "resolution" (graphicx/experimental): this sets
-%% \pdfvariable imageresolution, see luaTeX documentation.
-%% * Option "print" (graphicx/experimental): specifies an alternate
-%% print image (bitmaps only), see PDF specification.
-%% * luatex.def can be used under plain-TeX with miniltx support.
-%%
-%% "Experimental" means that these features can change or vanish
-%% in later versions.
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% History
-%
-% 2015/12/30 Version 0.01a derived from pdftex.def
-% 2016/01/23 Version 0.01b Moved to latex3 github, documentation changes
-% 2016/05/21 Version 0.01c fix for graphics/4472
-% 2016/06/24 Version 0.01d support the (no)setpagesize option.
-% 2016/06/17 Version 0.01e guards for contributed packages and plain TeX
-%
-% Prefix of internal commands for this file `pdftex.def':
-% \GPT@ (Graphics bundle PdfTex driver, even though this is for luatex)
-
-
-% if not luatex, complain,
-% on old luatex, use pdftex.def
-\ifx\luatexversion\@undefined
- \PackageError{graphics}{Unexpected luatex driver}{}
-\else
- \ifnum\luatexversion<87\relax
- \input pdftex.def
- \expandafter\expandafter\expandafter\endinput
- \fi
-\fi
-
-
-\protected\edef\GPT@compresslevel {\pdfvariable compresslevel}
-
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input infwarerr.sty\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{infwarerr}[2007/09/09]%
- \RequirePackage{ltxcmds}[2010/12/07]%
-\fi
-
-\def\GPT@error{\@PackageError{luatex.def}}%
-\def\GPT@warn{\@PackageWarning{luatex.def}}%
-\ifx\Gin@log\@undefined
- \def\Gin@log{\message}%
-\fi
-\def\GPT@info{\@PackageInfoNoLine{luatex.def}}%
-
-
-
-% Ensure PDF mode
-\ifnum\outputmode<1 %
- \GPT@error{%
- PDF mode expected, but DVI mode detected!\MessageBreak
- If you are using `dvilualatex', then call `lualatex'.\MessageBreak
- Otherwise check and correct the driver options.\MessageBreak
- Error recovery by switching to PDF mode%
- }\@ehc
- \outputmode=1 %
-\fi
-\@ifundefined{ifGin@setpagesize}
- {\expandafter\let\csname ifGin@setpagesize\expandafter\endcsname
- \csname iftrue\endcsname}
- {}
-\ifGin@setpagesize
-\ifx\paperwidth\@undefined\else
-\AtBeginDocument{%
-\ltx@IfUndefined{stockwidth}{%
- \ltx@IfUndefined{paperwidth}{%
- }{%
- \ifdim\paperwidth>0pt\relax
- \ifdim\paperheight>0pt\relax
- \pagewidth=\paperwidth
- \pageheight=\paperheight
- \fi
- \fi
- }%
-}{%
- \ifdim\stockwidth>0pt\relax
- \ifdim\stockheight>0pt\relax
- \pagewidth=\stockwidth
- \pageheight=\stockheight
- \fi
- \fi
-}%
-}
-\fi
-\fi
-
-% Colour Support. The following models may be used.
-% * cmyk supported directly.
-% * rgb supported directly.
-% * RGB converted to rgb by this file.
-% * gray supported directly.
-% * named converted to cmyk by this file.
-%
-\def\c@lor@arg#1{%
- \dimen@#1\p@
- \ifdim\dimen@<\z@\dimen@\maxdimen\fi
- \ifdim\dimen@>\p@
- \PackageError{color}{Argument `#1' not in range [0,1]}\@ehd
- \fi
-}
-\def\color@cmyk#1#2{\c@lor@@cmyk#2\@@#1}
-\def\c@lor@@cmyk#1,#2,#3,#4\@@#5{%
- \c@lor@arg{#4}%
- \c@lor@arg{#1}%
- \c@lor@arg{#2}%
- \c@lor@arg{#3}%
- \edef#5{#1 #2 #3 #4 k #1 #2 #3 #4 K}%
-}
-\def\color@gray#1#2{%
- \c@lor@arg{#2}%
- \edef#1{#2 g #2 G}%
-}
-\def\color@rgb#1#2{\c@lor@@rgb#2\@@#1}
-\def\c@lor@@rgb#1,#2,#3\@@#4{%
- \c@lor@arg{#1}%
- \c@lor@arg{#2}%
- \c@lor@arg{#3}%
- \edef#4{#1 #2 #3 rg #1 #2 #3 RG}%
-}
-\def\color@RGB#1#2{\c@lor@@RGB#2\@@#1}
-\def\c@lor@@RGB#1,#2,#3\@@#4{%
- \c@lor@RGB@rgb{#1}\@tempa
- \c@lor@RGB@rgb{#2}\@tempb
- \c@lor@RGB@rgb{#3}\@tempc
- \c@lor@@rgb\@tempa,\@tempb,\@tempc\@@#4%
-}
-\def\c@lor@RGB@rgb#1#2{%
- \dimen@#1\p@
- \divide\dimen@\@cclv
- \edef#2{\strip@pt\dimen@}%
-}
-
-\def\color@named#1#2{\c@lor@@named#2,,\@@#1}
-\def\c@lor@@named#1,#2,#3\@@#4{%
- \ltx@IfUndefined{col@#1}{%
- \PackageError{color}{Undefined color `#1'}\@ehd
- }{%
- \edef#4{\csname col@#1\endcsname}%
- }%
-}
-
-
- \chardef\main@pdfcolorstack=0 %
- \ltx@ifundefined{@pdfcolorstack}{%
- \def\@pdfcolorstack{\main@pdfcolorstack}%
- }{}%
- \def\set@color{%
- \pdfextension colorstack\@pdfcolorstack push{\current@color}%
- \aftergroup\reset@color
- }%
- \def\reset@color{%
- \pdfextension colorstack\@pdfcolorstack pop\relax
- }%
-
-\def\define@color@named#1#2{%
- \expandafter\edef\csname col@#1\endcsname{#2}%
-}
-\def\current@color{0 g 0 G}
-
-% v0.02t: support for \pagecolor
-% fixed in v0.02p by using a box register, see
-% http://tug.org/pipermail/pdftex/2005-August/005916.html
-%
-% v0.03r: \nopagecolor/\no@page@color added.
-\ltx@newglobalif\ifGPT@pagecolor
-\ltx@ifundefined{nopagecolor}{%
- \def\nopagecolor{\no@page@color}%
-}{}
-\def\no@page@color{%
- \GPT@pagecolorfalse
-}
-\def\set@page@color{%
- \GPT@pagecolortrue
- \global\let\current@page@color\current@color
- \ltx@ifundefined{GPT@outputbox}{%
- % \newbox is outer in plain
- \csname newbox\endcsname\GPT@outputbox
- }{}%
- \ltx@ifundefined{GPTorg@shipout}{%
- \global\let\GPTorg@shipout\shipout
- \gdef\shipout{%
- \edef\GPT@saved@grouplevel{\number\currentgrouplevel}%
- \afterassignment\GPT@shipout
- \global\setbox\GPT@outputbox=%
- }%
- \gdef\GPT@shipout{%
- \ifnum\GPT@saved@grouplevel=\currentgrouplevel
- \else
- \expandafter\aftergroup
- \fi
- \GPT@@shipout
- }%
- \gdef\GPT@@shipout{%
- \ifvoid\GPT@outputbox\relax
- \GPT@warn{Ignoring void output box}%
- \else
- \setbox\GPT@outputbox=\vbox{%
- \GPT@pageliteral
- \box\GPT@outputbox
- }%
- \GPTorg@shipout\box\GPT@outputbox\relax
- \fi
- }%
- \gdef\GPT@pageliteral{%
- \ifGPT@pagecolor
- \pdfextension literal page{%
- q % gsave
- \current@page@color\ltx@space
- n % newpath
- 0 0 \strip@pt\pagewidth\ltx@space
- \strip@pt\pageheight\ltx@space re % rectangle
- % there is no need to convert to bp
- f % fill
- Q% grestore
- }%
- \fi
- }%
- }{}%
-}
-
-
-
-
-%
-% Graphic inclusion. Currently supports .png, .jpg, .mps and .pdf inclusion;
-% .mps is MetaPost output.
-%
-%
-% support for
-% * multipage pdf images
-% * alternate print image (bitmaps only)
-% * printed image can be resused, but not the base image,
-% because it's dictionary contains the additional key /Alternates.
-% * not supported by Ghostscript or xpdf.
-% * option quiet
-% * option resetcolor
-% * option xmpfile
-%
-% \GPT@page: page number of pdf image or \ltx@empty otherwise.
-\let\GPT@page\ltx@empty
-% \GPT@print: file name for alternate image or \ltx@empty otherwise.
-\let\GPT@print\ltx@empty
-\let\GPT@xmpfile\ltx@empty
-\let\GPT@pagebox\ltx@empty
-\let\GPT@pagebox@\ltx@empty
-\let\GPT@interpolate\ltx@empty
-\let\GPT@decodearray\ltx@empty
-\let\GPT@mask\ltx@empty
-\let\GPT@intent\ltx@empty
-\let\GPT@ocobjnum\ltx@empty
-\ltx@newif\ifGPT@ResetColor
-\let\GPT@ResetColorEnd\relax
-\def\GPT@ResetColorBegin{%
- \ifGPT@ResetColor
- \ifGPT@IsBitmap
- \else
- \begingroup
- \normalcolor
- \let\GPT@ResetColorEnd\endgroup
- \fi
- \fi
-}
-
-% \pdfmatch may be emulated in lua
-% (may be better to use lua patterns than bring in full
-% regex, do nothing for now
- \def\GPT@match#1#2#3#4{}%
- \def\GPT@pat@real/{}%
-
-
-\begingroup
- \toks@{%
- \define@key{Gin}{resetcolor}[true]{%
- \csname GPT@ResetColor%
- \expandafter\ifx\csname iftrue\expandafter\endcsname
- \csname if#1\endcsname
- true%
- \else
- false%
- \fi
- \endcsname
- }%
-%
- \define@key{Gin}{page}{%
- \def\GPT@page{#1}%
- \ifx\GPT@page\ltx@empty
- \else
- \edef\GPT@page{\number\GPT@page}%
- \fi
- }%
- \define@key{Gin}{print}{%
- \def\GPT@print{#1}%
- }%
-%
- % option pagebox
- \define@key{Gin}{pagebox}{%
- \expandafter\let\expandafter\GPT@pagebox
- \csname GPT@pagebox@#1\endcsname
- \ifx\GPT@pagebox\relax
- \let\GPT@pagebox\ltx@empty
- \GPT@warn{%
- Unknown value `#1' for `pagebox'.\MessageBreak
- Supported values:\MessageBreak
- mediabox, cropbox, bleedbox, trimbox, artbox%
- }%
- }%
- \def\GPT@pagebox@mediabox{mediabox}%
- \let\GPT@pagebox@cropbox\ltx@empty
- \def\GPT@pagebox@bleedbox{bleedbox}%
- \def\GPT@pagebox@trimbox{trimbox}%
- \def\GPT@pagebox@artbox{artbox}%
- % option interpolate
- \define@key{Gin}{interpolate}[true]{%
- \expandafter\let\expandafter\GPT@interpolate
- \csname GPT@interpolate@#1\endcsname
- \ifx\GPT@interpolate\relax
- \let\GPT@interpolate\ltx@empty
- \GPT@warn{%
- Unknown value `#1' for `interpolate'.\MessageBreak
- Supported values: true, false%
- }%
- \fi
- }%
- \let\GPT@interpolate@false\ltx@empty
- \def\GPT@interpolate@true{1}% non-empty, value does not matter
- % option decodearray
- \define@key{Gin}{decodearray}{%
- \def\GPT@decodearray{#1}%
- \ifx\GPT@decodearray\ltx@empty
- \else
- \GPT@match\GPT@decodearray{%
- ((^| )\GPT@pat@real/ \GPT@pat@real/)+$%
- }{}{%
- \GPT@warn{%
- Invalid value (\GPT@decodearray)\MessageBreak
- for `decodearray' is ignored%
- }%
- \let\GPT@decodearray\ltx@empty
- }%
- \fi
- }%
- % option maskarray
- \define@key{Gin}{maskarray}{%
- \def\GPT@mask{#1}%
- \ifx\GPT@mask\ltx@empty
- \else
- \GPT@match\GPT@mask{%
- ((^| )[0-9]+ [0-9]+)+$%
- }{}{%
- \GPT@warn{%
- Invalid value (\GPT@mask)\MessageBreak
- for `maskarray' is ignored%
- }%
- \let\GPT@mask\ltx@empty
- }%
- \ifx\GPT@mask\ltx@empty
- \else
- \edef\GPT@mask{[\GPT@mask]}%
- \fi
- \fi
- }%
- % option intent
- \define@key{Gin}{intent}{%
- \def\GPT@intent{#1}%
- \ifx\GPT@intent\ltx@empty
- \else
- \GPT@match\GPT@intent{%
- ^((Absolute|Relative)Colorimetric|Saturation|Perceptual)$%
- }{}{%
- \GPT@match\GPT@intent{%
- ^[A-Za-z0-9_]+$%
- }{%
- \GPT@warn{%
- Rendering intent `\GPT@intent'\MessageBreak
- is not a standard name of the PDF specification%
- }%
- }{%
- \GPT@warn{%
- Ignoring intent `\GPT@intent'\MessageBreak
- with unusual characters%
- }%
- \let\GPT@intent\ltx@empty
- }%
- }%
- \fi
- }%
- % option ocobjnum
- \define@key{Gin}{ocobjnum}{%
- \edef\GPT@ocobjnum{#1}%
- \ifx\GPT@ocobjnum\ltx@empty
- \else
- \edef\GPT@ocobjnum{\number\GPT@ocobjnum}%
- \GPT@match\GPT@ocobjnum{^[1-9]+[0-9]*$}{%
- }{%
- \GPT@warn{%
- Invalid value (\GPT@ocobjnum)\MessageBreak
- for `ocobjnum' is ignored%
- }%
- \let\GPT@ocobjnum\ltx@empty
- }%
- \ifx\GPT@ocobjnum\ltx@empty
- \else
- \edef\GPT@ocobjnum{\number\GPT@ocobjnum}%
- \fi
- \fi
- }%
- % option ocobjref
- \define@key{Gin}{ocobjref}{%
- \edef\GPT@ocobjnum{#1}%
- \ifx\GPT@ocobjnum\ltx@empty
- \else
- \edef\GPT@ocobjnum{%
- \expandafter\strip@prefix\meaning\GPT@ocobjnum
- }%
- \GPT@match\GPT@ocobjnum{^[1-9]+[0-9]* 0 R$}{%
- }{%
- \GPT@warn{%
- Invalid value (\GPT@ocobjnum)\MessageBreak
- for `ocobjref' is ignored%
- }%
- \let\GPT@ocobjnum\ltx@empty
- }%
- \ifx\GPT@ocobjnum\ltx@empty
- \else
- \begingroup
- \def\GPT@temp##1 ##2\@nil{\endgroup
- \def\GPT@ocobjnum{##1}%
- }%
- \expandafter\GPT@temp\GPT@ocobjnum\@nil
- \edef\GPT@ocobjnum{\number\GPT@ocobjnum}%
- \fi
- \fi
- }%
- \define@key{Gin}{quiet}[]{%
- \let\Gin@log\ltx@gobble
- }%
- \define@key{Gin}{resolution}{%
- \pdfvariable imageresolution#1\relax
- }%
- \define@key{Gin}{xmpfile}[\Gin@base.xmp]{%
- \def\GPT@xmpfile{#1}%
- }%
- }%
- \ltx@IfUndefined{define@key}{%
- \edef\x{\endgroup
- \noexpand\AtBeginDocument{%
- \noexpand\ltx@IfUndefined{define@key}{}{\the\toks@}%
- }%
- }\x
- }{%
- \expandafter\endgroup\the\toks@
- }%
-
-% redefinitions of some graphicx options:
-\def\GPT@disable#1{%
- \GPT@warn{%
- Option `#1' is not supported, use\MessageBreak
- option `viewport' instead%
- }%
-}
-\def\GPT@fix{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname define@key\endcsname\relax
- \else
- \def\KV@Gin@bb{%
- \GPT@warn{%
- Option `bb' does not make sense,\MessageBreak
- using `viewport' instead%
- }%
- \KV@Gin@viewport
- }%
- \define@key{Gin}{bbllx}{\GPT@disable{bbllx}}%
- \define@key{Gin}{bblly}{\GPT@disable{bblly}}%
- \define@key{Gin}{bburx}{\GPT@disable{bburx}}%
- \define@key{Gin}{bbury}{\GPT@disable{bbury}}%
- \fi
-}
-\AtBeginDocument{\GPT@fix}
-
-%
-% Check for image file existence
-%
- \def\GPT@IfFileExists#1{%
- \IfFileExists{#1}%
- }%
-
-%
-% Wrapper for \Gread@... that checks image existence first.
-%
-\def\GPT@read#1#2{%
- \GPT@IfFileExists{#2}%
- {%
- #1{#2}%
- }{%
- \def\Gin@llx{0}%
- \let\Gin@lly\Gin@llx
- \def\Gin@urx{72}%
- \let\Gin@ury\Gin@urx
- \ifGin@draft
- \else
- \GPT@error{File `#2' not found}{%
- Using draft setting for this image.\MessageBreak
- \@ehc
- }%
- \Gin@drafttrue
- \fi
- }%
-}
-
-%
-% mechanism for re-use of objects also
-% allows us to get the size by deriving it from the initial storage;
-% this works for all graphics types.
-%
-\ltx@ifundefined{Gread@gobject}{%
- \csname newcount\endcsname\Gread@gobject
-}{}
-\def\GPT@ReusedName#1{%
- \ifx\GPT@print\ltx@empty
- #1%
- \else
- \GPT@print
- \fi
-}
-\def\GPT@objref{ 0 R}
-\def\Gread@pdftex{%
- \GPT@read\Gread@@pdftex
-}
-\def\Gread@@pdftex#1{%
- % Ensure that option `print' works only on bitmap images.
- \let\GPT@Attr\ltx@empty
- \let\GPT@AttrShort\ltx@empty
- \ifx\GPT@ocobjnum\ltx@empty
- \else
- \edef\GPT@AttrShort{\GPT@AttrShort
- :OC\GPT@ocobjnum
- }%
- \edef\GPT@Attr{\GPT@Attr
- /OC \GPT@ocobjnum\GPT@objref
- }%
- \fi
- \ifGPT@IsBitmap
- \let\GPT@page\ltx@empty
- \let\GPT@pagebox\ltx@empty
- \ifx\GPT@xmpfile\ltx@empty
- \else
- \ltx@IfUndefined{GPT@XMP@\GPT@xmpfile}{%
- \GPT@IMfFileExists{\GPT@xmpfile}{%
- \begingroup
- \GPT@compresslevel=0 %
- \immediate\pdfextension obj stream attr{%
- /Type/Metadata%
- /Subtype/XML%
- }file{\GPT@xmpfile}%
- \expandafter\xdef\csname GPT@XMP@\GPT@xmpfile\endcsname{%
- \the\numexpr\pdffeedback lastobj\relax
- }%
- \endgroup
- }{%
- \GPT@warn{Missing XMP file (\GPT@xmpfile)}%
- }%
- }{}%
- \ltx@IfUndefined{GPT@XMP@\GPT@xmpfile}{}{%
- \edef\GPT@Attr{\GPT@Attr
- /Metadata \@nameuse{GPT@XMP@\GPT@xmpfile}\GPT@objref
- }%
- \edef\GPT@AttrShort{\GPT@AttrShort
- :MD\@nameuse{GPT@XMP@\GPT@xmpfile}%
- }%
- }%
- \fi
- \ifx\GPT@interpolate\ltx@empty
- \else
- \edef\GPT@Attr{\GPT@Attr
- /Interpolate true%
- }%
- \edef\GPT@AttrShort{\GPT@AttrShort
- :I%
- }%
- \fi
- \ifx\GPT@decodearray\ltx@empty
- \else
- \edef\GPT@Attr{\GPT@Attr
- /Decode[\GPT@decodearray]%
- }%
- \edef\GPT@AttrShort{\GPT@AttrShort
- :D[\GPT@decodearray]%
- }%
- \fi
- \ifx\GPT@mask\ltx@empty
- \else
- \edef\GPT@Attr{\GPT@Attr
- /Mask\GPT@mask
- }%
- \edef\GPT@AttrShort{\GPT@AttrShort
- :M\GPT@mask
- }%
- \fi
- \ifx\GPT@intent\ltx@empty
- \else
- \edef\GPT@AttrShort{\GPT@AttrShort
- :RI\GPT@intent
- }%
- \edef\GPT@intent{\TODOescapename{\GPT@intent}}%
- \edef\GPT@Attr{\GPT@Attr
- /Intent/\GPT@intent
- }%
- \fi
- \else
- \let\GPT@interpolate\ltx@empty
- \let\GPT@decodearray\ltx@empty
- \let\GPT@mask\ltx@empty
- \let\GPT@intent\ltx@empty
- \ifx\GPT@page\ltx@empty
- \else
- \edef\GPT@AttrShort{\GPT@AttrShort
- :P\GPT@page
- }%
- \fi
- \ifx\GPT@pagebox\ltx@empty
- \else
- \edef\GPT@AttrShort{%
- \GPT@AttrShort
- :\expandafter\ltx@car\GPT@pagebox{}\@nil b%
- }%
- \fi
- \ifx\GPT@print\ltx@empty
- \else
- \GPT@warn{%
- Option `print' can only be used\MessageBreak
- for bitmap images%
- }%
- \let\GPT@print\ltx@empty
- \fi
- \fi
- % Check if print image exists.
- \ifx\GPT@print\ltx@empty
- \else
- \GPT@IfFileExists{\GPT@print}{%
- }{%
- \GPT@error{Print image `\GPT@print' not found}{%
- The print version of the image is ignored.\MessageBreak
- \@ehc
- }%
- \let\GPT@print\ltx@empty
- }%
- \fi
- % If option `print' is set, the screen image object
- % will contain an additional /Alternate entry
- % and will not be reused.
- \ifx\GPT@print\ltx@empty
- \else
- \expandafter\expandafter\expandafter\ltx@firstoftwo\expandafter\ltx@gobbletwo
- \fi
- \ltx@ifundefined{#1 image\GPT@AttrShort}{%
- \ifx\GPT@print\ltx@empty
- \ifx\GPT@Attr\ltx@empty
- \let\GPT@RuleAttr\ltx@empty
- \else
- \edef\GPT@RuleAttr{attr{\GPT@Attr}}%
- \fi
- \else
- \ltx@ifundefined{\GPT@print\ltx@space image\GPT@AttrShort}{%
- \immediate\saveimageresource{\GPT@print}%
- \setbox\@tempboxa=\hbox{\useimageresource\lastsavedimageresourceindex}%
- \edef\GPT@PrintObj{\the\lastsavedimageresourceindex}%
- \expandafter\xdef\csname\GPT@print\ltx@space
- image\GPT@AttrShort\endcsname{%
- \useimageresource\GPT@PrintObj\relax
- }%
- \immediate\pdfextension obj{%
- [<<%
- /Image \GPT@PrintObj\GPT@objref
- /DefaultForPrinting true%
- >>]%
- }%
- \def\GPT@RuleAttr{%
- width\wd\@tempboxa height\ht\@tempboxa
- attr{%
- \GPT@Attr
- /Alternates \the\numexpr\pdffeedback lastobj\relax\GPT@objref
- }%
- }%
- }{%
- \edef\GPT@PrintObj{%
- \expandafter\expandafter\expandafter\ltx@gobble
- \csname\GPT@print\ltx@space image\GPT@AttrShort\endcsname
- }%
- \immediate\pdfextension obj{%
- [<<%
- /Image \GPT@PrintObj\GPT@objref
- /DefaultForPrinting true%
- >>]%
- }%
- \def\GPT@RuleAttr{%
- width \csname\GPT@print\ltx@space width\GPT@AttrShort\endcsname
- height \csname\GPT@print\ltx@space height\GPT@AttrShort\endcsname
- attr{%
- \GPT@Attr
- /Alternates \the\numexpr\pdffeedback lastobj\relax\GPT@objref
- }%
- }%
- }%
- \fi
- \saveimageresource\GPT@RuleAttr
- \ifx\GPT@page\ltx@empty
- \else
- page \GPT@page
- \fi
- \GPT@pagebox
- {#1}%
- \setbox\@tempboxa=\hbox{\useimageresource\lastsavedimageresourceindex}%
- \def\Gin@llx{0}\let\Gin@lly\Gin@llx
- \Gin@defaultbp\Gin@urx{\wd\@tempboxa}%
- \Gin@defaultbp\Gin@ury{\ht\@tempboxa}%
- \expandafter\xdef\csname\GPT@ReusedName{#1} width\GPT@AttrShort\endcsname{%
- \the\wd\@tempboxa
- }%
- \expandafter\xdef\csname\GPT@ReusedName{#1} height\GPT@AttrShort\endcsname{%
- \the\ht\@tempboxa
- }%
- \expandafter\xdef\csname #1 image\GPT@AttrShort
- \ifx\GPT@print\ltx@empty\else!\fi\endcsname{%
- \useimageresource\the\lastsavedimageresourceindex
- }%
- \Gin@log{%
- <#1, id=%
- \the\lastsavedimageresourceindex
- \ifx\GPT@page\ltx@empty\else , page=\GPT@page\fi
- \ifx\GPT@pagebox\ltx@empty\else, pagebox=\GPT@pagebox\fi
- \ifx\GPT@interpolate\ltx@empty\else, interpolate=true\fi
- \ifx\GPT@print\ltx@empty
- \else
- , print=\GPT@print, id=\GPT@PrintObj
- \fi
- , \the\wd\@tempboxa\ltx@space x \the\ht\@tempboxa
- >%
- }%
- }{%
- \def\Gin@llx{0}\let\Gin@lly\Gin@llx
- \Gin@defaultbp\Gin@urx{\csname#1 width\GPT@AttrShort\endcsname}%
- \Gin@defaultbp\Gin@ury{\csname#1 height\GPT@AttrShort\endcsname}%
- }%
-}
-\def\Ginclude@pdftex#1{%
- \def\@tempa{!}%
- \ifx\Gin@scaley\@tempa
- \let\Gin@scaley\Gin@scalex
- \else
- \ifx\Gin@scalex\@tempa\let\Gin@scalex\Gin@scaley\fi
- \fi
- \Gin@log{%
- <use #1%
- \ifx\GPT@page\ltx@empty\else, page \GPT@page\fi
- >%
- }%
- \GPT@info{%
- #1\ifx\GPT@page\ltx@empty\else, page\GPT@page\fi
- \ltx@space used\on@line.\MessageBreak
- Requested size: %
- \the\Gin@req@width\ltx@space x \the\Gin@req@height
- }%
- \hbox{%
- \GPT@ResetColorBegin
- \Gscale@box{\Gin@scalex}[\Gin@scaley]{%
- \ltx@IfUndefined{Gin@vllx}{%
- \GPT@viewportfalse
- % without viewport/trim clipping does not make sense
- % for pdfTeX
- \Gin@clipfalse
- }{}%
- \ifGin@clip
- \if!\Gin@vllx\Gin@vlly\Gin@vurx\Gin@vury!%
- \else
- \let\GPT@clipend\GPT@DoClipEnd
- \setbox\@tempboxa\hbox\bgroup
- \fi
- \fi
- \ifGPT@viewport
- \ifdim\Gin@vlly\p@=\z@
- \else
- \lower\Gin@vlly bp\hbox\bgroup
- \fi
- \ifdim\Gin@vllx\p@=\z@
- \else
- \hskip-\Gin@vllx bp\relax
- \fi
- \fi
- \csname#1 image\GPT@AttrShort
- \ifx\GPT@print\ltx@empty\else!\fi
- \endcsname
- \ifGPT@viewport
- \ifdim\Gin@vlly\p@=\z@
- \else
- \egroup
- \fi
- \GPT@clipend
- \fi
- }%
- \GPT@ResetColorEnd
- }%
-}
-\ltx@newif\ifGPT@viewport
-\GPT@viewporttrue
-\let\GPT@clipend\relax
-\def\GPT@DoClipEnd{%
- \egroup
- \dp\@tempboxa\z@
- % \Gin@urx and \Gin@ury already contain the correct values,
- % so both cases viewport and trim can be handled together:
- \dimen@\Gin@urx\p@
- % v0.03k \Gin@vllx replaced by \Gin@llx
- \advance\dimen@ -\Gin@llx\p@
- \wd\@tempboxa\strip@pt\dimen@ bp\relax
- \dimen@\Gin@ury\p@
- % v0.03k \Gin@vlly replaced by \Gin@lly
- \advance\dimen@ -\Gin@lly\p@
- \ht\@tempboxa\strip@pt\dimen@ bp\relax
- \let\GPT@temp\ltx@empty
- \ifx\GPT@ocobjnum\ltx@empty
- \fi
- \expandafter\saveboxresource\GPT@temp\@tempboxa
- \useboxresource\lastsavedboxresourceindex
-}
-\ltx@newif\ifGPT@IsBitmap
-\def\Gread@pdfbitmap#1{%
- \GPT@IsBitmaptrue
- \Gread@pdftex{#1}%
- \GPT@IsBitmapfalse
-}
-
-\edef\Gread@MBox{/MediaBox}
-\def\Gread@pdf{%
- \GPT@read\Gread@@pdf
-}
-\def\Gread@@pdf#1{%
- \begingroup
- \@tempcnta\z@
- \loop
- \ifnum\@tempcnta<\@xxxii
- \catcode\@tempcnta14 %
- \advance\@tempcnta\@ne
- \repeat
- \catcode127=14 %
- \let\do\@makeother\dospecials\catcode`\ 10 %
- \catcode\endlinechar5 %
- \immediate\openin\@inputcheck#1 %
- \ifeof\@inputcheck
- \@latex@error{File `#1' not found}\@ehc
- \else
- \Gread@true
- \let\@tempb\Gread@false
- \loop
-% v0.02e: use \. not \@tempa so the space is preserved before [
- \read\@inputcheck to\.%
- \ifeof\@inputcheck
- \Gread@false
- \else
- \expandafter\Gread@find@mbox\. []\\%
- \fi
- \ifGread@
- \repeat
- \immediate\closein\@inputcheck
- \fi
- \ifGin@bbox
- \else
- \@latex@error
- {Cannot determine size of graphic in #1 (no BoundingBox)}%
- \@ehc
- \gdef\@gtempa{0 0 72 72 }%
- \fi
- \endgroup
- \expandafter\Gread@parse@bb\@gtempa\\%
-}
-\long\def\Gread@find@mbox#1 [#2]#3\\{% hash-ok
- \def\@tempa{#1}%
- \ifx\@tempa\Gread@MBox
- \gdef\@gtempa{#2 }%
- \@tempb
- \Gin@bboxtrue
- \fi
-}
-
-\def\Ginclude@mps#1{%
- \def\@tempa{!}%
- \ifx\Gin@scaley\@tempa
- \let\Gin@scaley\Gin@scalex
- \else
- \ifx\Gin@scalex\@tempa\let\Gin@scalex\Gin@scaley\fi
- \fi
- \hbox{%
- \GPT@ResetColorBegin
- \Gscale@box{\Gin@scalex}[\Gin@scaley]{%
- \ltx@IfUndefined{Gin@vllx}{%
- \GPT@viewportfalse
- % without viewport/trim clipping does not make sense
- % for pdfTeX
- \Gin@clipfalse
- }{}%
- \ifGin@clip
- \if!\Gin@vllx\Gin@vlly\Gin@vurx\Gin@vury!%
- \else
- \let\GPT@clipend\GPT@DoClipEnd
- \setbox\@tempboxa\hbox\bgroup
- \fi
- \fi
- \ifGPT@viewport
- \ifdim\Gin@vlly\p@=\z@
- \else
- \lower\Gin@vlly bp\hbox\bgroup
- \fi
- \ifdim\Gin@vllx\p@=\z@
- \else
- \hskip-\Gin@vllx bp\relax
- \fi
- \fi
-%%%%% \GPT@catcodes{mps}%
- \convertMPtoPDF{#1}{1}{1}%
-%%%%% \GPT@restore@mps
- \ifGPT@viewport
- \ifdim\Gin@vlly\p@=\z@
- \else
- \egroup
- \fi
- \GPT@clipend
- \fi
- }%
- \GPT@ResetColorEnd
- }%
-}
-\def\Gread@mps{%
- \GPT@read\Gread@eps
-}
- \let\Ginclude@png\Ginclude@pdftex
- \let\Ginclude@jpg\Ginclude@pdftex
- \let\Ginclude@pdf\Ginclude@pdftex
- \let\Gread@pdf\Gread@pdftex
- \let\Gread@png\Gread@pdfbitmap
- \let\Gread@jpg\Gread@pdfbitmap
- \expandafter\let\csname Gread@jbig2\endcsname\Gread@pdfbitmap
- \expandafter\let\csname Ginclude@jbig2\endcsname\Ginclude@pdftex
-
- \@namedef{Gin@rule@.jpg}#1{{jpg}{.jpg}{#1}}%
- \@namedef{Gin@rule@.jpeg}#1{{jpg}{.jpeg}{#1}}%
- \@namedef{Gin@rule@.JPG}#1{{jpg}{.JPG}{#1}}%
- \@namedef{Gin@rule@.JPEG}#1{{jpg}{.JPEG}{#1}}%
- \def\Gin@extensions{%
- .png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,%
- .PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2,%
- .eps%
- }%
- \@namedef{Gin@rule@.jb2}#1{{jbig2}{.jb2}{#1}}%
- \@namedef{Gin@rule@.jbig2}#1{{jbig2}{.jbig2}{#1}}%
-
-\@namedef{Gin@rule@.png}#1{{png}{.png}{#1}}
-\@namedef{Gin@rule@.PNG}#1{{png}{.PNG}{#1}}
-\@namedef{Gin@rule@.mps}#1{{mps}{.mps}{#1}}
-\@namedef{Gin@rule@.pdf}#1{{pdf}{.pdf}{#1}}
-\@namedef{Gin@rule@.PDF}#1{{pdf}{.PDF}{#1}}
-\@namedef{Gin@rule@.eps}#1{{eps}{.eps}{#1}}
-
-
-% Rotation
-% slightly hacky, but set width of box 0 to 0pt otherwise
-% the CTM gets restored in the wrong place.
-
-\def\GPT@MatrixIdentity{1 0 0 1}
-\def\GPT@Zero{0}
-\def\GPT@Minus{-}
-\def\GPT@NormalizeNumber#1{%
- \edef#1{#1}%
- \edef#1{\expandafter\ltx@zapspace\expandafter{#1}}%
- \edef#1{\expandafter\GPT@ZapPlus#1+\@nil}%
- \edef#1{\expandafter\GPT@ZapMinusMinus#1--\@nil}%
- \expandafter\GPT@Split#1..\@nil
- \ifx\GPT@frac\ltx@empty
- \else
- \edef\GPT@frac{%
- \expandafter\GPT@Reverse\expandafter{\expandafter}\GPT@frac\@nil
- }%
- \edef\GPT@frac{%
- \expandafter\GPT@ZapLeadingZeros\GPT@frac\ltx@empty
- }%
- \ifx\GPT@frac\ltx@empty
- \else
- \edef\GPT@frac{%
- \expandafter\GPT@Reverse\expandafter{\expandafter}\GPT@frac\@nil
- }%
- \fi
- \fi
- \edef\GPT@sign{\expandafter\ltx@car\GPT@int\ltx@empty\@nil}%
- \ifx\GPT@sign\GPT@Minus
- \edef\GPT@int{\expandafter\ltx@cdr\GPT@int\@nil}%
- \else
- \def\GPT@sign{}%
- \fi
- \edef\GPT@int{%
- \expandafter\GPT@ZapLeadingZeros\GPT@int\ltx@empty
- }%
- \edef\GPT@temp{\GPT@int\GPT@frac}%
- \ifx\GPT@temp\ltx@empty
- \def#1{0}%
- \else
- \edef#1{%
- \GPT@sign
- \GPT@int
- \ifx\GPT@frac\ltx@empty
- \else
- .\GPT@frac
- \fi
- }%
- \fi
-}
-\def\GPT@ZapPlus#1+#2\@nil{%
- #1%
- \ifx\ltx@empty#2\ltx@empty
- \expandafter\ltx@gobble
- \else
- \expandafter\@firstofone
- \fi
- {%
- \GPT@ZapPlus#2\@nil
- }%
-}
-\def\GPT@ZapMinusMinus#1--#2\@nil{%
- #1%
- \ifx\ltx@empty#2\ltx@empty
- \expandafter\ltx@gobble
- \else
- \expandafter\@firstofone
- \fi
- {%
- \GPT@ZapMinusMinus#2\@nil
- }%
-}
-\def\GPT@Split#1.#2.#3\@nil{%
- \def\GPT@int{#1}%
- \ifx\ltx@empty#2\ltx@empty
- \let\GPT@frac\ltx@empty
- \else
- \def\GPT@frac{#2}%
- \fi
-}
-\def\GPT@Reverse#1#2#3\@nil{%
- \ifx\ltx@empty#3\ltx@empty
- #2#1%
- \expandafter\ltx@gobble
- \else
- \expandafter\ltx@firstofone
- \fi
- {%
- \GPT@Reverse{#2#1}#3\@nil
- }%
-}
-\def\GPT@ZapLeadingZeros#1{%
- \ifx0#1%
- \expandafter\GPT@ZapLeadingZeros
- \else
- #1%
- \fi
-}
- \def\Grot@start{%
- \GPT@NormalizeNumber\Grot@sin
- \GPT@NormalizeNumber\Grot@cos
- \edef\GPT@temp{%
- \Grot@cos\ltx@space\Grot@sin\ltx@space
- \if-\Grot@sin
- \else
- \ifx\Grot@sin\GPT@Zero
- \GPT@Zero
- \else
- -\Grot@sin
- \fi
- \fi
- \ltx@space\Grot@cos
- }%
- \ifx\GPT@temp\GPT@MatrixIdentity
- \def\Grot@end{}%
- \else
- \pdfextension save\relax
- \pdfextension setmatrix{\GPT@temp}%
- \wd\z@\z@
- \fi
- }%
- \def\Grot@end{\pdfextension restore\relax}%
- \def\Gscale@start{%
- \GPT@NormalizeNumber\Gscale@x
- \GPT@NormalizeNumber\Gscale@y
- \edef\GPT@temp{%
- \Gscale@x\ltx@space0 0 \Gscale@y
- }%
- \ifx\GPT@temp\GPT@MatrixIdentity
- \def\Gscale@end{}%
- \else
- \pdfextension save\relax
- \pdfextension setmatrix{\GPT@temp}%
- \fi
- }%
-
-\let\Gscale@end\Grot@end
-
-% Trig patching no longer needed (trig.sty updated)
-
-
-% MPS conversion
-\def\GPT@LoadSuppPdf{%
- \ltx@IfUndefined{convertMPtoPDF}{%
-%%%%% \GPT@catcodes{supp}%
- \InputIfFileExists{supp-pdf.mkii}{}{%
- \InputIfFileExists{supp-pdf}{}{}%
- }%
-%%%%%% \GPT@restore@supp
- }{%
- % supp-pdf is probably already loaded.
- }%
- % If supp-pdf is not available, \convertMPtoPDF generates
- % an error message. \providecommand inside the third argument
- % of \InputIfFileExists will not work:
- % * \InputIfFileExists has problems with parameters (#1).
- % * Implementation of \providecommand is insufficient in miniltx.tex
- \ltx@ifundefined{convertMPtoPDF}{%
-% 2016/05/21 v0.01c use \newcommand here not \newcommand* graphics/4472
-\newcommand{\convertMPtoPDF}[3]{%
- \GPT@error{%
- Cannot convert ##1 from MPS to PDF.\MessageBreak
- The support file `supp-pdf.mkii' (supp-pdf.tex) is missing%
- }{%
- The graphics driver for pdfTeX needs `supp-pdf.mkii'\MessageBreak
- (or `supp-pdf.tex' and/or `supp-mis.tex')\MessageBreak
- to convert MetaPost output files to PDF.\MessageBreak
- These files are part of ConTeXt and can also be found here:%
- \MessageBreak
- \ltx@space\ltx@space CTAN:macros/pdftex/graphics/\MessageBreak
- You'll get more errors if you'll continue now.%
- }%
- }%
- }{}%
- \let\GPT@LoadSuppPdf\relax
-}
-\AtBeginDocument{%
- \GPT@LoadSuppPdf
-}
-
-% Adds support for extended MetaPost features (transparency)
-% \GPT@catcodes removed
-% should replace with luatex catcodetable support, TODO
-\def\LoadMetaPostSpecialExtensions{%
- \AtBeginDocument{%
- \ltx@IfUndefined{assignMPStransparency}{%
-%%%% \GPT@catcodes{mpe}%
- \let\GPT@found=N%
- \IfFileExists{supp-pdf.mkii}{\let\GPT@found=Y}{%
- \IfFileExists{supp-pdf}{\let\GPT@found=Y}{}%
- }%
- \ifx Y\GPT@found
- \InputIfFileExists{supp-mis.mkii}{}{%
- \InputIfFileExists{supp-mis}{}{\let\GPT@found=N}%
- }%
- \ifx Y\GPT@found
- \InputIfFileExists{supp-mpe.mkii}{}{%
- \InputIfFileExists{supp-mpe}{}{\let\GPT@found=N}%
- }%
- \ifx Y\GPT@found
- \MPcmykcolorstrue
- \MPspotcolorstrue
- \chardef\makeMPintoPDFobject=1 %
- \else
- \GPT@warn{%
- Cannot enable MetaPost Special Extensions,\MessageBreak
- because `supp-mpe.mkii' (or `supp-mpe.tex')\MessageBreak
- is missing%
- }%
- \fi
- \else
- \GPT@warn{%
- Cannot enable MetaPost Special Extensions,\MessageBreak
- because `supp-mis.mkii' (or `supp-mis.tex')\MessageBreak
- is missing%
- }%
- \fi
- \else
- \GPT@warn{%
- Cannot enable support for MetaPost images,\MessageBreak
- because `supp-pdf.mkii' (or `supp-pdf.tex')\MessageBreak
- is missing%
- }%
- \fi
-%%% \GPT@restore@mpe
- }{}%
- }%
- \let\LoadMetaPostSpecialExtensions\relax
-}
-\ltx@IfUndefined{@onlypreamble}{%
-}{%
- \@onlypreamble\LoadMetaPostSpecialExtensions
-}
-
-
-\ifx\DoNotLoadEpstopdf\@undefined
-% EPS to PDF conversion
-% delay to begin document to check graphics is loaded (shared
-% config with color) if \DoNotLoadEpstopdf is defined (to anything)
-% skip this.
- \AtBeginDocument{%
- \ifx\includegraphics\@undefined\else
- \RequirePackage{epstopdf-base}%
- \fi
- }
-\fi \ No newline at end of file