<html><head><metahttp-equiv="content-type"content="text/html; charset=utf-8"/><title>Hyphenate</title><linkrel="stylesheet"type="text/css"href="scribble.css"title="default"/><linkrel="stylesheet"type="text/css"href="racket.css"title="default"/><linkrel="stylesheet"type="text/css"href="manual-style.css"title="default"/><linkrel="stylesheet"type="text/css"href="manual-racket.css"title="default"/><scripttype="text/javascript"src="scribble-common.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><bodyid="scribble-racket-lang-org"><divclass="tocset"><divclass="tocview"><divclass="tocviewlist tocviewlisttopspace"><divclass="tocviewtitle"><tablecellspacing="0"cellpadding="0"><tr><tdstyle="width: 1em;"><ahref="javascript:void(0);"title="Expand/Collapse"class="tocviewtoggle"onclick="TocviewToggle(this,"tocview_0");">►</a></td><td></td><td><ahref=""class="tocviewselflink"data-pltdoc="x">Hyphenate</a></td></tr></table></div><divclass="tocviewsublistonly"style="display: none;"id="tocview_0"><tablecellspacing="0"cellpadding="0"><tr><tdalign="right">1 </td><td><ahref="#%28part._.Installation%29"class="tocviewlink"data-pltdoc="x">Installation</a></td></tr><tr><tdalign="right">2 </td><td><ahref="#%28part._.Interface%29"class="tocviewlink"data-pltdoc="x">Interface</a></td></tr><tr><tdalign="right">3 </td><td><ahref="#%28part._.License___source_code%29"class="tocviewlink"data-pltdoc="x">License & source code</a></td></tr></table></div></div></div><divclass="tocsub"><tableclass="tocsublist"cellspacing="0"><tr><td><spanclass="tocsublinknumber"></span><ahref="#%28part._.Hyphenate%29"class="tocsubseclink"data-pltdoc="x">Hyphenate</a></td></tr><tr><td><spanclass="tocsublinknumber">1<tt> </tt></span><ahref="#%28part._.Installation%29"class="tocsubseclink"data-pltdoc="x">Installation</a></td></tr><tr><td><spanclass="tocsublinknumber">2<tt> </tt></span><ahref="#%28part._.Interface%29"class="tocsubseclink"data-pltdoc="x">Interface</a></td></tr><tr><td><ahref="#%28def._%28%28lib._hyphenate%2Fmain..rkt%29._hyphenate%29%29"class="tocsubnonseclink"data-pltdoc="x"><spanclass="RktSym"><spanclass="badlink"><spanclass="RktValLink">hyphenate</span></span></span></a></td></tr><tr><td><ahref="#%28def._%28%28lib._hyphenate%2Fmain..rkt%29._hyphenatef%29%29"class="tocsubnonseclink"data-pltdoc="x"><spanclass="RktSym"><spanclass="badlink"><spanclass="RktValLink">hyphenatef</span></span></span></a></td></tr><tr><td><ahref="#%28def._%28%28lib._hyphenate%2Fmain..rkt%29._unhyphenate%29%29"class="tocsubnonseclink"data-pltdoc="x"><spanclass="RktSym"><spanclass="badlink"><spanclass="RktValLink">unhyphenate</span></span></span></a></td></tr><tr><td><spanclass="tocsublinknumber">3<tt> </tt></span><ahref="#%28part._.License___source_code%29"class="tocsubseclink"data-pltdoc="x">License & source code</a></td></tr></table></div></div><divclass="maincolumn"><divclass="main"><divclass="versionbox"><spanclass="versionNoNav">6.0.0.1</span></div><h2><aname="(part._.Hyphenate)"></a>Hyphenate</h2><divclass="SAuthorListBox"><spanclass="SAuthorList"><pclass="author">Matthew Butterick <<ahref="mailto:mb@mbtype.com">mb@mbtype.com</a>></p></span></div><p>A simple hyphenation engine that uses the Knuth–Liang hyphenation algorithm originally developed for TeX. This implementation is a port of Ned Batchelder’s <ahref="http://nedbatchelder.com/code/modules/hyphenate.html">Python version</a>. I have added little to their work. Accordingly, I take little credit.</p><p>I originally put together this module to handle hyphenation for my web-based book <ahref="http://practicaltypography.com">Butterick’s Practical Typography</a> (which I made with <fontclass="badlink"><spanclass="techoutside"><spanclass="techinside">Racket</span></span></font>&<fontclass="badlink"><spanclass="techoutside"><spanclass="techinside">Scribble</span></span></font>). Though su