diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/luatex/latex/selnolig/selnolig-english-patterns.sty |
Initial commit
Diffstat (limited to 'macros/luatex/latex/selnolig/selnolig-english-patterns.sty')
-rw-r--r-- | macros/luatex/latex/selnolig/selnolig-english-patterns.sty | 1125 |
1 files changed, 1125 insertions, 0 deletions
diff --git a/macros/luatex/latex/selnolig/selnolig-english-patterns.sty b/macros/luatex/latex/selnolig/selnolig-english-patterns.sty new file mode 100644 index 0000000000..a5d0c5a756 --- /dev/null +++ b/macros/luatex/latex/selnolig/selnolig-english-patterns.sty @@ -0,0 +1,1125 @@ +% !TeX root = selnolig.tex +% !TEX TS-program = lualatex + +\ProvidesPackage{selnolig-english-patterns}% +[2015/10/26] + +% This entire package is placed under the +% terms of the LaTeX Project Public License, +% version 1.3 or later +% (http://www.latex-project.org/lppl.txt). +% It has the status "maintained". +% +% Author: Mico Loretan +% (loretan dot mico at gmail dot com) + + +% Part 1: "Basic" f-ligature patterns +% =================================== + +% (a) ff -> f-f + +\nolig{lfful}{lf|ful} + % shelfful bookshelffuls -- TeXBook, p. 19 + +% (b) fi -> f-i + % no cases in 'basic' group + +% (c) fl -> f-l + +\nolig{fless}{f|less} + % beefless leafless ... + % Also: cuffless stuffless + +\nolig{flike}{f|like} + % dwarflike elflike ... + % Also: rufflike clifflike + +\nolig{flife}{f|life} + % halflife shelflife + +\nolig{flive}{f|live} + % halflives shelflives + +\nolig{fline}{f|line} + % halfline roofline offline + +\nolig{eaflet}{eaf|let} + % leaflet(-s, -ed) leafleting + % leafletting leafletted + % leafleteer(s) + +\nolig{pdflatex}{pdf|latex} +\nolig{Pdflatex}{Pdf|latex} + % better, though, to write 'pdf\LaTeX' + +\nolig{otfload}{otf|load} + % for the 'luaotfload' package... + +% (d) ffi -> ff-i + +\nolig{faffian}{faff|ian} + % Pfaffian + % (must avoid picking up 'affianced') + +\nolig{lffian}{lff|ian} + % Wolffian Wulffian + +% (e) ffl -> ff-l + +\nolig{fflaw}{ff|law} + % scofflaw scofflaws + +\nolig{fflink}{ff|link} + % cufflink cufflinks + +\nolig{ffload}{ff|load} + % offload offloads offloaded + +% (f) ffi -> f-fi + +\nolig{haffinch}{haf|finch} + % chaffinch(es) + +\nolig{lffish}{lf|fish} + % wolffish + +% (g) ffl -> f-fl + +\nolig{afflower}{af|flower} + % safflower + +% (h) ft -> f-t + +\if@noftligs % suppress ft ligatures globally + \nolig{ft}{f|t} +\else % suppress ft ligatures selectively... + \nolig{ieftain}{ief|tain} + \nolig{alftime}{alf|time} + \nolig{alftone}{alf|tone} + \nolig{ooftop}{oof|top} + \nolig{ooftree}{oof|tree} + % chieftain halftime halftone + % rooftop rooftree + + \nolig{ifth}{if|th} + % fifth(s) + \nolig{elfth}{elf|th} + % twelfth(s) + + \nolig{lftr}{lf|tr} + % wolftrap calftrap + + \nolig{eaftr}{eaf|tr} + % leaftrap + + \nolig{fftr}{ff|tr} + % offtrack +\fi % end of \if@noftligs conditional block + +% (i) fb, fh, fj, and fk ligatures + +% suppress these ligatures globally +\nolig{fb}{f|b} +\nolig{fh}{f|h} +\nolig{fj}{f|j} +\nolig{fk}{f|k} + +% But, make exceptions for fjord, fjell, etc + \keeplig{fjord} % Norwegian spelling + \keeplig{fjör} % Icelandic spelling, e.g., in + % Isafjördur and Ísafjörður + \keeplig{fjarð} % Ísafjarðarbær (in Iceland) + \keeplig{fjell} % Norwegian + \keeplig{fjall} % Swedish (?) + \keeplig{fjäll} + \keeplig{fjöll} + + \keeplig{Prokofjew} + \keeplig{Sufjan} % Stevens + \keeplig{Eefje} % Dutch first name + \keeplig{Astafjew} + % Author (Wiktor) and soccer player (Maksim) + +% Further exceptions for names that contain 'fk' + \keeplig{Kafka} + \keeplig{Safka} + \keeplig{Potrafke} + \keeplig{Sprafke} + \keeplig{Shirafkan} + \keeplig{Tirafkan} + \keeplig{Rifkin} + + + +% Part 2: Additional f-ligature suppression +% patterns if the 'broadf' option is set. +% ========================================= + +\if@broadfset + +% (a) ff -> f-f + % no cases in 'broad' group + +% (b) fi -> f-i + +\nolig{elfin}{elf|in} +\nolig{Elfin}{Elf|in} + \keeplig{elfink} % distelfink + +% For words ending in -f-ing, allow for +% "colloquial" abbreviations (-f-in'). +\nolig{afing}{af|ing} +\nolig{afin'}{af|in'} + % chafing leafing loafing sheafing + % strafing vouchsafing + +\nolig{eefing}{eef|ing} +\nolig{eefin'}{eef|in'} +% beefing reefing + +\nolig{iefing}{ief|ing} +\nolig{iefin'}{ief|in'} +% briefing debriefing + +\nolig{ifing}{if|ing} +\nolig{ifin'}{if|in'} + % coifing fifing jackknifing knifing + % midwifing waifing wifing + +\nolig{oofing}{oof|ing} +\nolig{oofin'}{oof|in'} + % goofing hoofing roofing ... + +\nolig{lfing}{lf|ing} +\nolig{lfin'}{lf|in'} + % golfing rolfing selfing ... + +\nolig{rfing}{rf|ing} +\nolig{rfin'}{rf|in'} + % barfing bedwarfing dwarfing... + % kerfing enserfing ... + % (wind-) surfing turfing + \keeplig{tterfinger} % butterfinger + +\nolig{rfism}{rf|ism} + % dwarfism + +\nolig{rfist}{rf|ist} + % dwarfist + +\nolig{deafish}{deaf|ish} +\nolig{dwarfish}{dwarf|ish} +\nolig{elfish}{elf|ish} + % elfish selfish unselfish, etc. + \keeplig{amselfish} % damselfish + +\nolig{oafish}{oaf|ish} +\nolig{serfish}{serf|ish} +\nolig{wolfish}{wolf|ish} + +\nolig{Deafish}{Deaf|ish} +\nolig{Dwarfish}{Dwarf|ish} +\nolig{Elfish}{Elf|ish} +\nolig{Oafish}{Oaf|ish} +\nolig{Serfish}{Serf|ish} +\nolig{Wolfish}{Wolf|ish} + +\nolig{beefier}{beef|ier} +\nolig{comfier}{comf|ier} +\nolig{goofier}{goof|ier} +\nolig{gulfier}{gulf|ier} +\nolig{leafier}{leaf|ier} +\nolig{reefier}{reef|ier} +\nolig{surfier}{surf|ier} +\nolig{turfier}{turf|ier} + +\nolig{Beefier}{Beef|ier} +\nolig{Comfier}{Comf|ier} +\nolig{Goofier}{Goof|ier} +\nolig{Gulfier}{Gulf|ier} +\nolig{Leafier}{Leaf|ier} +\nolig{Reefier}{Reef|ier} +\nolig{Surfier}{Surf|ier} +\nolig{Turfier}{Turf|ier} + % (Mustn't perform 'fier -> f-ier' + % substitution because of words + % such as pacifier, reifier, etc.) + +\nolig{fiest}{f|iest} + \keeplig{fiesta} + % leafiest beefiest reefiest ... + +\nolig{fily}{f|ily} + % beefily goofily + % This rule also catches the + % ffily -> ff-ily case: + % daffily fluffily gruffily ... + +\nolig{oofiness}{oof|iness} + % goofiness + % (Mustn't do 'finess -> f-iness' + % substitution b/c of 'finesse') + +% (c) fl -> f-l + +\nolig{aloofly}{aloof|ly} +\nolig{briefly}{brief|ly} +\nolig{chiefly}{chief|ly} +\nolig{deafly}{deaf|ly} +\nolig{liefly}{lief|ly} + +\nolig{Aloofly}{Aloof|ly} +\nolig{Briefly}{Brief|ly} +\nolig{Chiefly}{Chief|ly} +\nolig{Deafly}{Deaf|ly} +\nolig{Liefly}{Lief|ly} + % (Mustn't perform 'fly -> f-ly' subst. + % b/c of 'fly' 'butterfly' ...) + +% (d) ffi -> ff-i + +\nolig{affish}{aff|ish} +\nolig{offish}{off|ish} +\nolig{iffish}{iff|ish} +\nolig{uffish}{uff|ish} + % draffish offish sniffish gruffish + +\nolig{ffing}{ff|ing} +\nolig{ffin'}{ff|in'} + % baffing biffing bluffing... + +\nolig{ffier}{ff|ier} + % buffier chaffier ... + +%\nolig{ffily}{ff|ily} + % Caught by 'fily -> f-ily' rule + +\nolig{ffiness}{ff|iness} + % fluffiness huffiness puffiness + +\nolig{ffies}{ff|ies} + % baffies biffies jiffies stuffies ... + % buffiest chaffiest ... + +% (e) ffl -> ff-l + +\nolig{ffly}{ff|ly} + % bluffly gruffly ruffly ... + +% (f) ffi -> f-fi + % nothing additional in 'broad' group + +% (g) ffl -> f-fl + % nothing additional in 'broad' group + +% (h) ft -> f-t + +\if@noftligs +\else % suppress some more ft ligatures selectively + \nolig{ifteen}{if|teen} + % fifteen fifteens fifteenth + + \nolig{fifti}{fif|ti} + \nolig{Fifti}{Fif|ti} + % fifties fiftieth fiftieths + + \nolig{fifty}{fif|ty} + \nolig{Fifty}{Fif|ty} + % fifty fiftyish +\fi % end of \if@noftligs conditional block + +\fi % end of \if@broadfset conditional block + + + +% Part 3: Discretionary ligatures crossing +% morpheme boundaries +% st, ct, sp, +% th, at, et, as, is, us, ta, ll, sk +% ---------------------------------------- + +\if@hdligset + +% (A) st -> s-t +% ------------- + +\nolig{aspidistra}{a|spidi|stra} +\nolig{Aspidistra}{Aspidi|stra} +\nolig{osstalk}{oss|talk} + % crosstalk +\nolig{gstai}{gs|tai} + % dogstail +\nolig{nstak}{ns|tak} + % painstaker painstaking +\nolig{stight}{s|tight} + % gastight +\nolig{stooth}{s|tooth} + % houndstooth +\nolig{steeth}{s|teeth} + % houndsteeth +\nolig{astime}{as|time} + % pastime + +%%% dis-t... words +\nolig{distast}{dis|tast} +\nolig{Distast}{Dis|tast} + % distasteful +\nolig{distem}{dis|tem} +\nolig{Distem}{Dis|tem} + % distemperate +\nolig{disten}{dis|ten} +\nolig{Disten}{Dis|ten} + % distended +\nolig{distor}{dis|tor} +\nolig{Distor}{Dis|tor} + % distort distortion +\nolig{distra[cu]}{dis|tra} +\nolig{Distra[cu]}{Dis|tra} + % distract distraught +\nolig{distrib}{dis|trib} +\nolig{Distrib}{Dis|trib} + % distribution +\nolig{distrust}{dis|trust} +\nolig{Distrust}{Dis|trust} + % distrust distrustful +\nolig{distu}{dis|tu} +\nolig{Distu}{Dis|tu} + % disturb + +%%% mis-t... words +\nolig{mista}{mis|ta} +\nolig{Mista}{Mis|ta} + % mistake mistaken mistaught unmistakable +\nolig{mistea}{mis|tea} +\nolig{Mistea}{Mis|tea} + % misteach +\nolig{istend}{is|tend} + % mistend distend +\nolig{isterm}{is|term} + % misterm misterms +\nolig{isth}{is|th} + % misthink misthought misthrew misthrow + % isthmus calisthenic +\nolig{istime}{is|time} + % mistime mistimed +\nolig{istitl}{is|titl} + % mistitle +\nolig{istook}{is|took} + % mistook +\nolig{istouc}{is|touc} + % mistouch +\nolig{mistrac}{mis|trac} +\nolig{Mistrac}{Mis|trac} + % Mistrace +\nolig{mistran}{mis|tran} +\nolig{Mistran}{Mis|tran} + % Mistranscribe Mistranslate +\nolig{mistrain}{mis|train} +\nolig{Mistrain}{Mis|train} + % mistrain +\nolig{istrea}{is|trea} + % mistreat mistreatment +\nolig{mistru}{mis|tru} +\nolig{Mistru}{Mis|tru} + % mistrust mistruth +\nolig{istrys}{is|trys} + % mistryst +\nolig{mistu}{mis|tu} +\nolig{Mistu}{Mis|tu} + % mistune Mistutor +\nolig{istyp}{is|typ} + % mistype + +\nolig{aastricht}{aas|tricht} + % Maastricht + +\nolig{sthes}{s|thes} + % anaesthesia synesthesia prosthesis +\nolig{sthet}{s|thet} + % aesthetic esthetic unesthetic + % prosthetist + +\nolig{Esth}{Es|th} % Esther + +\nolig{stown}{s|town} + % crosstown Williamstown + + +% (B) ct -> c-t +% ------------- + +\nolig{rctan}{rc|tan} + % arctangent +\nolig{rctat}{rc|tat} + % coarctation + +% (C) sp -> s-p +% ------------- + +\nolig{othesp}{othes|p} + % clothespin clothespress +\nolig{speople}{s|people} + % business- congress- crafts- + % dis- news- sales- spokes- + % towns- trades- tribes- people +\nolig{sperson}{s|person} + % business- congress- crafts- drafts- + % news- sales- spokes- person +\nolig{espas}{es|pas} + % trespass trespassing +\nolig{isplat}{is|plat} + % cisplatin (cis-platin, not cisp-latin!) + +\nolig{despot}{des|pot} +\nolig{Despot}{Des|pot} + % despot despotic + +\nolig{spresso}{s|presso} + + \nolig{despon}{de|spon} + \nolig{Despon}{De|spon} + \nolig{despir}{de|spir} + \nolig{Despir}{De|spir} + \nolig{despoil}{de|spoil} + \nolig{Despoil}{De|spoil} + \nolig{sidesp}{side|sp} % sidespin, sidesplitting + \nolig{Sidesp}{Side|sp} + \nolig{widesp}{wide|sp} % widespread + \nolig{Widesp}{Wide|sp} + \nolig{desprung}{Wide|sp} % gelandesprung + +\nolig{dispa[rst]}{dis|pa} +\nolig{Dispa[rst]}{Dis|pa} + % disparage disparaging dispart + % dispassion dispatch +\nolig{dispel}{dis|pel} +\nolig{Dispel}{Dis|pel} + % dispel +\nolig{dispen[ds]}{dis|pen} +\nolig{Dispen[ds]}{Dis|pe} + % dispend dispense dispensation +\nolig{displa[cny]}{dis|pla} +\nolig{Displa[cny]}{Dis|pla} + % display displant displace +\nolig{displea}{dis|plea} +\nolig{Displea}{Dis|plea} + % displease displeasure +\nolig{displ[ou]}{dis|pl} +\nolig{Displ[ou]}{Dis|pl} + % displode displume +\nolig{disp[ou]}{dis|p} +\nolig{Disp[ou]}{Dis|p} + % disport dispose disposition + % dispossess dispute +\nolig{dispr[aio]}{dis|pr} +\nolig{Dispr[aio]}{Dis|pr} + % dispraise disprize disproof + % disproportion disprove + + +\nolig{misp}{mis|p} +\nolig{Misp}{Mis|p} + % misplace misperception misprint + +\nolig{suspen}{sus|pen} +\nolig{Suspen}{Sus|pen} + % suspend suspension + +\nolig{sph}{s|ph} % 'ph' from Greek 'phi'! + % atmosphere biosphere hemisphere + % spherical asphodel phosphorous phosphate + % blaspheme blasphemy + +\nolig{ranspa}{rans|pa} + % transparent transpacific +\nolig{ranspe}{rans|pe} + % transpersonal +\nolig{ranspie}{rans|pie} + % transpierce +\nolig{ranspl}{rans|pl} + % transplant +\nolig{ranspol}{rans|pol} + % transpolar +\nolig{ranspor}{rans|por} + % transport transportation +\nolig{ranspos}{rans|pos} + % transpose transposon + +\nolig{risprud}{ris|prud} + % jurisprudence +\nolig{spiece}{s|piece} + % crosspiece frontispiece + +\nolig{ewsp[ae]}{ews|p} + % newspaper newsprint + +\nolig{Hyannisp}{Hyannis|p} + % Hyannisport +\nolig{Keyesp}{Keyes|p} + % Keyesport +\nolig{Williamsp}{Williams|p} + % Williamsport + +\nolig{assport}{ass|port} + % passport + + +% (D) th -> t-h +% ------------- + +\nolig{eethov}{eet|hov} + % Beethoven +\nolig{thook}{t|hook} + % boathook meathook pothook +\nolig{thouse}{t|house} + % boathouse cathouse courthouse ... +\nolig{othol}{ot|hol} + % foothold knothole potholder ... +\nolig{lthol}{lt|hol} + % bolthole +\nolig{sthol}{st|hol} + % posthole pesthole +\nolig{rathol}{rat|hol} +\nolig{Rathol}{Rat|hol} + % rathole +\nolig{arthog}{art|hog} + % warthog +\nolig{stha}{st|ha} + % firsthand postharvest posthaste +\nolig{thawk}{t|hawk} + % nighthawk +\nolig{horth}{hort|h} + % shorthair shorthand shorthorn +\nolig{arthei}{art|hei} + % apartheid antiapartheid +\nolig{thead}{t|head} + % bolthead cathead fathead ... +\nolig{thard}{t|hard} + % Gotthard +\nolig{therd}{t|herd} + % goatherd neatherd +\nolig{theap}{t|heap} + % dustheap +\nolig{theart}{t|heart} + % fainthearted sweetheart ... +\nolig{uthear}{ut|hear} + % outhear outheard +\nolig{thill}{t|hill} + % anthill foothill +\nolig{thood}{t|hood} + % adulthood knighthood ... +\nolig{thunt}{t|hunt} + % pothunt outhunt +\nolig{orthol}{ort|hol} + % porthole +\nolig{posth}{post|h} +\nolig{Posth}{post|h} + % postharvest +\nolig{sthum}{st|hum} + % posthumous +\nolig{uthau}{ut|hau} + % outhaul +\nolig{uthit}{ut|hit} + % outhit +\nolig{uthom}{ut|hom} + % outhomer +\nolig{uthow}{ut|how} + % outhowl +\nolig{uthum}{ut|hum} + % outhumor +\nolig{uthust}{ut|hust} + % outhustle +\nolig{tthour}{tt|hour} + % watthour kilowatthour +\nolig{sthm}{s|thm} + % asthma isthmus + +% (E) at -> a-t +% ------------- + +\nolig{lbatr}{lba|tr} + % albatross +\nolig{atroop}{a|troop} + % paratrooper +\nolig{eatra}{ea|tra} + % seatrain seatransport + +% (F) et -> e-t +% ------------- + +\nolig{ninet}{nine|t} +\nolig{Ninet}{Nine|t} + % ninetieth ninetieths ninety nineteen nineties + +\nolig{ametag}{ame|tag} + % nametag +\nolig{betat}{be|tat} +\nolig{Betat}{Be|tat} + % betatter beta +\nolig{betr}{be|tr} +\nolig{Betr}{Be|tr} + % betray betroth + +\nolig{deta}{de|ta} + % detach detain detail +\nolig{etect}{e|tect} + % detect undetectable detective +\nolig{detent}{de|tent} +\nolig{Detent}{De|tent} + % detent detention +\nolig{detest}{de|test} +\nolig{Detest}{De|test} + % detest +\nolig{detr}{de|tr} +\nolig{Detr}{De|tr} + % detract detrain detriment detritus + +\nolig{etail}{e|tail} + % bristletail detail dovetail horsetail +\nolig{etah}{e|tah} + % cheetah chetah +\nolig{etak}{e|tak} + % betake retake caretaker +\nolig{etax}{e|tax} + % betax +\nolig{eteach}{e|teach} + % reteach +\nolig{etell}{e|tell} + % foretell fortunetelling +\nolig{eterg}{e|terg} + % detergent +\nolig{eterio}{e|terio} + % deteriorate +\nolig{eterm}{e|term} + % determent determinant preterm +\nolig{etext}{e|text} + % pretext retext teletext +\nolig{ethink}{e|think} + % freethinking +\nolig{ethrow}{e|throw} + % freethrow +\nolig{etick}{e|tick} + % bluetick detick +\nolig{etide}{e|tide} + % betide yuletide +\nolig{etigh}{e|tigh} + % retighten +\nolig{etime}{e|time} + % betime lifetime peacetime sometime +\nolig{eetop}{ee|top} + % treetop +\nolig{etrain}{e|train} + % detrain drivetrain housetrain retrain +\nolig{etrap}{e|trap} + % firetrap livetrap mousetrap +\nolig{etree}{e|tree} + % axletree saddletree shoetree + +\nolig{foret}{fore|t} +\nolig{Foret}{Fore|t} + % foretaste foretell foretold foretime + % foretoken foretop foretopman +\nolig{imetable}{ime|table} + % timetable + +\nolig{reteen}{re|teen} + % preteen +\nolig{retend}{re|tend} + % pretend +\nolig{retenc}{re|tenc} + % pretence +\nolig{retens}{re|tens} + % pretense pretension +\nolig{retent}{re|tent} +\nolig{Retent}{Re|tent} + % pretentious retention retentive +\nolig{retest}{re|test} +\nolig{Retest}{Re|test} + % pretest retest + +\nolig{reta}{re|ta} +\nolig{Reta}{Re|ta} + % retag retape retake + % foretaste caretaker + % pretaste pretape pretaxretain + % retain retake retaliate retard + % retarget retaste wiretap + \keeplig{pretable} % interpretable + \keeplig{cretar} % secretary + +\nolig{reteam}{re|team} +\nolig{Reteam}{Re|team} + % reteam reteamed reteaming reteams +\nolig{retear}{re|tear} +\nolig{Retear}{Re|tear} + % retear retears +\nolig{retemp}{re|temp} +\nolig{Retemp}{Re|temp} + % retemper retempering + +\nolig{retie}{re|tie} +\nolig{Retie}{Re|tie} + % retie entireties sureties +\nolig{retil}{re|til} +\nolig{Retil}{Re|til} + % retile +\nolig{retim}{re|tim} +\nolig{Retim}{Re|tim} + % retime beforetime +\nolig{retint}{re|tint} +\nolig{Retint}{Re|tint} + % retint +\nolig{retir}{re|tir} +\nolig{Retir}{Re|tir} + % retire retiring +\nolig{retitl}{re|titl} +\nolig{Retitl}{Re|titl} + % retitle pretitling + +\nolig{retold}{re|told} +\nolig{Retold}{Re|told} + % retold +\nolig{retoo}{re|too} +\nolig{Retoo}{Re|too} + % retook retool +\nolig{retor}{re|tor} +\nolig{Retor}{Re|tor} + % retore retorn retort retorted +\nolig{retou}{re|tou} +\nolig{Retou}{Re|tou} + % retouch retouched +\nolig{retra}{re|tra} +\nolig{Retra}{Re|tra} + % retrace retrack retract retrans retransmit +\nolig{retre}{re|tre} +\nolig{Retre}{Re|tre} + % pretreat retread retreat retrench +\nolig{retri}{re|tri} +\nolig{Retri}{Re|tri} + % pretrim pretrial retrieve retribution + % retries retrim +\nolig{etrors}{e|trors} + % retrorse +\nolig{retrous}{re|trous} +\nolig{Retrous}{Re|trous} + % retrousse +\nolig{retry}{re|try} +\nolig{Retry}{Re|try} + % retry retrying + +\nolig{retu}{re|tu} +\nolig{Retu}{Re|tu} + % return retune unreturnable +\nolig{retwi}{re|twi} +\nolig{Retwi}{Re|twi} + % retwist retwisting + +\nolig{etooth}{e|tooth} + % bluetooth eyetooth snaggletoothed +\nolig{eteeth}{e|teeth} + % snaggleteeth eyeteeth + +\nolig{deter}{de|ter} +\nolig{Deter}{De|ter} + % deter determine deteriorate undeterred + +\nolig{ceties}{ce|ties} + % niceties +\nolig{cety}{ce|ty} + % nicety + +\nolig{feties}{fe|ties} + % safeties unsafeties biosafeties +\nolig{fety}{fe|ty} + % safety + +\nolig{leties}{le|ties} + % subtleties +\nolig{lety}{le|ty} + % subtlety teletype teletypewriter + +\nolig{rety}{re|ty} + % surety entirety retype pretype + +\nolig{etelev}{e|telev} + % pretelevision +\nolig{etyp}{e|typ} + % archetype archetypal retype pretype + +% (G) as -> a-s +% ------------- + +\nolig{asea}{a|sea} + % asea + \keeplig{casea} % casease caseate + \keeplig{Casea} + \keeplig{haseal} % phaseal +\nolig{asplut}{a|splut} + % asplutter +\nolig{eastran}{ea|stran} + % seastrand +\nolig{aspor[ae]}{a|spor} + % diaspora megaspore tetraspore +\nolig{asep[st]}{a|sep} + % asepsis aseptic aseptically +\nolig{asophist}{a|sophist} + % ultrasophisticated +\nolig{asound}{a|sound} + % ultrasound +\nolig{asund}{a|sund} +\nolig{Asund}{A|sund} + % asunder +\nolig{aspec}{a|spec} +\nolig{Aspec}{A|spec} + % aspect infraspecific intraspecies + % intraspecific +\nolig{infras}{infra|s} +\nolig{Infras}{Infra|s} + % infrastructure infraspecific +\nolig{megast}{mega|st} +\nolig{Megast}{Mega|st} + % megastructure megastar +\nolig{megasp}{mega|sp} +\nolig{Megasp}{Mega|sp} + % megaspores megascopic +\nolig{aspoon}{a|spoon} + % teaspoon + + +% (H) is -> i-s +% ------------- + +% (a) not across morpheme boundaries +% (The following may be a bug in fontspec) + +\nolig{fish}{fi|sh} +\nolig{fist}{fi|st} +\nolig{Fist}{Fi|st} + + +% (b) across morpheme boundaries + +%% Mustn't do global \nolig{antis}{anti|s} +%% because of words such as sycophantism, +%% vigilantism, and mantissa. + +\nolig{antis[ace]}{anti|s} +\nolig{Antis[ace]}{Anti|s} + % antisag antisatellite + % antiscience + % antisecrecy antisense antiseptic +\nolig{antish[aio]}{anti|sh} +\nolig{Antish[aio]}{Anti|sh} + % antishark antiship antishock +\nolig{antis[kl]}{anti|s} +\nolig{Antis[kl]}{Anti|s} + % antiskid + % antislavery antislip +\nolig{antism[ou]}{anti|sm} +\nolig{Antism[ou]}{Anti|sm} + % antismog antismoke + % antismuggling antismut +\nolig{antis[noptuy]}{anti|s} +\nolig{Antis[noptuy]}{Anti|s} + % antisnob + % antisocial antisolar + % antispasmodic antispeculative + % antistatic antistick antistress + % antisubmarine antisubversion + % antisymmetric antisyphilitics + +\nolig{multis[a-z]}{multi|s} +\nolig{Multis[a-z]}{Multi|s} + % multiscreen multisense multisensory + % multiservice multisided multisite + % multisize multiskilled multisource + % multispecies multispectral multispeed + % multisport multistage multistate + % multistemmed multistep multistoried + % multistory multistranded multisyllabic + % multisystem + +\nolig{isph}{i|sph} + % hemisphere planisphere hemispheric + \keeplig{isphr} % misphrase misphrased ... + +% (I) us -> u-s +% ------------- + +% %% (no examples yet) + + +% (J) sk -> s-k +% (available in EB Garamond font) +% ------------------------------- + +\nolig{skeep}{s|keep} + % greenskeeper groundskeeper miskeep +\nolig{iskai}{is|kai} + % triskaidekaphobia +\nolig{thsk}{ths|k} + % rathskeller +\nolig{misk}{mis|k} +\nolig{Misk}{Mis|k} + % miskeep miskept miskick misknow +\nolig{atskill}{ats|kill} + % Catskills Mountains, Catskill Park +\nolig{eekskill}{eeks|kill} + % Peekskill % a town on the Hudson River + + +% (K) ll -> l-l +% ------------- + +\nolig{llike}{l|like} + % animallike soullike +\nolig{lless}{l|less} + % soulless tailless + +% (L) fr -> f-r +% ------------- + +\nolig{oofr}{oof|r} + % proofread proofroom proofrock + + +% (M) ij -> i-j +% ------------- + +% The 'ij' ligature seems to have no good +% use in English-language words -- incl. +% words introduced to English from other +% languages, such as marijuana, gaijin, and +% bijou; the 'ij' ligature seems to span +% morpheme boundaries in all of these cases. +% Hence, we disable this ligature globally. +% We do make exceptions for words of Dutch +% origin, where the ij ligature does have +% legitimate uses. + +\nolig{ij}{i|j} + \keeplig{ijs} % rijsttafel (Indonesian dish) + \keeplig{ijn} % de Bruijn + \keeplig{eije}% Meijer + + + +% Part 4: Disabling one discretionary +% ligature so that a subsequent, more +% important one doesn't get pre-empted +% ------------------------------------ + +% (i) as, is, and us preceding st +% ............................... + +\nolig{ast}{a|st} +\nolig{ust}{u|st} +\nolig{ist}{i|st} + +% (ii) as, es, is, and us preceding sp +% .............................-...... + +\nolig{aspar}{a|spar} +\nolig{Aspar}{A|spar} + % asparagus Caspar aspartame asparkle +\nolig{asper}{a|sper} +\nolig{Asper}{A|sper} + % aspersion Casper Jasper exasperate +\nolig{aspir}{a|spir} +\nolig{Aspir}{A|spir} + % aspire aspirator aspirin +\nolig{gasp}{ga|sp} +\nolig{Gasp}{Ga|sp} + % gasp +\nolig{hasp}{ha|sp} +\nolig{Hasp}{Ha|sp} + % hasp +\nolig{lasp}{la|sp} + % clasp unclasp beclasp enclasp +\nolig{rasp}{ra|sp} +\nolig{Rasp}{Ra|sp} + % grasp rasp raspberry +\nolig{wasp}{wa|sp} +\nolig{Wasp}{Wa|sp} + % wasp waspish + + +\nolig{espi[ct]}{e|spi} + % despicable despite +%%% more rules to come... + +\nolig{risp}{ri|sp} + % crisp +\nolig{ispani}{i|spani} + % hispanic +\nolig{hispid}{hi|spid} +\nolig{Hispid}{Hi|spid} + % hispid hispidulous +\nolig{lisp}{li|sp} +\nolig{Lisp}{Li|sp} + % lisp lisping +\nolig{whisp}{whi|sp} +\nolig{Whisp}{Whi|sp} + % whisper +\nolig{wisp}{wi|sp} +\nolig{Wisp}{Wi|sp} + % wisp + +\nolig{cusp}{cu|sp} +\nolig{Cusp}{Cu|sp} + % cusp bicuspid tricuspid +\nolig{ausp}{au|sp} +\nolig{Ausp}{Au|sp} + % auspicious inauspicious + +\nolig{Suspect}{Su|spect} +\nolig{suspect}{su|spect} + % suspect suspects +\nolig{uspici}{u|spici} + % suspicion suspicious + +% (iii) at and et preceding th +% ............................ + +%% If you have 'at' and 'et' ligatures as +%% well as the 'th' ligature and want a +%% trailing 'th' ligature to take precedence +%% over these ligs, use the following rules: + +\nolig{ath}{a|th} +\nolig{eth}{e|th} + +% The preceding rules are a bit too +% broad as they also suppress the 'at' ligature +% for words such as boathook and flathead +% and the 'et' ligature in words such as +% Beethoven, prophethood, and sweetheart. +% Thus, also provide some \keeplig macros: + +\keeplig{oathook} % boathook +\keeplig{eathook} % meathook +\keeplig{athouse} % bathouse boathouse cathouse +%%\keeplig{rathole} % this will re-enable "th" liga +%%\keeplig{Rathole} % if "at" liga doesn't exist... +\keeplig{athead} % cathead fathead flathead meathead +\keeplig{atherd} % goatherd neatherd +\keeplig{eatheart} % greathearted +\keeplig{eetheart} % sweetheart + +\keeplig{Beethoven} +\keeplig{ophethood} + + +% (iv) at and et preceding ta +% ........................... + +\nolig{atap}{a|tap} + \keeplig{catap} % catapult cataphoresis + \keeplig{Catap} + \keeplig{ratap} % rataplan + \keeplig{Ratap} + +\nolig{Loretan}{Lore|tan} % :-) + +\fi %% end of \@ifhdligset |