texlive[42228] Master/texmf-dist: colorspace (6oct16)

commits+karl at tug.org commits+karl at tug.org
Sat Oct 8 00:26:01 CEST 2016


Revision: 42228
          http://tug.org/svn/texlive?view=revision&revision=42228
Author:   karl
Date:     2016-10-08 00:26:00 +0200 (Sat, 08 Oct 2016)
Log Message:
-----------
colorspace (6oct16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/colorspace/README
    trunk/Master/texmf-dist/doc/latex/colorspace/colorspace.pdf
    trunk/Master/texmf-dist/doc/latex/colorspace/colorspace.tex
    trunk/Master/texmf-dist/doc/latex/colorspace/colorspaceshade.png
    trunk/Master/texmf-dist/tex/latex/colorspace/colorspace.sty

Modified: trunk/Master/texmf-dist/doc/latex/colorspace/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/colorspace/README	2016-10-07 22:25:49 UTC (rev 42227)
+++ trunk/Master/texmf-dist/doc/latex/colorspace/README	2016-10-07 22:26:00 UTC (rev 42228)
@@ -1,25 +1,29 @@
 colorspace
 -----------
 
-PDF color spaces. Currently, it supports:
+This package provides some tools related to PDF color spaces and color
+management. It requires xcolor, which is loaded if it has not been
+before.
 
-* spot colors
-* mixing inks (spot and process), up to 4
+Currently it supports what I think are the most common tools:
+
+* Spot colors (CMYK and CIE LAB)
+* Mixed spot and process colors (up to 4)
 * ICC based default CMYK, RGB and Gray spaces
-* overprinting
+* Overprinting
 
-It requires xcolor and currently only supports pdftex and luatex.
+Currently only pdftex and luatex are supported.  It seems to work with tikz.
 
-For example, to define a spot color, just say:
+For example, to define a spot color, just say something like:
 
 \definespotcolor{foo}{BarTone 555 GN}{.3, .4, .5, .6}
 
-That's all. 
+That's all.
 
-Those docs, like the package itself, are still somewhat tentative, but
-the basic behaviour described here will be preserved in future
-versions.
+What's new
+----------
 
-Version 1.1.1 is compatible with luatex 0.95
+* 1.2.0 CIE LAB spot colors (including mixed inks with a CMYK alternative)
+* 1.1.1 is compatible with luatex 0.95
 
-2016-06-19
\ No newline at end of file
+2016-10-05
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/colorspace/colorspace.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/colorspace/colorspace.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/colorspace/colorspace.tex	2016-10-07 22:25:49 UTC (rev 42227)
+++ trunk/Master/texmf-dist/doc/latex/colorspace/colorspace.tex	2016-10-07 22:26:00 UTC (rev 42228)
@@ -21,26 +21,33 @@
 %% This work consists of the files colorspace.tex and colorspace.sty.
 \documentclass[a4paper]{ltxguide}
 
-\title{\textsf{colorspace}\\\large Version 1.1.1}
+\title{\textsf{colorspace}\\\large Version 1.2.0}
 
 \author{Javier Bezos\\\texttt{http://www.texnia.com}}
 
-\date{2016-09-12}
+\date{2016-10-05}
    
 \raggedright
 \parskip=.8ex
+\advance\oddsidemargin-.7cm
+\advance\textwidth2cm
+\addtolength{\textheight}{3.5cm}
+\addtolength{\topmargin}{-2cm}
 
 \newif\ifcolorspace
 \newif\iftikz
 
-\usepackage{graphicx}
+\usepackage{graphicx,bera}
 
 \IfFileExists{colorspace.sty}{%
-  \usepackage{colorspace}%
+  \usepackage[illuminant=d65]{colorspace}%
   \definespotcolor{foo}{BarTone 555 GN}{.8,.2,.5,.3}%
   \definespotcolor{foob}{BarTone 666 GN}[rgb]{.8, .2, .4}%
+  \definespotcolor{foolab}{BarTone 888 LB}[alt=lab]%
+     {50, -30, -40/1, .20, .15, .07}%
 %
   \definecolorspace{fooshaded}{mixed}{foo,black}%
+  \definecolorspace{labshaded}{mixed}{foolab,foob}%
 %
   \definecolor{sfoo}{fooshaded}{1,0}
   \definecolor{sblack}{fooshaded}{0,1}
@@ -54,13 +61,29 @@
   \tikztrue}{}
 
 \def\showclr#1#{\testclr{#1}}
-\def\testclr#1#2{{\fboxsep0pt\fbox{\colorbox#1{#2}{\phantom{XX}}}}}
+\def\testclr#1#2{{\fboxsep0pt\fbox{\colorbox#1{#2}{\phantom{,MM}}}}}
 
+\makeatletter
+\def\@begintheorem#1#2{%
+  \list{}{}%
+  \global\advance\@listdepth\m at ne
+  \item[{\sffamily\bfseries\color{foob}\MakeUppercase{#1}}]}%
+\makeatother
+\newtheorem{warning}{Warning}
+\newtheorem{note}{Note}
+\newtheorem{example}{Example}
+
 \begin{document}
 
-\maketitle
+{\fontsize{48}{48}\selectfont colorspace\par}
+{\LARGE Spot colors, mixed inks and more\par}
+\vspace*{1ex}
+Version 1.2.0 (2016-10-05)\par
+Javier Bezos (\texttt{http://www.texnia.com})
 
-The aim of this package is, as the name implies, to provide tools for
+\vspace*{6ex}
+
+The aim of this package is, as its name implies, to provide tools for
 PDF color spaces. It requires \textsf{xcolor}, which is loaded if it
 has not been before. It seems to work with \textsf{tikz}.
 
@@ -68,10 +91,11 @@
 \begin{itemize}
 \item Spot colors, with a clean user interface, and including tints
   (with the |!| notation).
+\item CIE LAB spot colors.
 \item Proper switching of color spaces.
 \item Mixed spot and process colors (up to 4), like shades (ie, a spot
-  color with black).
-\item ICC based default CMYK, RGB and Gray spaces.
+  color with black). Also CIE LAB if a CMYK equivalent is provided.
+\item ICC based (or ``tagged'') default CMYK, RGB and Gray spaces.
 \item Overprinting (across pages, using the color stack).
 \end{itemize}
 Currently only \textsf{pdftex} and \textsf{luatex} are
@@ -90,7 +114,7 @@
 latter, \textsf{graphicx} provides a plea of (undocumented)
 transformations: \texttt{interpolate}, \texttt{decodearray},
 \texttt{maskarray}, \texttt{intent}, \texttt{ocobjnum}, and
-\texttt{ocobjref}. For transparencies, see \textsf{transparent}, by
+\texttt{ocobjref}. For transparency, see \textsf{transparent}, by
 Heiko Oberdiek.
 
 This package is still evolving, but the basic behaviour described here
@@ -103,128 +127,267 @@
 and other additional features by Jens Elstner, Stephan Lehmke and Siep
 Kroonenberg (with some inspiration from \textsf{ConTeXt}, too).
 
-It does not provide a list of Pantone, TrueMatch, Folcoltone, Toyo,
-etc., colors. Currently you can find quite easily CMYK equivalents on
-the web, and after all they are intended to be used with a
-``physical'' palette (and not, as sometimes done, just picking a color
-just because looks nice on screen).
+\section{CMYK spot colors}
 
-\section{Spot colors}
+Spot colors are defined with a single macro:
 
 \begin{decl}
 |\definespotcolor{<latex-name>}{<PDF-name>}{<CMYK-equivalent>}|
 \end{decl}
 
-Write, for example:
+Here |<latex-name>| is the \LaTeX{} name, as used in \verb|\color| and
+the like, |<PDF-name>| is the PDF name (usually taken from a swatch
+book; multiple spaces are collapsed into one) as shown by PDF viewers,
+and the four numbers are the CMYK equivalent. \LaTeX{} knows nothing
+about the PDF name, which is just a string to be written to the
+generated file, while the PDF knows nothing about the \LaTeX{} name.
+
+To mix inks, see below.
+
+\begin{example}
+  Write, for example:
 \begin{verbatim}
 \definespotcolor{foo}{BarTone 555 GN}{.8,.2,.5,.3}
 \end{verbatim}
-\ifcolorspace
-  for \showclr{foo}.
-\fi
+  This creates the color \showclr{foo}, which is used in \LaTeX{} as
+  |\color{foo}|. If you preflight the PDF file you will see a color
+  named `BarTone 555 GN' besides cyan, magenta, yellow and black.
 
-That's all. Here \verb|foo| is the \LaTeX{} name, as used in
-\verb|\color| and the like, \verb|BarTone 555 GN| is the PDF name
-(multiple spaces are collapsed into one) as shown by PDF readers, and
-the four numbers are the CMYK equivalent. \LaTeX{} knows nothing about
-the PDF name, which is just a string to be written to the generated
-file, while the PDF knows nothing about the \LaTeX{} name.
-
 You can use tints as usual in \textsf{xcolor}, like:
 \begin{verbatim}
 \color{foo!50}
-\colorlet{foo60}{foo!50}
+\colorlet{foo50}{foo!50}
 \end{verbatim}
 \ifcolorspace
   which would produce \showclr{foo!50}, and
 \fi
-even set tints from other tints. To mix inks, see below.
+even set tints from other tints. 
+\end{example}
 
-The special PDF names \verb|All| (for all plates) and \verb|None| work
-as expected:
+\begin{note}
+  The special PDF names \verb|All| (for all plates) and \verb|None|
+  work as expected:
 \begin{verbatim}
 \definespotcolor{registration}{All}{1,1,1,1}
 \end{verbatim}
+\end{note}
 
-Internally, only CMYK is used for the equivalent color, but you can define
-the latter with another name space, which is then converted:
+\begin{note}
+ Remember as far PDF is concerned a spot color is a color space on
+ its own.
+\end{note}
+
+\begin{note}
+  This package does not provide a list of Pantone, TrueMatch, HKS,
+  Folcoltone, Toyo, etc., colors. Currently you can find quite easily
+  CMYK equivalents on the web, and after all they are intended to be
+  used with a ``physical'' swatch book (and not, as often done, by
+  picking a color from a ``virtual'' palette just because it looks
+  nice on screen).
+\end{note}
+
+\begin{decl}
+|\definespotcolor{<latex-name>}{<PDF-name>}[<model>]{<equivalent>}|
+\end{decl}
+
+Internally, only CMYK is used for the equivalent color, but with this
+variant you can define the latter with another name space, which is
+then converted.
+\begin{example} The following definition is based on RGB:
 \begin{verbatim}
 \definespotcolor{foob}{BarTone 666 GN}[rgb]{.8, .2, .4}
 \end{verbatim}
-\ifcolorspace
-which yields \showclr{foob}.
-\fi
-Remember as far PDF is concerned a spot color is a color space on its
-own.
+  which yields \showclr{foob}.  Here \textsf{xcolor} just
+  converts this value to CMYK, which is still the space used
+  internally.
+\end{example}
 
-\section{Mixing spot colors}
+\begin{warning}
+  This conversion relies on the \textsf{xcolor} numerical methods,
+  which do not take into account any color profile and therefore
+  should be avoided in production if the alternate space is going to
+  be actually used. It is provided just for convenience in drafting or
+  in contexts where accuracy is not essential.
+\end{warning}
 
+\section{CIE LAB spot colors}
+
+Instead of targeting the CMYK space, spot colors may be defined using
+the CIE LAB (also known as L*a*b*, or even just Lab) space. Unlike the
+default CMYK space, which is by default device dependend, the Lab
+space is device independent. To define a Lab spot color, you must
+first set the illuminant with the package option |illuminant|, which
+takes a value:
+\begin{verbatim}
+\usepackage[illuminant=d65]{colorspace}
+\end{verbatim}
+Values are \texttt{a}, \texttt{c}, \texttt{e}, \texttt{d50},
+\texttt{d55}, \texttt{d65}, \texttt{d75}.
+
+The command to define a color is:
 \begin{decl}
-  |\definecolorspace{<latex-name>}{mixed}{<color-list>}|
+|\definespotcolor{<latex-name>}{<PDF-name>}[alt=lab]{<Lab-values>}|
 \end{decl}
+Note the optional argument with the string |alt=lab| (which cannot be
+combined with a model). The three |<Lab-values>| have ranges
+\textit{L}* $=$ $0$\ldots$100$, \textit{a}* $=$ $-$128$\ldots$127,
+\textit{b}* $=$ $-$128{\ldots}127, respectively.
 
-To mix spot colors you must first declare a color space (or model)
-including them. This is done with something like:
+\begin{example}
+  With
 \begin{verbatim}
-\definecolorspace{name}{mixed}{color1,color2,color3}
+\definespotcolor{foolab}{BarTone 888 LB}[alt=lab]{50, -30, -40}
 \end{verbatim}
-(The second argument is the type of color space.)  For example, if we
-have two spot colors named \verb|spot1| and \verb|spot2|, and we want
-in addition yellow:
+the result is \showclr{foolab}. An example of tint is
+\verb|\color{foolab!30}| (\showclr{foolab!30}).
+\end{example}
+
+\begin{warning}
+  The package does not warn if the color falls outside the gamut of
+  the CMYK space or if the color is not visible. To put it in
+  other words, you should not just write some arbitrary values to see
+  what happens.
+\end{warning}
+
+\begin{warning}
+  This model is not available in \textsf{xcolor}. If you need some
+  transformation, you must resort to an external tool like
+  \textsf{transicc} (or \textsf{icctrans}) included in Little
+  CMS\footnote{\texttt{http://www.littlecms.com/1/downloads.htm}}.
+\end{warning}
+
+\begin{warning}
+  There is no default illuminant -- it must be set if Lab colors are
+  defined.
+\end{warning}
+
+\begin{note}
+  The observer is currently only 2$^\circ$ (1931).
+\end{note}
+
+The Lab space allows to define colors accurately, but there is a price
+to pay -- mixing Lab colors is not in general possible except after
+converting them somehow to CMYK or RGB.\footnote{There are no simple
+rules to carry out those transformations, which, I think, explains why
+\textsf{xcolor} does not support Lab at all}. Since currently mixing
+colors in this package is based on CMYK, you must provide an alternate
+value as shown, if mixed inks are required\footnote{Internally, and
+in PDF jargon, Lab is the ``alternate space'' and ``tints transforms''
+are based on CMYK}:
 \begin{verbatim}
-\definecolorspace{spot12y}{mixed}{spot1,spot2,yellow}
+\definespotcolor{foolab}{BarTone 888 LB}[alt=lab]{50, -30, -40/1, .20, .15, .07}
 \end{verbatim}
-A typical usage, for shades, would be:
+
+\section{Mixing spot colors}
+
+To mix spot colors you must first declare a color space (or model)
+including them. This is done with the following macro:
+
+\begin{decl}
+  |\definecolorspace{<latex-name>}{mixed}{<color-list>}|
+\end{decl}
+
+Here, |<latex-name>| is the name to be used in |\color| and the
+like as the color model. The second argument is the string |mixed|,
+and the last one is a list of up to 4 colors, either defined with
+\textsf{xcolor} using the CMYK model or spot.
+
+\begin{example}
+  A simple and typical usage would be for shades:
 \begin{verbatim}
 \definecolorspace{fooshaded}{mixed}{foo,black}
 \end{verbatim}
-
-Then, you can define a color with:
+  Then, you can define a color in this new model named
+  \verb|fooshaded| with:
 \begin{verbatim}
-\definecolor{mix12y}{spot12y}{.5,.4,.6}
 \definecolor{darkfoo}{fooshaded}{.6,.3}
 \end{verbatim}
-or set it with
+Or set it with:
 \begin{verbatim}
-\color[spot12y]{.5,.4,.3}
 \color[fooshaded]{.6,.3}
 \end{verbatim}
+In both cases, the mix is 60\% \verb|foo| and 30\% \verb|black|.
+\end{example}
 
-Due to internal limitations of \textsf{xcolor}, no more than four
-colors are allowed.
+\begin{example}
+  If we have two spot colors named \verb|spot1| and \verb|spot2|, and
+  we want in addition yellow:
+\begin{verbatim}
+\definecolorspace{mix12y}{mixed}{spot1,spot2,yellow}
+\end{verbatim}
+To define a new color based on this space:
+\begin{verbatim}
+\definecolor{mix12y}{mix12y}{.5,.4,.6}
+\end{verbatim}
+And to set it:
+\begin{verbatim}
+\color[mix12y]{.5,.4,.6}
+\end{verbatim}
+\end{example}
 
-The alternate color space in the PDF file is that of the spot colors
-(which means currently it is CMYK).
+\begin{example}
+Here is a duotone mixing the \verb|foob| and \verb|foolab| colors defined above:
+\begin{verbatim}
+\definecolorspace{labshaded}{mixed}{foolab,foob}
+\end{verbatim}
+The colors corresponding to:
+\begin{verbatim}
+\color[labshaded]{1,0} \color[labshaded]{.8,.2}
+\color[labshaded]{.6,.4} \color[labshaded]{.4,.6}
+\color[labshaded]{.2,.8} \color[labshaded]{0,1}
+\end{verbatim}
+are \showclr[labshaded]{1,0} \showclr[labshaded]{.8,.2}
+  \showclr[labshaded]{.6,.4} \showclr[labshaded]{.4,.6}
+  \showclr[labshaded]{.2,.8} \showclr[labshaded]{0,1}
+\end{example}
 
-As with spot colors, the only operation allowed is \verb|!| for tints
-(ie, \verb|color!num|). But there is an easy trick to mix colors with
-\verb|!| and \verb|color,num| -- just define an ortogonal set of
-colors based on the new color model:
+\begin{warning}
+  Due to internal limitations of \textsf{xcolor}, no more than four
+  colors are allowed.
+\end{warning}
+
+\begin{note}
+  The alternate color space in the PDF file is that of the spot colors
+  (which means currently it is CMYK).
+\end{note}
+
+\begin{note}
+  There is an easy trick to mix colors with \verb|!| and
+  \verb|color,num| -- just define an ortogonal set of colors based on
+  the new color model:
 \begin{verbatim}
-\definecolor{xspot1}{spot12y}{1,0,0}
-\definecolor{xspot2}{spot12y}{0,1,0}
-\definecolor{xyellow}{spot12y}{0,0,1}
+\definecolor{xspot1}{mix12y}{1,0,0}
+\definecolor{xspot2}{mix12y}{0,1,0}
+\definecolor{xyellow}{mix12y}{0,0,1}
 \end{verbatim}
-and then you can say:
+  and then you can say:
 \begin{verbatim}
 \color{xspot1!30!xspot2!40!xyellow}
-\color{spot12y:xspot1,3;xspot2,2;xyellow,1}
+\color{mix12y:xspot1,3;xspot2,2;xyellow,1}
 \end{verbatim}
-Of course, it is just a trick and a better and direct interface is
-under study (none of those provided by \textsf{xcolor} fits really
-with the new |mixed| models).
+  Of course, it is just a trick and a better and direct interface is
+  under study (none of those provided by \textsf{xcolor} fits well
+  with the new |mixed| models).
+\end{note}
 
+\begin{warning}
+  Mixing colors in \verb|\color|, \verb|\definecolor| and the like
+  from diferent spaces can lead to unexpected results (currently no
+  checking is done).
+\end{warning}
+
 Color series (see the \textsf{xcolor} documentation) are also
 partially supported. For example:
 \begin{verbatim}
-\definecolorseries{test}{spot12y}{grad}[spot12y]{.95,.85,.55}{3,11,17}
-\definecolorseries{test}{spot12y}{last}{xyellow!50}{xspotA}
+\definecolorseries{test}{mix12y}{grad}[mix12y]{.95,.85,.55}{3,11,17}
+\definecolorseries{test}{mix12y}{last}{xyellow!50}{xspotA}
 \end{verbatim}
 
 \ifcolorspace
-Here is a example with some of the described
-techniques, based on the |fooshaded| space defined above (figure 1
-shows the |foo| plate):
+\begin{example}
+  Here is a example with some of the described techniques, based on
+  the |fooshaded| space defined above (figure 1 shows the |foo|
+  plate):
 
 \begin{verbatim}
 \definecolor{sfoo}{fooshaded}{1,0}
@@ -233,14 +396,14 @@
 \def\testclr#1{{\fboxsep0pt\fbox{\colorbox{#1}{\phantom{XX}}}}}
 \resetcolorseries[8]{shseries}
 \begin{tabular}{cccccccc}
-0 \testclr{shseries!!+} &
-1 \testclr{shseries!!+} &
-2 \testclr{shseries!!+} &
-3 \testclr{shseries!!+} &
-4 \testclr{shseries!!+} &
-5 \testclr{shseries!!+} &
-6 \testclr{shseries!!+} &
-7 \testclr{shseries!!+}
+  0 \testclr{shseries!!+} &
+  1 \testclr{shseries!!+} &
+  2 \testclr{shseries!!+} &
+  3 \testclr{shseries!!+} &
+  4 \testclr{shseries!!+} &
+  5 \testclr{shseries!!+} &
+  6 \testclr{shseries!!+} &
+  7 \testclr{shseries!!+}
 \end{tabular}
 \end{verbatim}
 
@@ -248,36 +411,35 @@
 \def\testclr#1{{\fboxsep0pt\fbox{\colorbox{#1}{\phantom{XX}}}}}
 \resetcolorseries[8]{shseries}
 \begin{tabular}{cccccccc}
-0 \testclr{shseries!!+} &
-1 \testclr{shseries!!+} &
-2 \testclr{shseries!!+} &
-3 \testclr{shseries!!+} &
-4 \testclr{shseries!!+} &
-5 \testclr{shseries!!+} &
-6 \testclr{shseries!!+} &
-7 \testclr{shseries!!+}
+  0 \testclr{shseries!!+} &
+  1 \testclr{shseries!!+} &
+  2 \testclr{shseries!!+} &
+  3 \testclr{shseries!!+} &
+  4 \testclr{shseries!!+} &
+  5 \testclr{shseries!!+} &
+  6 \testclr{shseries!!+} &
+  7 \testclr{shseries!!+}
 \end{tabular}
 \endgroup
+\end{example}
 \fi
 
 \begin{figure}
 \fbox{\includegraphics[width=\linewidth]{colorspaceshade.png}}
 \caption{Plate for the \texttt{foo} spot color as shown by Adobe
-Acrobat. Note the \texttt{foob} spot color defined in this document
-is listed, too.}
+Acrobat. Note both \texttt{foob} and \texttt{foolab},
+defined in this document, are listed, too.}
 \end{figure}
 
-The key is not to mix a |mixed| model with other color models.
-
 \section{Page color spaces}
 
 Each PDF page must know which colors will be used (other than the
-predefined CMYK, RGB and Gray). By default, \textsf{colorspace} turn
+predefined CMYK, RGB and Gray). By default, \textsf{colorspace} turns
 on for every page all newly defined colors, and that will be fine in
-most cases. However, you may want to set explicitly the list. Use this
-feature with care, because (1) the asynchronous nature of \TeX{}
-(remember it affects the whole current page), and (2) each
-distinct color list creates a PDF resource.
+most cases. However, you may want to set explicitly the list (for
+covers or plates). Use this feature with care, because (1) the
+asynchronous nature of \TeX{} (remember it affects the whole current
+page), and (2) each distinct color list creates a PDF resource.
 
 \begin{decl}
 |\pagecolorspace{<color-list>}|\\
@@ -292,7 +454,7 @@
 (It can be empty.) To return to the default color space, which
 contains all the defined spot colors, use \verb|\resetpagecolorspace|.
 
-\section{ICC Based spaces}
+\section{ICC based spaces}
 
 \begin{decl}
   |\definecolorspace*{<latex-name>}{iccbased}{<icc-file>}|
@@ -300,7 +462,7 @@
 The starred version \verb|\definecolorspace*| does not define a new
 color model, but sets the behaviour of the three basic color spaces
 (CMYK, RGB and Gray).  When belonging to the same space, the last
-definition for that space takes precedence and its considered the
+definition for that space takes precedence and it is considered the
 default one. It cannot be used to define new colors or set
 them. Currently, only a type is supported -- \verb|iccbased|.  For
 example,
@@ -310,19 +472,47 @@
 
 The space it applies to is read from the ICC profile.
 
-Note those ICC spaces does not go to the output intent dictionary (see
-the \textsf{pdfx} package). The latter, as the PDF reference explains,
-supplements rather than replaces the ICC profiles in a default color
-space.
-
 The name can be used in \verb|\pagecolorspace|. Alternatively, there
 are 3 reserved names: \verb|*rgb|, \verb|*gray|, \verb|*cmyk|, which
-stand for the current default spaces. Named ICC based spaces are not
-set by \verb|\resetpagecolorspace|, but the starred named are. On the
-other hand, the starred names are not set automatically by
-|\pagecolorspace|, and you must set them explicitly if you want them
-to be active.
+stand for the last-defined, default ICC based spaces. Named ICC based
+spaces are not set by \verb|\resetpagecolorspace|, but the starred
+named are. On the other hand, the starred names are not set
+automatically by |\pagecolorspace|, and you must set them explicitly
+if you want them to be active.
 
+\begin{note}
+  Those ICC spaces do not go to the output intent dictionary (see
+  the \textsf{pdfx} package). The latter, as the PDF reference
+  explains, supplements rather than replaces the ICC profiles in a
+  default color space.
+\end{note}
+
+\begin{example}
+  Given the following declarations:
+\begin{verbatim}
+\definecolorspace*{sRGB}{iccbased}{sRGB Profile.icc}
+\definecolorspace*{colormatch}{ColorMatchRGB.icc}
+\end{verbatim}
+  and remembering the RGB space is always active (like the CMYK and
+  Gray ones),
+\begin{verbatim}
+\pagecolorspace{}
+\end{verbatim}
+leaves the RGB space unprofiled;
+\begin{verbatim}
+\pagecolorspace{sRGB}
+\end{verbatim}
+sets the RGB space to sRGB; while the following are (in this
+particular example) equivalent:
+\begin{verbatim}
+\pagecolorspace{colormatch}
+\pagecolorspace{*rgb}
+\resetpagecolorspace
+\end{verbatim}
+
+
+\end{example}
+
 \section{Overprinting}
 
 This is usually a pre-print task, but by setting it in the document
@@ -346,11 +536,17 @@
 
 Since the color stack is used, pdf\TeX{} $\ge$ 1.40 is required.
 
+\begin{warning}
+  Some PDF viewers ignore this setting.
+\end{warning}
+
 \section{Version}
 
 1.1.1. No new features. Just internal changes related to
 \textsc{luatex} and new manual.
 
+1.2.0. CIE LAB spot colors and |illuminant|. Manual rewritten.
+
 \end{document}
 
 

Modified: trunk/Master/texmf-dist/doc/latex/colorspace/colorspaceshade.png
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/colorspace/colorspace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/colorspace/colorspace.sty	2016-10-07 22:25:49 UTC (rev 42227)
+++ trunk/Master/texmf-dist/tex/latex/colorspace/colorspace.sty	2016-10-07 22:26:00 UTC (rev 42228)
@@ -21,7 +21,7 @@
 %% This work consists of the files colorspace.tex and colorspace.sty.
 
 \ProvidesPackage{colorspace}
-          [2016/09/12 v1.1.1 PDF color spaces (spot colors...) for
+          [2016/10/05 v1.2.0 PDF color spaces (spot colors...) for
           pdftex and luatex]
 
 \edef\spc at savedcatcodes{%
@@ -49,9 +49,7 @@
   \protected\def\spc at Colorstack{\pdfextension colorstack}
   \def\spc at Colorstackinit{\pdffeedback colorstackinit}
 \fi
-
-%
-
+ 
 \def\spc at unknown#1#2{%
   \@ifundefined{#1}%
     {\PackageError{colorspace}{Unknown #2}%
@@ -130,6 +128,25 @@
 
 \newcommand\definespotcolor[2]{\protected at edef\spc at tempa{{#1}{#2}}\spc at defsc}
 \newcommand\spc at defsc[2][cmyk]{\expandafter\spc at defsc@i\spc at tempa{#1}{#2}}
+
+\def\spc at splitbar#1#2#3/#4\@nil{%
+  \def#1{#3}%
+  \def#2{#4}}
+
+\let\spc at lab@values\relax
+
+\@namedef{spc at opt@alt=lab}#1{%
+  \@expandtwoargs\in@{/}{#1}%
+  \ifin@
+    \spc at splitbar\spc at lab@values\spc at the@cmyk#1\@nil
+  \else
+    \def\spc at lab@values{#1}%
+    \def\spc at the@cmyk{0,0,0,0}% dummy
+  \fi
+  \def\spc at tempd##1,{% comma -> space
+    \ifx\@empty##1\else##1 \expandafter\spc at tempd\fi}%
+  \edef\spc at lab@values{\expandafter\spc at tempd\spc at lab@values,\@empty,}}
+ 
 \def\spc at defsc@i#1#2#3#4{%
   \def\spc at tempc##1 ##2{% Converts spaces to #20
     ##1%
@@ -145,11 +162,22 @@
         {This spot name was taken by `##2'.}%
     \fi}
   \spc at csall
-  \definecolor{#1}{cmyk:#3}{#4}% internally always cmyk
-  \expandafter\spc at cmyktospot{#1}\spc at tempb % Convert from cmyk to spot  
-  \immediate\spc at Obj{[ /Separation /\spc at tempb\space
-    /DeviceCMYK << /FunctionType 2 /Domain [0 1]
-    /C0 [0 0 0 0] /C1 [\spc at tempa] /N 1 >> ]}% pdf separation
+  \@ifundefined{spc at opt@\zap at space#3 \@empty}%
+    {\definecolor{#1}{cmyk:#3}{#4}}%
+    {\@nameuse{spc at opt@\zap at space#3 \@empty}{#4}%
+     \definecolor{#1}{cmyk}{\spc at the@cmyk}}%
+  \expandafter\spc at cmyktospot{#1}\spc at tempb % Convert cmyk > spot  
+  \ifx\spc at lab@values\relax
+    \immediate\spc at Obj{[ /Separation /\spc at tempb\space
+      /DeviceCMYK << /FunctionType 2 /Domain [0 1]
+      /C0 [0 0 0 0] /C1 [\spc at tempa] /N 1 >> ]}% pdf separation
+  \else
+    \immediate\spc at Obj{[ /Separation /\spc at tempb\space
+      \spc at illum@ref << /FunctionType 2 /Domain [0 1]
+      /Range[0 100 -128 127 -128 127]
+      /C0 [100 0 0] /C1 [\spc at lab@values] /N 1 >> ]}% pdf separation
+    \global\let\spc at lab@values\relax
+  \fi
   \expandafter\xdef\csname spc at ir@#1\endcsname{%
     /&\spc at tempb\space\the\spc at Lastobj\space 0 R}% save ref to obj
   \let\spc at elt\relax
@@ -160,6 +188,23 @@
     \resetpagecolorspace
   \fi}
 
+% Options for illuminants:
+
+\def\spc at illum@obj#1{%
+  \immediate\spc at Obj{[ /Lab
+    << /WhitePoint [#1] /Range [-128 127 -128 127] >> ]}%
+  \xdef\spc at illum@ref{\the\spc at Lastobj\space 0 R }}
+
+% 1931, 2-degree observer. c is deprecated
+
+\DeclareOption{illuminant=a}{\spc at illum@obj{1.0985 1 0.3558}}
+\DeclareOption{illuminant=c}{\spc at illum@obj{0.9807 1 1.1822}}
+\DeclareOption{illuminant=e}{\spc at illum@obj{1 1 1}}
+\DeclareOption{illuminant=d50}{\spc at illum@obj{0.9642 1 0.8251}} 
+\DeclareOption{illuminant=d55}{\spc at illum@obj{0.9568 1 0.9214}}
+\DeclareOption{illuminant=d65}{\spc at illum@obj{0.9504 1 1.0888}}
+\DeclareOption{illuminant=d75}{\spc at illum@obj{0.9497 1 1.2261}}
+ 
 % Page color spaces. The arrays mapping the spot colors to the obj
 % refs are saved into the pdf as objects, and then we also save its
 % reference for later recovery. Well, \pdfpageresources is not



More information about the tex-live-commits mailing list