blob: 9783dca37fcba2860b8e31899297efbf9d166750 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{spotcolor}
[2006/11/15 v1.2 Package for adding Spot Color support to pdfLaTeX.]
\newif\ifhks\hksfalse
\newif\ifpantone\pantonefalse
\DeclareOption{hks}{\hkstrue} % preload hks color values into "hks" colorspace
\DeclareOption{pantone}{\pantonetrue} % preload pantone color values into "pantone" colorspace
\ProcessOptions
\RequirePackage[pdftex]{graphics}
%\RequirePackage{color}
%
% Erzeugt neuen Colorspace
%
\newcommand\NewSpotColorSpace[1]{%
\expandafter\newtoks\csname #1\endcsname%
\csname #1\endcsname{}%
}
%
% Colorspace variable, color name, CMYK representation
% Adds a new spot color with the CMYK representation in the 2nd parameter (HEX with values from 00-FF)
%
\catcode`\#=12%
\def\SpotSpace{#20}
\catcode`\#=6%
\gdef\csgrab#1#2{#2\expandafter{\the#2 #1}}%
\newcount{\thecolorprofile}
\newcount{\thecolor}
\newcommand\AddSpotColor[4]{%
\def\obj{ 0 R}%
\pdfobj{<</C0[0 0 0 0]/FunctionType 2/C1[#4]/Domain[0 1]/N 1>>}%
\thecolorprofile=\the\pdflastobj%
\pdfobj{[/Separation/#3 /DeviceCMYK \the\thecolorprofile \obj]}% output color space Info
\thecolor=\the\pdflastobj%
\edef\tempcs{/#2 \the\pdflastobj \obj}%
\expandafter\csgrab\expandafter{\tempcs}{\csname #1\endcsname}%
\pdfrefobj\thecolorprofile%
\pdfrefobj\thecolor%
}%
%
% Sets a color space for the current page
%
\def\SetPageColorResource#1{%
\edef\act{\noexpand\pdfpageresources={\the\pdfpageresources\space
/ColorSpace<<#1>>}}
\act}
\newcommand\SetPageColorSpace[1]{%
\expandafter\SetPageColorResource\expandafter{\the\csname #1\endcsname}%
}%
%
% Sets the spot color
%
\def\SpotColor#1#2{%
\pdfliteral{/#1 cs}%
\pdfliteral{/#1 CS}%
\pdfliteral{#2 sc}%
\pdfliteral{#2 SC}%
}%
%
% Defines a new color space called spotcolor
% The spotcolor has to be set first by using AddSpotColor
% The code is taken and modified from color.sty's pdftex.def
%
\makeatletter
\def\color@spotcolor#1#2{\c@lor@@spotcolor#2\@@#1}
\def\c@lor@@spotcolor#1,#2\@@#3{%
\c@lor@arg{#2}%
\edef#3{/#1 cs /#1 CS #2 sc #2 SC}%
}
\makeatother
%
% If pantone or hks option specified then load corresponding color tables
%
\ifhks\input{spotcolorhks}\fi
\ifpantone\input{spotcolorpantone}\fi
|