 %% CaesTest.tex, Sept 1992,  L. Siebenmann
 %% A test file for CaesarCM.tex

  \def\Msg{\immediate\write16}%
  \Msg{ *************************************************** }
  \Msg{ CaesTest.tex, a test for hyphenation by CaesarCM requiring}
  \Msg{ (a) Use of a format which has been compiled}
  \Msg{ \space to include French hyphenation patterns and} 
  \Msg{ \space CaesarCM.tex.  The tool fe-format-dumper-cm}
  \Msg{ \space automaates the creation of many such formats.}
  \Msg{ (b) The test font tmr10 must be available.  Any other marked} 
  \Msg{ \space extended CM font can serve in its stead, }
  \Msg{ \space provided you replace tmr10 by that alternative in the}
  \Msg{ \space definition of \string\extCM\space in this test file.}
  \Msg{ *************************************************** }

 
 %% No double loading
 \let\this\relax
 \ifx\undefined\Caesar
  \Msg{}\Msg{Sorry CaesarCM not loaded.  Exit.}
  \let\this \endinput
 \fi
 \this

 \bgroup
\catcode`\@=11
 %% LateX red tape
 \ifx\undefined\@comdblflelt %% defined for LateX only
        \toks0{\par \vfill \supereject \end}
 \else
   \documentstyle[art10]{article}
   \begin{document} %% for LateX only.
   \toks0{\csname end\endcsname{document}}
 \fi
 \outer\edef\bye{\the\toks0}
 \egroup


 \font\ft=xTimes %% or tmr10? %%%%%%%%%%%%%%%%%%%%%%%%

 \def\extCM{\ft \skewchar\font=\defaultskewchar
                           \UpdateFontClassRegister}
 \def\CM{\ft \skewchar\font=\CaesarClassCM}

 %\CM\'e\extCM\'e\CM\'e\extCM\'e\CM\'e\extCM\'e\CM\'e\extCM\'e%

 \def\hytest{ars\'eniure audiofr\'equence biod\'egradable
c\'er\'emonial  chim\'erique d\'el\'egu\'e magn\'etique 
enr\'egimenter  esth\'etisme fonci\`erement irr\'eparable
litt\'eral  num\'eration  oblit\'erer ovog\'en\`ese
privil\'egier rapi\'e\c cage  r\'ep\'etition rousp\'eter 
surd\'evelopp\'e  v\'en\'erer }%% alter this!!

 \def\Hytest{\hytest\hytest\hytest}%\hsize=.9\hsize

\newdimen\mydim
\mydim=3pt
\def\ShapePar{ \parshape 75
0pt 93\mydim 0pt 78\mydim 0pt 65\mydim 0pt
54\mydim 0pt 45\mydim 0pt 38\mydim 0pt 33\mydim 0pt 30\mydim
0pt 33\mydim 0pt 38\mydim 0pt 45\mydim 0pt 54\mydim 0pt
65\mydim 0pt 78\mydim 0pt 93\mydim 
0pt 93\mydim 0pt 78\mydim 0pt 65\mydim 0pt
54\mydim 0pt 45\mydim 0pt 38\mydim 0pt 33\mydim 0pt 30\mydim
0pt 33\mydim 0pt 38\mydim 0pt 45\mydim 0pt 54\mydim 0pt
65\mydim 0pt 78\mydim 0pt 93\mydim 
0pt 93\mydim 0pt 78\mydim 0pt 65\mydim 0pt
54\mydim 0pt 45\mydim 0pt 38\mydim 0pt 33\mydim 0pt 30\mydim
0pt 33\mydim 0pt 38\mydim 0pt 45\mydim 0pt 54\mydim 0pt
65\mydim 0pt 78\mydim 0pt 93\mydim 
0pt 93\mydim 0pt 78\mydim 0pt 65\mydim 0pt
54\mydim 0pt 45\mydim 0pt 38\mydim 0pt 33\mydim 0pt 30\mydim
0pt 33\mydim 0pt 38\mydim 0pt 45\mydim 0pt 54\mydim 0pt
65\mydim 0pt 78\mydim 0pt 93\mydim 
0pt 93\mydim 0pt 78\mydim 0pt 65\mydim 0pt
54\mydim 0pt 45\mydim 0pt 38\mydim 0pt 33\mydim 0pt 30\mydim
0pt 33\mydim 0pt 38\mydim 0pt 45\mydim 0pt 54\mydim 0pt
65\mydim 0pt 78\mydim 0pt 93\mydim 
  }

 \hsize=280pt
 \pretolerance=200
 \tolerance=200
 \hbadness=10000
 \vbadness=10000
 \parskip=3pt plus 1pt
 \overfullrule = 10pt
 \frenchspacing
 \def\Rule{\hrule\vskip3pt\hrule}
 \emergencystretch 30pt 
 \parindent=0cm 
 

\def \AnnounceTest{\ufcr\par  Our current font choice is 
``\fontname\font'' and it is currently assigned coding class:
 \count255=-20\relax
 \ifnum \skewchar\font=\count255{\tt TM}%
 \else {\tt CM}\fi.
Current {\tt \char`\\tolerance} value is
\the\tolerance, and current {\tt \char`\\emergencystretch}
value is \the\emergencystretch.\par}



 \Msg{}\Msg{ *** TEST FOR CaesarCM } 
       \Msg{ *** Patience Please!!! } 
 \centerline{\bf  TEST FOR CaesarCM} 
 \bigskip
 \extCM

\AnnounceTest

  For values of {\tt
\char`\\tolerance} at or near 10000, bad hyphenation shows
up as excessive interword spaces --- provided \TeX's
aritmetic does not break down (producing irrational
linebreak choices).  When {\tt \char`\\emergencystretch} is
made positive, the result is similar even when {\tt
\char`\\tolerance} is low, and  arithmetic breakdown tends
not to occur. When {\tt \char`\\emergencystretch} is zero
(the Plain default) and {\tt \char`\\tolerance}  is low one
tends to get line overruns marked by by black boxes.

      The text shape involves parabolic scallops to 
