summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-01-06 21:44:53 +0000
committerKarl Berry <karl@freefriends.org>2021-01-06 21:44:53 +0000
commit8090f75681f02bfb30e62c77ddeea13a9ff50054 (patch)
tree2356da2b54c0003380d6ad450c5b035992e3805d
parent5ea512594642bba9c90d5daddc2add01aa3de8a5 (diff)
graphicxpsd (6jan21)
git-svn-id: svn://tug.org/texlive/trunk@57341 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/graphicxpsd/LICENSE4
-rw-r--r--Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdfbin168655 -> 169330 bytes
-rw-r--r--Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex66
-rw-r--r--Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex15
-rw-r--r--Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty42
5 files changed, 82 insertions, 45 deletions
diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/LICENSE b/Master/texmf-dist/doc/latex/graphicxpsd/LICENSE
index 72d2a71e6fa..bfd35c5131d 100644
--- a/Master/texmf-dist/doc/latex/graphicxpsd/LICENSE
+++ b/Master/texmf-dist/doc/latex/graphicxpsd/LICENSE
@@ -1,4 +1,6 @@
-Copyright (c) 2017, 2018 Munehiro Yamamoto
+This package is licensed under the terms of the MIT License.
+
+Copyright (c) 2017, 2018 Munehiro Yamamoto <munepixyz@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf
index de0ecdc579d..43520931411 100644
--- a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf
+++ b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex
index 2c0631b7ed6..fed24f3af96 100644
--- a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex
+++ b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex
@@ -6,32 +6,32 @@
\usepackage{graphicxpsd}
\title{\textsf{graphicxpsd} Package}
\author{Munehiro Yamamoto}
-\date{2018/01/30 v1.1}
+\date{2021/01/07 v1.2}
\begin{document}
\maketitle
\begin{abstract}
-This package provides Adobe Photoshop Data format (PSD) support
+This package provides Adobe Photoshop Data format (PSD) support
for \textsf{graphicx} package
with \texttt{sips} (Darwin/macOS)/\texttt{magick} (ImageMagick) command.
\end{abstract}
\section{Motivation}
-\textsf{graphicx} package supports already many graphics image formats as bellow.
+\textsf{graphicx} package supports already many graphics image formats as bellow.
\begin{itemize}
\item non-vector formats: jpg, png, bmp, and so on
\item PostScript-style formats: eps, ps
\item PDF-style formats: pdf, ai
\end{itemize}
-However, it currently does not support Adobe Photoshop Data format (PSD).
+However, it currently does not support Adobe Photoshop Data format (PSD).
-Against that, we developed the \textsf{graphicxpsd} package
-to support PSD format via PSD-to-PDF conversion
+Against that, we developed the \textsf{graphicxpsd} package
+to support PSD format via PSD-to-PDF conversion
with two image converters.
\begin{itemize}
-\item \texttt{sips}:
+\item \texttt{sips}:
pre-installed command in Darwin/macOS
-\item \texttt{magick}:
+\item \texttt{magick}:
bundled command in \href{https://www.imagemagick.org/}{ImageMagick}
\end{itemize}
@@ -48,34 +48,42 @@ Load \textsf{graphicxpsd} package after loading \textsf{graphicx} package.
The list of available options is the following.
\begin{itemize}
-\item |dvipdfmx|, |xetex|, |pdftex|, |luatex|:
-supported driver options;
+\item |dvipdfmx|, |xetex|, |pdftex|, |luatex|:
+supported driver options;
You can also give specific driver option from global option.
-\item |sips| (default), |magick| (same as |imagemagick|), |convert|\footnotemark:
-supported image converters;
+\item |sips| (default),
+|magick| (same as |imagemagick|), |convert|\footnotemark: % ,
+% |graphicsmagick|:
+supported image converters;
\begin{itemize}
-\item
-Darwin/macOS users do not have to do anything
-unless you choose ImageMagick as PSD-to-PDF converter.
-\item
-If you use ImageMagick~7, you may choose |magick|.
-\item
+\item
+Darwin/macOS users do not have to do anything
+unless you choose ImageMagick as PSD-to-PDF converter.
+\item
+If you use ImageMagick~7, you may choose |magick|.
+\item
If you should use ImageMagick~6 or lower version, you just choose |convert|.
+% \item
+% If you use GraphicsMagick, you may choose |graphicsmagick|.
\end{itemize}
+
+\item |cache=true|: supports to include cached images for all PSD files.
+If there does not exist the cached image for a PSD file,
+\textsf{graphicxpsd} attempts PSD-to-PDF conversion of the PSD file.
\end{itemize}
-\footnotetext{When ImageMagick project had released ImageMagick~7,
-they changed \texttt{convert} to \texttt{magick}
-because that might be the usual problem with the conflict of names
-between the ImageMagick's \texttt{convert.exe} and
-the Windows ``\texttt{convert.exe}'' program,
-which complains about invalid parameters, and
-changing the Imagemagick program's name to imconvert and
+\footnotetext{When ImageMagick project had released ImageMagick~7,
+they changed \texttt{convert} to \texttt{magick}
+because that might be the usual problem with the conflict of names
+between the ImageMagick's \texttt{convert.exe} and
+the Windows ``\texttt{convert.exe}'' program,
+which complains about invalid parameters, and
+changing the Imagemagick program's name to imconvert and
using that instead avoided the conflict.}
\section{Example}
-Typeset the following {\LaTeX} document with Lua{\TeX} enabling the shell escape,
+Typeset the following {\LaTeX} document with Lua{\TeX} enabling the shell escape,
that is, run |lualatex -shell-escape|.
\begin{quote}
\small
@@ -93,13 +101,13 @@ Then, the result is as below.
\begin{center}
\includegraphics{tigerpsdfmt.psd}
\end{center}
-Incidentally, the above \texttt{tigerpsdfmt.psd} file is converted from
-the \texttt{tiger.eps} file (a.k.a.~``cubic spline tiger''),
+Incidentally, the above \texttt{tigerpsdfmt.psd} file is converted from
+the \texttt{tiger.eps} file (a.k.a.~``cubic spline tiger''),
which comes with Ghostscript.
\begin{quote}
\small
\begin{verbatim}
-$ file tigerpsdfmt.psd
+$ file tigerpsdfmt.psd
tigerpsdfmt.psd: Adobe Photoshop Image, 550 x 568, RGBA, 4x 8-bit channels
\end{verbatim}
\end{quote}
diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex b/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex
index 6c45eb617f4..24f0965df4d 100644
--- a/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex
+++ b/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex
@@ -5,21 +5,26 @@
\documentclass[luatex]{article}%%set driver as global option
\usepackage{graphicx}
\usepackage[%
- magick,%imagemagick,%%same as the one; %%default: sips
+ magick,%imagemagick,graphicsmagick,%%same as the one; %%default: sips
% convert,%% old ImageMagick
+ cache=true,%%default: false
]{graphicxpsd}
\listfiles
\begin{document}
+\begin{itemize}
\makeatletter
-PSD-to-PDF: \@gfxpsd@psdtopdf
+\item PSD-to-PDF: \@gfxpsd@psdtopdf
+
+\item image cache: \if@gfxpsd@imagecache true\else false\fi
\makeatother
+\end{itemize}
%% $ file tigerpsdfmt.psd
%% tigerpsdfmt.psd: Adobe Photoshop Image, 550 x 568, RGBA, 4x 8-bit channels
\includegraphics{tigerpsdfmt.psd}
\end{document}
-$ pdfinfo tigerpsdfmt4gfxpsd.pdf
+$ pdfinfo tigerpsdfmt4gfxpsd.pdf
Title: tigerpsdfmt4gfxpsd
Producer: /opt/homebrew/Cellar/imagemagick/7.0.7-15/share/doc/ImageMagick-7//index.html
CreationDate: Sat Jan 27 00:10:51 2018 JST
@@ -37,7 +42,7 @@ File size: 1052740 bytes
Optimized: no
PDF version: 1.4
-$ pdfinfo tigerpsdfmt4gfxpsd.pdf
+$ pdfinfo tigerpsdfmt4gfxpsd.pdf
Producer: Mac OS X 10.13.4 Quartz PDFContext
CreationDate: Fri Jan 26 15:12:13 2018 JST
ModDate: Fri Jan 26 15:12:13 2018 JST
@@ -52,4 +57,4 @@ Page size: 99 x 102.24 pts
Page rot: 0
File size: 112882 bytes
Optimized: no
-PDF version: 1.3 \ No newline at end of file
+PDF version: 1.3
diff --git a/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty b/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty
index 3f170d9c2ff..ef6f1517b71 100644
--- a/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty
+++ b/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty
@@ -2,20 +2,21 @@
% #!rm -f tigerpsdfmt4* && xelatex -shell-escape test-gin-rule-psd
% #!rm -f tigerpsdfmt4* && pdflatex -shell-escape test-gin-rule-psd
%#!rm -f tigerpsdfmt4* && lualatex -shell-escape test-gin-rule-psd
+% #!lualatex -shell-escape test-gin-rule-psd
%%
%% This is file 'graphicxpsd.sty'.
%%
-%% Copyright (c) 2017, 2018 Munehiro Yamamoto
-%%
+%% Copyright (c) 2017-2021 Munehiro Yamamoto
+%%
%% * e-mail: munepixyz@gmail.com, munepi@greencherry.jp
%% * GitHub: https://github.com/munepi
%% * Twitter: @munepixyz
-%%
+%%
%% This package is licensed under the terms of the MIT License.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{graphicxpsd}
- [2018/01/30 v1.1 Adobe Photoshop Data format (PSD) support for graphicx package
+ [2021/01/07 v1.2 Adobe Photoshop Data format (PSD) support for graphicx package
with sips (Darwin/macOS)/magick (ImageMagick) command]
%% declare package errors
@@ -32,8 +33,9 @@
\DeclareOption{luatex}{\@gfxpsd@dvipdfmxfalse\@gfxpsd@pdftextrue}
\DeclareOption{pdftex}{\@gfxpsd@dvipdfmxfalse\@gfxpsd@pdftextrue}
-%% support two psd-to-pdf commands:
-%% sips (Darwin/macOS), magick/convert (ImageMagick)
+%% support two psd-to-pdf commands:
+%% sips (Darwin/macOS), magick/convert (ImageMagick),
+%% graphicsmagick (GraphicsMagick)
\newif\if@gfxpsd@imagemagick \@gfxpsd@imagemagickfalse
\def\@gfxpsd@psdtopdf{sips}%% as default
\DeclareOption{sips}{%
@@ -44,6 +46,15 @@
\@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{magick}}
\DeclareOption{convert}{%
\@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{convert}}
+\DeclareOption{graphicsmagick}{%
+ \@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{gm\GPT@space convert}}
+
+%% image cache flag
+\newif\if@gfxpsd@imagecache \@gfxpsd@imagecachefalse
+\DeclareOption{cache=true}{\@gfxpsd@imagecachetrue}
+\DeclareOption{cache=True}{\@gfxpsd@imagecachetrue}
+\DeclareOption{cache=false}{\@gfxpsd@imagecachefalse}
+\DeclareOption{cache=False}{\@gfxpsd@imagecachefalse}
\ProcessOptions\relax
@@ -79,11 +90,13 @@
%% read .psd file
\let\clone@Gread@pdf\Gread@pdf
\def\Gread@psdtopdf#1{%
- \typeout{converting: \Gin@base\Gin@ext\GPT@space -> \Gin@base4gfxpsd.pdf}%
- \if@gfxpsd@imagemagick
- \ShellEscape{\@gfxpsd@psdtopdf\GPT@space\Gin@base\Gin@ext\GPT@space\Gin@base4gfxpsd.pdf}%
+ \if@gfxpsd@imagecache
+ \IfFileExists{\Gin@base4gfxpsd.pdf}{%
+ \typeout{including cached image: \Gin@base4gfxpsd.pdf}%
+ }{\typeout{not found: \Gin@base4gfxpsd.pdf}%
+ \@gfxpsd@convert@psd@to@pdf}%
\else
- \ShellEscape{sips -s format pdf \Gin@base\Gin@ext\GPT@space --out \Gin@base4gfxpsd.pdf}%
+ \@gfxpsd@convert@psd@to@pdf
\fi
%% renamed inside: foo.psd -> foo4gfxpsd.pdf
\let\clone@Gin@base\Gin@base
@@ -93,6 +106,15 @@
% \typeout{!!! \Gin@base\Gin@ext}%%=> tigerpsdfmt4gfxpsd.pdf
\clone@Gread@pdf{#1}}
+\def\@gfxpsd@convert@psd@to@pdf{%
+ \typeout{converting: \Gin@base\Gin@ext\GPT@space -> \Gin@base4gfxpsd.pdf}%
+ \if@gfxpsd@imagemagick
+ \ShellEscape{\@gfxpsd@psdtopdf\GPT@space\Gin@base\Gin@ext\GPT@space\Gin@base4gfxpsd.pdf}%
+ \else
+ \ShellEscape{sips -s format pdf \Gin@base\Gin@ext\GPT@space --out \Gin@base4gfxpsd.pdf}%
+ \fi
+}
+
\endinput
%%
%% End of file `graphicxpsd.sty'.