<..listings.4ht..>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% listings.4ht 2014-07-12-22:36 %
% Copyright (C) 2001--2009 Eitan M. Gurari %
<.TeX4ht copyright.>
<.listings sty.>
<.lstmisc sty.>
\Hinput{listings}
\endinput
-_-_-
<..listings sty..>
\append:defII\lst@EnterMode{%
\ifx \lsthk:EveryLine\:UnDef
\let\lsthk:EveryLine\lsthk@EveryLine
\fi
\ifx \lsthk:EveryLine\lsthk@EveryLine
\pend:def\lsthk@EveryLine{\c:listings
\def\dd:listings{\d:listings\let\dd:listings\empty}}%
\fi
\append:def\lsthk@EveryPar{\dd:listings}%
\a:listings\bgroup
\Configure{$}{}{}{}%
\aftergroup\lst:EnterMode }
\def\lst:EnterMode{\b:listings\egroup}
\NewConfigure{listings}{4}
\let\dd:listings=\empty
-_-_-
Configure listings: befoe env, after env, before ln, between # and content.
<..listings sty..>+
\append:defI\lst@Init{\csname a:listings-init\endcsname}
\pend:def\lst@DeInit{\csname b:listings-init\endcsname}
\NewConfigure{listings-init}{2}
-_-_-
<..listings sty..>+
\lst@AddToHook{TextStyle}{%
\Configure{listings}{}{}{}{}%
\a:lstinline \bgroup \aftergroup\b:lstinline\aftergroup\egroup
}
\NewConfigure{lstinline}{2}
-_-_-
<..listings sty..>+
\pend:defI\lst@MakeCaption{%
\let\lst:addcontentsline\addcontentsline
\def\addcontentsline{\gHAdvance\TitleCount by 1
\lst:addcontentsline}%
}
\append:defI\lst@MakeCaption{%
\let\addcontentsline\lst:addcontentsline
}
-_-_-
<..lstmisc sty..>
\HLet\lst@frameInit=\empty
\HLet\lst@frameExit=\empty
-_-_-
<..listings sty..>+
\def\lst@NewLine{%
\ifx\lst@OutputBox\@gobble\else \the\everypar \fi
\global\advance\lst@newlines\m@ne
\lst@newlinetrue
}%
\def\lst@InputListing#1{%
\begingroup
\lsthk@PreSet \gdef\lst@intname{#1}%
\expandafter\lstset\expandafter{\lst@set}%
\lsthk@DisplayStyle
\catcode\active=\active
\a:lstinputlisting \lst@Init\relax \let\lst@gobble\z@
\lst@SkipToFirst
\lst@ifprint \def\lst@next{\input{#1}}%
\else \let\lst@next\@empty \fi
\lst@next \lst@DeInit
\b:lstinputlisting
\endgroup}
\NewConfigure{lstinputlisting}{2}
-_-_-
<..listings sty..>+
\def\lst@Kern#1{%
\setbox\z@\hbox{{\lst@currstyle{\kern#1}}}%
\global\advance\lst@currlwidth \wd\z@
\tmp:dim=#1 \let\:tempc=\empty
\loop \ifdim \tmp:dim>\a:lst@Kern
\advance \tmp:dim by -\a:lst@Kern
\advance \tmp:dim by -\b:lst@Kern
\append:def\:tempc{\:nbsp}%
\repeat
\setbox\z@\hbox{{\lst@currstyle{\:tempc}}}%
\lst@OutputBox\z@}
\NewConfigure{lst@Kern}{2}
\Configure{lst@Kern}{0.499em}{0.1em}
-_-_-
Configure lst@Kern: character width, inter character space size
<..listings sty..>+
\def\lst@outputspace{\:nbsp}
-_-_-
Test cases:
a.c