9.12 Text Decoration

  9.12.1 color
  9.12.2 xcolor
  9.12.3 colortbl.sty
  9.12.4 Soul

9.12.1 color

<..configure html4 color..>
 \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 html4 color..>+
 \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.>
-_-_-

<..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)

<..HColor util..>+
 \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}%
 }
-_-_-

<..color.sty config 4.0t..>
 \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>}}
-_-_-

<..color.sty config 4.0t..>+
 \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
     }
-_-_-

<..colorbox background..>
 \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}{}}
     {}

<..color.sty config 4.0t..>+
 \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}
-_-_-

<..fcolorbox border..>
 \let\A:color=\a:color
 \Configure{color}%
     {<.fcolor background.>%
      \Configure{SetHColor}{%
          \Css{\#colorbox\textcolorN{border: solid 1px  \HColor;}}}%
     }%
-_-_-

<..fcolor background..>
 \Configure{color}%
     {\let\a:color=\A:color
      \Configure{SetHColor}{%
          \Css{\#colorbox\textcolorN{background-color: \HColor;}}%
     }}%
-_-_-

9.12.2 xcolor

<..configure html4 xcolor..>
 \Configure{rowcolors}
    {\Configure{SetHColor}{%
       \expandafter\ifx \csname HColor\endcsname\relax \else
           \Css{tr\#TBL-\TableNo-\the\rownum-{background-color:\HColor}}%
       \fi
    }}
-_-_-

<..configure html4 xcolor..>+
 \Configure{HColor!gray}{%
    \XC@c@lcD\rangeGray{}{#1}\@@tmp
    \int:of\:tempa{255}{\@@tmp}%
    \Configure{HColor}{}{rgb(\:tempa,\:tempa,\:tempa)}%
 }
-_-_-

9.12.3 colortbl.sty

<..configure html4 colortbl..>
 \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]

9.12.4 Soul

<..configure html4 soul..>
 \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}}
-_-_-

<..soul color..>
 \Configure{textcolor}
    {\gHAdvance\textcolorN by 1
     \Configure{color}%
       {\Configure{SetHColor}
            {\Css{span\#textcolor\textcolorN{background-color:\HColor}}}}%
     \HCode{<span id="textcolor\textcolorN">}}%
    {\HCode{</span>}}%
-_-_-