%
% This file must be processed with initex, since it uses \patterns.
%
\catcode`\{=1 % left brace is begin-group character
\catcode`\}=2 % right brace is end-group character
\catcode`\$=3 % dollar sign is math shift
\catcode`\&=4 % ampersand is alignment tab
\catcode`\#=6 % hash mark is macro parameter character
\catcode`\^=7 \catcode`\^^K=7 % circumflex and uparrow are for superscripts
\catcode`\_=8 \catcode`\^^A=8 % underline and downarrow are for subscripts
\catcode`\^^I=10 % ascii tab is a blank space
\chardef\active=13 \catcode`\~=\active % tilde is active
\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par"
\defaulthyphenchar=`\-
\font\tenrm=cmr10

\hyphenclassesstate=1
\lefthyphenmin=2 \righthyphenmin=2
\hyphenclasses=4 \exhyphenclass=0

\patterns{a1a b10b c63c}
\hyphenation{abra-2kad-a-5bra}
\def\showhyphens#1{\setbox0=\vbox{\parfillskip0pt \hsize16383.99999pt \tenrm
 \pretolerance=-1 \tolerance=-1 \hbadness=0 \showboxdepth=0 \ #1}}

\showhyphens{
aaaa bbbb cccc
abrakadabra
client-server
bart\discretionary{-}{}{}wal
bimm\-bamm
schi\gendiscretionary6{ff-}{f}{ff}ahrt
}

\hyphenpenalties1=900
\hyphenpenalties2=800
\hyphenpenalties3=700
\hyphenpenalties4=600
\hyphenpenalties5=500
\hyphenpenalties6=400
\hyphenpenalties7=300
\hyphenpenalties8=100
\hyphenpenalties9=0

\hsize=0.5cm
\vsize=30cm
\tenrm
\tracingparagraphs=1

aaaaa bbbbb ccccc
abrakadabra
client-server
bart\discretionary{-}{}{}wal
bimm\-bamm
schi\gendiscretionary3{ff-}{f}{ff}ahrt

\end