From d85f248e3b38ea0ecda38c5340e3cadd08d65346 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sun, 16 Sep 2007 00:07:34 +0000
Subject: oberdiek update (14sep07)

git-svn-id: svn://tug.org/texlive/trunk@4947 c570f23f-e606-0410-a88d-b1316a301751
---
 .../doc/latex/oberdiek/soulutf8-test2.tex          | 365 +++++++++++++++++++++
 1 file changed, 365 insertions(+)
 create mode 100644 Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex

(limited to 'Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex')

diff --git a/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex
new file mode 100644
index 00000000000..d43dc88aa01
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex
@@ -0,0 +1,365 @@
+%%
+%% This is file `soulutf8-test2.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% soulutf8.dtx  (with options: `test2,utf8')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%% 
+%% This work has the LPPL maintenance status "maintained".
+%% 
+%% This Current Maintainer of this work is Heiko Oberdiek.
+%% 
+%% This work consists of the main source file soulutf8.dtx
+%% and the derived files
+%%    soulutf8.sty, soulutf8.pdf, soulutf8.ins, soulutf8.drv,
+%%    soulutf8-test1.tex, soulutf8-test2.tex, soulutf8-test3.tex,
+%%    soulutf8-test4.tex, soulutf8-test5.tex.
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\documentclass{article}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{textcomp}
+\usepackage[ngerman]{babel}
+\expandafter\def\csname ver@hypdestopt.sty\endcsname{}
+\usepackage[unicode]{hyperref}
+\usepackage{bookmark}
+\usepackage{color}
+\usepackage{soul}[2003/11/17]
+\makeatletter
+\newcommand*{\@ifDefined}[1]{%
+  \@ifundefined{#1}{%
+    \@latex@error{%
+      \expandafter\noexpand\csname#1\endcsname undefined%
+    }\@ehc
+  }%
+}
+\newcommand*{\SaveOrg}[1]{%
+  \@ifdefinable{ORG@SOUL@#1}{%
+    \@ifDefined{SOUL@#1}{%
+      \expandafter\let\csname ORG@SOUL@#1\expandafter\endcsname
+                      \csname SOUL@#1\endcsname
+    }%
+  }%
+}
+\newcommand*{\RestoreOrg}[1]{%
+  \@ifDefined{ORG@SOUL@#1}{%
+    \@ifDefined{SOUL@#1}{%
+      \expandafter\let\csname SOUL@#1\expandafter\endcsname
+                      \csname ORG@SOUL@#1\endcsname
+    }%
+  }%
+}
+\makeatother
+\SaveOrg{eval}
+\SaveOrg{splittoken}
+\SaveOrg{flushcomma}
+\SaveOrg{flushapo}
+\SaveOrg{grave}
+\SaveOrg{addgroup}
+\SaveOrg{addmath}
+\SaveOrg{addprotect}
+\SaveOrg{addtoken}
+\usepackage{soulutf8}[2007/09/09]
+\usepackage[utf8]{inputenc}
+\DeclareUnicodeCharacter{00A0}{\nobreakspace}
+\makeatletter
+\DeclareRobustCommand*{\an}{%
+  \def\SOUL@preamble{$^{^P}$}%
+  \def\SOUL@everyspace##1{##1\texttt{\char`\ }\linebreak[2]}%
+  \def\SOUL@postamble{$^{^E}$}%
+  \def\SOUL@everyhyphen{$^{^-}$\linebreak[1]}%
+  \def\SOUL@everyexhyphen##1{##1$^{^=}$}%
+  \def\SOUL@everysyllable{$^{^S}$}%
+  \def\SOUL@everytoken{\the\SOUL@token$^{^T}$}%
+  \def\SOUL@everylowerthan{$^{^L}$}%
+  \SOUL@
+}
+\DeclareRobustCommand*{\sy}{%
+  \SOUL@setup
+  \def\SOUL@preamble{%
+    \lefthyphenmin=\z@
+    \righthyphenmin=\z@
+  }%
+  \def\SOUL@everyspace##1{##1\space}%
+  \def\SOUL@everysyllable{\the\SOUL@syllable}%
+  \def\SOUL@everyhyphen{%
+    \discretionary{%
+      \SOUL@setkern\SOUL@hyphkern
+      \SOUL@sethyphenchar
+    }{}{%
+      \hbox{\kern1pt$\cdot$}%
+    }%
+  }%
+  \def\SOUL@everyexhyphen##1{%
+    \SOUL@setkern\SOUL@hyphkern
+    \hbox{##1}%
+    \discretionary{}{}{%
+      \SOUL@setkern\SOUL@charkern
+    }%
+  }%
+  \SOUL@
+}
+\DeclareRobustCommand*{\soulH}{%
+  \def\SOUL@preamble{%
+    \gdef\SOULH{}%
+    \soulHadd{[}%
+  }%
+  \def\SOUL@everyspace##1{%
+    \soulHadd{Sp}%
+  }%
+  \def\SOUL@postamble{%
+    \soulHadd{]}%
+  }%
+  \def\SOUL@everyhyphen{%
+    \soulHadd{Hy}%
+  }%
+  \def\SOUL@everyexhyphen##1{%
+    \soulHadd{Exhy}%
+  }%
+  \def\SOUL@everysyllable{%
+    \soulHadd{Sy}%
+  }%
+  \def\SOUL@everytoken{%
+    \soulHadd{T}%
+  }%
+  \def\SOUL@everylowerthan{%
+    \soulHadd{<}%
+  }%
+  \SOUL@
+}
+\newcommand*{\soulHadd}[1]{%
+  #1%
+  \expandafter\gdef\expandafter\soulHstring\expandafter{%
+    \soulHstring
+    #1%
+  }%
+}
+\usepackage{qstest}
+\IncludeTests{*}
+\LogTests{log}{*}{*}
+\newsavebox\boxA
+\newsavebox\boxB
+\newsavebox\boxC
+\newcommand*{\TestDriver}[4]{%
+  \subsection{Driver #1}%
+  \@PackageInfo{soulutf8-test}{* Driver #1}%
+  \expandafter\let\expandafter\testdriver\csname #1\endcsname
+  \def\teststringA{#3}%
+  \def\teststringB{#4}%
+  \begin{qstest}{string-#2-driver-#1}{string,#2,driver,#1}%
+    \@PackageInfo{soulutf8-test}{* Version: soulutf8}%
+    \global\let\soulHstring\@empty
+    \setbox0=\hbox{\expandafter\testdriver\expandafter{\teststringA}}%
+    \let\HstringA\soulHstring
+    \SetTestVBox{\boxA}{\teststringA}%
+    %
+    \@PackageInfo{soulutf8-test}{* Version: soul + patch}%
+    \global\let\soulHstring\@empty
+    \RestoreOrg{eval}%
+    \setbox2=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
+    \let\HstringB\soulHstring
+    \SetTestVBox{\boxB}{\teststringB}%
+    %
+    \@PackageInfo{soulutf8-test}{* Version: original soul}%
+    \global\let\soulHstring\@empty
+    \RestoreOrg{splittoken}%
+    \RestoreOrg{flushcomma}%
+    \RestoreOrg{flushapo}%
+    \RestoreOrg{grave}%
+    \RestoreOrg{addgroup}%
+    \RestoreOrg{addmath}%
+    \RestoreOrg{addprotect}%
+    \RestoreOrg{addtoken}%
+    \setbox4=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
+    \let\HstringC\soulHstring
+    \SetTestVBox{\boxC}{\teststringB}%
+    %
+    \TestInfo{0}{soulutf8}%
+    \TestInfo{2}{soul + patch}%
+    \TestInfo{4}{original soul}%
+    \TestInfoVBox
+    \showboxdepth=\maxdimen
+    \showboxbreadth=\maxdimen
+    \tracingonline=\@ne
+    \Expect*{\HstringA}*{\HstringB}%
+    \Expect*{\HstringA}*{\HstringC}%
+    \Expect*{\the\wd0}*{\the\wd2}%
+    \ifdim\wd0=\wd2 %
+    \else
+      \showbox0 %
+      \showbox2 %
+    \fi
+    \Expect*{\the\ht0}*{\the\ht2}%
+    \Expect*{\the\dp0}*{\the\dp2}%
+    \Expect*{\the\wd\boxB}*{\the\wd\boxA}%
+    \Expect*{\the\wd\boxC}*{\the\wd\boxA}%
+    \Expect*{\the\ht\boxB}*{\the\ht\boxA}%
+    \ifdim\ht\boxB=\ht\boxA
+    \else
+      \showbox\boxA
+      \showbox\boxB
+    \fi
+    \Expect*{\the\ht\boxC}*{\the\ht\boxA}%
+    \Expect*{\the\dp\boxB}*{\the\dp\boxA}%
+    \Expect*{\the\dp\boxC}*{\the\dp\boxA}%
+  \end{qstest}%
+}
+\newcommand*{\SetTestVBox}[2]{%
+  \setbox#1=\vbox{%
+    \hsize=0pt\relax
+    \hfuzz=100mm\relax
+    \expandafter\testdriver\expandafter{#2}%
+  }%
+}
+\newcommand*{\TestInfo}[2]{%
+  \par
+  \noindent
+  \copy#1\relax
+  \hfill
+  \begingroup
+    \small
+    \ifdim\wd0=\wd2\relax
+      \ifdim\wd0=\wd4\relax
+      \else
+        \ifnum#1=2 %
+          \raisebox{.5\baselineskip}[0pt][0pt]{%
+            \llap{$\}$ }%
+            \rlap{width = \the\wd#1\relax\space$\{$}%
+            \phantom{width = 999.99999pt}%
+            \qquad
+          }%
+        \else
+          \ifnum#1=4 %
+            \rlap{width = \the\wd#1}%
+            \phantom{width = 999.99999pt}%
+            \qquad
+          \fi
+        \fi
+      \fi
+    \else
+      \begingroup
+        \bfseries
+        \rlap{width = \the\wd#1}%
+        \phantom{width = 999.99999pt}%
+      \endgroup
+      \qquad
+    \fi
+    \rlap{(#2)}%
+    \phantom{(original soul)}%
+  \endgroup
+  \par
+}
+\newcommand*{\TestInfoVBox}{%
+  \par
+  \noindent
+  \mbox{\vrule\relax\space\copy\boxA}%
+  \ifdim\ht\boxA=\ht\boxB
+  \else
+    \hfill
+    \begingroup
+      \small
+      \rlap{(soulutf8)}%
+      \phantom{(soulutf8)}%
+    \endgroup
+    \par
+    \noindent
+    \mbox{\vrule\relax\space\copy\boxB}%
+    \hfill
+    \begingroup
+      \small
+      \rlap{(soul)}%
+      \phantom{(soulutf8)}%
+    \endgroup
+  \fi
+  \par
+}
+\makeatletter
+\newcommand*{\Test}[3]{%
+  \clearpage
+  \begingroup
+    \def\linebreak{\textbackslash linebreak }%
+    \def\\{\textbackslash\textbackslash}%
+    \def\soulomit##1{%
+      \textbackslash soulomit\textbraceleft##1\textbraceright
+    }%
+    \def\mbox##1{%
+      \textbackslash mbox\textbraceleft##1\textbraceright
+    }%
+    \def\abc{\textbackslash abc }%
+    \def\texttt##1{%
+      \textbackslash texttt\textbraceleft##1\textbraceright
+    }%
+    \def\c##1{%
+      \textbackslash c\textbraceleft##1\textbraceright
+    }%
+    \csname protected@edef\endcsname\x{\endgroup
+      \noexpand\section{String #1: #2}%
+    }%
+  \x
+  \TestDriver{so}{#1}{#2}{#3}%
+  \TestDriver{caps}{#1}{#2}{#3}%
+  \TestDriver{ul}{#1}{#2}{#3}%
+  \TestDriver{st}{#1}{#2}{#3}%
+  \TestDriver{hl}{#1}{#2}{#3}%
+  \TestDriver{an}{#1}{#2}{#3}%
+  \TestDriver{sy}{#1}{#2}{#3}%
+  \TestDriver{soulH}{#1}{#2}{#3}%
+}
+\makeatother
+\begin{document}
+  \Test A{}{}%
+  \Test B{Hello World}{Hello World}%
+  \Test C{%
+    Umlauts: ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
+  }{%
+    Umlauts: \"A\"O\"U\"a\"o\"u\ss
+  }%
+  \Test D{Euro: ^^e2^^82^^ac}{Euro: \texteuro}%
+  \Test E{Stra^^c3^^9fe}{Stra\ss e}%
+  \Test F{R^^c3^^b6mer}{R\"omer}%
+  \Test G{A^^e2^^80^^93B^^e2^^80^^94C}{A--B---C}%
+  \Test H{X^^c2^^a0Y}{X~Y}%
+  \Test I{A^^c5^^a4}{A\v T}%
+  \Test J{A,B,,C,,,D,,,,E}{A,B,,C,,,D,,,,E}%
+  \Test K{A'B''C'''D''''E}{A'B''C'''D''''E}%
+  \Test L{A`B``C```D````E}{A`B``C```D````E}%
+  \Test M{A$x$B}{A$x$B}%
+  \Test N{A\mbox{abc}B}{A\mbox{abc}B}%
+  \Test O{,,TA''}{,,TA''}%
+  \Test P{{!`}Hola{?`}}{{!`}Hola{?`}}%
+  \Test Q{re-sent\slash x}{re-sent\slash x}%
+  \Test R{new\\line}{new\\line}%
+  \Test S{foo\linebreak bar}{foo\linebreak bar}%
+  \Test T{Virchow{sche}}{Virchow{sche}}%
+  \Test U{A\soulomit{foo}B}{A\soulomit{foo}B}%
+  \Test V{A\texttt{xyz}B}{A\texttt{xyz}B}%
+  \Test W{ffi}{ffi}%
+  \Test X{f{}f{}i}{f{}f{}i}%
+  \Test Y{f\mbox{}f\mbox{}i}{f\mbox{}f\mbox{}i}%
+  \Test Z{\c{\"a}}{{\c{\"a}}}%
+  \let\abcx\UNDEFINED
+  \def\abc{%
+    \begingroup
+      \def\abcx{x}%
+      \abcx
+    \endgroup
+  }%
+  \Test{AA}{[{x\abc x}]}{[{xxx}]}%
+\end{document}
+\endinput
+%%
+%% End of file `soulutf8-test2.tex'.
-- 
cgit v1.2.3