provide a varied test of hyphenation.  And the sample words are
ones for which the presence of ready-made accented characters
increases the number of available hyphenation points.


\bigskip
\Rule
\bigskip

 \Caesar
 \Msg{}\Msg{ *** Hyphenation points for extended cm font encoding.}
 \showhyphens{\extCM\hytest}
 \goodbreak
 \extCM *** Hyphenation points for extended cm font encoding:
 \AnnounceTest

 \ShapePar\Hytest\Hytest\Hytest\Hytest\Hytest%
      \par 

\bigskip
\Rule
\bigskip


\CM

 \Msg{}\Msg{ *** Hyphenation points for UNextended cm font encoding. }
 \showhyphens{\CM\hytest}
  \goodbreak
  \CM *** Hyphenation points for UNextended cm font encoding:
 \AnnounceTest
 \par\ShapePar\Hytest\Hytest\Hytest\Hytest\Hytest%
      \par 
\bigskip
\Rule
\bigskip


 \noCaesar\noJDaccents
 \Msg{}\Msg{ *** Hyphenation points offered by virgin Plain.}
 \showhyphens{\hytest}
  \goodbreak
  \CM  *** Hyphenation points offered by virgin Plain:
 \AnnounceTest
 \par  \ShapePar\Hytest\Hytest\Hytest\Hytest\Hytest%
      \par 
\bigskip
\Rule
\bigskip


 %%%% FOLLOWING TEST REQUIRES font dodo; see CaesarCM.bugs
 %%%%  Decomment the immediately following lines
 %%%%  when you have installed dodo.
 %%%%  DSaccents refers to Double Strike accents.
 % \JDaccents\noDSaccents
 % \Msg{}\Msg{ *** Hyphenation points for unextended cm font}
 % \Msg{ *** if printer excludes double strike.}
 % \showhyphens{\hytest}
 %  \CM *** Hyphenation for unextended font and low
 %    resolution printer
 %  \par \ShapePar\Hytest\Hytest\Hytest\Hytest\Hytest%
 %  \par 

