\:CheckOption{url-il2-pl} \if:Option
\else \:CheckOption{url-enc} \fi
\if:Option
\Configure{string-encoder}{url-encoder}
% \:CheckOption{url-il2-pl} \if:Option
<.il2-pl.tcx url encoder.>
% \else
<.default url encoder WAIT.>
% \Log:Note{for il2-pl url encoding,
% use the command line option ’url-il2-pl’}
% \fi
\Configure{url}%
{<.:temp = url encoded string.>%
\Link[\noexpand\the\tmp:toks \space
class="url"]{}{}{\let\UrlBigBreaks\empty
\let\UrlBreaks\empty #1}\EndLink}
<.url encoded string utilities.>
\else
\:CheckOption{url-} \if:Option
\Configure{url}%
{{\let\UrlBigBreaks\empty \let\UrlBreaks\empty #1}}%
\else
\Log:Note{for URL encoding within href
use the command line option ‘url-enc’; for hyperlink-less
entry use the command line option ‘url-’}
\Configure{url}%
{\tmp:toks{#1}\Link[\noexpand\the\tmp:toks\space
class="url"]{}{}{\let\UrlBigBreaks\empty
\let\UrlBreaks\empty #1}\EndLink}
\fi
\fi
<.path config.> -_-_-
\tmp:toks={}\set:spaces#1<.par del.>%
\edef\:temp{\tmp:toks{\csname url-encoder\expandafter\endcsname
\the\tmp:toks <.par del.>}}\:temp -_-_-
\def\set:spaces{\futurelet\:temp\set:spacesoo}
\def\set:spacesoo{%
\expandafter\ifx \space\:temp
\tmp:toks\expandafter{\the\tmp:toks{ }}%
\fi
\set:spaceso
}
\def\set:spaceso#1#2<.par del.>{%
\tmp:toks\expandafter{\the\tmp:toks #1}%
\if :#2:\else \set:spaces#2<.par del.>\fi
} -_-_-
\Configure{url-encoder}
{%}{%25}
{&}{%26}
{’}{%27}
{<}{%3C}
{>}{%3E}
{_}{_}
{^}{^}
{}{}
\Log:Note{current url encoding setting: \string\Configure{url-encoder}%
{\%}{\%25}%
{&}{\%26}%
{’}{\%27}%
{<}{\%3C}%
{>}{\%3E}%
{\string _}{\string _}%
{\string ^}{\string ^}%
{}{}}
-_-_-
\Configure{url-encoder}
{%}{%25}
{&}{%26}
{’}{%27}
{<}{%3C}
{>}{%3E}
{_}{_}
{^}{^}
{}{ą}
{}{ć}
{}{ę}
{}{ł}
{}{ó}
{}{ń}
{}{ś}
{}{ź}
{}{ż}
{}{Ą}
{}{Ć}
{}{Ę}
{}{Ł}
{}{Ó}
{}{Ń}
{}{Ś}
{}{Ź}
{}{Ż}
{}{}
-_-_-
http://www.faqs.org/rfcs/rfc2396.html
See issues in:
\documentclass{article}
\usepackage{url}
\begin{document}
\url{a%b c&d}
\url{a%25b+c&d}
\end{document}
\Configure{url}{\Link[#1 class="url"]{}{}{\let\UrlBigBreaks\empty
\let\UrlBreaks\empty #1}\EndLink}
-_-_-