% !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