\bigskip
\Rule
\bigskip

\goodbreak


\Caesar \extCM

 *** Some accented characters:


 Minuscules :

 \`a \`e \`\i{} \`o \`u

 \'a \'e \'\i{} \'o \'u

 \^a \^e \^\i{} \^o \^u

 \"a \"e \"\i{} \"o \"u \"y

 \c c \~a \~n \~o \o{} \ae{} \oe{} \ss{} \aa{}

 \medskip
 \`a\`e\`\i{}\`o\`u

 \'a\'e\'\i{}\'o\'u

 \^a\^e\^\i{}\^o\^u

 \"a\"e\"\i{}\"o\"u\"y

 \c c\~a\~n\~o\o{}\ae{}\oe{}\ss{}\aa{}

 \bigbreak 
 MAJUSCULES :


 \`A \`E \`I{} \`O \`U

 \'A \'E \'I{} \'O \'U

 \^A \^E \^I{} \^O \^U

 \"A \"E \"I{} \"O \"U \"Y

 \c C \~A \~N \~O \O{} \AE{} \OE{} SS{} \AA{}

 \medskip 
 \`A\`E\`I{}\`O\`U

 \'A\'E\'I{}\'O\'U

 \^A\^E\^I{}\^O\^U

 \"A\"E\"I{}\"O\"U\"Y

 \c C\~A\~N\~O\O{}\AE{}\OE{}SS{}\AA{}



 \bigbreak 

 \hsize=150pt

 \noCaesar%\noDSaccents

 Line breaks after accent:

 d\'ej\`a \'et\'e \'em\'ech\'e d\'ej\`a \'et\'e \'em\'ech\'e
 d\'ej\`a \'et\'e \'em\'ech\'e d\'ej\`a \'et\'e \'em\'ech\'e
 d\'ej\`a \'et\'e \'em\'ech\'e d\'ej\`a \'et\'e \'em\'ech\'e
 d\'ej\`a \'et\'e \'em\'ech\'e d\'ej\`a \'et\'e \'em\'ech\'e
 d\'ej\`a \'et\'e \'em\'ech\'e d\'ej\`a \'et\'e \'em\'ech\'e

 \bigskip


 \Caesar Remaining problem with case changes:

 \uppercase{ci-g\^it fran\c cais na\"if d\'es\oe{}uvr\'e b\^ete et
adult\`ere}

 \bye

 %%%% Some alternate test material:

 \def\hytesti{ci-g\^\i{}t fran\c cais na\"\i{}f
 d\'es\oe{}uvr\'e b\^ete et adult\`ere}
 
\def\hytestii{signal man\oe{}uvres \oe{}uvrer d\'es\oe{}uvrement
l\ae{}ticia laticia laennec l\ae{}nnec d\'eculpabiliser
r\'eactualisation \'education ex\'ecution inexp\'erience ma\c
connerie maconnerie ma\c connerie fa\c con abandonn\'es
distingu\'es abandonn\'e distingu\'e \'ethymologiquement
syst\'ematiquement }

 \def\hytestiii{% d\'econtenanc\'ee, h\'eb\'et\'ee, d\'efaite de
toute s\'er\'enit\'e devant cet ab\'ec\'edaire d\'ecapit\'e,
\'et\^et\'e, \'evid\'e, \'emascul\'e, d\'esagr\'eg\'e,
d\'ebilit\'e, d\'eg\'en\'er\'e, parce que priv\'e de lettres
accentu\'ees et correctement orthographi\'ees,
Th\'er\`ese-\'El\'eonore a d\'ecr\'et\'e avec sinc\'erit\'e et
opini\^atret\'e l'immortalit\'e des \c c\`a\c
c\^ac\'ec\`ec\^ec\"ec\^\i\ ainsi que des \c c\^o\c c\"o\c
c\`u\c c\^u\c c\"u.}


.
