summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/oberdiek/pdfescape.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/oberdiek/pdfescape.dtx')
-rw-r--r--macros/latex/contrib/oberdiek/pdfescape.dtx761
1 files changed, 1 insertions, 760 deletions
diff --git a/macros/latex/contrib/oberdiek/pdfescape.dtx b/macros/latex/contrib/oberdiek/pdfescape.dtx
index db40f23f4b..b405d7f7e1 100644
--- a/macros/latex/contrib/oberdiek/pdfescape.dtx
+++ b/macros/latex/contrib/oberdiek/pdfescape.dtx
@@ -68,12 +68,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfescape.sty
% TDS:doc/latex/oberdiek/pdfescape.pdf
-% TDS:doc/latex/oberdiek/test/pdfescape-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test4.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test5.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test6.tex
% TDS:source/latex/oberdiek/pdfescape.dtx
%
%<*ignore>
@@ -151,10 +145,6 @@ and the derived files
% \file{pdfescape-test4.tex}{\from{pdfescape.dtx}{test4}}%
% \file{pdfescape-test5.tex}{\from{pdfescape.dtx}{test5}}%
% \file{pdfescape-test6.tex}{\from{pdfescape.dtx}{test6}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfescape.xml}{\from{pdfescape.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfescape.drv}
%
@@ -1310,735 +1285,7 @@ $ \the\count\ltx@cclv
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfescape.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2|test3|test4|test5>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-% \end{macrocode}
-%
-% \subsection{Test with \cs{pdfescape...} commands}
-%
-% \begin{macrocode}
-%<*test2>
-\ProvidesFile{pdfescape-test2.tex}%
- [2016/05/16 v1.14 Test with \string\pdfescape... commands]%
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...}, with \eTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\ProvidesFile{pdfescape-test3.tex}%
- [2016/05/16 v1.14 Test without \string\pdfescape..., with e-TeX]%
-%</test3>
-% \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...} and \eTeX}
-%
-% \begin{macrocode}
-%<*test4>
-\ProvidesFile{pdfescape-test4.tex}%
- [2016/05/16 v1.14 Test without \string\pdfescape... and e-TeX]%
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Test with \LuaTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\ProvidesFile{pdfescape-test5.tex}%
- [2016/05/16 v1.14 Test with LuaTeX]%
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Check/ensure test preconditions}
-%
-% \subsubsection{Check \cs{pdfescape...}}
-%
-% \begin{macrocode}
-%<*test2>
-\@ifundefined{pdfescapehex}{%
- \PackageError{pdfescape-test2}{%
- Missing \string\pdfescape... commands%
- }{Test aborted.}%
- \stop
-}{}
-%</test2>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test3|test4>
-\let\pdfescapehex\@undefined
-\let\pdfunescapehex\@undefined
-\let\pdfescapename\@undefined
-\let\pdfescapestring\@undefined
-%</test3|test4>
-% \end{macrocode}
-%
-% \subsubsection{Check \eTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\@ifundefined{numexpr}{%
- \PackageError{pdfescape-test3}{%
- Missing \eTeX
- }{Test aborted.}%
- \stop
-}{}
-%</test3>
-% \end{macrocode}
-% Package \xpackage{qstest} uses \eTeX, thus \eTeX's features
-% can only be disabled later during loading of package \xpackage{pdfescape}.
-%
-% \subsubsection{Check \LuaTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\@ifundefined{directlua}{%
- \PackageError{pdfescape-test5}{%
- Missing LuaTeX%
- }{Test aborted.}%
- \stop
-}{}
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Common part}
-%
-% The files for testing uses the framework, provided by the
-% new package \xpackage{qstest} of David Kastrup.
-% \begin{macrocode}
-\RequirePackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\ExpectVar}[2]{%
- \ifx#1#2%
- \else
- \begingroup
- \@onelevel@sanitize#1%
- \@onelevel@sanitize#2%
- \typeout{[#1] <> [#2]}% hash-ok
- \endgroup
- \fi
- \Expect*{\ifx#1#2true\else false\fi}{true}%
-}
-
-\makeatletter
-\begingroup
- \gdef\AllBytes{}%
- \count@=0 %
- \catcode0=12 %
- \@whilenum\count@<256 \do{%
- \lccode0=\count@
- \ifnum\count@=32 %
- \xdef\AllBytes{\AllBytes\space}%
- \else
- \lowercase{%
- \xdef\AllBytes{\AllBytes^^@}%
- }%
- \fi
- \advance\count@ by 1 %
- }%
-\endgroup
-\newcommand*{\AllBytesHex}{%
- 000102030405060708090A0B0C0D0E0F%
- 101112131415161718191A1B1C1D1E1F%
- 202122232425262728292A2B2C2D2E2F%
- 303132333435363738393A3B3C3D3E3F%
- 404142434445464748494A4B4C4D4E4F%
- 505152535455565758595A5B5C5D5E5F%
- 606162636465666768696A6B6C6D6E6F%
- 707172737475767778797A7B7C7D7E7F%
- 808182838485868788898A8B8C8D8E8F%
- 909192939495969798999A9B9C9D9E9F%
- A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
- B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
- C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
- D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
- E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
- F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\@onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
- \expandafter\newcommand\expandafter*\expandafter\AllBytesHexLC
- \expandafter{\AllBytesHex}%
-}
-\newcommand*{\AllBytesName}{}
-\begingroup
- \catcode`\#=12 %
- \xdef\AllBytesName{%
- #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
- #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
- #20!"#23$#25&'#28#29*+,-.#2F%
- 0123456789:;#3C=#3E?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ#5B\@backslashchar#5D^_%
- `abcdefghijklmno%
- pqrstuvwxyz#7B|#7D\string~#7F%
- #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
- #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
- #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
- #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
- #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
- #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
- #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
- #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
- }%
-\endgroup
-\@onelevel@sanitize\AllBytesName
-
-\newcommand*{\AllBytesString}{}
-\begingroup
- \def\|{|}%
- \edef\%{\@percentchar}%
- \catcode`\|=0 %
- \catcode`\#=12 %
- \catcode`\~=12 %
- \catcode`\\=12 %
- |xdef|AllBytesString{%
- \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
- \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
- \040!"#$|%&'\(\)*+,-./%
- 0123456789:;<=>?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ[\\]^_%
- `abcdefghijklmno%
- pqrstuvwxyz{||}~\177%
- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
- }%
-|endgroup
-\@onelevel@sanitize\AllBytesString
-
-%<*test4>
-\let\org@detokenize\detokenize
-\let\detokenize\@undefined
-\let\org@numexpr\numexpr
-\let\numexpr\@undefined
-%</test4>
-\RequirePackage{pdfescape}
-%<*test4>
-\let\detokenize\org@detokenize
-\let\numexpr\org@numexpr
-%</test4>
-
-\begin{qstest}{all-hex}{\AllBytes, escapehex}
- \EdefEscapeHex\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesHex}%
- \ExpectVar\x\AllBytesHex
-\end{qstest}
-
-\begin{qstest}{all-unhex}{\AllBytesHex, unescapehex}
- \EdefUnescapeHex\x{\AllBytesHex}%
- \Expect*{\x}*{\AllBytes}%
- \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{all-unhex-lc}{\AllBytesHexLC, unescapehex, lowercase}
- \EdefUnescapeHex\x{\AllBytesHexLC}%
- \Expect*{\x}*{\AllBytes}%
- \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{unhex-incomplete}{unescapehex, incomplete}
- \EdefUnescapeHex\x{4}%
- \Expect*{\x}{@}%
-\end{qstest}
-
-\begin{qstest}{unhex-space}{unescapehex, space}
- \EdefUnescapeHex\x{20}%
- \Expect*{\x}{ }%
- \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-spaces}{unescapehex, spaces}
- \EdefUnescapeHex\x{204020204120}%
- \def\y#1{%
- \edef\z{#1\string @#1#1\string A#1}%
- }\y{ }%
- \Expect*{\x}*{\z}%
- \ExpectVar\x\z
-\end{qstest}
-
-\begin{qstest}{unhex-hash}{unescapehex, hash}
- \catcode`\#=12 %
- \EdefUnescapeHex\x{#20}%
- \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-invalid}{unescapehex, invalid}
- \def\test#1#2{%
- \EdefUnescapeHex\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
-%<*test2>
- \edef\x{\pdfunescapehex{4X}}%
- \edef\y{\string @}%
- \ifx\x\y
- \else
- \def~{\space}%
- \typeout{************************************}%
- \typeout{* Your pdfTeX contains bug 777.~~~~*}%
- \typeout{* This test is redefined as dummy, *}%
- \typeout{* because it triggers the bug.~~~~~*}%
- \typeout{************************************}%
- \def\test#1#2{}%
- \fi
-%</test2>
- \test{X}{}%
- \test{XY}{}%
- \test{XYZ}{}%
- \test{A}{^^a0}%
- \test{AX}{^^a0}%
- \test{XA}{^^a0}%
- \test{XXAXX}{^^a0}%
-\end{qstest}
-
-\begin{qstest}{all-name}{\AllBytes, escapename}
- \EdefEscapeName\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesName}%
- \ExpectVar\x\AllBytesName
-\end{qstest}
-
-\begin{qstest}{all-string}{\AllBytes, escapestring}
- \EdefEscapeString\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesString}%
- \ExpectVar\x\AllBytesString
-\end{qstest}
-
-\begin{qstest}{uchexdigit}{unescape, uppercase hex digit}
- \catcode`\@=11 %
- \catcode0=12 %
- \def\test#1#2{%
- \uccode0=#1\relax
- \uppercase{%
- \def\x{^^@}%
- }%
- \Expect*{%
- \ifcase\expandafter\PE@TestUcHexDigit\x
- true%
- \else
- false%
- \fi
- }{#2}%
- }%
- \def\range#1#2#3{%
- \count0=#1\relax
- \loop
- \ifnum\count0<#2\relax
- \test{\count0}{#3}%
- \advance\count0 by 1 %
- \repeat
- }%
- \range{0}{47}{false}%
- \range{48}{57}{true}%
- \range{58}{64}{false}%
- \range{65}{70}{true}%
- \range{71}{255}{false}%
-\end{qstest}
-
-\begin{qstest}{unescapename}{unescapename}
- \def\test#1#2{%
- \EdefUnescapeName\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
- \catcode`\#=12 %
- \catcode0=12 %
- \test{}{}%
- \test{x}{x}%
- \test{xy}{xy}%
- \test{#}{#}%
- \test{##}{##}%
- \test{###}{###}%
- \test{####}{####}%
- \test{#x}{#x}%
- \test{#xy}{#xy}%
- \test{#1}{#1}%
- \test{#40}{@}%
- \test{#400}{@0}%
- \test{#4x0}{#4x0}%
- \test{#ab}{^^ab}%
- \test{#00}{^^@}%
- \test{x#40y#40z}{x@y@z}%
- \test{#40#40#40#40}{@@@@}%
- \test{a#x}{a#x}%
- \test{a#xy}{a#xy}%
- \test{a#1}{a#1}%
- \test{a#40}{a@}%
- \test{a#400}{a@0}%
- \test{#20}{ }%
- \test{a#20}{a }%
- \test{a#20b}{a b}%
- \test{a#20#20#20b}{a \space\space b}%
-\end{qstest}
-
-\begin{qstest}{unescapestring}{unescapestring}
- \def\test#1#2{%
- \EdefUnescapeString\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
- \catcode0=12 %
- \def\DefChar#1#2{%
- \begingroup
- \uccode0=#2\relax
- \uppercase{\endgroup
- \def#1{^^@}%
- }%
- }%
- \DefChar\nul{0}%
- \DefChar\one{1}%
- \DefChar\bel{8}%
- \DefChar\tab{9}%
- \DefChar\lf{10}%
- \DefChar\ff{12}%
- \DefChar\cr{13}%
- \DefChar\\{92}%
- \test{}{}%
- \test{a}{a}%
- \test{\\}{}%
- \test{\\\\}{\\}%
- \test{\\\\y}{\\y}%
- \test{\\000}{\nul}%
- \test{\\b}{\bel}%
- \test{\\t}{\tab}%
- \test{\\n}{\lf}%
- \test{\\f}{\ff}%
- \test{\\r}{\cr}%
- \test{\\(}{(}%
- \test{\\)}{)}%
- \test{\\040}{ }%
- \test{\\100}{@}%
- \test{\\40}{ }%
- \test{\\1}{\one}%
- \test{\\01}{\one}%
- \test{\\001}{\one}%
- \test{\\18}{\one8}%
- \test{\\018}{\one8}%
- \test{\\0018}{\one8}%
- \test{x\\}{x}%
- \test{x\\\\}{x\\}%
- \test{x\\\\y}{x\\y}%
- \test{x\\000}{x\nul}%
- \test{x\\b}{x\bel}%
- \test{x\\t}{x\tab}%
- \test{x\\n}{x\lf}%
- \test{x\\f}{x\ff}%
- \test{x\\r}{x\cr}%
- \test{x\\(}{x(}%
- \test{x\\)}{x)}%
- \test{x\\040}{x }%
- \test{x\\100}{x@}%
- \test{x\\40}{x }%
- \test{x\\1}{x\one}%
- \test{x\\01}{x\one}%
- \test{x\\001}{x\one}%
- \test{x\\18}{x\one8}%
- \test{x\\018}{x\one8}%
- \test{x\\0018}{x\one8}%
- \test{\\b\\t\\n\\f\\r\\(\\)\\\\\\000\\040}{%
- \bel\tab\lf\ff\cr()\\\nul\space
- }%
- \test{\\\lf}{}%
- \test{x\\\lf}{x}%
- \test{\cr}{\lf}%
- \test{\cr\lf}{\lf}%
- \test{\lf}{\lf}%
- \test{\lf\cr}{\lf\lf}%
- \test{x\cr}{x\lf}%
- \test{x\cr\lf}{x\lf}%
- \test{x\lf}{x\lf}%
- \test{x\lf\cr}{x\lf\lf}%
- \test{x\\\cr\lf y\cr}{xy\lf}%
-%
- \test{\\409}{ 9}%
- \test{\\800}{800}%
- \test{\\900}{900}%
- \test{\\578}{/8}%
- \test{\\477}{?}%
- \test{\\377}{^^ff}%
- \test{\\777}{^^ff}%
- \test{\\7777}{^^ff7}%
-\end{qstest}
-\stop
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</test2|test3|test4|test5>
-% \end{macrocode}
-%
-% \subsubsection{Test for \hologo{iniTeX}}
-%
-% \begin{macrocode}
-%<*test6>
-\input pdfescape.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\catcode`\@=11 %
-% \end{macrocode}
-% \begin{macrocode}
-\begingroup
- \catcode`\@=11 %
- \countdef\count@=255 %
- \def\space{ }%
- \long\def\@whilenum#1\do #2{%
- \ifnum #1\relax
- #2\relax
- \@iwhilenum{#1\relax#2\relax}%
- \fi
- }%
- \long\def\@iwhilenum#1{%
- \ifnum #1%
- \expandafter\@iwhilenum
- \else
- \expandafter\ltx@gobble
- \fi
- {#1}%
- }%
- \gdef\AllBytes{}%
- \count@=0 %
- \catcode0=12 %
- \@whilenum\count@<256 \do{%
- \lccode0=\count@
- \ifnum\count@=32 %
- \xdef\AllBytes{\AllBytes\space}%
- \else
- \lowercase{%
- \xdef\AllBytes{\AllBytes^^@}%
- }%
- \fi
- \advance\count@ by 1 %
- }%
-\endgroup
-\def\AllBytesHex{%
- 000102030405060708090A0B0C0D0E0F%
- 101112131415161718191A1B1C1D1E1F%
- 202122232425262728292A2B2C2D2E2F%
- 303132333435363738393A3B3C3D3E3F%
- 404142434445464748494A4B4C4D4E4F%
- 505152535455565758595A5B5C5D5E5F%
- 606162636465666768696A6B6C6D6E6F%
- 707172737475767778797A7B7C7D7E7F%
- 808182838485868788898A8B8C8D8E8F%
- 909192939495969798999A9B9C9D9E9F%
- A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
- B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
- C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
- D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
- E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
- F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\ltx@onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
- \expandafter\def\expandafter\AllBytesHexLC
- \expandafter{\AllBytesHex}%
-}
-\begingroup
- \catcode`\#=12 %
- \xdef\AllBytesName{%
- #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
- #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
- #20!"#23$#25&'#28#29*+,-.#2F%
- 0123456789:;#3C=#3E?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ#5B\ltx@backslashchar#5D^_%
- `abcdefghijklmno%
- pqrstuvwxyz#7B|#7D\string~#7F%
- #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
- #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
- #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
- #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
- #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
- #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
- #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
- #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
- }%
-\endgroup
-\ltx@onelevel@sanitize\AllBytesName
-\edef\AllBytesFromName{\expandafter\ltx@gobble\AllBytes}
-
-\begingroup
- \def\|{|}%
- \edef\%{\ltx@percentchar}%
- \catcode`\|=0 %
- \catcode`\#=12 %
- \catcode`\~=12 %
- \catcode`\\=12 %
- |xdef|AllBytesString{%
- \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
- \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
- \040!"#$|%&'\(\)*+,-./%
- 0123456789:;<=>?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ[\\]^_%
- `abcdefghijklmno%
- pqrstuvwxyz{||}~\177%
- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
- }%
-|endgroup
-\ltx@onelevel@sanitize\AllBytesString
-% \end{macrocode}
-% \begin{macrocode}
-\def\msg#{\immediate\write16}
-\def\Test#1#2#3{%
- \begingroup
- #1\TestResult{#2}%
- \ifx\TestResult#3%
- \else
- \newlinechar=10 %
- \msg{Expect:^^J#3}%
- \msg{Result:^^J\TestResult}%
- \errmessage{\string#2 -\string#1-> \string#3}%
- \fi
- \endgroup
-}
-\Test\EdefEscapeHex\AllBytes\AllBytesHex
-\Test\EdefUnescapeHex\AllBytesHex\AllBytes
-\Test\EdefEscapeName\AllBytes\AllBytesName
-\Test\EdefUnescapeName\AllBytesName\AllBytesFromName
-\Test\EdefEscapeString\AllBytes\AllBytesString
-\Test\EdefUnescapeString\AllBytesString\AllBytes
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test6>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2087,12 +1334,6 @@ $ \the\count\ltx@cclv
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfescape.sty & tex/generic/oberdiek/pdfescape.sty\\
% pdfescape.pdf & doc/latex/oberdiek/pdfescape.pdf\\
-% test/pdfescape-test1.tex & doc/latex/oberdiek/test/pdfescape-test1.tex\\
-% test/pdfescape-test2.tex & doc/latex/oberdiek/test/pdfescape-test2.tex\\
-% test/pdfescape-test3.tex & doc/latex/oberdiek/test/pdfescape-test3.tex\\
-% test/pdfescape-test4.tex & doc/latex/oberdiek/test/pdfescape-test4.tex\\
-% test/pdfescape-test5.tex & doc/latex/oberdiek/test/pdfescape-test5.tex\\
-% test/pdfescape-test6.tex & doc/latex/oberdiek/test/pdfescape-test6.tex\\
% pdfescape.dtx & source/latex/oberdiek/pdfescape.dtx\\
% \end{tabular}^^A
% }^^A