<div dir="ltr"><div><div><div><div>Phil wrote<br><br>> Not as good as Knuth's, as it typesets the output rather than<br><br><br></div>If you wanted something that worked like \showhyphens you could do this<br><br></div>
It produces the following with xetex<br><br><br><br>Underfull \hbox (badness 10000) in paragraph at lines 1--1<br>[] \tenrm good-bye hy-phen-ation<br><br>Underfull \hbox (badness 10000) in paragraph at lines 8--8<br>[] \tenrm goodbye hyphenation<br>
<br>Underfull \hbox (badness 10000) in paragraph at lines 55--55<br>[] \tenrm good-bye hy-phen-ation<br> )<br><br><br></div>where the first is with its default cm font, second is just changing it to use Times Roman, then third is redefinition of \showhyphens<br>
</div><br><br>\showhyphens{goodbye hyphenation}<br><br>\font\tenrm = "Times New Roman" at 10pt<br>\hyphenchar\tenrm=`\-<br>\tenrm<br><br><br>\showhyphens{goodbye hyphenation}<br><br>\catcode`\@=11<br>\def\showhyphenspace#1 {%<br>
\ifx\valign#1\valign\else<br>#1\vadjust{\penalty\@ne} \expandafter\showhyphenspace<br>\fi}<br><br>\def\showhyphens#1{{%<br>\showboxbreadth\maxdimen<br>\showboxdepth\maxdimen<br>\pretolerance\m@ne\tolerance\m@ne<br>\setbox2\hbox{}%<br>
\setbox0\vbox{%<br>\pretolerance\m@ne<br>\tolerance\m@ne\hbadness\z@<br>\parfillskip\z@skip<br>\hsize1sp<br>\noindent<br>\hskip\z@<br>\hfuzz\maxdimen<br>\hbadness\maxdimen<br>\showhyphenspace#1 {} \par<br>\loop<br>\count@\@ne<br>
\ifnum1=\lastnodetype<br> \setbox4\lastbox<br> \setbox2\hbox{\unhbox4 \unhbox2}\count@\z@<br>\fi<br>\ifnum11=\lastnodetype\unskip\count@\z@\fi<br>\ifnum13=\lastnodetype<br> \count2\lastpenalty<br> \unpenalty\count@\z@<br>
 \ifnum\count2=\@ne<br> \setbox2\hbox{ \unhbox2}\count@\z@<br> \fi<br>\fi<br>\ifnum\z@=\count@<br>\repeat<br>\hsize\maxdimen<br>\hfuzz\z@<br>\hbadness\z@<br>\par<br>\unhbox2 <br>\par<br>}}}<br><br>\showhyphens{goodbye hyphenation}<br>
<br>\bye<br><div><div><div><br><br><br><br></div></div></div></div>