PageSourceSearch

https://hyphenateit.com/assets/util-DtFTtnZ_.js

js hyphenateit.com collected 2026-10-09 22:58:50 UTC 128,102 bytes, 964 lines download raw bytes

1var e=[{title:`The Economist Style Guide Hyphenation Rules`,description:`A summary of the hyphenation rules from the Economist Style Guide.`,image:{url:`/posts/economist-style-guide-on-hyphens/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-15T00:00:00.000Z`),author:{name:`Alexandru Furculita`,url:`https://twitter.com/afurculita`},tags:[],content:{mdx:'var Component=(()=>{var u=Object.create;var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var g=(i,n)=>()=>(n||i((n={exports:{}}).exports,n),n.exports),w=(i,n)=>{for(var l in n)d(i,l,{get:n[l],enumerable:!0})},c=(i,n,l,h)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of p(n))!b.call(i,r)&&r!==l&&d(i,r,{get:()=>n[r],enumerable:!(h=m(n,r))||h.enumerable});return i};var y=(i,n,l)=>(l=i!=null?u(f(i)):{},c(n||!i||!i.__esModule?d(l,"default",{value:i,enumerable:!0}):l,i)),k=i=>c(d({},"__esModule",{value:!0}),i);var o=g((j,t)=>{t.exports=_jsx_runtime});var v={};w(v,{default:()=>s});var e=y(o());function a(i){let n={a:"a",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...i.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(n.h1,{id:"the-economist-style-guide-hyphenation-rules",children:[(0,e.jsx)(n.em,{children:"The Economist Style Guide"})," Hyphenation Rules"]}),`\n`,(0,e.jsx)(n.p,{children:"Here is a summary of the hyphenation rules from the Economist Style Guide."}),`\n`,(0,e.jsx)(n.h2,{id:"the-essence-of-style",children:"The essence of style"}),`\n`,(0,e.jsx)(n.p,{children:"There is no firm rule to help you decide which words are run together, hyphenated or left separate. If in doubt, consult a dictionary. Do not overdo the literary device of hyphenating words that are not usually linked: the stringing-together-of-lotsand-lots-of-words-and-ideas tendency can be tiresome."}),`\n`,(0,e.jsx)(n.h3,{id:"1-words-with-common-or-short-prefixes",children:"1. Words with common or short prefixes"}),`\n`,(0,e.jsx)(n.p,{children:"In general, try to avoid putting hyphens into words formed of one word and a short prefix."}),`\n`,(0,e.jsx)(n.p,{children:(0,e.jsx)(n.em,{children:"3D, asexual, biplane, declassify, disfranchise, geopolitical, neoclassicism, neoconservative but neo-cons, neoliberal, Neolithic, neologism, neonatal, overcapacity, overdone, overeducated, overemployment, precondition, predate, subcontinent, preoccupied, subcontract, preordained, subhuman, prepay, submachinegun, realign, suboptimal, rearm, subprime, rearrange, tetravalent, reborn, underdog, redirect, underdone, reopen, underinvest, reorder, underpaid, repurchase, subcommittee, upended"})}),`\n`,(0,e.jsxs)(n.h3,{id:"2-words-beginning-with-re-",children:["2. Words beginning with ",(0,e.jsx)(n.em,{children:"re-"})]}),`\n`,(0,e.jsx)(n.p,{children:"Some words that begin with re are hyphenated to avoid confusion:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-cast"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-create (meaning create again)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-present (meaning present again)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-sort (meaning sort again)"}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"3-unfamiliar-combinations",children:"3. Unfamiliar combinations"}),`\n`,(0,e.jsx)(n.p,{children:"Words making unfamiliar combinations, especially if they would involve running consonants or vowels together, may benefit from a hyphen, so:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"cross-reference (a cross reference would be unpleasant)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"demi-paradise"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"over-governed"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"sub-investment grade"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"under-age"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"under-secretary"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsxs)(n.p,{children:[(0,e.jsx)(n.em,{children:"Antidisestablishmentarianism"})," would, however, lose its point if it were hyphenated."]}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"4-fractions",children:"4. Fractions"}),`\n`,(0,e.jsx)(n.p,{children:"Whether nouns or adjectives, these take hyphens:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"one-half"}),`\n`,(0,e.jsx)(n.li,{children:"one-sixth"}),`\n`,(0,e.jsx)(n.li,{children:"four-fifths"}),`\n`,(0,e.jsx)(n.li,{children:"two-thirds"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But note that it is a half, a fifth, a sixth."}),`\n`,(0,e.jsx)(n.h3,{id:"5-words-that-begin-with",children:"5. Words that begin with"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"agri"}),`\n`,(0,e.jsx)(n.li,{children:"infra"}),`\n`,(0,e.jsx)(n.li,{children:"post"}),`\n`,(0,e.jsx)(n.li,{children:"anti"}),`\n`,(0,e.jsx)(n.li,{children:"inter"}),`\n`,(0,e.jsx)(n.li,{children:"pre"}),`\n`,(0,e.jsx)(n.li,{children:"counter"}),`\n`,(0,e.jsx)(n.li,{children:"mid"}),`\n`,(0,e.jsx)(n.li,{children:"semi"}),`\n`,(0,e.jsx)(n.li,{children:"extra"}),`\n`,(0,e.jsx)(n.li,{children:"multi"}),`\n`,(0,e.jsx)(n.li,{children:"ultra"}),`\n`,(0,e.jsx)(n.li,{children:"half"}),`\n`,(0,e.jsx)(n.li,{children:"non"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"The rules vary:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"agri-business, agriculture"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"anti-aircraft, anti-fascist, anti-submarine (but antibiotic, anticlimax, antidote, antiseptic, antitrust) counter-attack, counter-clockwise, counter-espionage, counter-intuitive (but counteract, countermand, counterpane)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"extraordinary, extraterrestrial, extraterritorial (but extra\\xAC judicial)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"half-baked, half-hearted, half-serious (but halfway) infra-red"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"inter-agency, inter-country, inter-faith, inter-governmental, inter-regional (but intermediate, international, interpose) mid-August, mid-week"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"multibillion, multilingual, multiracial (but multi-occupancy, multi-storey, multi-user)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"non-combatant, non-existent, non-payment, non-violent (but nonaligned, nonconformist, nonplussed, nonstop) postdate, post-war, pre-war semi-automatic, semi-conscious, semi-detached ultra-violet"}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"6-the-word-worth",children:"6. The word worth"}),`\n`,(0,e.jsxs)(n.p,{children:["A sum followed by the word worth needs a hyphen: ",(0,e.jsx)(n.em,{children:"$25m-worth of goods"}),"."]}),`\n`,(0,e.jsx)(n.h3,{id:"7-some-titles",children:"7. Some titles"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"attorney-general"}),`\n`,(0,e.jsx)(n.li,{children:"lieutenant-colonel"}),`\n`,(0,e.jsx)(n.li,{children:"under-secretary"}),`\n`,(0,e.jsx)(n.li,{children:"director-general"}),`\n`,(0,e.jsx)(n.li,{children:"major-general"}),`\n`,(0,e.jsx)(n.li,{children:"vice-president"}),`\n`,(0,e.jsx)(n.li,{children:"field-marshal"}),`\n`,(0,e.jsx)(n.li,{children:"secretary-general"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"deputy"}),`\n`,(0,e.jsx)(n.li,{children:"director"}),`\n`,(0,e.jsx)(n.li,{children:"district"}),`\n`,(0,e.jsx)(n.li,{children:"attorney"}),`\n`,(0,e.jsx)(n.li,{children:"deputy"}),`\n`,(0,e.jsx)(n.li,{children:"secretary"}),`\n`,(0,e.jsx)(n.li,{children:"general"}),`\n`,(0,e.jsx)(n.li,{children:"secretary"}),`\n`]}
1),`\n`,(0,e.jsx)(n.h3,{id:"8-avoiding-ambiguities",children:"8. Avoiding ambiguities"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"fine-tooth comb (most people do not comb their teeth)"}),`\n`,(0,e.jsx)(n.li,{children:"a little used-car lot (a little-used car lot)"}),`\n`,(0,e.jsx)(n.li,{children:"third-world war (third world-war)"}),`\n`,(0,e.jsx)(n.li,{children:"cross-complaint (cross complaint)"}),`\n`,(0,e.jsx)(n.li,{children:"high-school results (high school-results)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"9-aircraft",children:"9. Aircraft"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"DC-10"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"Mirage F-1E"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"MiG-23"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"Lockheed p-3 Orion"}),`\n`,(0,e.jsx)(n.p,{children:"(If in doubt, consult Jane\\u2019; \\u201CAll the World\\u2019s Aircraft\\u201D.)"}),`\n`,(0,e.jsx)(n.p,{children:"Note that Airbus A340, BAe RJ70 do not have hyphens."}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"10-calibres",children:"10. Calibres"}),`\n`,(0,e.jsx)(n.p,{children:"The style for calibres is 50mm or 105mm with no hyphen, but 5.5-inch and 25-pounder."}),`\n`,(0,e.jsx)(n.h3,{id:"11-adjectives-formed-from-two-or-more-words",children:"11. Adjectives formed from two or more words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"70-year-old judge"}),`\n`,(0,e.jsx)(n.li,{children:"balance-of-payments difficulties"}),`\n`,(0,e.jsx)(n.li,{children:"private-sector wages"}),`\n`,(0,e.jsx)(n.li,{children:"public-sector borrowing requirement"}),`\n`,(0,e.jsxs)(n.li,{children:["right-wing groups (",(0,e.jsx)(n.em,{children:"but"})," the right wing of the party)"]}),`\n`,(0,e.jsx)(n.li,{children:"state-of-the-union message"}),`\n`,(0,e.jsx)(n.li,{children:"value-added tax (VAT)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"12-adverbs",children:"12. Adverbs"}),`\n`,(0,e.jsx)(n.p,{children:"Adverbs do not need to be linked to participles or adjectives by hyphens in simple constructions:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"The regiment was ill equipped for its task."})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"The principle is well established."})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"Though expensively educated, the journalist knew no grammar."})}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But if the adverb is one of two words together being used adjectivally, a hyphen may be needed:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"The ill-equipped regiment was soon repulsed."})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"All well-established principles should be periodically challenged."})}),`\n`]}),`\n`,(0,e.jsxs)(n.p,{children:["The hyphen is especially likely to be needed if the adverb is short and common, such as ",(0,e.jsx)(n.em,{children:"ill"}),", ",(0,e.jsx)(n.em,{children:"little"}),", ",(0,e.jsx)(n.em,{children:"much"})," and ",(0,e.jsx)(n.em,{children:"well"}),". Less common adverbs, including all those that end -ly, are less likely to need hyphens:"]}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"Never employ an expensively educated journalist."})}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"13-separating-identical-letters",children:"13. Separating identical letters"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"book-keeping"}),`\n`,(0,e.jsx)(n.li,{children:"re-emerge"}),`\n`,(0,e.jsx)(n.li,{children:"coat-tails"}),`\n`,(0,e.jsx)(n.li,{children:"re-entry"}),`\n`,(0,e.jsx)(n.li,{children:"co-operate"}),`\n`,(0,e.jsx)(n.li,{children:"side-effect"}),`\n`,(0,e.jsx)(n.li,{children:"pre-eminent"}),`\n`,(0,e.jsx)(n.li,{children:"trans-ship"}),`\n`,(0,e.jsx)(n.li,{children:"pre-empt"}),`\n`,(0,e.jsx)(n.li,{children:"unco-operative"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"Exceptions include:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"overrate"}),`\n`,(0,e.jsx)(n.li,{children:"overrun"}),`\n`,(0,e.jsx)(n.li,{children:"overreach"}),`\n`,(0,e.jsx)(n.li,{children:"skiing"}),`\n`,(0,e.jsx)(n.li,{children:"override"}),`\n`,(0,e.jsx)(n.li,{children:"underrate"}),`\n`,(0,e.jsx)(n.li,{children:"overrule"}),`\n`,(0,e.jsx)(n.li,{children:"withhold"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"14-some-nouns-formed-from-prepositional-verbs",children:"14. Some nouns formed from prepositional verbs"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"bail-out"}),`\n`,(0,e.jsx)(n.li,{children:"pay-off"}),`\n`,(0,e.jsx)(n.li,{children:"shake-out"}),`\n`,(0,e.jsx)(n.li,{children:"build-up"}),`\n`,(0,e.jsx)(n.li,{children:"pull-out"}),`\n`,(0,e.jsx)(n.li,{children:"shake-up"}),`\n`,(0,e.jsx)(n.li,{children:"buy-out"}),`\n`,(0,e.jsx)(n.li,{children:"rip-off"}),`\n`,(0,e.jsx)(n.li,{children:"stand-off"}),`\n`,(0,e.jsx)(n.li,{children:"call-up"}),`\n`,(0,e.jsx)(n.li,{children:"round-up"}),`\n`,(0,e.jsx)(n.li,{children:"start-up"}),`\n`,(0,e.jsx)(n.li,{children:"get-together"}),`\n`,(0,e.jsx)(n.li,{children:"run-up"}),`\n`,(0,e.jsx)(n.li,{children:"trade-off"}),`\n`,(0,e.jsx)(n.li,{children:"lay-off"}),`\n`,(0,e.jsx)(n.li,{children:"set-up"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"fallout"}),`\n`,(0,e.jsx)(n.li,{children:"lockout"}),`\n`,(0,e.jsx)(n.li,{children:"handout"}),`\n`,(0,e.jsx)(n.li,{children:"payout"}),`\n`,(0,e.jsx)(n.li,{children:"knockout"}),`\n`,(0,e.jsx)(n.li,{children:"turnout"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"15-the-quarters-of-the-compass",children:"15. The quarters of the compass"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"mid-west(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"south-east(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"north-east(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"south-west(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"north-west(ern)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"16-hybrid-ethnics",children:"16. Hybrid ethnics"}),`\n`,(0,e.jsxs)(n.p,{children:[(0,e.jsx)(n.em,{children:"Greek-Cypriot"}),", ",(0,e.jsx)(n.em,{children:"Irish-American"}),", etc, whether noun or adjective."]}),`\n`,(0,e.jsx)(n.h3,{id:"17-makers-and-making",children:"17. Makers and making"}),`\n`,(0,e.jsxs)(n.p,{children:["A general, though not iron, rule for ",(0,e.jsx)(n.em,{children:"makers"})," and ",(0,e.jsx)(n.em,{children:"making"}
1),": if the prefix is of one or two syllables, attach it without a hyphen to form a single word, but if the prefix is of three or more syllables, introduce a hyphen."]}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"antimacassar-maker"}),`\n`,(0,e.jsx)(n.li,{children:"clockmaker"}),`\n`,(0,e.jsx)(n.li,{children:"steelmaker"}),`\n`,(0,e.jsx)(n.li,{children:"holiday-maker"}),`\n`,(0,e.jsx)(n.li,{children:"tiramisu-maker"}),`\n`,(0,e.jsx)(n.li,{children:"lawmaker"}),`\n`,(0,e.jsx)(n.li,{children:"troublemaker"}),`\n`,(0,e.jsx)(n.li,{children:"marketmaker"}),`\n`,(0,e.jsx)(n.li,{children:"peacemaker"}),`\n`,(0,e.jsx)(n.li,{children:"bookmaker"}),`\n`,(0,e.jsx)(n.li,{children:"candlestick-maker"}),`\n`,(0,e.jsx)(n.li,{children:"carmaker"}),`\n`,(0,e.jsx)(n.li,{children:"chipmaker"}),`\n`]}),`\n`,(0,e.jsxs)(n.p,{children:[(0,e.jsx)(n.em,{children:"Policymaker"})," and ",(0,e.jsx)(n.em,{children:"profitmaking"})," are one word and an exception. But: note ",(0,e.jsx)(n.em,{children:"foreign-policy maker"})," (",(0,e.jsx)(n.em,{children:"-ing"}),")."]}),`\n`,(0,e.jsxs)(n.h3,{id:"18-other-words-ending--er--ing-that-are-similar-to-maker-and-making",children:["18. Other words ending ",(0,e.jsx)(n.em,{children:"-er"})," (",(0,e.jsx)(n.em,{children:"-ing"}),") that are similar to ",(0,e.jsx)(n.em,{children:"maker"})," and ",(0,e.jsx)(n.em,{children:"making"})]}),`\n`,(0,e.jsx)(n.p,{children:"The general rule should be to insert a hyphen:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"arms-trader"}),`\n`,(0,e.jsx)(n.li,{children:"copper-miner"}),`\n`,(0,e.jsx)(n.li,{children:"drug-dealer"}),`\n`,(0,e.jsx)(n.li,{children:"drug-trafficker"}),`\n`,(0,e.jsx)(n.li,{children:"field-worker"}),`\n`,(0,e.jsx)(n.li,{children:"front-runner"}),`\n`,(0,e.jsx)(n.li,{children:"gun-runner"}),`\n`,(0,e.jsx)(n.li,{children:"home-owner"}),`\n`,(0,e.jsx)(n.li,{children:"hostage-taker"}),`\n`,(0,e.jsx)(n.li,{children:"mill-owner"}),`\n`,(0,e.jsx)(n.li,{children:"truck-driver"}),`\n`,(0,e.jsx)(n.li,{children:"vegetable-grower"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But some prefixes, especially those of one syllable, can be used to form single words."}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"coalminer"}),`\n`,(0,e.jsx)(n.li,{children:"metalworker"}),`\n`,(0,e.jsx)(n.li,{children:"shipowner"}),`\n`,(0,e.jsx)(n.li,{children:"farmworker"}),`\n`,(0,e.jsx)(n.li,{children:"muckraker"}),`\n`,(0,e.jsx)(n.li,{children:"steelworker"}),`\n`,(0,e.jsx)(n.li,{children:"foxhunter"}),`\n`,(0,e.jsx)(n.li,{children:"nitpicker (-ing)"}),`\n`,(0,e.jsx)(n.li,{children:"steeplechaser"}),`\n`,(0,e.jsx)(n.li,{children:"gatekeeper"}),`\n`,(0,e.jsx)(n.li,{children:"peacekeeper"}),`\n`,(0,e.jsx)(n.li,{children:"taxpayer"}),`\n`,(0,e.jsx)(n.li,{children:"householder"}),`\n`,(0,e.jsx)(n.li,{children:"shipbroker"}),`\n`,(0,e.jsx)(n.li,{children:"landowner"}),`\n`,(0,e.jsx)(n.li,{children:"shipbuilder"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"Less common combinations are better written as two words:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"crossword"}),`\n`,(0,e.jsx)(n.li,{children:"compiler"}),`\n`,(0,e.jsx)(n.li,{children:"gun"}),`\n`,(0,e.jsx)(n.li,{children:"owner"}),`\n`,(0,e.jsx)(n.li,{children:"currency"}),`\n`,(0,e.jsx)(n.li,{children:"trader"}),`\n`,(0,e.jsx)(n.li,{children:"insurance"}),`\n`,(0,e.jsx)(n.li,{children:"broker"}),`\n`,(0,e.jsx)(n.li,{children:"dog"}),`\n`,(0,e.jsx)(n.li,{children:"owner"}),`\n`,(0,e.jsx)(n.li,{children:"tuba"}),`\n`,(0,e.jsx)(n.li,{children:"player"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"19-quotes",children:"19. Quotes"}),`\n`,(0,e.jsx)(n.p,{children:"Words gathered together in quotation marks as adjectives do not usually need hyphens as well:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"the \\u201CLive Free or Die\\u201D state."})}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"20-one-word",children:"20. One word"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"airfield"}),`\n`,(0,e.jsx)(n.li,{children:"airspace"}),`\n`,(0,e.jsx)(n.li,{children:"airtime"}),`\n`,(0,e.jsx)(n.li,{children:"bedfellow"}),`\n`,(0,e.jsx)(n.li,{children:"bestseller (-ing)"}),`\n`,(0,e.jsx)(n.li,{children:"bilingual"}),`\n`,(0,e.jsx)(n.li,{children:"blackboard"}),`\n`,(0,e.jsx)(n.li,{children:"blackout"}),`\n`,(0,e.jsx)(n.li,{children:"blueprint"}),`\n`,(0,e.jsx)(n.li,{children:"bookseller"}),`\n`,(0,e.jsx)(n.li,{children:"businessman"}),`\n`,(0,e.jsx)(n.li,{children:"bypass"}),`\n`,(0,e.jsxs)(n.li,{children:["cashflow (but ",(0,e.jsx)(n.em,{children:"cash flow"})," in accountancy)"]}),`\n`,(0,e.jsx)(n.li,{children:"catchphrase"}),`\n`,(0,e.jsx)(n.li,{children:"ceasefire"}),`\n`,(0,e.jsx)(n.li,{children:"checklist"}),`\n`,(0,e.jsx)(n.li,{children:"coastguard"}),`\n`,(0,e.jsx)(n.li,{children:"codebreaker"}),`\n`,(0,e.jsx)(n.li,{children:"comeback"}),`\n`,(0,e.jsx)(n.li,{children:"commonsense (adj)"}),`\n`,(0,e.jsx)(n.li,{children:"crossfire"}),`\n`,(0,e.jsx)(n.li,{children:"cyberspace"}),`\n`,(0,e.jsx)(n.li,{children:"dotcom"}
1),`\n`,(0,e.jsx)(n.li,{children:"downturn (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"faultline"}),`\n`,(0,e.jsx)(n.li,{children:"figleaf"}),`\n`,(0,e.jsx)(n.li,{children:"fivefold"}),`\n`,(0,e.jsx)(n.li,{children:"foothold"}),`\n`,(0,e.jsx)(n.li,{children:"forever (adv, when preceding verb)"}),`\n`,(0,e.jsx)(n.li,{children:"foxhunter (-ing)"}),`\n`,(0,e.jsxs)(n.li,{children:["frontline (adj, but noun ",(0,e.jsx)(n.em,{children:"front line"}),")"]}),`\n`,(0,e.jsx)(n.li,{children:"girlfriend"}),`\n`,(0,e.jsx)(n.li,{children:"goodwill"}),`\n`,(0,e.jsx)(n.li,{children:"grassroots (adj and noun)"}),`\n`,(0,e.jsx)(n.li,{children:"groundsman"}),`\n`,(0,e.jsx)(n.li,{children:"halfhearted"}),`\n`,(0,e.jsx)(n.li,{children:"halfway"}),`\n`,(0,e.jsx)(n.li,{children:"handpicked"}),`\n`,(0,e.jsx)(n.li,{children:"handwriting"}),`\n`,(0,e.jsx)(n.li,{children:"hardline"}),`\n`,(0,e.jsx)(n.li,{children:"headache"}),`\n`,(0,e.jsx)(n.li,{children:"hijack"}),`\n`,(0,e.jsx)(n.li,{children:"hobnob"}),`\n`,(0,e.jsx)(n.li,{children:"kowtow"}),`\n`,(0,e.jsx)(n.li,{children:"lacklustre"}),`\n`,(0,e.jsx)(n.li,{children:"landmine"}),`\n`,(0,e.jsx)(n.li,{children:"laptop"}),`\n`,(0,e.jsx)(n.li,{children:"logjam"}),`\n`,(0,e.jsx)(n.li,{children:"loophole"}),`\n`,(0,e.jsx)(n.li,{children:"lopsided"}),`\n`,(0,e.jsx)(n.li,{children:"lukewarm"}),`\n`,(0,e.jsx)(n.li,{children:"machinegun"}),`\n`,(0,e.jsx)(n.li,{children:"marketplace"}),`\n`,(0,e.jsx)(n.li,{children:"minefield"}),`\n`,(0,e.jsx)(n.li,{children:"nationwide"}),`\n`,(0,e.jsx)(n.li,{children:"nevertheless"}),`\n`,(0,e.jsx)(n.li,{children:"nonetheless"}),`\n`,(0,e.jsx)(n.li,{children:"offline"}),`\n`,(0,e.jsx)(n.li,{children:"offshore"}),`\n`,(0,e.jsx)(n.li,{children:"oilfield"}),`\n`,(0,e.jsx)(n.li,{children:"oilrig"}),`\n`,(0,e.jsx)(n.li,{children:"online"}),`\n`,(0,e.jsx)(n.li,{children:"onshore"}),`\n`,(0,e.jsx)(n.li,{children:"peacetime"}),`\n`,(0,e.jsx)(n.li,{children:"petrochemical"}),`\n`,(0,e.jsx)(n.li,{children:"pickup truck"}),`\n`,(0,e.jsx)(n.li,{children:"placename"}),`\n`,(0,e.jsx)(n.li,{children:"rainforest"}),`\n`,(0,e.jsx)(n.li,{children:"ringtone"}),`\n`,(0,e.jsx)(n.li,{children:"roadblock"}),`\n`,(0,e.jsx)(n.li,{children:"rustbelt"}),`\n`,(0,e.jsx)(n.li,{children:"salesforce"}),`\n`,(0,e.jsx)(n.li,{children:"seabed"}),`\n`,(0,e.jsx)(n.li,{children:"shorthand"}),`\n`,(0,e.jsx)(n.li,{children:"shortlist"}),`\n`,(0,e.jsx)(n.li,{children:"shutdown"}),`\n`,(0,e.jsx)(n.li,{children:"sidestep"}),`\n`,(0,e.jsx)(n.li,{children:"soyabean"}),`\n`,(0,e.jsx)(n.li,{children:"spillover"}),`\n`,(0,e.jsx)(n.li,{children:"startup"}),`\n`,(0,e.jsx)(n.li,{children:"statewide"}),`\n`,(0,e.jsx)(n.li,{children:"stockmarket"}),`\n`,(0,e.jsx)(n.li,{children:"streetwalker"}),`\n`,(0,e.jsx)(n.li,{children:"strongman"}),`\n`,(0,e.jsx)(n.li,{children:"sunbelt"}),`\n`,(0,e.jsx)(n.li,{children:"takeover"}),`\n`,(0,e.jsx)(n.li,{children:"threefold"}),`\n`,(0,e.jsx)(n.li,{children:"threshold"}),`\n`,(0,e.jsx)(n.li,{children:"timetable"}),`\n`,(0,e.jsx)(n.li,{children:"trademark"}),`\n`,(0,e.jsx)(n.li,{children:"transatlantic"}),`\n`,(0,e.jsx)(n.li,{children:"transpacific"}),`\n`,(0,e.jsx)(n.li,{children:"twofold"}),`\n`,(0,e.jsx)(n.li,{children:"videocassette"}),`\n`,(0,e.jsx)(n.li,{children:"videodisc"}),`\n`,(0,e.jsx)(n.li,{children:"wartime"}),`\n`,(0,e.jsx)(n.li,{children:"watchdog"}),`\n`,(0,e.jsx)(n.li,{children:"website"}),`\n`,(0,e.jsx)(n.li,{children:"whistleblower"}),`\n`,(0,e.jsx)(n.li,{children:"windfall"}),`\n`,(0,e.jsx)(n.li,{children:"workforce"}),`\n`,(0,e.jsx)(n.li,{children:"worldwide"}),`\n`,(0,e.jsx)(n.li,{children:"worthwhile"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"21-two-words",children:"21. Two words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"ad hoc"}),`\n`,(0,e.jsx)(n.li,{children:"air base"}),`\n`,(0,e.jsx)(n.li,{children:"air force"}),`\n`,(0,e.jsx)(n.li,{children:"air strike"}),`\n`,(0,e.jsx)(n.li,{children:"all right"}),`\n`,(0,e.jsx)(n.li,{children:"any more"}),`\n`,(0,e.jsx)(n.li,{children:"any time"}),`\n`,(0,e.jsx)(n.li,{children:"arm\\u2019s length"}),`\n`,(0,e.jsx)(n.li,{children:"ballot box"}),`\n`,(0,e.jsx)(n.li,{children:"birth rate"}),`\n`,(0,e.jsx)(n.li,{children:"call centre"}),`\n`,(0,e.jsx)(n.li,{children:"child care (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"cluster bombs"}),`\n`,(0,e.jsx)(n.li,{children:"common sense (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"dare say"}),`\n`,(0,e.jsx)(n.li,{children:"errand boy"}),`\n`,(0,e.jsx)(n.li,{children:"for ever (when used after a verb)"}),`\n`,(0,e.jsx)(n.li,{children:"health care (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"hedge fund"}),`\n`,(0,e.jsx)(n.li,{children:"home page"}),`\n`,(0,e.jsx)(n.li,{children:"joint venture"}),`\n`,(0,e.jsx)(n.li,{children:"Land Rover"}),`\n`,(0,e.jsx)(n.li,{children:"no one"}),`\n`,(0,e.jsx)(n.li,{children:"photo opportunity"}),`\n`,(0,e.jsx)(n.li,{children:"plea bargain"}),`\n`,(0,e.jsx)(n.li,{children:"some day"}),`\n`,(0,e.jsx)(n.li,{children:"some time"}),`\n`,(0,e.jsx)(n.li,{children:"under way"}),`\n`,(0,e.jsx)(n.li,{children:"vice versa"}),`\n`,(0,e.jsx)(n.li,{children:"wild flowers (but adj. wildflower)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"22-two-hyphenated-words",children:"22. Two hyphenated words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"aid-worker"}),`\n`,(0,e.jsx)(n.li,{children:"aircraft-carrier"}),`\n`,(0,e.jsx)(n.li,{children:"asylum-seekers"}),`\n`,(0,e.jsx)(n.li,{children:"baby-boomer"}),`\n`,(0,e.jsx)(n.li,{children:"balance-sheet"}),`\n`,(0,e.jsx)(n.li,{children:"bell-ringer"}),`\n`,(0,e.jsx)(n.li,{children:"break-even"}),`\n`,(0,e.jsx)(n.li,{children:"climb-down"}),`\n`,(0,e.jsx)(n.li,{children:"come-uppance"}),`\n`,(0,e.jsx)(n.li,{children:"court-martial (noun and verb)"}),`\n`,(0,e.jsx)(n.li,{children:"cross-border"}),`\n`,(0,e.jsx)(n.li,{children:"cross-dresser"}),`\n`,(0,e.jsx)(n.li,{children:"cross-sell"}),`\n`,(0,e.jsx)(n.li,{children:"death-squads"}),`\n`,(0,e.jsx)(n.li,{children:"derring-do"}),`\n`,(0,e.jsx)(n.li,{children:"downpayment"}),`\n`,(0,e.jsx)(n.li,{children:"drawing-board"}),`\n`,(0,e.jsx)(n.li,{children:"end-game"}),`\n`,(0,e.jsx)(n.li,{children:"end-year"}),`\n`,(0,e.jsx)(n.li,{children:"faint-hearted"}),`\n`,(0,e.jsx)(n.li,{children:"fund-raiser (-ing)"}),`\n`,(0,e.jsx)(n.li,{children:"grown-up"}),`\n`,(0,e.jsx)(n.li,{children:"hand-held"}),`\n`,(0,e.jsx)(n.li,{children:"health-care (adj)"}),`\n`,(0,e.jsx)(n.li,{children:"heir-apparent"}),`\n`,(0,e.jsx)(n.li,{children:"home-made"}),`\n`,(0,e.jsx)(n.li,{children:"hot-head"}),`\n`,(0,e.jsx)(n.li,{children:"ice-cream"}),`\n`,(0,e.jsx)(n.li,{children:"in-fighting"}),`\n`,(0,e.jsx)(n.li,{children:"interest-group"}),`\n`,(0,e.jsx)(n.li,{children:"kerb-crawler"}),`\n`,(0,e.jsx)(n.li,{children:"know-how"}),`\n`,(0,e.jsx)(n.li,{children:"laughing-stock"}),`\n`,(0,e.jsx)(n.li,{children:"like-minded"}),`\n`,(0,e.jsx)(n.li,{children:"long-standing"}),`\n`,(0,e.jsx)(n.li,{children:"machine-tool"}),`\n`,(0,e.jsx)(n.li,{children:"money-laundering"}),`\n`,(0,e.jsx)(n.li,{children:"nation-building"}),`\n`,(0,e.jsx)(n.li,{children:"nation-state"}),`\n`,(0,e.jsx)(n.li,{children:"nest-egg"}),`\n`,(0,e.jsx)(n.li,{children:"news-stand"}),`\n`,(0,e.jsx)(n.li,{children:"number-plate"}),`\n`,(0,e.jsx)(n.li,{children:"pot-hole"}),`\n`,(0,e.jsx)(n.li,{children:"pressuregroup"}),`\n`,(0,e.jsx)(n.li,{children:"question-mark"}),`\n`,(0,e.jsx)(n.li,{children:"rain-check"}),`\n`,(0,e.jsx)(n.li,{children:"safety-valve"}),`\n`,(0,e.jsx)(n.li,{children:"short-lived"}),`\n`,(0,e.jsx)(n.li,{children:"starting-point"}),`\n`,(0,e.jsx)(n.li,{children:"stickingpoint"}),`\n`,(0,e.jsx)(n.li,{children:"stumbling-block"}),`\n`,(0,e.jsx)(n.li,{children:"subject-matter"}),`\n`,(0,e.jsx)(n.li,{children:"suicide-bomb (-er, -ing)"}),`\n`,(0,e.jsx)(n.li,{children:"talking-shop"}),`\n`,(0,e.jsx)(n.li,{children:"task-force"}),`\n`,(0,e.jsx)(n.li,{children:"tear-gas"}),`\n`,(0,e.jsx)(n.li,{children:"think-tank"}),`\n`,(0,e.jsx)(n.li,{children:"time-bomb"}),`\n`,(0,e.jsx)(n.li,{children:"turning-point"}),`\n`,(0,e.jsx)(n.li,{children:"voice-over"}),`\n`,(0,e.jsx)(n.li,{children:"vote-winner"}),`\n`,(0,e.jsx)(n.li,{children:"war-chest"}),`\n`,(0,e.jsx)(n.li,{children:"well-being"}),`\n`,(0,e.jsx)(n.li,{children:"Wi-Fi"}),`\n`,(0,e.jsx)(n.li,{children:"Wi-Max"}),`\n`,(0,e.jsx)(n.li,{children:"window-dressing"}),`\n`,(0,e.jsx)(n.li,{children:"wish-list"}),`\n`,(0,e.jsx)(n.li,{children:"witch-hunt"}),`\n`,(0,e.jsx)(n.li,{children:"working-party"}),`\n`,(0,e.jsx)(n.li,{children:"write-down (noun)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"23-three-words",children:"23. Three words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"ad hoc agreement (meeting, etc)"}),`\n`,(0,e.jsx)(n.li,{children:"armoured personnel carrier"}),`\n`,(0,e.jsx)(n.li,{children:"consumer price index"}),`\n`,(0,e.jsx)(n.li,{children:"chief(s) of staff"}),`\n`,(0,e.jsx)(n.li,{children:"half a dozen"}),`\n`,(0,e.jsx)(n.li,{children:"in as much"}),`\n`,(0,e.jsx)(n.li,{children:"in so far"}),`\n`,(0,e.jsx)(n.li,{children:"multiple rocket launcher"}),`\n`,(0,e.jsx)(n.li,{children:"nuclear power station"}),`\n`,(0,e.jsx)(n.li,{children:"sovereign wealth fund"}),`\n`,(0,e.jsx)(n.li,{children:"third world war (if things get bad)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"24-three-hyphenated-words",children:"24. Three hyphenated words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"A-turned-B (unless this leads to something unwieldy, so jobbing churchwarden turned captain of industry)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"brother-in-law"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"chock-a-block"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"commander-in-chief"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"no-man\\u2019s-land"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"prisoners-of-war"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"second-in-command"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"stock-in-trade"}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"25-numbers",children:"25. Numbers"}),`\n`,(0,e.jsxs)(n.p,{children:["Avoid ",(0,e.jsx)(n.em,{children:"from 1947-50"})," (say ",(0,e.jsx)(n.em,{children:"in 1947-50"})," or ",(0,e.jsx)(n.em,{children:"from 1947 to 1950"}),") and ",(0,e.jsx)(n.em,{children:"between 1961-65"})," (say ",(0,e.jsx)(n.em,{children:"in 1961-65"}),", ",(0,e.jsx)(n.em,{children:"between 1961 and 1965"})," or ",(0,e.jsx)(n.em,{children:"from 1961 to 1965"}),")."]}),`\n`,(0,e.jsx)(n.p,{children:"\\u201CIf you take hyphens seriously, you will surely go mad.\\u201D (Oxford University Press style manual)"}),`\n`,(0,e.jsx)(n.h2,{id:"proofreading",children:"Proofreading"}),`\n`,(0,e.jsx)(n.h3,{id:"word-breaks",children:"Word breaks"}),`\n`,(0,e.jsx)(n.p,{children:"It may be necessary to break words, using a hyphen, at the end of lines. Computer word-processing programs come with standard hyphenation rules but these can always be changed or overruled. Ideally, the aim should be to make these breaks as undisruptive as possible, so that the reader does not stumble or falter. Whenever possible, the word should be broken so that, helped by the context, the reader can anticipate the whole word from the part of it given before the break. Here are some useful principles for deciding how to break a word."}),`\n`,(0,e.jsxs)(n.ol,{children:[`\n`,(0,e.jsx)(n.li,{children:"Words that are already hyphenated should be broken at the hyphen, not given a second hy
1phen."}),`\n`,(0,e.jsxs)(n.li,{children:["Words can be broken according to either their derivation (the British convention) or their pronunciation (the US convention): thus, ",(0,e.jsx)(n.a,{href:"/en-gb/words/aristocracy",children:(0,e.jsx)(n.strong,{children:"aristo-cracy"})})," (UK) or ",(0,e.jsx)(n.a,{href:"/en-us/words/aristocracy",children:(0,e.jsx)(n.strong,{children:"aristoc-racy"})})," (US), ",(0,e.jsx)(n.a,{href:"/en-gb/words/mellifluous",children:(0,e.jsx)(n.strong,{children:"melli-fluous"})})," (UK) or ",(0,e.jsx)(n.a,{href:"/en-us/words/mellifluous",children:(0,e.jsx)(n.strong,{children:"mellif-luous"})})," (US). (See Part 2 for American usage.)"]}),`\n`,(0,e.jsx)(n.li,{children:"Words of one syllable should not be broken."}),`\n`,(0,e.jsx)(n.li,{children:"Words of five or fewer characters should not be broken."}),`\n`,(0,e.jsx)(n.li,{children:"At least three characters must be taken over to the next line."}),`\n`,(0,e.jsx)(n.li,{children:"Words should not be broken so that their identity is confused or their identifying sound is distorted: thus, avoid fun\\xAC dament, the-rapist."}),`\n`,(0,e.jsx)(n.li,{children:"Personal names and acronyms (eg, nato) should not be broken."}),`\n`,(0,e.jsx)(n.li,{children:"Figures should not be broken or separated from their unit of measurement."}),`\n`,(0,e.jsx)(n.li,{children:"A word formed with a prefix or suffix should be broken at that point: thus, bi-furcated, ante-diluvian, convertible."}),`\n`,(0,e.jsx)(n.li,{children:"If a breakable word contains a double consonant, split it at that point: thus, assess, ship-ping, prob-lem."}),`\n`,(0,e.jsx)(n.li,{children:"Do not hyphenate the last word on the right-hand page."}),`\n`]}),`\n`,(0,e.jsx)(n.h2,{id:"extracted-from",children:"Extracted from:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:"https://archive.org/details/EconomistBooksTheEconomistStyleGuideTheEconomistPublicAffairs2015/page/n267/mode/2up",children:"The Economist Style Guide"})}),`\n`]})]})}function s(i={}){let{wrapper:n}=i.components||{};return n?(0,e.jsx)(n,{...i,children:(0,e.jsx)(a,{...i})}):a(i)}return k(v);})();\n;return Component;',raw:`# _The Economist Style Guide_ Hyphenation Rules
2
3Here is a summary of the hyphenation rules from the Economist Style Guide.
4
5## The essence of style
6
7There is no firm rule to help you decide which words are run together, hyphenated or left separate. If in doubt, consult a dictionary. Do not overdo the literary device of hyphenating words that are not usually linked: the stringing-together-of-lotsand-lots-of-words-and-ideas tendency can be tiresome.
8
9### 1. Words with common or short prefixes
10
11    In general, try to avoid putting hyphens into words formed of one word and a short prefix.
12
13    _3D, asexual, biplane, declassify, disfranchise, geopolitical, neoclassicism, neoconservative but neo-cons, neoliberal, Neolithic, neologism, neonatal, overcapacity, overdone, overeducated, overemployment, precondition, predate, subcontinent, preoccupied, subcontract, preordained, subhuman, prepay, submachinegun, realign, suboptimal, rearm, subprime, rearrange, tetravalent, reborn, underdog, redirect, underdone, reopen, underinvest, reorder, underpaid, repurchase, subcommittee, upended_
14
15### 2. Words beginning with _re-_
16
17    Some words that begin with re are hyphenated to avoid confusion:
18
19    - re-cast
20
21    - re-create (meaning create again)
22
23    - re-present (meaning present again)
24
25    - re-sort (meaning sort again)
26
27### 3. Unfamiliar combinations
28
29    Words making unfamiliar combinations, especially if they would involve running consonants or vowels together, may benefit from a hyphen, so:
30
31    -     cross-reference (a cross reference would be unpleasant)
32
33    -     demi-paradise
34
35    -     over-governed
36
37    -     sub-investment grade
38
39    -     under-age
40
41    -     under-secretary
42
43    -     _Antidisestablishmentarianism_ would, however, lose its point if it were hyphenated.
44
45### 4. Fractions
46
47      Whether nouns or adjectives, these take hyphens:
48
49      - one-half
50      - one-sixth
51      - four-fifths
52      - two-thirds
53
54      But note that it is a half, a fifth, a sixth.
55
56### 5. Words that begin with
57
58      -  agri
59      -  infra
60      -  post
61      -  anti
62      -  inter
63      -  pre
64      -  counter
65      -  mid
66      -  semi
67      -  extra
68      -  multi
69      -  ultra
70      -  half
71      -  non
72
73    The rules vary:
74
75    - agri-business, agriculture
76
77    - anti-aircraft, anti-fascist, anti-submarine (but antibiotic, anticlimax, antidote, antiseptic, antitrust) counter-attack, counter-clockwise, counter-espionage, counter-intuitive (but counteract, countermand, counterpane)
78
79    - extraordinary, extraterrestrial, extraterritorial (but extra¬ judicial)
80
81    - half-baked, half-hearted, half-serious (but halfway) infra-red
82
83    - inter-agency, inter-country, inter-faith, inter-governmental, inter-regional (but intermediate, international, interpose) mid-August, mid-week
84
85    - multibillion, multilingual, multiracial (but multi-occupancy, multi-storey, multi-user)
86
87    - non-combatant, non-existent, non-payment, non-violent (but nonaligned, nonconformist, nonplussed, nonstop) postdate, post-war, pre-war semi-automatic, semi-conscious, semi-detached ultra-violet
88
89### 6. The word worth
90
91        A sum followed by the word worth needs a hyphen: _$25m-worth of goods_.
92
93### 7. Some titles
94
95      - attorney-general
96      - lieutenant-colonel
97      - under-secretary
98      - director-general
99      - major-general
100      - vice-president
101      - field-marshal
102      - secretary-general
103
104      But:
105
106      - deputy
107      - director
108      - district
109      - attorney
110      - deputy
111      - secretary
112      - general
113      - secretary
114
115### 8. Avoiding ambiguities
116
117      - fine-tooth comb (most people do not comb their teeth)
118      - a little used-car lot (a little-used car lot)
119      - third-world war (third world-war)
120      - cross-complaint (cross complaint)
121      - high-school results (high school-results)
122
123### 9. Aircraft
124
125      - DC-10
126      - Mirage F-1E
127      - MiG-23
128      - Lockheed p-3 Orion
129
130        (If in doubt, consult Jane’; “All the World’s Aircraft”.)
131
132        Note that Airbus A340, BAe RJ70 do not have hyphens.
133
134### 10. Calibres
135
136        The style for calibres is 50mm or 105mm with no hyphen, but 5.5-inch and 25-pounder.
137
138### 11. Adjectives formed from two or more words
139
140      - 70-year-old judge
141      - balance-of-payments difficulties
142      - private-sector wages
143      - public-sector borrowing requirement
144      - right-wing groups (_but_ the right wing of the party)
145      - state-of-the-union message
146      - value-added tax (VAT)
147
148### 12. Adverbs
149
150      Adverbs do not need to be linked to participles or adjectives by hyphens in simple constructions:
151
152      - _The regiment was ill equipped for its task._
153      - _The principle is well established._
154      - _Though expensively educated, the journalist knew no grammar._
155
156      But if the adverb is one of two words together being used adjectivally, a hyphen may be needed:
157
158      - _The ill-equipped regiment was soon repulsed._
159      - _All well-established principles should be periodically challenged._
160
161      The hyphen is especially likely to be needed if the adverb is short and common, such as _ill_, _little_, _much_ and _well_. Less common adverbs, including all those that end -ly, are less likely to need hyphens:
162
163      - _Never employ an expensively educated journalist._
164
165### 13. Separating identical letters
166
167      - book-keeping
168      - re-emerge
169      - coat-tails
170      - re-entry
171      -   co-operate
172      -   side-effect
173      -   pre-eminent
174      -   trans-ship
175      -   pre-empt
176      -   unco-operative
177
178      Exceptions include:
179
180      -   overrate
181      -   overrun
182      -   overreach
183      -   skiing
184      -   override
185      -   underrate
186      -   overrule
187      -   withhold
188
189### 14. Some nouns formed from prepositional verbs
190
191      - bail-out
192      - pay-off
193      - shake-out
194      - build-up
195      - pull-out
196      -   shake-up
197      -   buy-out
198      -   rip-off
199      -   stand-off
200      -   call-up
201      -   round-up
202      -   start-up
203      -   get-together
204      -   run-up
205      -   trade-off
206      -   lay-off
207      -   set-up
208
209      But:
210
211      -   fallout
212      -   lockout
213      -   handout
214      -   payout
215      -   knockout
216      -   turnout
217
218### 15. The quarters of the compass
219
220      -   mid-west(ern)
221      -   south-east(ern)
222      -   north-east(ern)
223      -   south-west(ern)
224      -   north-west(ern)
225
226### 16. Hybrid ethnics
227
228        _Greek-Cypriot_, _Irish-American_, etc, whether noun or adjective.
229
230### 17. Makers and making
231
232        A general, though not iron, rule for _makers_ and _making_: if the prefix is of one or two syllables, attach it without a hyphen to form a single word, but if the prefix is of three or more syllables, introduce a hyphen.
233
234        - antimacassar-maker
235        - clockmaker
236        - steelmaker
237        - holiday-maker
238        - tiramisu-maker
239        - lawmaker
240        - troublemaker
241        - marketmaker
242        - peacemaker
243        - bookmaker
244        - candlestick-maker
245        - carmaker
246        - chipmaker
247
248        _Policymaker_ and _profitmaking_ are one word and an exception. But: note _foreign-policy maker_ (_-ing_).
249
250### 18. Other words ending _-er_ (_-ing_) that are similar to _maker_ and _making_
251
252    The general rule should be to insert a hyphen:
253
254        - arms-trader
255        - copper-miner
256        - drug-dealer
257        - drug-trafficker
258        - field-worker
259        - front-runner
260        - gun-runner
261        - home-owner
262        - hostage-taker
263        - mill-owner
264        - truck-driver
265        - vegetable-grower
266
267    But some prefixes, especially those of one syllable, can be used to form single words.
268
269        - coalminer
270        - metalworker
271        - shipowner
272        - farmworker
273        - muckraker
274        - steelworker
275        - foxhunter
276        - nitpicker (-ing)
277        - steeplechaser
278        - gatekeeper
279        - peacekeeper
280        - taxpayer
281        - householder
282        - shipbroker
283        - landowner
284        - shipbuilder
285
286    Less common combinations are better written as two words:
287
288        - crossword
289        - compiler
290        - gun
291        - owner
292        - currency
293        - trader
294        - insurance
295        - broker
296        - dog
297        - owner
298        - tuba
299        - player
300
301### 19. Quotes
302
303        Words gathered together in quotation marks as adjectives do not usually need hyphens as well:
304
305        - _the “Live Free or Die” state._
306
307### 20. One word
308
309        - airfield
310        - airspace
311        - airtime
312        - bedfellow
313        - bestseller (-ing)
314        - bilingual
315        - blackboard
316        - blackout
317        - blueprint
318        - bookseller
319        - businessman
320        - bypass
321        - cashflow (but _cash flow_ in accountancy)
322        - catchphrase
323        - ceasefire
324        - checklist
325        - coastguard
326        - codebreaker
327        - comeback
328        - commonsense (adj)
329        - crossfire
330        - cyberspace
331        - dotcom
332        - downturn (noun)
333        - faultline
334        - figleaf
335        - fivefold
336        - foothold
337        - forever (adv, when preceding verb)
338        - foxhunter (-ing)
339        - frontline (adj, but noun _front line_)
340        - girlfriend
341        - goodwill
342        - grassroots (adj and noun)
343        - groundsman
344        - halfhearted
345        - halfway
346        - handpicked
347        - handwriting
348        - hardline
349        - headache
350        - hijack
351        - hobnob
352        - kowtow
353        - lacklustre
354        - landmine
355        - laptop
356        - logjam
357        - loophole
358        - lopsided
359        - lukewarm
360        - machinegun
361        - marketplace
362        - minefield
363        - nationwide
364        - nevertheless
365        - nonetheless
366        - offline
367        - offshore
368        - oilfield
369        - oilrig
370        - online
371        - onshore
372        - peacetime
373        - petrochemical
374        - pickup truck
375        - placename
376        - rainforest
377        - ringtone
378        - roadblock
379        - rustbelt
380        - salesforce
381        - seabed
382        - shorthand
383        - shortlist
384        - shutdown
385        - sidestep
386        - soyabean
387        - spillover
388        - startup
389        - statewide
390        - stockmarket
391        - streetwalker
392        - strongman
393        - sunbelt
394        - takeover
395        - threefold
396        - threshold
397        - timetable
398        - trademark
399        - transatlantic
400        - transpacific
401        - twofold
402        - videocassette
403        - videodisc
404        - wartime
405        - watchdog
406        - website
407        - whistleblower
408        - windfall
409        - workforce
410        - worldwide
411        - worthwhile
412
413### 21. Two words
414
415        - ad hoc
416        - air base
417        - air force
418        - air strike
419        - all right
420        - any more
421        - any time
422        - arm’s length
423        - ballot box
424        - birth rate
425        - call centre
426        - child care (noun)
427        - cluster bombs
428        - common sense (noun)
429        - dare say
430        - errand boy
431        - for ever (when used after a verb)
432        - health care (noun)
433        - hedge fund
434        - home page
435        - joint venture
436        - Land Rover
437        - no one
438        - photo opportunity
439        - plea bargain
440        - some day
441        - some time
442        - under way
443        - vice versa
444        - wild flowers (but adj. wildflower)
445
446### 22. Two hyphenated words
447
448        - aid-worker
449        - aircraft-carrier
450        - asylum-seekers
451        - baby-boomer
452        - balance-sheet
453        - bell-ringer
454        - break-even
455        - climb-down
456        - come-uppance
457        - court-martial (noun and verb)
458        - cross-border
459        - cross-dresser
460        - cross-sell
461        - death-squads
462        - derring-do
463        - downpayment
464        - drawing-board
465        - end-game
466        - end-year
467        - faint-hearted
468        - fund-raiser (-ing)
469        - grown-up
470        - hand-held
471        - health-care (adj)
472        - heir-apparent
473        - home-made
474        - hot-head
475        - ice-cream
476        - in-fighting
477        - interest-group
478        - kerb-crawler
479        - know-how
480        - laughing-stock
481        - like-minded
482        - long-standing
483        - machine-tool
484        - money-laundering
485        - nation-building
486        - nation-state
487        - nest-egg
488        - news-stand
489        - number-plate
490        - pot-hole
491        - pressuregroup
492        - question-mark
493        - rain-check
494        - safety-valve
495        - short-lived
496        - starting-point
497        - stickingpoint
498        - stumbling-block
499        - subject-matter
500        - suicide-bomb (-er, -ing)
501        - talking-shop
502        - task-force
503        - tear-gas
504        - think-tank
505        - time-bomb
506        - turning-point
507        - voice-over
508        - vote-winner
509        - war-chest
510        - well-being
511        - Wi-Fi
512        - Wi-Max
513        - window-dressing
514        - wish-list
515        - witch-hunt
516        - working-party
517        - write-down (noun)
518
519### 23. Three words
520
521        - ad hoc agreement (meeting, etc)
522        - armoured personnel carrier
523        - consumer price index
524        - chief(s) of staff
525        - half a dozen
526        - in as much
527        - in so far
528        - multiple rocket launcher
529        - nuclear power station
530        - sovereign wealth fund
531        - third world war (if things get bad)
532
533### 24. Three hyphenated words
534
535        - A-turned-B (unless this leads to something unwieldy, so jobbing churchwarden turned captain of industry)
536
537        - brother-in-law
538
539        - chock-a-block
540
541        - commander-in-chief
542
543        - no-man’s-land
544
545        - prisoners-of-war
546
547        - second-in-command
548
549        - stock-in-trade
550
551### 25. Numbers
552
553        Avoid _from 1947-50_ (say _in 1947-50_ or _from 1947 to 1950_) and _between 1961-65_ (say _in 1961-65_, _between 1961 and 1965_ or _from 1961 to 1965_).
554
555        “If you take hyphens seriously, you will surely go mad.” (Oxford University Press style manual)
556
557## Proofreading
558
559### Word breaks
560
561It may be necessary to break words, using a hyphen, at the end of lines. Computer word-processing programs come with standard hyphenation rules but these can always be changed or overruled. Ideally, the aim should be to make these breaks as undisruptive as possible, so that the reader does not stumble or falter. Whenever possible, the word should be broken so that, helped by the context, the reader can anticipate the whole word from the part of it given before the break. Here are some useful principles for deciding how to break a word.
562
5631. Words that are already hyphenated should be broken at the hyphen, not given a second hy
563phen.
5642. Words can be broken according to either their derivation (the British convention) or their pronunciation (the US convention): thus, [**aristo-cracy**](/en-gb/words/aristocracy) (UK) or [**aristoc-racy**](/en-us/words/aristocracy) (US), [**melli-fluous**](/en-gb/words/mellifluous) (UK) or [**mellif-luous**](/en-us/words/mellifluous) (US). (See Part 2 for American usage.)
5653. Words of one syllable should not be broken.
5664. Words of five or fewer characters should not be broken.
5675. At least three characters must be taken over to the next line.
5686. Words should not be broken so that their identity is confused or their identifying sound is distorted: thus, avoid fun¬ dament, the-rapist.
5697. Personal names and acronyms (eg, nato) should not be broken.
5708. Figures should not be broken or separated from their unit of measurement.
5719. A word formed with a prefix or suffix should be broken at that point: thus, bi-furcated, ante-diluvian, convertible.
57210. If a breakable word contains a double consonant, split it at that point: thus, assess, ship-ping, prob-lem.
57311. Do not hyphenate the last word on the right-hand page.
574
575## Extracted from:
576
577- [The Economist Style Guide](https://archive.org/details/EconomistBooksTheEconomistStyleGuideTheEconomistPublicAffairs2015/page/n267/mode/2up)`},_meta:{filePath:`economist-style-guide-on-hyphens/index.mdx`,fileName:`index.mdx`,directory:`economist-style-guide-on-hyphens`,extension:`mdx`,path:`economist-style-guide-on-hyphens`},readingTime:`10 min read`,lastModification:`2026-09-01T08:32:45.633Z`,url:`/posts/economist-style-guide-on-hyphens`,slug:`economist-style-guide-on-hyphens`},{title:`The Quest for the Perfect Hyphenation Algorithm: Franklin Mark Liang's Algorithm`,description:`Franklin Mark Liang’s hyphenation algorithm revolutionized text processing by using patterns and a packed trie structure, ensuring efficient, accurate word splitting in typesetting, and leaving a lasting legacy in TeX.`,image:{url:`/posts/liang-hyphenation-algorithm-explained/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-07-13T00:00:00.000Z`),author:{name:`Alexandru Furculita`,url:`https://twitter.com/afurculita`},tags:[],content:{mdx:'var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var f=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),w=(a,e)=>{for(var n in e)o(a,n,{get:e[n],enumerable:!0})},s=(a,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of m(e))!y.call(a,i)&&i!==n&&o(a,i,{get:()=>e[i],enumerable:!(r=u(e,i))||r.enumerable});return a};var b=(a,e,n)=>(n=a!=null?p(g(a)):{},s(e||!a||!a.__esModule?o(n,"default",{value:a,enumerable:!0}):n,a)),k=a=>s(o({},"__esModule",{value:!0}),a);var l=f((x,h)=>{h.exports=_jsx_runtime});var v={};w(v,{default:()=>c});var t=b(l());function d(a){let e={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...a.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"When you think about the intricacies of text processing, hyphenation probably isn\\u2019t the first thing that comes to mind. It might not even make the top ten. But if you\\u2019ve ever been jarred by a word split awkwardly at the end of a line in a book or a paper, you\\u2019ll appreciate that hyphenation is more than just a minor detail. It\\u2019s one of those small but vital aspects of typography that can make or break the readability of a text. Franklin Mark Liang, under the mentorship of the legendary Donald Knuth, took on the challenge of developing a hyphenation algorithm that would become a cornerstone of modern typesetting."}),`\n`,(0,t.jsx)(e.h3,{id:"setting-the-scene-the-problem-of-hyphenation",children:"Setting the Scene: The Problem of Hyphenation"}),`\n`,(0,t.jsx)(e.p,{children:"Before we dive into the technicalities, let\\u2019s set the stage a bit. Typesetting\\u2014especially computerized typesetting\\u2014was undergoing a revolution in the 1970s and 1980s. Donald Knuth, dissatisfied with the state of computerized typesetting, embarked on a mission to create a typesetting system that could produce professional-quality documents. This led to the development of TeX, a system that has become the gold standard for typesetting, particularly in academic and scientific communities."}),`\n`,(0,t.jsx)(e.p,{children:"TeX was (and still is) brilliant, but there was a catch: 
577it needed a way to automatically hyphenate words. Hyphenation isn\\u2019t just about sticking a dash in the middle of a word wherever it fits. There are rules\\u2014lots of them. English, with its bizarre mix of linguistic influences, presents a particular challenge because many of these rules have exceptions, and some exceptions have exceptions."}),`\n`,(0,t.jsx)(e.p,{children:"A poor hyphenation algorithm would produce text that was hard to read, with words broken at points that made them look ugly or even confusing. Imagine reading a paragraph and seeing words like \\u201Crel- ationship\\u201D or \\u201Cfin-ance\\u201D broken in the middle of a line. It\\u2019s not just visually jarring; it can slow down reading and comprehension, turning a smooth reading experience into a choppy one. That\\u2019s where Liang\\u2019s work comes in."}),`\n`,(0,t.jsx)(e.h3,{id:"the-early-approaches-rule-based-and-dictionary-based-methods",children:"The Early Approaches: Rule-Based and Dictionary-Based Methods"}),`\n`,(0,t.jsx)(e.p,{children:"Before Liang\\u2019s algorithm, most hyphenation systems relied on two main approaches: rule-based methods and dictionary-based methods."}),`\n`,(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"Rule-based methods"})," attempted to hyphenate words based on a set of predefined rules. For example, one common rule might be to hyphenate compound words or to split between double consonants (e.g., \\u201Csum-mer\\u201D). This method works reasonably well, but English, being the unruly language it is, has plenty of exceptions to these rules. Plus, this method doesn\\u2019t account for the subtleties of pronunciation or the more complex words that don\\u2019t follow simple rules."]}),`\n`,(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"Dictionary-based methods"})," were another approach. Here, the system would check each word against a precompiled list of words with their hyphenation points marked. If the word was in the dictionary, the system could hyphenate it correctly. This method could be highly accurate, but it had a significant downside: it required a massive dictionary, which took up a lot of memory and could slow down the typesetting process. Additionally, any word not in the dictionary\\u2014new words, technical terms, or even common words with multiple acceptable hyphenation points\\u2014would be left out in the cold."]}),`\n`,(0,t.jsx)(e.p,{children:"Neither method was perfect, and both had serious drawbacks that made them less than ideal for use in a system like TeX, which was designed to be highly efficient and adaptable."}),`\n`,(0,t.jsx)(e.h3,{id:"the-inspiration-a-better-way-to-hyphenate",children:"The Inspiration: A Better Way to Hyphenate"}),`\n`,(0,t.jsx)(e.p,{children:"Liang, working under Knuth\\u2019s guidance, was inspired to find a middle ground between these two approaches. He wanted an algorithm that was as accurate as a dictionary-based method but without the heavy memory demands. At the same time, it needed the flexibility of a rule-based method but without the brittleness that comes from strict, inflexible rules."}),`\n`,(0,t.jsx)(e.p,{children:"This led him to think about hyphenation in a new way\\u2014not as a problem of finding rules or building a massive word list, but as a problem of pattern recognition. After all, many hyphenation rules could be seen as patterns in the way letters and syllables are arranged in words."}),`\n`,(0,t.jsx)(e.h3,{id:"the-core-idea-patterns-and-tries",children:"The Core Idea: Patterns and Tries"}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s breakthrough idea was to use patterns of letters to identify potential hyphenation points. These patterns would essentially serve as mini-rules that could be applied to any word. For example, the pattern \\u201Ction\\u201D could suggest that a word ending in these letters could be hyphenated as \\u201Cti-on.\\u201D Similarly, the pattern \\u201Ccon\\u201D might indicate that words beginning with these letters could be hyphenated as \\u201Ccon-\\u201D at certain points."}),`\n`,(0,t.jsxs)(e.p,{children:["But how do you efficiently store and search through all these patterns? That\\u2019s where the data structure known as a ",(0,t.jsx)(e.strong,{children:"trie"})," comes into play. A trie (pronounced like \\u201Ctry\\u201D) is a tree-like structure that allows for fast retrieval of strings, making it perfect for storing the patterns Liang wanted to use."]}),`\n`,(0,t.jsx)(e.h4,{id:"what-is-a-trie",children:"What is a Trie?"}),`\n`,(0,t.jsx)(e.p,{children:"Let\\u2019s take a quick detour to explain what a trie is. Imagine you have a bunch of strings\\u2014say, words in a dictionary\\u2014and you want to organize them in a way that allows you to find any word quickly. You could just list them all out, but that\\u2019s not very efficie
577nt. Instead, you could create a tree structure where each level of the tree corresponds to a letter in the string."}),`\n`,(0,t.jsx)(e.p,{children:"For example, suppose you have the words \\u201Ccat,\\u201D \\u201Ccar,\\u201D and \\u201Cdog.\\u201D In a trie, you would start with a root node, then create branches for each letter. The first branch might split into \\u201Cc\\u201D and \\u201Cd\\u201D for \\u201Ccat/car\\u201D and \\u201Cdog,\\u201D respectively. From the \\u201Cc\\u201D branch, you would then branch out again for \\u201Ca,\\u201D leading to further branches for \\u201Ct\\u201D and \\u201Cr.\\u201D This way, common prefixes like \\u201Cca\\u201D are shared, which saves space and allows for fast lookup."}),`\n`,(0,t.jsx)(e.h3,{id:"liangs-innovation-the-packed-trie",children:"Liang\\u2019s Innovation: The Packed Trie"}),`\n`,(0,t.jsxs)(e.p,{children:["Liang didn\\u2019t just stop with a basic trie. He realized that while tries are efficient, they can still end up wasting space\\u2014especially when dealing with English words, which share a lot of common prefixes and suffixes. So, he developed what he called a ",(0,t.jsx)(e.strong,{children:"packed trie"}),"."]}),`\n`,(0,t.jsx)(e.p,{children:"The packed trie is an optimized version of the trie that minimizes wasted space by carefully packing the data into a structure that leaves no room unused. It\\u2019s like taking a suitcase and fitting every single item into it with no wasted space\\u2014no gaps, no empty corners. Every byte of memory is used as efficiently as possible."}),`\n`,(0,t.jsx)(e.h4,{id:"the-packed-trie-in-action",children:"The Packed Trie in Action"}),`\n`,(0,t.jsx)(e.p,{children:"Here\\u2019s how it works in practice. When you\\u2019re storing patterns in a trie, many branches may have only one or two children. In a standard trie, this could lead to a lot of empty space where branches don\\u2019t go anywhere. But in a packed trie, Liang\\u2019s algorithm would pack these branches together tightly, reusing space where possible."}),`\n`,(0,t.jsx)(e.p,{children:"This might sound like a small improvement, but it had a significant impact. The packed trie allowed Liang\\u2019s algorithm to store a large number of patterns in a relatively small amount of memory. This made the algorithm both fast and space-efficient\\u2014two critical factors for any typesetting system."}),`\n`,(0,t.jsx)(e.h3,{id:"generating-the-patterns",children:"Generating the Patterns"}),`\n`,(0,t.jsx)(e.p,{children:"Okay, so Liang had figured out how to store the patterns efficiently. But how do you come up with the patterns in the first place? After all, English words can be pretty unpredictable."}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s approach was to generate patterns automatically from a list of words with known hyphenation points. Essentially, he used a dictionary of words that were already correctly hyphenated and analyzed them to find patterns that could be generalized."}),`\n`,(0,t.jsx)(e.h4,{id:"analyzing-the-words",children:"Analyzing the Words"}),`\n`,(0,t.jsx)(e.p,{children:"Let\\u2019s say you have a word list with words like \\u201Ccomputer,\\u201D \\u201Cnation,\\u201D and \\u201Cunderstand.\\u201D Liang\\u2019s algorithm would look at where these words are hyphenated and try to find commonalities. For example, if \\u201Cnation\\u201D is hyphenated as \\u201Cna-tion,\\u201D and \\u201Cstation\\u201D is hyphenated as \\u201Csta-tion,\\u201D the algorithm might identify \\u201Ction\\u201D as a pattern that suggests a hyphenation point just before the \\u201Ct.\\u201D"}),`\n`,(0,t.jsx)(e.p,{children:"But it\\u2019s not just about finding one pattern\\u2014it\\u2019s about finding the right set of patterns that work together to cover as many words as possible, with as few mistakes as possible. This process of generating and selecting patterns is a bit like trying to find the perfect combination of puzzle pieces that fit together just right."}),`\n`,(0,t.jsx)(e.h4,{id:"patterns-and-heuristics",children:"Patterns and Heuristics"}),`\n`,(0,t.jsx)(e.p,{children:"To make the pattern generation process more effective, Liang also employed heuristics. Heuristics are rules of thumb\\u2014guidelines that help the algorithm make decisions when there isn\\u2019t a clear-cut answer. For example, a heuristic might prioritize shorter patterns because they\\u2019re more likely to match multiple words, or it might favor patterns that have fewer exceptions."}),`\n`,(0,t.jsx)(e.p,{children:"These heuristics allowed Liang\\u2019s algorithm to strike a balance between finding as many hyphenation points as possible and avoiding errors. It\\u2019s like teaching the algorithm to have a bit of judgment\\u2014knowing when to follow a pattern strictly and when to be a bit more flexible."}),`\n`,(0,t.jsx)(e.h3,{id:"handling-exceptions-because-english-is-weird",children:"Handling Exceptions: Because English is Weird"}),`\n`,(0,t.jsx)(e.p,{children:"Of course, no matter how many patterns you have, there will always be exceptions\\u2014those weird words that don\\u2019t fit the mold. English is full of them. Words like \\u201Cknight\\u201D or \\u201Cisland\\u201D don\\u2019t follow the usual rules, and trying to hyphenate them based on patterns alone could lead to some odd results."}),`\n`,(0,t.jsx)(e.p,{children:"To handle these exceptions, Liang\\u2019s algorithm included a 
577small exception dictionary. This dictionary wasn\\u2019t meant to store every possible word\\u2014just the ones that couldn\\u2019t be correctly hyphenated by patterns alone. Think of it as a VIP list for words that needed special treatment."}),`\n`,(0,t.jsx)(e.h4,{id:"balancing-patterns-and-exceptions",children:"Balancing Patterns and Exceptions"}),`\n`,(0,t.jsx)(e.p,{children:"The challenge, of course, was to keep the exception list small. If the list grew too large, it would defeat the purpose of the algorithm, which was to avoid the need for a massive dictionary. Liang had to strike a balance, including just enough exceptions to handle the trickiest cases while relying on patterns for the vast majority of words."}),`\n`,(0,t.jsx)(e.p,{children:"This balance between patterns and exceptions is one of the reasons Liang\\u2019s algorithm was so successful. It was comprehensive enough to handle most words correctly, but lean enough to be fast and efficient."}),`\n`,(0,t.jsx)(e.h3,{id:"the-results-a-nearly-perfect-hyphenation-algorithm",children:"The Results: A Nearly Perfect Hyphenation Algorithm"}),`\n`,(0,t.jsx)(e.p,{children:"After all this work\\u2014designing the trie, generating patterns, and handling exceptions\\u2014what were the results? In short, Liang\\u2019s algorithm was a huge success. It could correctly hyphenate about 89% of the words in a typical dictionary, with almost no errors. For comparison, earlier attempts at hyphenation were lucky to get anywhere near that level of accuracy."}),`\n`,(0,t.jsx)(e.h4,{id:"memory-efficiency",children:"Memory Efficiency"}),`\n`,(0,t.jsx)(e.p,{children:"One of the most impressive aspects of Liang\\u2019s algorithm was how little memory it used. Thanks to the packed trie and the careful selection of patterns, the algorithm was incredibly space-efficient. This was critical in the days when computer memory was a precious resource, but it\\u2019s still valuable today in applications where efficiency matters."}),`\n`,(0,t.jsx)(e.h4,{id:"speed-and-accuracy",children:"Speed and Accuracy"}),`\n`,(0,t.jsx)(e.p,{children:"The algorithm wasn\\u2019t just space-efficient\\u2014it was fast too. Because the patterns were stored in a packed trie, the algorithm could quickly look up hyphenation points without having to sift through a massive dictionary. This speed, combined with its high accuracy, made it perfect for use in TeX and other typesetting systems where performance is key."}),`\n`,(0,t.jsx)(e.h3,{id:"the-legacy-liangs-algorithm-in-the-real-world",children:"The Legacy: Liang\\u2019s Algorithm in the Real World"}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s hyphenation algorithm didn\\u2019t just stay in the realm of academic research. It became a core component of TeX, which is still widely used today for typesetting books, academic papers, and other documents that require high-quality typography."}),`\n`,(0,t.jsx)(e.h4,{id:"impact-on-typesetting",children:"Impact on Typesetting"}),`\n`,(0,t.jsx)(e.p,{children:"TeX is known for producing beautifully typeset documents, and part of that beauty comes from its ability to hyphenate words correctly. Liang\\u2019s algorithm plays a big role in this, ensuring that text is split in a way that\\u2019s both aesthetically pleasing and easy to read."}),`\n`,(0,t.jsx)(e.p,{children:"If you\\u2019ve ever read a math textbook, a scientific journal, or even a well-formatted PDF, there\\u2019s a good chance you\\u2019ve seen Liang\\u2019s work in action. His algorithm helps to make sure that the text flows smoothly from line to line, without awkward breaks or distracting hyphenations."}),`\n`,(0,t.jsx)(e.h4,{id:"influence-on-other-systems",children:"Influence on Other Systems"}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s work has also influenced other hyphenation systems. While TeX might be the most famous application of his algorithm, the ideas behind it\\u2014especially the use of patterns and tries\\u2014have been adopted in various forms in other text processing and typesetting systems."}),`\n`,(0,t.jsx)(e.h3,{id:"the-bigger-picture-what-liangs-work-teaches-us",children:"The Bigger Picture: What Liang\\u2019s Work Teaches Us"}),`\n`,(0,t.jsx)(e.p,{children:"At first glance, hyphenation might seem like a minor problem. But Liang\\u2019s work on this topic illustrates something important about computer science and problem-solving in general: even the smallest details matter, and solving these details can have a big impact."}),`\n`,(0,t.jsx)(e.h4,{id:"the-power-of-data-structures",children:"The Power of Data Structures"}),`\n`,(0,t.jsx)(e.p,{children:"One of the key takeaways from Liang\\u2019s work is the power of data structures. The packed trie wasn\\u2019t just a clever solution; it was the foundation that made the entire algorithm possible. Without it, Liang\\u2019s algorithm wouldn\\u2019t have been nearly as efficie
577nt or effective."}),`\n`,(0,t.jsx)(e.p,{children:"This highlights the importance of choosing the right data structure for the problem at hand. In computer science, the way you organize and store information can be just as important as the algorithms you use to process it."}),`\n`,(0,t.jsx)(e.h4,{id:"balancing-generality-and-specificity",children:"Balancing Generality and Specificity"}),`\n`,(0,t.jsx)(e.p,{children:"Another lesson from Liang\\u2019s work is the importance of balancing generality and specificity. The patterns in his algorithm are general enough to apply to a wide range of words, but specific enough to avoid most errors. The use of heuristics helps the algorithm to strike this balance, making it both powerful and flexible."}),`\n`,(0,t.jsx)(e.p,{children:"This balance is crucial in many areas of computer science, where the goal is often to create solutions that work well in a variety of situations, without being too rigid or too vague."}),`\n`,(0,t.jsx)(e.h3,{id:"wrapping-up-liangs-lasting-contribution",children:"Wrapping Up: Liang\\u2019s Lasting Contribution"}),`\n`,(0,t.jsx)(e.p,{children:"Franklin Mark Liang\\u2019s work on hyphenation algorithms might not be as flashy as some other breakthroughs in computer science, but its impact is undeniable. His algorithm has stood the test of time, continuing to be used in TeX and influencing other systems as well."}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s approach to hyphenation\\u2014using patterns, packed tries, and a careful balance of general rules and specific exceptions\\u2014turned what could have been a mundane problem into a fascinating and elegant solution. It\\u2019s a reminder that even in the world of algorithms and data structures, there\\u2019s room for creativity, innovation, and a bit of artistry."}),`\n`,(0,t.jsx)(e.p,{children:"So next time you\\u2019re reading a beautifully typeset book or a perfectly formatted academic paper, take a moment to appreciate the work that went into making sure every word is hyphenated just right. Somewhere in the background, Liang\\u2019s algorithm is hard at work, making sure your reading experience is as smooth and seamless as possible."}),`\n`,(0,t.jsx)(e.p,{children:"And who knows? Maybe the next time you\\u2019re faced with a tricky problem\\u2014whether it\\u2019s in computer science or elsewhere\\u2014you\\u2019ll find inspiration in Liang\\u2019s approach: look for the patterns, choose the right structure, and remember that even the smallest details can make a big difference."}),`\n`,(0,t.jsx)(e.h3,{id:"references",children:"References"}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsxs)(e.li,{children:["Franklin M. Liang: Word Hy-phen-a-tion by Com-put-er. Stanford University, 1983. ",(0,t.jsx)(e.a,{href:"http://www.tug.org/docs/liang",children:"http://www.tug.org/docs/liang"}),"."]}),`\n`]})]})}function c(a={}){let{wrapper:e}=a.components||{};return e?(0,t.jsx)(e,{...a,children:(0,t.jsx)(d,{...a})}):d(a)}return k(v);})();\n;return Component;',raw:`When you think about the intricacies of text processing, hyphenation probably isn’t the first thing that comes to mind. It might not even make the top ten. But if you’ve ever been jarred by a word split awkwardly at the end of a line in a book or a paper, you’ll appreciate that hyphenation is more than just a minor detail. It’s one of those small but vital aspects of typography that can make or break the readability of a text. Franklin Mark Liang, under the mentorship of the legendary Donald Knuth, took on the challenge of developing a hyphenation algorithm that would become a cornerstone of modern typesetting.
578
579### Setting the Scene: The Problem of Hyphenation
580
581Before we dive into the technicalities, let’s set the stage a bit. Typesetting—especially computerized typesetting—was undergoing a revolution in the 1970s and 1980s. Donald Knuth, dissatisfied with the state of computerized typesetting, embarked on a mission to create a typesetting system that could produce professional-quality documents. This led to the development of TeX, a system that has become the gold standard for typesetting, particularly in academic and scientific communities.
582
583TeX was (and still is) brilliant, but there was a catch: it needed a way to automatically hyphenate words. Hyphenation isn’t just about sticking a dash in the middle of a word wherever it fits. There are rules—lots of them. English, with its bizarre mix of linguistic influences, presents a particular challenge because many of these rules have exceptions, and some exceptions have exceptions.
584
585A poor hyphenation algorithm would produce text that was hard to read, with words broken at points that made them look ugly or even confusing. Imagine reading a paragraph and seeing words like “rel- ationship” or “fin-ance” broken in the middle of a line. It’s not just visually jarring; it can slow down reading and comprehension, turning a smooth reading experience into a choppy one. That’s where Liang’s work comes in.
586
587### The Early Approaches: Rule-Based and Dictionary-Based Methods
588
589Before Liang’s algorithm, most hyphenation systems relied on two main approaches: rule-based methods and dictionary-based methods.
590
591**Rule-based methods** attempted to hyphenate words based on a set of predefined rules. For example, one common rule might be to hyphenate compound words or to split between double consonants (e.g., “sum-mer”). This method works reasonably well, but English, being the unruly language it is, has plenty of exceptions to these rules. Plus, this method doesn’t account for the subtleties of pronunciation or the more complex words that don’t follow simple rules.
592
593**Dictionary-based methods** were another approach. Here, the system would check each word against a precompiled list of words with their hyphenation points marked. If the word was in the dictionary, the system could hyphenate it correctly. This method could be highly accurate, but it had a significant downside: it required a massive dictionary, which took up a lot of memory and could slow down the typesetting process. Additionally, any word not in the dictionary—new words, technical terms, or even common words with multiple acceptable hyphenation points—would be left out in the cold.
594
595Neither method was perfect, and both had serious drawbacks that made them less than ideal for use in a system like TeX, which was designed to be highly efficient and adaptable.
596
597### The Inspiration: A Better Way to Hyphenate
598
599Liang, working under Knuth’s guidance, was inspired to find a middle ground between these two approaches. He wanted an algorithm that was as accurate as a dictionary-based method but without the heavy memory demands. At the same time, it needed the flexibility of a rule-based method but without the brittleness that comes from strict, inflexible rules.
600
601This led him to think about hyphenation in a new way—not as a problem of finding rules or building a massive word list, but as a problem of pattern recognition. After all, many hyphenation rules could be seen as patterns in the way letters and syllables are arranged in words.
602
603### The Core Idea: Patterns and Tries
604
605Liang’s breakthrough idea was to use patterns of letters to identify potential hyphenation points. These patterns would essentially serve as mini-rules that could be applied to any word. For example, the pattern “tion” could suggest that a word ending in these letters could be hyphenated as “ti-on.” Similarly, the pattern “con” might indicate that words beginning with these letters could be hyphenated as “con-” at certain points.
606
607But how do you efficiently store and search through all these patterns? That’s where the data structure known as a **trie** comes into play. A trie (pronounced like “try”) is a tree-like structure that allows for fast retrieval of strings, making it perfect for storing the patterns Liang wanted to use.
608
609#### What is a Trie?
610
611Let’s take a quick detour to explain what a trie is. Imagine you have a bunch of strings—say, words in a dictionary—and you want to organize them in a way that allows you to find any word quickly. You could just list them all out, but that’s not very efficient. Instead, you could create a tree structure where each level of the tree corresponds to a letter in the string.
612
613For example, suppose you have the words “cat,” “car,” and “dog.” In a trie, you would start with a root node, then create branches for each letter. The first branch might split into “c” and “d” for “cat/car” and “dog,” respectively. From the “c” branch, you would then branch out again for “a,” leading to further branches for “t” and “r.” This way, common prefixes like “ca” are shared, which saves space and allows for fast lookup.
614
615### Liang’s Innovation: The Packed Trie
616
617Liang didn’t just stop with a basic trie. He realized that while tries are efficient, they can still end up wasting space—especially when dealing with English words, which share a lot of common prefixes and suffixes. So, he developed what he called a **packed trie**.
618
619The packed trie is an optimized version of the trie that minimizes wasted space by carefully packing the data into a structure that leaves no room unused. It’s like taking a suitcase and fitting every single item into it with no wasted space—no ga
619ps, no empty corners. Every byte of memory is used as efficiently as possible.
620
621#### The Packed Trie in Action
622
623Here’s how it works in practice. When you’re storing patterns in a trie, many branches may have only one or two children. In a standard trie, this could lead to a lot of empty space where branches don’t go anywhere. But in a packed trie, Liang’s algorithm would pack these branches together tightly, reusing space where possible.
624
625This might sound like a small improvement, but it had a significant impact. The packed trie allowed Liang’s algorithm to store a large number of patterns in a relatively small amount of memory. This made the algorithm both fast and space-efficient—two critical factors for any typesetting system.
626
627### Generating the Patterns
628
629Okay, so Liang had figured out how to store the patterns efficiently. But how do you come up with the patterns in the first place? After all, English words can be pretty unpredictable.
630
631Liang’s approach was to generate patterns automatically from a list of words with known hyphenation points. Essentially, he used a dictionary of words that were already correctly hyphenated and analyzed them to find patterns that could be generalized.
632
633#### Analyzing the Words
634
635Let’s say you have a word list with words like “computer,” “nation,” and “understand.” Liang’s algorithm would look at where these words are hyphenated and try to find commonalities. For example, if “nation” is hyphenated as “na-tion,” and “station” is hyphenated as “sta-tion,” the algorithm might identify “tion” as a pattern that suggests a hyphenation point just before the “t.”
636
637But it’s not just about finding one pattern—it’s about finding the right set of patterns that work together to cover as many words as possible, with as few mistakes as possible. This process of generating and selecting patterns is a bit like trying to find the perfect combination of puzzle pieces that fit together just right.
638
639#### Patterns and Heuristics
640
641To make the pattern generation process more effective, Liang also employed heuristics. Heuristics are rules of thumb—guidelines that help the algorithm make decisions when there isn’t a clear-cut answer. For example, a heuristic might prioritize shorter patterns because they’re more likely to match multiple words, or it might favor patterns that have fewer exceptions.
642
643These heuristics allowed Liang’s algorithm to strike a balance between finding as many hyphenation points as possible and avoiding errors. It’s like teaching the algorithm to have a bit of judgment—knowing when to follow a pattern strictly and when to be a bit more flexible.
644
645### Handling Exceptions: Because English is Weird
646
647Of course, no matter how many patterns you have, there will always be exceptions—those weird words that don’t fit the mold. English is full of them. Words like “knight” or “island” don’t follow the usual rules, and trying to hyphenate them based on patterns alone could lead to some odd results.
648
649To handle these exceptions, Liang’s algorithm included a small exception dictionary. This dictionary wasn’t meant to store every possible word—just the ones that couldn’t be correctly hyphenated by patterns alone. Think of it as a VIP list for words that needed special treatment.
650
651#### Balancing Patterns and Exceptions
652
653The challenge, of course, was to keep the exception list small. If the list grew too large, it would defeat the purpose of the algorithm, which was to avoid the need for a massive dictionary. Liang had to strike a balance, including just enough exceptions to handle the trickiest cases while relying on patterns for the vast majority of words.
654
655This balance between patterns and exceptions is one of the reasons Liang’s algorithm was so successful. It was comprehensive enough to handle most words correctly, but lean enough to be fast and efficient.
656
657### The Results: A Nearly Perfect Hyphenation Algorithm
658
659After all this work—designing the trie, generating patterns, and handling exceptions—what were the results? In short, Liang’s algorithm was a huge success. It could correctly hyphenate about 89% of the words in a typical dictionary, with almost no errors. For comparison, earlier attempts at hyphenation were lucky to get anywhere near that level of accuracy.
660
661#### Memory Efficiency
662
663One of the most impressive aspects of Liang’s algorithm was how little memory it used. Thanks to the packed trie and the careful selection of patterns, the algorithm was incredibly space-efficient. This was critical in the days when computer memory was a precious resource, but it’s still valuable today in applications where efficiency matters.
664
665#### Speed and Accuracy
666
667The algorithm wasn’t just space-efficient—it was fast too. Because the patterns were stored in a packed trie, the algorithm could quickly look up hyphenation points without having to sift through a massive dictionary. This speed, combined with its high accuracy, made it perfect for use in TeX and other typesetting systems where performance is key.
668
669### The Legacy: Liang’s Algorithm in the Real World
670
671Liang’s hyphenation algorithm didn’t just stay in the realm of academic research. It became a core component of TeX, which is still widely used today for typesetting books, academic papers, and other documents that require high-quality typography.
672
673#### Impact on Typesetting
674
675TeX is known for producing beautifully typeset documents, and part of that beauty comes from its ability to hyphenate words correctly. Liang’s algorithm plays a big role in this, ensuring that text is split in a way that’s both aesthetically pleasing and easy to read.
676
677If you’ve ever read a math textbook, a scientific journal, or even a well-formatted PDF, there’s a good chance you’ve seen Liang’s work in action. His algorithm helps to make sure that the text flows 
677smoothly from line to line, without awkward breaks or distracting hyphenations.
678
679#### Influence on Other Systems
680
681Liang’s work has also influenced other hyphenation systems. While TeX might be the most famous application of his algorithm, the ideas behind it—especially the use of patterns and tries—have been adopted in various forms in other text processing and typesetting systems.
682
683### The Bigger Picture: What Liang’s Work Teaches Us
684
685At first glance, hyphenation might seem like a minor problem. But Liang’s work on this topic illustrates something important about computer science and problem-solving in general: even the smallest details matter, and solving these details can have a big impact.
686
687#### The Power of Data Structures
688
689One of the key takeaways from Liang’s work is the power of data structures. The packed trie wasn’t just a clever solution; it was the foundation that made the entire algorithm possible. Without it, Liang’s algorithm wouldn’t have been nearly as efficient or effective.
690
691This highlights the importance of choosing the right data structure for the problem at hand. In computer science, the way you organize and store information can be just as important as the algorithms you use to process it.
692
693#### Balancing Generality and Specificity
694
695Another lesson from Liang’s work is the importance of balancing generality and specificity. The patterns in his algorithm are general enough to apply to a wide range of words, but specific enough to avoid most errors. The use of heuristics helps the algorithm to strike this balance, making it both powerful and flexible.
696
697This balance is crucial in many areas of computer science, where the goal is often to create solutions that work well in a variety of situations, without being too rigid or too vague.
698
699### Wrapping Up: Liang’s Lasting Contribution
700
701Franklin Mark Liang’s work on hyphenation algorithms might not be as flashy as some other breakthroughs in computer science, but its impact is undeniable. His algorithm has stood the test of time, continuing to be used in TeX and influencing other systems as well.
702
703Liang’s approach to hyphenation—using patterns, packed tries, and a careful balance of general rules and specific exceptions—turned what could have been a mundane problem into a fascinating and elegant solution. It’s a reminder that even in the world of algorithms and data structures, there’s room for creativity, innovation, and a bit of artistry.
704
705So next time you’re reading a beautifully typeset book or a perfectly formatted academic paper, take a moment to appreciate the work that went into making sure every word is hyphenated just right. Somewhere in the background, Liang’s algorithm is hard at work, making sure your reading experience is as smooth and seamless as possible.
706
707And who knows? Maybe the next time you’re faced with a tricky problem—whether it’s in computer science or elsewhere—you’ll find inspiration in Liang’s approach: look for the patterns, choose the right structure, and remember that even the smallest details can make a big difference.
708
709### References
710
711- Franklin M. Liang: Word Hy-phen-a-tion by Com-put-er. Stanford University, 1983. http://www.tug.org/docs/liang.`},_meta:{filePath:`liang-hyphenation-algorithm-explained/index.mdx`,fileName:`index.mdx`,directory:`liang-hyphenation-algorithm-explained`,extension:`mdx`,path:`liang-hyphenation-algorithm-explained`},readingTime:`13 min read`,lastModification:`2026-09-01T08:32:45.628Z`,url:`/posts/liang-hyphenation-algorithm-explained`,slug:`liang-hyphenation-algorithm-explained`},{title:`What is Hyphenation and Why is it Important?`,description:`Explore the importance of hyphenation in writing, its impact on readability and layout, and tools for accurate application.`,image:{url:`/posts/what-is-hyphenation/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-05T00:00:00.000Z`),author:{name:`Alexandru Furculita`,url:`https://twitter.com/afurculita`},tags:[],content:{mdx:'var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var f=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),w=(i,e)=>{for(var t in e)o(i,t,{get:e[t],enumerable:!0})},r=(i,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of m(e))!g.call(i,a)&&a!==t&&o(i,a,{get:()=>e[a],enumerable:!(s=u(e,a))||s.enumerable});return i};var b=(i,e,t)=>(t=i!=null?p(y(i)):{},r(e||!i||!i.__esModule?o(t,"default",{value:i,enumerable:!0}):t,i)),v=i=>r(o({},"__esModule",{value:!0}),i);var l=f((H,h)=>{h.exports=_jsx_runtime});var x={};w(x,{default:()=>d});var n=b(l());function c(i){let e={h2:"h2",h3:"h3",p:"p",...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"In the world of writing and publishing, hyphenation is a small detail that plays a significant role in the readability and presentation of text. Whether you\'re a professional writer, a student preparing an academic paper, or a publisher working on the layout of a book, understanding hyphenation is crucial. But what exactly is hyphenation, and why does it matter so much in written content?"}),`\n`,(0,n.jsx)(e.h2,{id:"understanding-hyphenation",children:"Understanding Hyphenation"}),`\n`,(0,n.jsx)(e.p,{children:"Hyphenation is the process of breaking words at the end of a line with a hyphen. This might seem straightforward, but it involves a complex set of rules that vary depending on the language, the word itself, and the context in which it is used. The primary goal of hyphenation is to ensure that text is evenly distributed across a page or column, thus improving readability and aesthetic appeal."}),`\n`,(0,n.jsx)(e.p,{children:"In English, for instance, hyphenation often occurs in compound words (e.g., mother-in-law), to join prefixes or suffixes (e.g., anti-inflammatory), and to break long words at the end of a line to avoid uneven spacing or \'rivers of white\' in justified text."}),`\n`,(0,n.jsx)(e.h2,{id:"the-importance-of-hyphenation",children:"The Importance of Hyphenation"}
711),`\n`,(0,n.jsx)(e.h3,{id:"1-enhances-readability-and-comprehension",children:"1. Enhances Readability and Comprehension"}),`\n`,(0,n.jsx)(e.p,{children:"Hyphenation prevents awkward gaps in justified text, making it easier for readers to follow lines and maintain their place in the text. This seamless flow is essential for comprehension, especially in dense or complex material."}),`\n`,(0,n.jsx)(e.h3,{id:"2-improves-aesthetics-and-professionalism",children:"2. Improves Aesthetics and Professionalism"}),`\n`,(0,n.jsx)(e.p,{children:"Texts without proper hyphenation can look unprofessional and messy. Hyphenation contributes to a neat, organized layout, which is particularly crucial in formal documents and publications."}),`\n`,(0,n.jsx)(e.h3,{id:"3-optimizes-space",children:"3. Optimizes Space"}),`\n`,(0,n.jsx)(e.p,{children:"In publishing, space is a valuable commodity. Hyphenation allows for more efficient use of space, ensuring that more words fit on a page without compromising readability."}),`\n`,(0,n.jsx)(e.h3,{id:"4-reduces-ambiguity",children:"4. Reduces Ambiguity"}),`\n`,(0,n.jsx)(e.p,{children:"Proper hyphenation can also clarify meaning. Incorrectly hyphenating a word might change its meaning or make it difficult to understand, especially in technical or academic writing."}),`\n`,(0,n.jsx)(e.h2,{id:"hyphenation-challenges-and-solutions",children:"Hyphenation Challenges and Solutions"}),`\n`,(0,n.jsx)(e.p,{children:"Despite its importance, hyphenation can be challenging. Different languages and dialects have unique rules, and even within English, variations exist between American and British practices. Additionally, hyphenation can be subjective and open to interpretation, particularly with newer words or industry-specific terminology."}),`\n`,(0,n.jsx)(e.p,{children:"Fortunately, tools like HyphenateIt have emerged to assist with these challenges. These tools use algorithms based on linguistic rules to provide accurate hyphenation, saving time and reducing the risk of errors. However, it\'s always good practice to double-check automatic hyphenation, especially in formal or published materials."}),`\n`,(0,n.jsx)(e.h2,{id:"conclusion",children:"Conclusion"}),`\n`,(0,n.jsx)(e.p,{children:"Hyphenation, though a small aspect of writing, has a significant impact on the effectiveness and professionalism of a text. Understanding and applying correct hyphenation rules is essential for anyone involved in writing or publishing. With the aid of modern tools and a bit of knowledge, you can ensure that your documents are not only readable but also visually appealing and professionally presented."})]})}function d(i={}){let{wrapper:e}=i.components||{};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(c,{...i})}):c(i)}return v(x);})();\n;return Component;',raw:`In the world of writing and publishing, hyphenation is a small detail that plays a significant role in the readability and presentation of text. Whether you're a professional writer, a student preparing an academic paper, or a publisher working on the layout of a book, understanding hyphenation is crucial. But what exactly is hyphenation, and why does it matter so much in written content?
712
713## Understanding Hyphenation
714
715Hyphenation is the process of breaking words at the end of a line with a hyphen. This might seem straightforward, but it involves a complex set of rules that vary depending on the language, the word itself, and the context in which it is used. The primary goal of hyphenation is to ensure that text is evenly distributed across a page or column, thus improving readability and aesthetic appeal.
716
717In English, for instance, hyphenation often occurs in compound words (e.g., mother-in-law), to join prefixes or suffixes (e.g., anti-inflammatory), and to break long words at the end of a line to avoid uneven spacing or 'rivers of white' in justified text.
718
719## The Importance of Hyphenation
720
721### 1. Enhances Readability and Comprehension
722
723Hyphenation prevents awkward gaps in justified text, making it easier for readers to follow lines and maintain their place in the text. This seamless flow is essential for comprehension, especially in dense or complex material.
724
725### 2. Improves Aesthetics and Professionalism
726
727Texts without proper hyphenation can look unprofessional and messy. Hyphenation contributes to a neat, organized layout, which is particularly crucial in formal documents and publications.
728
729### 3. Optimizes Space
730
731In publishing, space is a valuable commodity. Hyphenation allows for more efficient use of space, ensuring that more words fit on a page without compromising readability.
732
733### 4. Reduces Ambiguity
734
735Proper hyphenation can also clarify meaning. Incorrectly hyphenating a word might change its meaning or make it difficult to understand, especially in technical or academic writing.
736
737## Hyphenation Challenges and Solutions
738
739Despite its importance, hyphenation can be challenging. Different languages and dialects have unique rules, and even within English, variations exist between American and British practices. Additionally, hyphenation can be subjective and open to interpretation, particularly with newer words or industry-specific terminology.
740
741Fortunately, tools like HyphenateIt have emerged to assist with these challenges. These tools use algorithms based on linguistic rules to provide accurate hyphenation, saving time and reducing the risk of errors. However, it's always good practice to double-check automatic hyphenation, especially in formal or published materials.
742
743## Conclusion
744
745Hyphenation, though a small aspect of writing, has a significant impact on the effectiveness and professionalism of a text. Understanding and applying correct hyphenation rules is essential for anyone involved in writing or publishing. With the aid of modern tools and a bit of knowledge, you can ensure that your documents are not only readable but also visually appealing and professionally presented.`},_meta:{filePath:`what-is-hyphenation/index.mdx`,fileName:`index.mdx`,directory:`what-is-hyphenation`,extension:`mdx`,path:`what-is-hyphenation`}
745,readingTime:`3 min read`,lastModification:`2026-09-01T08:32:45.628Z`,url:`/posts/what-is-hyphenation`,slug:`what-is-hyphenation`}],t=[{title:`Privacy Policy`,updatedAt:`2023-05-29`,content:`Welcome to [hyphenateit.com](/) (the "Site"), hosted by HyphenateIt ("HyphenateIt",
746"we", "us", and/or "our"). HyphenateIt provides a platform for creating and
747managing short links (the "Services")​1​. We value your privacy and are
748dedicated to protecting your personal data. This Privacy Policy covers how we
749collect, handle, and disclose personal data on our Platform.
750
751If you have any questions, comments, or concerns regarding this Privacy Policy,
752our data practices, or would like to exercise your rights, do not hesitate to
753contact us.
754
755## To Whom Does This Policy Apply
756
757This Privacy Policy applies to customers and site visitors. Each customer is
758responsible for posting its own terms, conditions, and privacy policies, and
759ensuring compliance with all applicable laws and regulations.
760
761## Changes To This Privacy Policy
762
763This Privacy Policy may change from time to time, as our Platform and our
764business may change. Your continued use of the Platform after any changes to
765this Privacy Policy indicates your agreement with the terms of the revised
766Privacy Policy.
767
768## What Information Do We Collect
769
770We collect information directly from you when you provide it to us explicitly on
771our Site. We do not use third-party cookies on our Site.
772
773## What We Use Your Information For
774
775We use your information to provide our Services, to improve our Platform, to
776understand how you use our Platform, and to communicate with you.
777
778## How To Contact Us
779
780For privacy-related questions, please contact us at [email protected].`,_meta:{filePath:`privacy.mdx`,fileName:`privacy.mdx`,directory:`.`,extension:`mdx`,path:`privacy`},mdx:'var Component=(()=>{var u=Object.create;var r=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var v=(e,o)=>()=>(o||e((o={exports:{}}
780).exports,o),o.exports),P=(e,o)=>{for(var t in o)r(e,t,{get:o[t],enumerable:!0})},c=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of p(o))!f.call(e,i)&&i!==t&&r(e,i,{get:()=>o[i],enumerable:!(a=y(o,i))||a.enumerable});return e};var w=(e,o,t)=>(t=e!=null?u(m(e)):{},c(o||!e||!e.__esModule?r(t,"default",{value:e,enumerable:!0}):t,e)),g=e=>c(r({},"__esModule",{value:!0}),e);var h=v((T,s)=>{s.exports=_jsx_runtime});var x={};P(x,{default:()=>d});var n=w(h());function l(e){let o={a:"a",h2:"h2",p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["Welcome to ",(0,n.jsx)(o.a,{href:"/",children:"hyphenateit.com"}),` (the "Site"), hosted by HyphenateIt ("HyphenateIt",\n"we", "us", and/or "our"). HyphenateIt provides a platform for creating and\nmanaging short links (the "Services")\\u200B1\\u200B. We value your privacy and are\ndedicated to protecting your personal data. This Privacy Policy covers how we\ncollect, handle, and disclose personal data on our Platform.`]}),`\n`,(0,n.jsx)(o.p,{children:`If you have any questions, comments, or concerns regarding this Privacy Policy,\nour data practices, or would like to exercise your rights, do not hesitate to\ncontact us.`}),`\n`,(0,n.jsx)(o.h2,{id:"to-whom-does-this-policy-apply",children:"To Whom Does This Policy Apply"}),`\n`,(0,n.jsx)(o.p,{children:`This Privacy Policy applies to customers and site visitors. Each customer is\nresponsible for posting its own terms, conditions, and privacy policies, and\nensuring compliance with all applicable laws and regulations.`}),`\n`,(0,n.jsx)(o.h2,{id:"changes-to-this-privacy-policy",children:"Changes To This Privacy Policy"}),`\n`,(0,n.jsx)(o.p,{children:`This Privacy Policy may change from time to time, as our Platform and our\nbusiness may change. Your continued use of the Platform after any changes to\nthis Privacy Policy indicates your agreement with the terms of the revised\nPrivacy Policy.`}),`\n`,(0,n.jsx)(o.h2,{id:"what-information-do-we-collect",children:"What Information Do We Collect"}),`\n`,(0,n.jsx)(o.p,{children:`We collect information directly from you when you provide it to us explicitly on\nour Site. We do not use third-party cookies on our Site.`}),`\n`,(0,n.jsx)(o.h2,{id:"what-we-use-your-information-for",children:"What We Use Your Information For"}),`\n`,(0,n.jsx)(o.p,{children:`We use your information to provide our Services, to improve our Platform, to\nunderstand how you use our Platform, and to communicate with you.`}),`\n`,(0,n.jsx)(o.h2,{id:"how-to-contact-us",children:"How To Contact Us"}),`\n`,(0,n.jsxs)(o.p,{children:["For privacy-related questions, please contact us at ",(0,n.jsx)(o.a,{href:"mailto:[email protected]",children:"[email protected]"}),"."]})]})}function d(e={}){let{wrapper:o}=e.components||{};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}return g(x);})();\n;return Component;',slug:`privacy`},{title:`Terms of Service`,updatedAt:`2023-05-29`,content:`Subject to these Terms of Service (this "Agreement"), [hyphenateit.com](/)
781("HyphenateIt", "we", "us" and/or "our") provides access to HyphenateIt's cloud
782platform as a service (collectively, the "Services"). By using or accessing the
783Services, you acknowledge that you have read, understand, and agree to be bound
784by this Agreement.
785
786If you are entering into this Agreement on behalf of a company, business or
787other legal entity, you represent that you have the authority to bind such
788entity to this Agreement, in which case the term "you" shall refer to such
789entity. If you do not have such authority, or if you do not agree with this
790Agreement, you must not accept this Agreement and may not use the Services.
791
792## 1. Acceptance of Terms
793
794By signing up and using the services provided by HyphenateIt (referred to as the
795"Service"), you are agreeing to be bound by the following terms and conditions
796("Terms of Service"). The Service is owned and operated by HyphenateIt ("Us",
797"We", or "Our").
798
799## 2. Description of Service
800
801HyphenateIt provides a tool that helps you hyphenate words. ("the
802Product"). The Product is accessible at hyphenateit.com and other domains and
803subdomains controlled by Us (collectively, "the Website").
804
805## 3. Fair Use
806
807You are responsible for your use of the Service and for any content that you
808post or transmit through the Service. You may not use the Service for any
809purpose that is illegal or infringes upon the rights of others.
810
811We reserve the right to suspend or terminate your access to the Service if we
812determine, in our sole discretion, that you have violated these Terms of
813Service, including but not limited to, adding phishing links, spam links, scam
814links, or other inappropriate or illegal content.
815
816## 4. Intellectual Property Rights
817
818You acknowledge and agree that the Service and its entire contents, features,
819and functionality, including but not limited to all information, software, code,
820text, displays, graphics, photographs, video, audio, design, presentation,
821selection, and arrangement, are owned by Us, our licensors, or other providers
822of such material and are protected by United States and international copyright,
823trademark, patent, trade secret, and other intellectual property or proprietary
824rights laws.
825
826## 5. Changes to these Terms
827
828We reserve the right to revise and update these Terms of Service from time to
829time in our sole discretion. All changes are effective immediately when we post
830them, and apply to all access to and use of the Website thereafter. Your
831continued use of the Website following the posting of revised Terms of Service
832means that you accept and agree to the changes.
833
834## 6. Contact Information
835
836Questions or comments about the Website or these Terms of Service may be
837directed to our support team at [email protected].
838
839## 7. Disclaimer of Warranties
840
841THE SERVICE AND ITS CONTENT ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS
842WITHOUT ANY WARRANTIES OF ANY KIND. WE DISCLAIM ALL WARRANTIES, INCLUDING, BUT
843NOT LIMITED TO, THE WARRANTY OF TITLE, MERCHANTABILITY, NON-INFRINGEMENT OF
844THIRD PARTIES’ RIGHTS, AND FITNESS FOR PARTICULAR PURPOSE.
845
846## 8. Limitation of Liability
847
848IN NO EVENT WILL WE, OUR AFFILIATES OR THEIR LICENSORS, SERVICE PROVIDERS,
849EMPLOYEES, AGENTS, OFFICERS OR DIRECTORS BE LIABLE FOR DAMAGES OF ANY KIND,
850UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR
851INABILITY TO USE, THE WEBSITE, THE SERVICE, ANY WEBSITES LINKED TO IT, ANY
852CONTENT ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY DIRECT, INDIRECT,
853SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES.
854
855## 9. Governing Law and Jurisdiction
856
857These Terms of Service and any dispute or claim arising out of or related to
858them, their subject matter or their formation (in each case, including
859non-contractual disputes or claims) shall be governed by and construed in
860accordance with the internal laws of France without giving effect to any choice
861or conflict of law provision or rule. Any legal suit, action, or proceeding
862arising out of, or related to, these Terms of Service or the Website shall be
863instituted exclusively in the federal courts of France.
864
865---
866
867By using HyphenateIt , you acknowledge that you have read these Terms of Service,
868understood them, and agree to be bound by them. If you do not agree to these
869Terms of Service, you are not authorized to use the Service. We reserve the
870right to change these Terms of Service at any time, so please review them
871frequently.
872
873Thank you for using HyphenateIt!`,_meta:{filePath:`terms.mdx`,fileName:`terms.mdx`,directory:`.`,extension:`mdx`,path:`terms`},mdx:`var Component=(()=>{var u=Object.create;var i=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),T=(n,e)=>{for(var r in e)i(n,r,{get:e[r],enumerable:!0})},s=(n,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of m(e))!I.call(n,o)&&o!==r&&i(n,o,{get:()=>e[o],enumerable:!(a=p(e,o))||a.enumerable});return n};var g=(n,e,r)=>(r=n!=null?u(y(n)):{},s(e||!n||!n.__esModule?i(r,"default",{value:n,enumerable:!0}):r,n)),E=n=>s(i({},"__esModule",{value:!0}),n);var c=f((N,h)=>{h.exports=_jsx_runtime});var S={};T(S,{default:()=>l});var t=g(c());function d(n){let e={a:"a",h2:"h2",hr:"hr",p:"p",...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(e.p,{children:['Subject to these Terms of Service (this "Agreement"), ',(0,t.jsx)(e.a,{href:"/",children:"hyphenateit.com"}),\`
874("HyphenateIt", "we", "us" and/or "our") provides access to HyphenateIt's cloud
875platform as a service (collectively, the "Services"). By using or accessing the
876Services, you acknowledge that you have read, understand, and agree to be bound
877by this Agreement.\`]}),\`
878\`,(0,t.jsx)(e.p,{children:\`If you are entering into this Agreement on behalf of a company, business or
879other legal entity, you represent that you have the authority to bind such
880entity to this Agreement, in which case the term "you" shall refer to such
881entity. If you do not have such authority, or if you do not agree with this
882Agreement, you must not accept this Agreement and may not use the Services.\`}),\`
883\`,(0,t.jsx)(e.h2,{id:"1-acceptance-of-terms",children:"1. Acceptance of Terms"}),\`
884\`,(0,t.jsx)(e.p,{children:\`By signing up and using the services provided by HyphenateIt (referred to as the
885"Service"), you are agreeing to be bound by the following terms and conditions
886("Terms of Service"). The Service is owned and operated by HyphenateIt ("Us",
887"We", or "Our").\`}),\`
888\`,(0,t.jsx)(e.h2,{id:"2-description-of-service",children:"2. Description of Service"}),\`
889\`,(0,t.jsx)(e.p,{children:\`HyphenateIt provides a tool that helps you hyphenate words. ("the
890Product"). The Product is accessible at hyphenateit.com and other domains and
891subdomains controlled by Us (collectively, "the Website").\`}),\`
892\`,(0,t.jsx)(e.h2,{id:"3-fair-use",children:"3. Fair Use"}),\`
893\`,(0,t.jsx)(e.p,{children:\`You are responsible for your use of the Service and for any content that you
894post or transmit through the Service. You may not use the Service for any
895purpose that is illegal or infringes upon the rights of others.\`}),\`
896\`,(0,t.jsx)(e.p,{children:\`We reserve the right to suspend or terminate your access to the Service if we
897determine, in our sole discretion, that you have violated these Terms of
898Service, including but not limited to, adding phishing links, spam links, scam
899links, or other inappropriate or illegal content.\`}),\`
900\`,(0,t.jsx)(e.h2,{id:"4-intellectual-property-rights",children:"4. Intellectual Property Rights"}),\`
901\`,(0,t.jsx)(e.p,{children:\`You acknowledge and agree that the Service and its entire contents, features,
902and functionality, including but not limited to all information, software, code,
903text, displays, graphics, photographs, video, audio, design, presentation,
904selection, and arrangement, are owned by Us, our licensors, or other providers
905of such material and are protected by United States and international copyright,
906trademark, patent, trade secret, and other intellectual property or proprietary
907rights laws.\`}),\`
908\`,(0,t.jsx)(e.h2,{id:"5-changes-to-these-terms",children:"5. Changes to these Terms"}),\`
909\`,(0,t.jsx)(e.p,{children:\`We reserve the right to revise and update these Terms of Service from time to
910time in our sole discretion. All changes are effective immediately when we post
911them, and apply to all access to and use of the Website thereafter. Your
912continued use of the Website following the posting of revised Terms of Service
913means that you accept and agree to the changes.\`}),\`
914\`,(0,t.jsx)(e.h2,{id:"6-contact-information",children:"6. Contact Information"}),\`
915\`,(0,t.jsxs)(e.p,{children:[\`Questions or comments about the Website or these Terms of Service may be
916directed to our support team at \`,(0,t.jsx)(e.a,{href:"mailto:[email protected]",children:"[email protected]"}),"."]}),\`
917\`,(0,t.jsx)(e.h2,{id:"7-disclaimer-of-warranties",children:"7. Disclaimer of Warranties"}),\`
918\`,(0,t.jsx)(e.p,{children:\`THE SERVICE AND ITS CONTENT ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS
919WITHOUT ANY WARRANTIES OF ANY KIND. WE DISCLAIM ALL WARRANTIES, INCLUDING, BUT
920NOT LIMITED TO, THE WARRANTY OF TITLE, MERCHANTABILITY, NON-INFRINGEMENT OF
921THIRD PARTIES\\u2019 RIGHTS, AND FITNESS FOR PARTICULAR PURPOSE.\`}),\`
922\`,(0,t.jsx)(e.h2,{id:"8-limitation-of-liability",children:"8. Limitation of Liability"}),\`
923\`,(0,t.jsx)(e.p,{children:\`IN NO EVENT WILL WE, OUR AFFILIATES OR THEIR LICENSORS, SERVICE PROVIDERS,
924EMPLOYEES, AGENTS, OFFICERS OR DIRECTORS BE LIABLE FOR DAMAGES OF ANY KIND,
925UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR
926INABILITY TO USE, THE WEBSITE, THE SERVICE, ANY WEBSITES LINKED TO IT, ANY
927CONTENT ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY DIRECT, INDIRECT,
928SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES.\`}),\`
929\`,(0,t.jsx)(e.h2,{id:"9-governing-law-and-jurisdiction",children:"9. Governing Law and Jurisdiction"}),\`
930\`,(0,t.jsx)(e.p,{children:\`These Terms of Service and any dispute or claim arising out of or related to
931them, their subject matter or their formation (in each case, including
932non-contractual disputes or claims) shall be governed by and construed in
933accordance with the internal laws of France without giving effect to any choice
934or conflict of law provision or rule. Any legal suit, action, or proceeding
935arising out of, or related to, these Terms of Service or the Website shall be
936instituted exclusively in the federal courts of France.\`}),\`
937\`,(0,t.jsx)(e.hr,{}),\`
938\`,(0,t.jsx)(e.p,{children:\`By using HyphenateIt , you acknowledge that you have read these Terms of Service,
939understood them, and agree to be bound by them. If you do not agree to these
940Terms of Service, you are not authorized to use the Service. We reserve the
941right to change these Terms of Service at any time, so please review them
942frequently.\`}),\`
943\`,(0,t.jsx)(e.p,{children:"Thank you for using HyphenateIt!"})]})}function l(n={}){let{wrapper:e}=n.components||{};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}return E(S);})();
944;return Component;`,slug:`terms`}],n=[],r=[{title:`Dark mode support`,description:`Choose your favorite theme. Dark or light.`,image:{url:`/changelog/dark-theme-support/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-03T00:00:00.000Z`),content:{mdx:'var Component=(()=>{var u=Object.create;var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),p=(n,e)=>{for(var o in e)s(n,o,{get:e[o],enumerable:!0})},h=(n,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of x(e))!_.call(n,r)&&r!==o&&s(n,r,{get:()=>e[r],enumerable:!(c=l(e,r))||c.enumerable});return n};var j=(n,e,o)=>(o=n!=null?u(g(n)):{},h(e||!n||!n.__esModule?s(o,"default",{value:n,enumerable:!0}):o,n)),w=n=>h(s({},"__esModule",{value:!0}),n);var i=f((y,a)=>{a.exports=_jsx_runtime});var M={};p(M,{default:()=>m});var t=j(i());function d(n){let e={p:"p",strong:"strong",...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"You can now use dark mode on the website."}),`\n`,(0,t.jsxs)(e.p,{children:["The ",(0,t.jsx)(e.strong,{children:"default"})," theme is the ",(0,t.jsx)(e.strong,{children:"system"}),` one. You can change the theme in\nthe header of the website.`]})]})}function m(n={}){let{wrapper:e}=n.components||{};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}return w(M);})();\n;return Component;',raw:`You can now use dark mode on the website.
945
946The **default** theme is the **system** one. You can change the theme in
947the header of the website.`},_meta:{filePath:`dark-theme-support/index.mdx`,fileName:`index.mdx`,directory:`dark-theme-support`,extension:`mdx`,path:`dark-theme-support`},url:`/changelog/dark-theme-support`,slug:`dark-theme-support`},{title:`Hottest word splits`,description:`See the most popular word splits`,image:{url:`/changelog/hottest-word-splits/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-11-20T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var u=Object.create;var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var x=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),_=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},i=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of m(e))!g.call(t,o)&&o!==n&&s(t,o,{get:()=>e[o],enumerable:!(r=d(e,o))||r.enumerable});return t};var f=(t,e,n)=>(n=t!=null?u(w(t)):{},i(e||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),y=t=>i(s({},"__esModule",{value:!0}),t);var p=x((C,h)=>{h.exports=_jsx_runtime});var j={};_(j,{default:()=>l});var a=f(p());function c(t){let e={p:"p",...t.components};return(0,a.jsx)(e.p,{children:"You can now see the most popular word splits, which are the most searched words on HyphenateIt. On the word hyphenation page, the list contains the latest word splits in the language you are viewing. On the homepage, the list contains the most popular word splits in all languages."})}function l(t={}){let{wrapper:e}=t.components||{};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}return y(j);})();
948;return Component;`,raw:`You can now see the most popular word splits, which are the most searched words on HyphenateIt. On the word hyphenation page, the list contains the latest word splits in the language you are viewing. On the homepage, the list contains the most popular word splits in all languages.`},_meta:{filePath:`hottest-word-splits/index.mdx`,fileName:`index.mdx`,directory:`hottest-word-splits`,extension:`mdx`,path:`hottest-word-splits`},url:`/changelog/hottest-word-splits`,slug:`hottest-word-splits`}
948,{title:`Language words list`,description:`See all the words of a language in one place`,image:{url:`/changelog/language-words-list/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-20T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var _=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),f=(e,n)=>{for(var r in n)a(e,r,{get:n[r],enumerable:!0})},l=(e,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of m(n))!g.call(e,t)&&t!==r&&a(e,t,{get:()=>n[t],enumerable:!(s=p(n,t))||s.enumerable});return e};var w=(e,n,r)=>(r=e!=null?h(x(e)):{},l(n||!e||!e.__esModule?a(r,"default",{value:e,enumerable:!0}):r,e)),j=e=>l(a({},"__esModule",{value:!0}),e);var d=_((C,c)=>{c.exports=_jsx_runtime});var M={};f(M,{default:()=>u});var o=w(d());function i(e){let n={a:"a",p:"p",...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["You can now see all the words of a language in one place. For example, here are all the ",(0,o.jsx)(n.a,{href:"/en-us/words",children:"English words"}),"."]}),\`
949\`,(0,o.jsx)(n.p,{children:"Currently, only English US and UK is supported. More languages will be added soon."})]})}function u(e={}){let{wrapper:n}=e.components||{};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}return j(M);})();
950;return Component;`,raw:`You can now see all the words of a language in one place. For example, here are all the [English words](/en-us/words).
951
952Currently, only English US and UK is supported. More languages will be added soon.`},_meta:{filePath:`language-words-list/index.mdx`,fileName:`index.mdx`,directory:`language-words-list`,extension:`mdx`,path:`language-words-list`},url:`/changelog/language-words-list`,slug:`language-words-list`},{title:`Nearby Words List Section`,description:`This section is used to display a list of words that are similar to the current word. It is used in the word page.`,image:{url:`/changelog/nearby-words/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-02-08T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var f=Object.create;var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},a=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m(t))!p.call(e,o)&&o!==r&&s(e,o,{get:()=>t[o],enumerable:!(i=l(t,o))||i.enumerable});return e};var g=(e,t,r)=>(r=e!=null?f(w(e)):{},a(t||!e||!e.__esModule?s(r,"default",{value:e,enumerable:!0}):r,e)),j=e=>a(s({},"__esModule",{value:!0}),e);var c=x((T,d)=>{d.exports=_jsx_runtime});var y={};_(y,{default:()=>u});var n=g(c());function h(e){let t={p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"This section is used to display a list of words that are similar to the current word. It is used in the word page."}),\`
953\`,(0,n.jsx)(t.p,{children:"This gives the user a quick way to see other words that are nearby in the dictionary. This can be useful for finding other related words, or for finding words with the same root."})]})}function u(e={}){let{wrapper:t}=e.components||{};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}return j(y);})();
954;return Component;`,raw:`This section is used to display a list of words that are similar to the current word. It is used in the word page.
955
956This gives the user a quick way to see other words that are nearby in the dictionary. This can be useful for finding other related words, or for finding words with the same root.`},_meta:{filePath:`nearby-words/index.mdx`,fileName:`index.mdx`,directory:`nearby-words`,extension:`mdx`,path:`nearby-words`},url:`/changelog/nearby-words`,slug:`nearby-words`},{title:`Search Suggestions`,description:`Get suggestions for words that match the search query.`,image:{url:`/changelog/search-suggestions/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-10-08T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var d=Object.create;var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var f=(e,o)=>()=>
956(o||e((o={exports:{}}).exports,o),o.exports),w=(e,o)=>{for(var t in o)a(e,t,{get:o[t],enumerable:!0})},h=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of g(o))!p.call(e,s)&&s!==t&&a(e,s,{get:()=>o[s],enumerable:!(r=l(o,s))||r.enumerable});return e};var x=(e,o,t)=>(t=e!=null?d(m(e)):{},h(o||!e||!e.__esModule?a(t,"default",{value:e,enumerable:!0}):t,e)),_=e=>h(a({},"__esModule",{value:!0}),e);var c=f((q,i)=>{i.exports=_jsx_runtime});var b={};w(b,{default:()=>y});var n=x(c());function u(e){let o={p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"You can now get suggestions for words that match the search query. This can help you find the word you are looking for more quickly, and can also help you discover new words that you may not have thought of. The suggestions are based on the words in the dictionary, and are sorted by how closely they match the search query."}),\`
957\`,(0,n.jsx)(o.p,{children:"The suggestions are displayed as you type in the search box, so you can see them in real time as you type. This can help you refine your search query and find the word you are looking for more quickly. The suggestions are also displayed in a list below the search box, so you can see all of the suggestions at once."})]})}function y(e={}){let{wrapper:o}=e.components||{};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}return _(b);})();
958;return Component;`,raw:`You can now get suggestions for words that match the search query. This can help you find the word you are looking for more quickly, and can also help you discover new words that you may not have thought of. The suggestions are based on the words in the dictionary, and are sorted by how closely they match the search query.
959
960The suggestions are displayed as you type in the search box, so you can see them in real time as you type. This can help you refine your search query and find the word you are looking for more quickly. The suggestions are also displayed in a list below the search box, so you can see all of the suggestions at once.`},_meta:{filePath:`search-suggestions/index.mdx`,fileName:`index.mdx`,directory:`search-suggestions`,extension:`mdx`,path:`search-suggestions`},url:`/changelog/search-suggestions`,slug:`search-suggestions`},{title:`Word of the day page`,description:`Check out the hyphenation of the word of the day from Mirriam-Webster`,image:{url:`/changelog/word-of-the-day-list/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-10T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var f=Object.create;var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var o in t)a(e,o,{get:t[o],enumerable:!0})},c=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!x.call(e,r)&&r!==o&&a(e,r,{get:()=>t[r],enumerable:!(s=l(t,r))||s.enumerable});return e};var j=(e,t,o)=>(o=e!=null?f(u(e)):{},c(t||!e||!e.__esModule?a(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>c(a({},"__esModule",{value:!0}),e);var i=w((C,h)=>{h.exports=_jsx_runtime});var M={};_(M,{default:()=>m});var n=j(i());function d(e){let t={a:"a",p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"You can now see all the words of the day from Mirriam-Webster in one place."}),\`
961\`,(0,n.jsxs)(t.p,{children:["Check out the ",(0,n.jsx)(t.a,{href:"/lists/word-of-the-day/merriam-webster",children:"word of the day page"})," to see the hyphenation for each word."]})]})}function m(e={}){let{wrapper:t}=e.components||{};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}return y(M);})();
962;return Component;`,raw:`You can now see all the words of the day from Mirriam-Webster in one place.
963
964Check out the [word of the day page](/lists/word-of-the-day/merriam-webster) to see the hyphenation for each word.`},_meta:{filePath:`word-of-the-day-list/index.mdx`,fileName:`index.mdx`,directory:`word-of-the-day-list`,extension:`mdx`,path:`word-of-the-day-list`},url:`/changelog/word-of-the-day-list`,slug:`word-of-the-day-list`}],i=e.sort((e,t)=>
964t.publishedAt.getTime()-e.publishedAt.getTime());n.sort((e,t)=>e.order-t.order);var a=r.sort((e,t)=>t.publishedAt.getTime()-e.publishedAt.getTime()),o=t.sort((e,t)=>e.title.localeCompare(t.title)),s=e=>a.find(t=>t.slug===e);export{i,a as n,o as r,s as t};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.