\Configure{HColor}{red}{\#FF0000}
\Configure{HColor}{rgb 1 0 0}{\#FF0000}
\Configure{HColor}{blue}{\#0000FF}
\Configure{HColor}{rgb 0 0 1}{\#0000FF}
\Configure{HColor}{green}{\#00FF00}
\Configure{HColor}{rgb 0 1 0}{\#00FF00}
\Configure{HColor}{white}{\#FFFFFF}
\Configure{HColor}{gray 1}{\#FFFFFF}
\Configure{HColor}{rgb 1 1 1}{\#FFFFFF}
\Configure{HColor}{black}{\#000000}
\Configure{HColor}{gray 0}{\#000000}
\Configure{HColor}{rgb 0 0 0}{\#000000}
\Configure{HColor}{cyan}{\#00FFFF}
\Configure{HColor}{cmyk 1 0 0 0}{\#00FFFF}
\Configure{HColor}{magenta}{\#FF00FF}
\Configure{HColor}{cmyk 0 1 0 0}{\#FF00FF}
\Configure{HColor}{yellow}{\#FFFF00}
\Configure{HColor}{cmyk 0 0 1 0}{\#FFFF00}
\Configure{color}{\:gobble}
<.color.sty config 4.0t.> -_-_-
\Configure{HColor:gray}{%
\int:of\:tempa{255}{#1}%
\Configure{HColor}{}{rgb(\:tempa,\:tempa,\:tempa)}%
}
\Configure{HColor:rgb}{%
\int:of\:tempa{255}{#1}%
\int:of\:tempb{255}{#2}%
\int:of\:tempc{255}{#3}%
\Configure{HColor}{}{rgb(\:tempa,\:tempb,\:tempc)}%
}
\Configure{HColor:cmyk}{%
\int:of\:Cyan{255}{#1}%
\int:of\:Magenta{255}{#2}%
\int:of\:Yellow{255}{#3}%
\int:of\:Black{255}{#4}%
\:cmyk\:tempa\:Cyan
\:cmyk\:tempb\:Magenta
\:cmyk\:tempc\:Yellow
\Configure{HColor}{}{rgb(\:tempa,\:tempb,\:tempc)}%
}
<.HColor util.> -_-_-
\def\int:of#1#2#3{%
\tmp:dim=#3pt \tmp:dim=#2\tmp:dim
\edef\:temp{\tmp:cnt\the\tmp:dim//}%
\def#1##1//{}\afterassignment#1\:temp
\edef#1{\the\tmp:cnt}%
}
-_-_-
cmyk -> gray
(1 - 0.299c - 0.587m - 0.114y)(1 - k)
cmyk -> rgb
Red = 1-minimum(1,Cyan *(1-Black)+Black)
Green = 1-minimum(1,Magenta*(1-Black)+Black)
Blue = 1-minimum(1,Yellow *(1-Black)+Black)
\def\:cmyk#1#2{%
\tmp:cnt=255 \advance\tmp:cnt by -\:Black
\multiply\tmp:cnt by#2 \advance\tmp:cnt by \:Black
\advance\tmp:cnt by -255 \tmp:cnt=-\tmp:cnt
\ifnum \tmp:cnt<0 \tmp:cnt=0 \fi
\edef#1{\the\tmp:cnt}%
}
-_-_-
\HAssign\textcolorN=0
\Configure{textcolor}
{\gHAdvance\textcolorN by 1
\Configure{color}%
{\Configure{SetHColor}
{\Css{span\#textcolor\textcolorN{color:\HColor}}}}%
\HCode{<span id="textcolor\textcolorN">}}%
{\HCode{</span>}}
-_-_-
\Configure{colorbox}
{\bgroup
\gHAdvance\textcolorN by 1
\ifvmode \let\v:colorbox\def \IgnorePar \EndP
\else \let\v:colorbox=\relax \fi
<.colorbox background.>%
\HCode{<\ifx \v:colorbox\def div\else span\fi \Hnewline
class="colorbox" id="colorbox\textcolorN">}}%
{\ifx \v:colorbox\def \EndP\HCode{</div>}\par
\else \HCode{</span>}\fi
\egroup
} -_-_-
\let\A:color=\a:color
\Configure{color}%
{\let\a:color=\A:color
\Configure{SetHColor}
{\Css{\ifx \v:colorbox\def div\else span\fi
\#colorbox\textcolorN{background-color:\HColor;}}}}%
-_-_-
\Configure{fcolorbox}
{\gHAdvance\textcolorN by 1
\let\A:color=\a:color
\Configure{color}%
{\Configure{SetHColor}{\Css{\#colorbox\textcolorN{border:
solid 1px \HColor;}}}}%
\Configure{fbox}{\leavevmode
\gHAdvance\textcolorN by -1 \let\a:color=\A:color}{}}
{}
\Configure{fcolorbox}
{\bgroup\gHAdvance\textcolorN by 1
\ifvmode \let\v:colorbox\def \IgnorePar \EndP
\else \let\v:colorbox=\relax \fi
\HCode{<\ifx \v:colorbox\def div\else span\fi \Hnewline
class="colorbox" id="colorbox\textcolorN">}%
<.fcolorbox border.>%
\Configure{fbox}{\leavevmode }{}%
}
{\ifx \v:colorbox\def \EndP\HCode{</div>}\par
\else \HCode{</span>}\fi \egroup} -_-_-
\let\A:color=\a:color
\Configure{color}%
{<.fcolor background.>%
\Configure{SetHColor}{%
\Css{\#colorbox\textcolorN{border: solid 1px \HColor;}}}%
}% -_-_-
\Configure{color}%
{\let\a:color=\A:color
\Configure{SetHColor}{%
\Css{\#colorbox\textcolorN{background-color: \HColor;}}%
}}%
-_-_-
\Configure{rowcolors}
{\Configure{SetHColor}{%
\expandafter\ifx \csname HColor\endcsname\relax \else
\Css{tr\#TBL-\TableNo-\the\rownum-{background-color:\HColor}}%
\fi
}}
-_-_-
\Configure{HColor!gray}{%
\XC@c@lcD\rangeGray{}{#1}\@@tmp
\int:of\:tempa{255}{\@@tmp}%
\Configure{HColor}{}{rgb(\:tempa,\:tempa,\:tempa)}%
}
-_-_-
\Configure{@classz}
{\let\begin:current@color=\relax
\let\end:current@color=\relax }
{%
\ifx \CT@column@color\relax \else
\ifx \CT@column@color\empty \else{%
\def\CT@color{\@ifnextchar[\color:ii\color:i}%
\CT@column@color<.par del.>%
\edef\:temp{\noexpand\add:color
{background-color}{\:temp}{\ar:cnt}}\:temp
}\fi \fi
}
{\begin:current@color}
{\end:current@color}
\Configure{rowcolor}{\row:clr}
\def\row:clr#1{{%
\HAdvance\HRow by 1
\add:color{background-color}{#1}{\HRow-}}}
\Configure{text-colortbl}
{\add:color{color}{\current@color}{\HRow-\HCol}}
\Configure{cell-colortbl}
{\add:color{background-color}{\current@color}{\HRow-\HCol}}
\def\add:color#1#2#3{%
\Configure{SetHColor}{\Css{ \#TBL-\TableNo-#3{ #1:\HColor }}}{#2}} -_-_-
[test file]
\Configure{textcaps}
{\HCode{<span class="textcaps">}}
{\HCode{</span>}}
\Configure{texthl}
{\HCode{<span class="texthl">}\bgroup
\ifx\sethlcolor\:gobble\else <.soul color.>\fi}
{\egroup \HCode{</span>}}
\Configure{textso}
{\HCode{<span class="textso">}}
{\HCode{</span>}}
\Configure{textst}
{\HCode{<span class="textst">}\bgroup
\ifx\setstcolor\:gobble\else <.soul color.>\fi}
{\egroup \HCode{</span>}}
\Configure{textul}
{\HCode{<span class="textul">}\bgroup
\ifx\setulcolor\:gobble\else <.soul color.>\fi}
{\egroup \HCode{</span>}}
\Css{span.textso{letter-spacing: 0.3em; word-spacing: 0.3em}}
\Css{span.textul{text-decoration:underline}}
\Css{span.textst{text-decoration:line-through}}
\Css{span.textcaps{font-variant:small-caps}} -_-_-
\Configure{textcolor}
{\gHAdvance\textcolorN by 1
\Configure{color}%
{\Configure{SetHColor}
{\Css{span\#textcolor\textcolorN{background-color:\HColor}}}}%
\HCode{<span id="textcolor\textcolorN">}}%
{\HCode{</span>}}%
-_-_-