summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/selnolig/selnolig-english-patterns.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /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.sty1125
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