diff options
author | Karl Berry <karl@freefriends.org> | 2013-05-28 00:15:30 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-05-28 00:15:30 +0000 |
commit | 1c6157c57b3a33d9b44027ccc44ef1e02f98d51c (patch) | |
tree | ac53f3e7e929f9120e3b8773c84dc5fd2d041e6d /Master/texmf-dist/tex/lualatex/selnolig | |
parent | dbdbad08ea450f135cc574f9dc001088b0d042de (diff) |
selnolig
git-svn-id: svn://tug.org/texlive/trunk@30745 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/selnolig')
6 files changed, 4204 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/lualatex/selnolig/selnolig-english-hyphex.sty b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-english-hyphex.sty new file mode 100644 index 00000000000..9d708ff7555 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-english-hyphex.sty @@ -0,0 +1,206 @@ +% !TeX root = selnolig.tex +% !TEX TS-program = lualatex + +\ProvidesPackage{selnolig-english-hyphex}% +[2013/05/25] + +% 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) + + +\hyphenation{re-roof re-roof-ing be-dwarf + be-dwarf-ing be-gulf be-gulf-ing feoff en-feoff in-feoff re-staff re-stuff + dam-sel dam-sel-fish dam-sel-fly dam-sel-flies dis-tel-fink but-ter-fin-ger + man-tel-shelf man-tel-shelf-ful man-tel-shelf-fuls + dwarf-ish elf-ish oaf-ish serf-ish un-self-ish wolf-ish draff-ish + gi-raff-ish raff-ish + dwarf-ish-ness elf-ish-ness oaf-ish-ness serf-ish-ness un-self-ish-ness + wolf-ish-ness + beef-i-est comf-i-est goof-i-est gulf-i-est leaf-i-est surf-i-est + turf-i-est + goof-i-ness + cuff-less turf-less + calf-like dwarf-like elf-like gulf-like hoof-like leaf-like roof-like + serf-like sheaf-like shelf-like surf-like turf-like waif-like wolf-like + cliff-like + half-life half-lives shelf-life shelf-lives half-line half-lines + roof-line roof-lines roof-tree roof-trees + leaf-let leaf-lets leaf-leted leaf-let-ing leaf-let-ting leaf-let-ted + leaf-le-teer pdf-latex + baff-ing chaff-ing coiff-ing daff-ing en-feoff-ing in-feoff-ing + feoff-ing gaff-ing piaff-ing quaff-ing re-staff-ing re-stuff-ing + sclaff-ing over-staff-ing un-der-staff-ing staff-ing waff-ing yaff-ing + buff-i-est chaff-i-est chuff-i-est cliff-i-est daff-i-est fluff-i-est + gruff-i-est huff-i-est iff-i-est miff-i-est puff-i-est scruff-i-est + sniff-i-est snuff-i-est spiff-i-est stuff-i-est + daff-i-ness fluff-i-ness gruff-i-ness huff-i-ness iff-i-ness puff-i-ness + scruff-i-ness sniff-i-ness snuff-i-ness spiff-i-ness stuff-i-ness + baff-ies biff-ies jiff-ies taff-ies toff-ies waff-ies + Pfaff-ian Wolff-ian Wulff-ian + scoff-law scoff-laws cuff-link cuff-links off-load off-loads + off-load-ing + off-line ruff-like + chaf-finch chaf-finches wolf-fish + fif-ties fif-ti-eth fif-ti-eths fif-ty-ish + half-tone half-tones roof-top roof-tops + bat-house boat-house cat-house proph-et-hood rat-hole boat-hook meat-hook pot-hook + foot-hold root-hold ant-hill foot-hill goat-herd neat-herd + boat-houses cat-houses rat-holes boat-hooks meat-hooks pot-hooks + foot-holds root-holds ant-hills foot-hills goat-herds neat-herds + apart-heid anti-apart-heid dust-heap dust-heaps + night-hawk night-hawks pot-hunt post-hu-mous wart-hog wart-hogs + watt-hour watt-hours kilo-watt-hour kilo-watt-hours + pot-hold-ers + pains-taker pains-tak-ing dogs-tail cross-talk gas-tight + off-key + blog-o-sphere arc-tan-gent co-arc-ta-tion ant-arc-tica ant-arc-tic + busi-ness-per-son con-gress-per-son crafts-per-son drafts-per-son + news-per-son spokes-per-son + dis-pir-its dis-pir-it-ing dis-pir-it-ed-ness + dis-pa-rate dis-pa-rate-ness dis-par-ag-ing + dis-pel-ling dis-pen-sa-ries dis-pen-sa-to-ries dis-pens-ers + dis-pers-ers dis-pers-ible dis-pit-eous dis-play-able + dis-pos-ers dis-plum-ing + dis-put-able dis-put-ably dis-put-ant dis-put-ants + mono-dis-perse non-dis-pers-ive + in-dis-put-able in-dis-put-ably in-dis-put-able-ness + un-dis-put-able wolf-hound + trans-pa-ci-fic ca-tas-tro-phe + tran-spond tran-spon-der co-respond trans-pla-cen-tal + leaf-hop-per leaf-hop-pers + al-a-bas-ter anti-pasto sea-strand sto-chas-tic + dis-trib-ute dis-trib-uted + be-thank be-thorn be-thought be-thump fire-thorn + flame-thrower none-the-less re-thread white-throat + nine-ti-eth nine-ti-eths Beet-hoven breth-ren + le-thal le-thar-gic meth-a-done non-eth-i-cal + cath-o-lic ca-thol-i-cism + name-tag name-tags re-table re-tab-les time-table + re-tie re-teach re-tile re-tint re-ti-tle + bud-get-ary di-et-ary pro-pri-e-tary + cov-et-able de-plet-able get-able in-ter-pret-able + mar-ket-able pock-et-able veg-e-ta-ble + cen-trip-e-tal pet-al skel-e-tal so-ci-e-tal + tris-kai-deka-pho-bia raths-kel-ler + mis-keep mis-kept mis-know + greens-keep-ers grounds-keep-ers + an-i-mal-like jew-el-like drive-train + in-tra-spe-cies + trans-pierce de-tick blue-tick + for-tune-tell-ing for-tune-tell-ers + pre-term pre-test pre-ti-tling + en-tire-ties sure-ties scho-las-tic scho-las-tics + mega-star meta-sta-ble + ca-thar-sis cath-e-ter mar-a-thon + tri-ath-lon tri-ath-lete eth-ane + an-ti-sag an-ti-slip in-fra-struc-ture me-tath-e-sis + mega-spore mega-spores tetra-spore tetra-spores + safe-ties ar-che-type ar-che-typ-al + or-tho-don-tist or-tho-don-tia + cliff-hang-ers cliff-jump cliff-jump-ers + pre-eth-i-cal teeth-ridge teeth-ridges + free-think-ers rijst-tafel + re-treat-ant re-treat-ants re-treat-ers + re-trourse retro re-trorse re-try re-try-ing + ret-ro-act ret-ro-acts ret-ro-ac-ted ret-ro-ac-ting + ret-ro-ac-tion ret-ro-ac-tions + ret-ro-ac-tive ret-ro-ac-tively + ret-ro-ac-ti-vi-ties ret-ro-ac-ti-vity + ret-ro-cede ret-ro-ceded ret-ro-cedes ret-ro-ced-ing + ret-ro-ces-sion ret-ro-ces-sions + ret-ro-dict ret-ro-dicts ret-ro-dicted ret-ro-dict-ing + ret-ro-dic-tion ret-ro-dic-tions ret-ro-dic-tive + ret-ro-fire ret-ro-fired ret-ro-fires ret-ro-fir-ing + ret-ro-fit ret-ro-fits ret-ro-fit-ted ret-ro-fit-ting + ret-ro-flec-tion ret-ro-flec-tions + ret-ro-flex ret-ro-flex-ion ret-ro-flex-ions + ret-ro-gra-da-tion ret-ro-gra-da-tions + ret-ro-grade ret-ro-graded + ret-ro-gress ret-ro-gress-ion ret-ro-gress-ions + ret-ro-gress-ive ret-ro-gress-ively + ret-ro-pack ret-ro-packs + ret-ro-pe-ri-ton-eal ret-ro-pe-ri-ton-e-ally + ret-ro-re-flec-tion ret-ro-re-flec-tions ret-ro-re-flec-tive + ret-ro-re-flec-tor ret-ro-re-flec-tors + ret-ro-rocket ret-ro-rockets + ret-ro-spect ret-ro-spects ret-ro-spected ret-ro-specting + ret-ro-spection ret-ro-spections + ret-ro-spective ret-ro-spectively ret-ro-spectives + ret-ro-version ret-ro-versions + ret-ro-viral ret-ro-virus ret-ro-viruses + re-twist re-twists re-twisted re-twist-ing + fore-tell-ers fore-tell-ing + pre-tele-vi-sion pre-the-ater + re-team re-teamed re-team-ing re-teams + re-tear re-tears re-tear-ing + re-test re-tests re-test-ing re-tests + re-tic-u-lo-en-do-the-lial re-tic-u-lum + re-tie re-ties re-tied + re-tighten re-tight-ened re-tight-en-ing re-tight-ens + re-tiled re-tiles re-til-ing + ret-ina ret-i-nae ret-i-nas ret-i-nal ret-i-nal + ret-ina-cula ret-ina-cu-lum ret-i-form +} + +\ifnum\righthyphenmin=2 + \hyphenation{beef-i-er cliff-i-er comf-i-er goof-i-er gulf-i-er + leaf-i-er surf-i-er turf-i-er + dwarf-ish-ly elf-ish-ly oaf-ish-ly serf-ish-ly un-self-ish-ly + wolf-ish-ly wolf-fish-ly + fif-ty + buff-i-er chaff-i-er chuff-i-er daff-i-er fluff-i-er gruff-i-er + huff-i-er iff-i-er miff-i-er puff-i-er scruff-i-er sniff-i-er + snuff-i-er spiff-i-er stuff-i-er + elf-in + sniff-i-ly snuff-i-ly spiff-i-ly stuff-i-ly + beef-i-ly goof-i-ly + cuff-less-ly + aloof-ly brief-ly chief-ly lief-ly + bluff-ly gruff-ly ruff-ly snuff-ly stiff-ly + draff-ish-ly gi-raff-ish-ly raff-ish-ly daff-i-ly fluff-i-ly + gruff-i-ly huff-i-ly puff-i-ly scruff-i-ly + pot-hold-er post-hu-mous-ly + off-hand-ed off-load-ed + rath-er slath-er + trans-per-son-al sphe-ric-i-ty cis-plat-in + dis-pir-it dis-pir-it-ed dis-pir-it-ed-ly dis-pir-it-ed-ness-es + dis-pa-rate-ly dis-par-ag-ing-ly dis-pa-rate-ness-es + dis-pen-sa-ry dis-pen-sa-to-ry dis-pens-er un-dis-put-ed + in-tra-spe-cif-ic in-fra-spe-cif-ic + cliff-hang-er cliff-jump-er + pleth-o-ra meth-od + greens-keep-er grounds-keep-er for-tune-tell-er + in-tra-tho-rac-ic aro-ma-ther-a-py + ar-che-typ-al free-think-er} +\else + \hyphenation{beef-ier comf-ier goof-ier gulf-ier leaf-ier surf-ier + turf-ier + dwarf-ishly elf-ishly oaf-ishly serf-ishly un-self-ishly + wolfish-ly wolf-fishly + buff-ier chaff-ier chuff-ier cliff-ier daff-ier fluff-ier gruff-ier + huff-ier iff-ier miff-ier puff-ier scruff-ier sniff-ier snuff-ier + spiff-ier + stuff-ier sniff-ily snuff-ily spiff-ily stuff-ily + beef-ily goof-ily + cuff-lessly + draff-ishly gi-raff-ishly raff-ishly daff-ily fluff-ily gruff-ily + huff-ily puff-ily scruff-ily + pot-holder post-hu-mously + off-handed off-loaded + trans-per-sonal sphe-ric-ity cis-platin + dis-pirit dis-pir-ited dis-pir-it-edly dis-pir-it-ed-nesses + dis-pa-rately dis-par-ag-ingly dis-pa-rate-nesses + dis-pen-sary dis-pen-sa-tory dis-penser un-dis-puted + in-tra-spe-cific in-fra-spe-cific + pleth-ora + greens-keeper grounds-keeper for-tune-teller + in-tra-tho-racic aro-ma-ther-apy + ar-che-typal cliff-hanger cliff-jumper + free-thinker} +\fi diff --git a/Master/texmf-dist/tex/lualatex/selnolig/selnolig-english-patterns.sty b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-english-patterns.sty new file mode 100644 index 00000000000..6d1ae6ebe50 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-english-patterns.sty @@ -0,0 +1,1092 @@ +% !TeX root = selnolig.tex +% !TEX TS-program = lualatex + +\ProvidesPackage{selnolig-english-patterns}% +[2013/05/25] + +% 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 + +\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 + + +% (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 Kafka, Safka, etc. + \keeplig{Kafka} + \keeplig{Safka} + \keeplig{Potrafke} + \keeplig{Sprafke} + \keeplig{Shirafkan} + \keeplig{Tirafkan} + + + +% 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{stelfink} % 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 + +\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@broadfset 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{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 + +%%% dis-t... words +\nolig{dista}{dis|ta} +\nolig{Dista}{Dis|ta} + % distant distasteful +\nolig{distem}{dis|tem} +\nolig{Distem}{Dis|tem} + % distemperate +\nolig{disten}{dis|ten} +\nolig{Disten}{Dis|ten} + % distended +\nolig{distil}{dis|til} +\nolig{Distil}{Dis|til} + % distil distillation +\nolig{distin}{dis|tin} +\nolig{Distin}{Dis|tin} + % distinct distinguish +\nolig{disto}{dis|to} +\nolig{Disto}{Dis|to} + % distort distortion +\nolig{distr}{dis|tr} +\nolig{Distr}{Dis|tr} + % distract distribution distrust +\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{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 + + +% (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{desp}{des|p} +\nolig{Desp}{Des|p} + % despair desperado despot desperate + \keeplig{despond} % despondency despondent + \keeplig{Despond} + \keeplig{despirit} + \keeplig{Despirit} + \keeplig{despoil} + \keeplig{Despoil} + \keeplig{sidesp} % sidespin, sidesplitting + \keeplig{Sidesp} + \keeplig{widesp} % widespread + \keeplig{Widesp} + \keeplig{desprung} % gelandesprung + +\nolig{disp}{dis|p} +\nolig{Disp}{Dis|p} + % disparage disparaging ... + +\nolig{misp}{mis|p} +\nolig{Misp}{Mis|p} + % misplace misperception misprint + +\nolig{susp}{sus|p} +\nolig{Susp}{Sus|p} + % suspend suspension suspicious +\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{spiec}{s|piec} + % crosspiece frontispiece + +\nolig{ewspa}{ews|pa} + % newspaper +\nolig{ewspr}{ews|pr} + % newsprint + % Don't suppress sp lig in "newspeak"! + + +% (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{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{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{eastran}{ea|stran} + % seastrand +\nolig{aspore}{a|spore} + % diaspora megaspore tetraspore +\nolig{aseps}{a|seps} + % asepsis +\nolig{asept}{a|sept} + % aseptic aseptically +\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 + +% how to do 'asea'? + +% (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{antisa}{anti|sa} +\nolig{Antisa}{Anti|sa} + % antisag antisatellite +\nolig{antisc}{anti|sc} +\nolig{Antisc}{Anti|sc} + % antiscience +\nolig{antise}{anti|se} +\nolig{Antise}{Anti|se} + % antisecrecy antisense antiseptic +\nolig{antisha}{anti|sha} +\nolig{Antisha}{Anti|sha} + % antishark antiship antishock +\nolig{antishi}{anti|shi} +\nolig{Antishi}{Anti|shi} + % antishark antiship antishock +\nolig{antisho}{anti|sh} +\nolig{Antisho}{Anti|sh} + % antishark antiship antishock +\nolig{antisk}{anti|sk} +\nolig{Antisk}{Anti|sk} + % antiskid +\nolig{antisl}{anti|sl} +\nolig{Antisl}{Anti|sl} + % antislavery antislip +\nolig{antismo}{anti|smo} +\nolig{Antismo}{Anti|smo} + % antismog antismoke +\nolig{antismu}{anti|smu} +\nolig{Antismu}{Anti|smu} + % antismuggling antismut +\nolig{antisn}{anti|sn} +\nolig{Antisn}{Anti|sn} + % antisnob +\nolig{antiso}{anti|so} +\nolig{Antiso}{Anti|so} + % antisocial antisolar +\nolig{antisp}{anti|sp} +\nolig{Antisp}{Anti|sp} + % antispasmodic antispeculative +\nolig{antist}{anti|st} +\nolig{Antist}{Anti|st} + % antistatic antistick antistress +\nolig{antisu}{anti|su} +\nolig{Antisu}{Anti|su} + % antisubmarine antisubversion +\nolig{antisy}{anti|sy} +\nolig{Antisy}{Anti|sy} + % antisymmetric antisyphilitics + +\nolig{multis}{multi|s} +\nolig{Multis}{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 + +% (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 + + + +% 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, 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{risp}{ri|sp} + % crisp +\nolig{ispani}{i|spani} + % hispanic +\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 + +% (iii) at and et preceding th +% ............................ + +%% If you have 'at' and 'et' ligatures as +%% well as the 'th' ligature (as is the +%% case for the font "Garamond Premier Pro", +%% and any other fonts?!) and want a +%% trailing 'th' ligature to take precedence +%% over any preceding 'at' or 'et' ligas, +%% make sure the following macros are +%% active (i.e., not commented out). + +\nolig{ath}{a|th} +\nolig{eth}{e|th} + + +% The preceding instructions are a bit too +% broad, as they also suppress the 'at' ligature +% for words such as boathook, flathead, +% etc., and the 'et' ligature in words such as +% Beethoven, prophethood, and sweetheart. +% To address these cases, we provide \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 sweetheart +\keeplig{eetheart} + +\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} % :-) + +% All other cases seem to involve 'at' +% or 'et' crossing a ligature boundary. +% As such, these cases should be dealt +% with in Part 3 of this file. + +\fi %% end of \@ifhdligset diff --git a/Master/texmf-dist/tex/lualatex/selnolig/selnolig-german-hyphex.sty b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-german-hyphex.sty new file mode 100644 index 00000000000..c09e58b614b --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-german-hyphex.sty @@ -0,0 +1,501 @@ +% !TeX root = selnolig.tex +% !TEX TS-program = lualatex + +\RequirePackage{ifluatex} +\ProvidesPackage{selnolig-german-hyphex}% +[2013/05/25] + +% 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) + +\hyphenation{ +ab-lauf-trich-ter ab-lauf-trich-tern +ab-lauf-trich-ters +ab-lauf-län-ge ab-lauf-län-gen ab-wurf-li-ni-en +ab-tau-flüs-sig-keit ab-tau-flüs-sig-kei-ten +ab-wurf-la-dung ab-wurf-la-dun-gen ab-wurf-last +ab-wurf-li-nie ab-wurf-li-nie ab-wurf-lu-ke +alu-flach-stab +an-lauf-län-ge an-lauf-län-gen +an-pfropf-te an-pfropf-ten an-pfropf-test +ar-til-le-rie-flie-ger +as-tro-treff-the-men +auf-frisch-imp-fung auf-frisch-imp-fun-gen +auf-isst +auf-lö-sungs-chart auf-lö-sungs-charts +auf-triebs-än-de-rung auf-triebs-än-de-run-gen +aus-puff--ähn-lich aus-puff-ähn-li-che +aus-puff-ähn-li-chem +aus-puff-lack aus-puff-län-ge aus-puff-län-gen +aus-puff-lärm aus-puff-lei-tung aus-puff-lei-tun-gen +aus-puff-los aus-puff-luft +auf-tau-flüs-sig-keit auf-tau-flüs-sig-kei-ten +aus-wurf-leis-tung aus-wurf-leis-tun-gen +bahn-hof-frei-ge-län-de +ball-ein-wurf-loch +bal-sam-pflan-ze bal-sam-pflan-zen +bau-ern-hof-fahrt bau-ern-hof-fahr-ten +bau-ern-hof-frei-zeit +bau-flau-te bau-flau-ten +bau-hof-fahr-zeug bau-hof-fahr-zeu-ge +bau-ern-hof-lö-sung bau-ern-hof-lö-sun-gen +be-ton-kopf-li-nie bi-ber-fla-den bio-pflas-ter +bi-schof-fin-ger +blatt-alu-mi-ni-um-auf-la-ge +blatt-alu-mi-ni-um-auf-la-gen +blatt-hälf-te blatt-hälf-ten +blau-flau-schig blau-flau-schi-ge blau-flau-schi-gen +blau-fle-ckig blau-fle-cki-ge blau-fle-ckig-keit +blau-topf-lo-go bluff-leck brei-flo-cken +brenn-stoff-ta-ges-tank +brunft-schauf-ler +brust-bein-hälf-te brust-bein-hälf-ten +burg-graf-tum +chef-in-nen-le-ben chef-in-nen-raum chef-in-nen-räu-me +chef-li-mou-si-ne chef-li-mou-si-nen +chi-na-fla-neur +chip-auf-lö-sung chip-auf-lö-sun-gen +dampf-fre-gat-te dampf-fre-gat-ten +dampf-lam-pe dampf-lam-pen dampf-lan-ze dampf-lan-zen +dau-er-spar-auf-trag dau-er-spar-auf-trags +dau-er-spar-auf-tra-ges +dau-er-stau-flä-che dau-er-stau-flä-chen +de-mo-kra-tie-flau-te +de-sign-auf-trag de-sign-auf-tra-ges de-sign-auf-trags +di-rekt-ruf-te-le-fon di-rekt-ruf-te-le-fo-ne +dis-ket-ten-zu-griff-lämp-chen +dis-ket-ten-zu-griff-lämp-chens +dop-pel-kopf-li-nie dop-pel-kopf-li-ni-en +dorf-fas-nets-um-zug +dorf-idyl-le dorf-idyl-len +dorf-in-for-ma-ti-on dorf-in-for-ma-ti-o-nen +dorf-in-nen-raum dorf-in-nen-rau-mes +dorf-insti-tut dorf-insti-tu-te dorf-insti-tu-ten +dorf-insti-tuts dorf-la-ge dorf-la-gen +dorf-leit-plan dorf-lis-te dorf-lis-ten dovre-fjell +duft-öl duft-öle dumpf-la-be-rer +echo-flos-kel echo-flos-keln +ein-lauf-trich-ter ein-lauf-trich-tern ein-lauf-trich-ters +ein-propf-te ein-propf-ten ein-propf-test +ein-wurf-lu-ke +eis-lauf-in-stru-ment eis-lauf-in-stru-men-te +eis-lauf-in-stru-men-ten +en-er-gie-flau-te +erb-hof-fa-mi-lie erb-hof-fa-mi-li-en +fach-auf-lis-tung fach-auf-lis-tun-gen +fan-ta-sie-flie-ger +farb-stoff-tin-te +fern-sprech-auf-trags-dienst +fern-sprech-auf-trags-diens-te +fern-sprech-auf-trags-diens-ten +fern-sprech-auf-trags-diens-tes +fisch-auf-lauf fisch-auf-läu-fe +fleisch-auf-lauf fleisch-auf-läu-fe +flä-chen-ta-rif-land-schaft +flagg-schiff-la-den +fjord-ähn-lich fjord-ar-tig +fjord-ähn-li-che fjord-ar-ti-ge +fjord-ähn-li-chen fjord-ar-ti-gen +fünf-la-gig fünf-la-gi-ge fünf-la-gi-gem +fünf-län-der fünf-län-der-kampf +fünf-lap-pig fünf-lap-pi-ge fünf-lap-pi-gen +fünf-läp-pig fünf-läp-pi-gen +fünf-lei-ten +fünf-lei-ter-netz fünf-lei-ter-net-ze fünf-lei-ter-net-zen +fünf-lei-ter-net-zes +fünf-li-ter fünf-li-tern fünf-li-ters +fünf-li-ter-au-to fünf-li-ter-au-tos +fünf-li-ter-be-hält-nis +fünf-li-ter-fla-sche fünf-li-ter-fla-schen +fünf-li-ter-ka-nis-ter +fünf-lit-ri-gen fünf-lit-ri-ges +fünf-loch-dü-sen +fünf-löch-rig fünf-löch-ri-ges +ge-mein-schaft-ate-lier +ge-richts-hof-feind-lich ge-richts-hof-feind-li-chen +glüh-strumpf-lam-pe glüh-strumpf-lam-pen +gnu-fla-den +gold-blech-auf-la-ge gold-blech-auf-la-gen +gold-dampf-la-ser gold-dampf-la-sern +gold-kopf-lö-wen-äff-chen gold-kopf-lö-wen-äff-chens +golf-län-der golf-län-dern golf-la-sche golf-la-schen +golf-latz golf-lät-ze golf-le-gen-de golf-le-gen-den +golf-lek-tion golf-lek-tio-nen golf-lek-tü-re +golf-len-ker golf-len-ke-rin golf-lieb-ha-ber +golf-lieb-ha-be-rin golf-lieb-ha-bern golf-luft +golf-traum golf-träu-me +gra-nat-schleif-lei-nen +grau-fle-cken-test +grau-flei-schig grau-flei-schi-ge grau-flei-schi-gen +griff-län-ge griff-län-gen griff-län-gen-tech-nik +griff-la-sche griff-la-schen +griff-loch griff-lo-ches griff-lochs +griff-lü-cke griff-lü-cken +griff-loch-zie-gel griff-loch-zie-geln griff-loch-zie-gels +gruft-as-sel gruft-as-seln +gum-mi-schleif-tel-ler gum-mi-schleif-tel-lern +gum-mi-schleif-tel-lers ha-lo-gen-me-tall-dampf-lam-pen +hack-fleisch-auf-lauf +han-dels-schiff-raum han-dels-schiff-rau-mes +haft-an-ord-nung haft-an-ord-nun-gen +hanf-la-by-rinth hanf-la-den hanf-la-den-be-sit-zer +hanf-la-den-be-trei-ber hanf-land hanf-lang +hanf-le-bens-mit-tel hanf-le-bens-mit-teln +hanf-le-ga-li-sie-rung hanf-lehm +hanf-lei-ne hanf-lei-nen +hanf-lieb-ha-ber hanf-lied hanf-li-te-ra-tur +hanf-lob-by hanf-lob-by-is-ten hanf-lounge +haupt-bahn-hof-funk-ti-on haupt-bahn-hof-funk-tio-nen +herz-aus-wurf-leis-tung her-zens-hof-fahrt +hilf-fonds +hip-pie-flair +hin-ter-hof-fa-brik +hof-fahrt hof-fahrts-pflicht hof-fahrts-tag +hof-fahrt-sucht hof-fak-tor hof-fak-to-rin hof-fa-mi-lie +hof-fan hof-fans hof-fest-er-lös +hof-fi-nanz hof-fi-nan-zen +hof-fi-nan-zier hof-fi-nan-ziers +hof-fi-nanz-mann +hof-fisch-ross +hof-frau hof-frau-en +hof-frei hof-freie hof-frei-en +hof-fremd hof-frem-de hof-frem-dem hof-frem-den +hof-frem-der +hof-fri-seur +hof-front hof-fron-ten +hof-früh-stück +hof-in-ge-nieur hof-in-ge-nieu-re hof-in-ge-nieu-ren +hof-in-ge-nieu-rin hof-in-ge-nieurs +hof-in-stru-ment hof-in-stru-men-te hof-in-stru-men-ten +hof-lä-cheln +hof-lösch-ma-schi-ne hof-lösch-ma-schi-nen hof-lö-sung +huf-far-be huf-far-ben +hüft-ex-ar-ti-ku-liert hüft-ex-ar-ti-ku-lier-te +hüft-ex-ar-ti-ku-lier-ten +huf-trag-rand huf-trag-ran-des +impf-la-bo-ra-to-ri-um impf-lan-zet-te impf-le-gen-de +impf-lü-cke impf-lü-cken impf-lun-ge impf-lun-gen +impf-lü-cken-schlies-sung +in-dus-trie-flair in-dus-trie-flot-te in-dus-trie-flot-ten +in-nen-hof-fries +kampf-ideo-lo-gie kampf-ideo-lo-gi-en +kampf-lä-cheln kampf-lan-ze kampf-lan-zen +kampf-la-ser kampf-last kampf-las-ten +kampf-las-tig kampf-las-ti-ges kampf-las-tig-keit +kampf-lau-ne kampf-lau-te kampf-lek-tion kampf-lek-tio-nen +kampf-len-kung kampf-les-be kampf-les-ben +kampf-les-ben-ar-tig kampf-les-ben-ta-gung +kampf-le-sen kampf-le-ser +kampf-le-se-rin kampf-le-se-rin-nen +kampf-le-vel kampf-le-vels +kampf-lüs-tern kampf-lüs-ter-ne kampf-ly-rik +kauf-in-dex kauf-in-de-xe kauf-in-de-xes +kauf-in-di-ces kauf-in-di-zes +kauf-in-ger kauf-in-ger-stra-ße +kauf-läh-mung +kehl-kopf-lip-pen +kirch-weih-auf-takt kirch-weih-auf-tak-te +kirch-weih-auf-tak-ten kirch-weih-auf-tak-tes +kirsch-auf-lauf kirsch-auf-lau-fes +kla-vier-schleif-lack-ober-flä-che +kleb-stoff-tu-be kleb-stoff-tu-ben knoepff-ler +kleie-flo-cken +knie-fli-cken +krampf-la-chen +koh-len-stoff-te-tra-chlo-rid +kopf-fleisch kopf-leer kopf-lee-re +kopf-lin-de kopf-lin-den kopf-li-nie kopf-li-ni-en +kopf-lin-ken kopf-lu-pe +kopf-lymph-kno-ten kopf-lymph-kno-tens +kreis-lauf-in-suf-fi-zi-enz kreis-lauf-in-suf-fi-zi-en-zen +kreis-lauf-läh-mung kreis-lauf-läh-mun-gen +kreuz-auf-fin-dung kreuz-auf-fin-dun-gen +kuh-auf-trieb kuh-auf-trie-be kuh-auf-trie-ben kuh-auf-triebs +kunst-stoff-ähn-lich kunst-stoff-ähn-li-che +kunst-stoff-elle kunst-stoff-tu-be +kup-fer-dampf-la-ser +kraft-atom kraft-ato-me +län-gen-auf-la-ge län-gen-auf-la-gen +lang-sam-lauf-the-ra-pie +lauf-in-dex lauf-in-de-xe lauf-in-de-xes +lauf-in-di-ces lauf-in-di-zes +lauf-län-ge lauf-län-gen +lauf-län-gen-an-ga-be lauf-län-gen-an-ga-ben +lauf-län-gen-co-die-rung lauf-län-gen-co-die-run-gen +lauf-län-gen-ko-die-rung lauf-län-gen-ko-die-run-gen +lauf-lärm lauf-lärm-pe-gel lauf-lärm-pe-geln +lauf-the-ra-pie +lauf-trom-mel +licht-hof-frei licht-hof-freie licht-hof-frei-em +licht-hof-frei-en licht-hof-frei-es +lie-bes-auf-fas-sung lie-bes-auf-fas-sun-gen +li-te-ra-tur-wis-sen-schaft-um-strit-ten +live-auf-tritt live-auf-trit-te live-auf-trit-ten +live-auf-tritts +lösch-auf-trag lösch-auf-tra-ges lösch-auf-trags +los-knüpf-te los-knüpf-ten los-knüpf-test +luft-as-ket luft-as-ke-ten +ly-ra-flos-sig ly-ra-flos-si-ge ly-ra-flos-si-ger +kunst-stoff-tu-ben +ma-gie-fla-sche ma-gie-fla-schen +maul-wurf-lob-by-ist maul-wurf-lob-by-is-ten +men-gen-auf-fas-sung men-gen-auf-fas-sun-gen +men-gen-auf-trag men-gen-auf-tra-ges men-gen-auf-trags +me-tall-dampf-lam-pe me-tall-dampf-lam-pen +mit-sträf-ling mit-sträf-lin-ge mit-sträf-lin-gen +mit-tel-schiff-län-ge +mo-del-auf-tritt mo-del-auf-trit-te +mo-dell-auf-füh-rung mo-dell-auf-füh-run-gen +mo-tor-topf-fil-ter +muff-lig muff-li-ge muff-li-gen muff-li-ger +mu-si-cal-auf-füh-rung mu-si-cal-auf-füh-run-gen +nah-kampf-las-tig nah-kampf-las-ti-gen +nähr-stoff-li-mi-tiert nähr-stoff-li-mi-tier-te +nähr-stoff-li-mi-tier-ten +na-tri-um-dampf-lam-pe na-tri-um-dampf-lam-pen +na-tri-um-dampf-leuch-te na-tri-um-dampf-leuch-ten +neu-fünf-land neu-fünf-län-der +ni-veau-flä-che ni-veau-flä-chen +nos-tal-gie-fla-sche nos-tal-gie-fla-schen +nos-tal-gie-floh-markt not-durft-röh-re +null-auf-fül-lung null-auf-fül-lun-gen +ober-hof-fak-tor ober-hof-fak-tors ober-hof-fak-to-ren +pfeif-laut pfeif-lau-te pfeif-lau-ten +pfiff-laut pfiff-lau-te pfiff-lau-ten +plan-dampf-fahrt plan-dampf-fahr-ten +po-lit-auf-trag po-lit-auf-trä-ge po-lit-auf-trä-gen +pop-flair +pro-pa-gan-da-flos-kel pro-pa-gan-da-flos-keln +pro-fi-zweif-ler +prüf-in-stanz prüf-in-stan-zen +prüf-in-sti-tut prüf-in-sti-tu-te prüf-in-sti-tu-ten +prüf-in-sti-tu-ti-on prüf-in-sti-tu-ti-nen +prüf-in-stru-ment prüf-in-stru-men-te prüf-in-stru-men-ten +psy-chi-a-trie psy-chi-a-trisch +psy-chi-a-trie-flücht-ling psy-chi-a-trie-flücht-lin-ge +quarz-dampf-lam-pe quarz-dampf-lam-pen +queck-sil-ber-dampf-lam-pe queck-sil-ber-dampf-lam-pen +quer-schiff-ach-se quer-schiff-ach-sen +rad-dampf-fre-gat-te rad-dampf-fre-gat-ten +raffles-hos-pi-tal +raum-schiff-uhr raum-schiff-uh-ren +rech-nungs-hof-lö-sung rech-nungs-hof-lö-sun-gen +re-gel-auf-la-ge re-gel-auf-la-gen reif-län-der +reif-land reif-land-schaf-ten +re-ser-ve-kampf-trup-pe re-ser-ve-kampf-trup-pen +re-tro-flex re-tro-fle-xe re-tro-fle-xem re-tro-fle-xem +re-tro-fle-xer re-tro-fle-xes +riff-ähn-lich riff-ähn-li-che riff-la-gu-ne riff-la-gu-nen +riff-lat-scher riff-lat-schern +roh-stoff-ähn-lich roh-stoff-ähn-li-che +rot-stift-ak-ti-on +rück-lauf-ther-mos-tat +rück-ruf-trick rück-ruf-tricks +ruf-far-be ruf-far-ben +ruf-tra-di-tion ruf-tra-di-tio-nen +rumpf-la-mi-nat rumpf-li-ga rumpf-li-nie rumpf-li-ni-en +salz-uf-ler +sat-tel-kopf-lift +sau-er-stoff-li-mi-tiert sau-er-stoff-li-mi-tier-te +sau-er-stoff-li-mi-tier-ten +sauf-trot-tel +schad-stoff-li-mi-tiert schad-stoff-li-mi-tier-te +schad-stoff-li-mi-tier-ten +schaf-in-sel schaf-in-seln +schaf-läm-mer +schaf-lämp-chen +schaf-laus-flie-ge schaf-laus-flie-gen +schaf-tals-grund +schaf-teich schaf-tei-che +schaf-trans-port schaf-trans-por-te schaf-trieb +schaf-trift +schaum-stoff-lösch-mo-ni-tor schaum-stoff-lösch-mo-ni-tors +schaum-stoff-lösch-mo-ni-to-re +schaum-stoff-lösch-mo-ni-to-ren +schen-kel-klopf-lek-tü-re +schif-fer-bart +schiff-la-che +schiff-la-dung schiff-la-dun-gen +schiff-län-de schiff-lan-ge schiff-län-ge schiff-län-gen +schiff-lau-be +schiff-raum +schilf-feld schilf-fel-der schilf-floss +schilf-in-sel schilf-in-seln schilf-hüt-te schilf-hüt-ten +schilf-flö-te schilf-flö-ten schilf-lü-cke schilf-lü-cken +schimpf-lau-te schimpf-lau-ten +schlacht-hof-fa-brik schlacht-hof-fa-bri-ken +schlaf-far-be schlaf-far-ben +schlaf-la-bor-taug-lich schlaf-la-bor-taug-li-che +schlaf-la-bor-taug-li-ches +schlaf-läh-mung schlaf-läh-mun-gen schlaf-län-ge +schlaf-trank schlaf-tran-kes +schlaf-trau-rig schlaf-trau-ri-ge schlaf-trau-ri-gen +schlaf-trau-ri-ges +schlaf-trieb schlaf-trie-be +schleif-fleck schleif-fleck-lein +schleif-lack schleif-la-cken schleif-lack-ehe-bett +schleif-lack-mö-bel schleif-lack-mö-beln +schleif-lack-rah-men schleif-lack-schlaf-zim-mer +schleif-la-de schleif-la-den +schleif-la-den-or-gel schleif-la-den-or-geln +schleif-la-den-tech-nik schleif-la-den-or-ga-ni-sa-tion +schreib-tisch-auf-la-ge schreib-tisch-auf-la-gen +schlupf-lid schlupf-li-der schlupf-li-dern +schlürf-lau-te schlürf-lau-ten +schmor-topf-le-gen +schmug-gel-auf-trag schmug-gel-auf-tra-ges +schmug-gel-auf-trags +schnüf-fel-dro-ge schnüf-fel-dro-gen +schopf-li-lie schopf-li-li-en +schrumpf-lack schrumpf-la-cke schrumpf-lo-tion +schul-hof-fa-schis-mus schul-hof-lärm +schürf-li-zenz schürf-li-zen-zen +schürf-loch schürf-lö-cher schürf-lö-chern +schwarz-kopf-lift +schwarz-kopf-lö-wen-äff-chen schwarz-kopf-lö-wen-äff-chens +schweif-län-ge schweif-län-gen +se-gel-auf-trieb se-gel-auf-trie-be se-gel-auf-trie-ben +se-gel-auf-triebs +seif-lap-pen +sei-ten-schiff-ähn-lich +senf-fa-brik senf-fa-bri-ken +senf-far-be senf-far-ben senf-far-be-ne +senf-far-big senf-far-bi-gen +senf-feld senf-fel-der senf-fleck senf-fle-cken +senf-fon-due senf-frucht senf-früch-te senf-früch-ten +senf-fül-lung senf-fuss-bad +senf-la-den senf-läd-chen senf-le-ben senf-lieb-ha-ber +se-sam-pflan-ze se-sam-pflan-zen +shuf-fle-rhyth-mus shuf-fle-rhyth-me +sogne-fjord +speer-wurf-leis-tung +staub-auf-fang-be-reich staub-auf-fang-be-rei-che +staub-auf-fang-be-rei-chen staub-auf-fang-be-rei-ches +staub-auf-fang-be-reichs +staub-auf-la-ge staub-auf-la-gen +staub-blatt-hälf-te staub-blatt-hälf-ten +stein-wurf-län-ge +stell-auf-trag stell-auf-tra-ges stell-auf-trags +stoff-tra-di-ti-on stoff-tren-nung +straf-in-sel straf-in-seln +straf-in-stru-ment straf-in-stru-men-te +straf-in-stru-men-ten +straf-län-ge straf-län-gen +straf-läs-sig +straf-lü-cke straf-lü-cken +straf-ta-xe straf-ta-xen straf-tritt straf-trit-te +straf-tri-bu-nal +straf-wurf-li-nie straf-wurf-li-ni-en +stau-flüs-sig-keit stau-flüs-sig-kei-ten +streif-la-cher streif-les-wald +strumpf-in-du-strie strumpf-in-du-stri-en +strumpf-lied strumpf-lie-der strumpf-lie-des +stuf-trot-tel stumpf-li-la +sturm-wurf-lö-cher sturm-wurf-lö-chern +sturm-wurf-lü-cke sturm-wurf-lü-cken +suff-lot +sumpf-lab-kraut sumpf-la-by-rinth sumpf-la-che +sumpf-lan-ze sumpf-lan-zen sumpf-le-gen-de +sumpf-licht sumpf-lich-ter +sumpf-lie-ben-de sumpf-lie-ben-der sumpf-li-lie +sumpf-tro-cken-le-gung +sup-pen-duft-as-so-zia-ti-on +sup-pen-duft-as-so-zia-tio-nen +surf-la-den surf-le-gen-de surf-le-gen-den +surf-lei-den-schaft surf-lek-tü-ren surf-li-mit +ta-rif-in-for-ma-ti-on ta-rif-in-for-ma-ti-o-nen +ta-rif-län-gen-er-mitt-lung +ta-rif-land-kar-te +ta-rif-land-schaft ta-rif-land-schaf-ten +ta-rif-las-ten ta-rif-lü-cke ta-rif-lü-cken +tau-flüs-sig-keit tau-flüs-sig-kei-ten +te-le-fon-auf-trags-dienst te-le-fon-auf-trags-diens-te +te-le-fon-auf-trags-diens-ten +te-le-fon-auf-trags-diens-tes +te-le-fo-nie-flat-rate +text-auf-lis-tung text-auf-lis-tun-gen +theo-rie-fleck theo-rie-fle-cken +the-ra-pie-flan-kie-rend the-ra-pie-flan-kie-ren-de +the-ra-pie-flan-kie-ren-derx +tief-lo-tend tief-lo-ten-de tief-lo-ten-den tief-lo-ten-der +tief-luft-kurs tiel-luft-kur-se +tief-tank tief-tanks +tief-traum tief-traum-pha-se tief-traum-pha-sen +tier-schau-flair +to-ma-ten-saft-at-ta-cke torf-lie-fe-rant +torf-tau-cher torf-tau-chern +treff-lo-kal treff-lo-ka-len +trep-pen-lauf-län-ge trep-pen-lauf-län-gen +treu-flei-ßig treu-flei-ßi-ge treu-flei-ßi-gen treu-flei-ßi-ger +tropf-le-cka-ge tropf-le-cka-gen +tu-sche-fleck tu-sche-flor +tüpf-li-scheis-ser tüpf-li-schies-ser +über-lauf-trich-ter über-lauf-trich-tern +über-lauf-trich-ters +ul-tra-hoch-auf-lö-sung ul-tra-hoch-auf-lö-sun-gen +va-ri-eté-auf-füh-rung va-ri-eté-auf-füh-run-gen +ver-eins-auf-lö-sung ver-eins-auf-lö-sun-gen +ver-kauf-the-ke ver-kauf-the-ken +ver-nunft-ori-en-tiert ver-nunft-ori-en-tier-te +ver-nunft-ori-en-tier-tes +vor-hof-fre-quenz vor-hof-fre-quen-zen +vor-hof-funk-ti-on vor-hof-funk-tio-nen +vor-hof-lü-cke vor-hof-lü-cken +vor-lauf-in-di-ka-tor vor-lauf-in-di-ka-to-ren +vor-stau-flä-che vor-stau-flä-chen +vor-wurf-li-te-ra-tur +wahl-kampf-far-ce wahl-kampf-far-cen +wahl-kampf-lek-tü-re wahl-kampf-lü-ge wahl-kampf-lü-gen +wahl-kampf-ly-rik +wahl-kampf-trick wahl-kampf-tricks +wald-hof-fan wald-hof-fans +was-ser-stoff-uhr was-ser-stoff-uh-ren +web-auf-tritt web-auf-trit-te web-auf-trit-ten +web-auf-tritts weg-werf-la-sche weg-werf-la-schen +weg-werf-lek-tü-re weg-werf-lied weg-werf-lie-der +weg-werf-li-te-ra-tur weg-werf-lo-gik +weg-werf-tar-nung weg-werf-tar-nun-gen +wein-bau-fle-cken +werk-auf-füh-rung werk-auf-füh-run-gen +werk-auf-trag werk-auf-tra-ges werk-auf-trags +wett-kampf-las-tig wett-kampf-lü-cke +wi-ckel-tisch-auf-la-ge wi-ckel-tisch-auf-la-gen +wolf-last wölf-ling wölf-linge +wolf-the-ma wer-wolf-the-ma-tik +wurf-lau-ne wurf-län-der-kampf wurf-lan-ze wurf-lan-zen +wurf-leis-tung wurf-leis-tun-gen +wurf-li-nie wurf-li-ni-en +zahn-fleisch-auf-la-ge zahn-fleisch-auf-la-gen +zapf-loch zapf-lo-ches zapf-lochs +zapf-lö-cher zapf-lö-chern +zapf-luft zapf-luft-sys-tem zapf-luft-sys-tems +zeichen-be-darf-la-den +zeit-schrif-ten-kampf-le-sen +zell-auf-lö-sung zell-auf-lö-sun-gen +zunft-ord-nung zunft-ord-nun-gen +zupf-fest zupf-fes-te zupf-fes-ten zupf-lei-er +zwölf-far-ben-ma-schi-ne zwölf-far-ben-ma-schi-nen +zwölf-far-big zwölf-far-bi-ge zwölf-far-bi-gen +zwei-flu-tig +zwei-rad-dampf-fre-gat-te zwei-rad-dampf-fre-gat-ten +zwölf-fin-ger-darm-ar-te-rie zwölf-fin-ger-darm-ar-te-ri-en +zwölf-li-ni-en-spiel zwölf-li-ni-en-spie-le +zwölf-li-ni-en-spie-len zwölf-li-ni-en-spie-les +zwölf-li-ni-en-spiels zwölf-li-ter-glas +zwölf-ton-oper zwölf-ton-opern +} + +\ifluatex + \hyphenation{ + impf-lü-cken-schlie-ßung + tüpf-li-schei-ßer hof-fuß hof-fu-ßes + schilf-floß + senf-fuß-bad + } +\fi diff --git a/Master/texmf-dist/tex/lualatex/selnolig/selnolig-german-patterns.sty b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-german-patterns.sty new file mode 100644 index 00000000000..f27a54ca6fe --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/selnolig/selnolig-german-patterns.sty @@ -0,0 +1,1957 @@ +% !TeX root = selnolig.tex +% !TEX TS-program = lualatex + +\ProvidesPackage{selnolig-german-patterns}% +[2013/05/25] + +% 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) + + +% A note on the organization of the \nolig +% macros in this file: They are grouped by +% the f-ligature being suppressed: ff -> f-f; +% fi -> f-i, fl -> f-l, etc. Within each of +% these sections, the \nolig commands are +% listed first for word-beginnings and +% second by word-interior search strings, +% alphabetically within each group. + + +% 1. ff -> f-f +% ------------ + +\nolig{Auff[aeiloruyäöü]}{Auf|f} +\nolig{auff[aeiloruyäöü]}{auf|f} + % Hundreds (thousands?!) of words that + % start with or contain [aA]uff-, + % [kK]auff-, [lL]auf- and don't end + % with "ff". + % We must provide a few \keeplig macros, + % though, to deal with some surnames and + % some words of French origin. + \keeplig{Lauffen} + \keeplig{Stauffach} % Stauffacher + \keeplig{Stauffen} % Stauffenbergattentat + \keeplig{stauffen} + \keeplig{Stauffer} + \keeplig{stauffer} + \keeplig{Stauffisch} + \keeplig{stauffisch} + + \keeplig{chauffier} + \keeplig{Chauffier} + \keeplig{chauffeur} + \keeplig{Chauffeur} + \keeplig{chauffement} % Echauffement + +\nolig{Brieff}{Brief|f} +\nolig{brieff}{brief|f} + % Brief-f... (viele Fälle!) +\nolig{Cheff}{Chef|f} +\nolig{cheff[aäeioöruü]}{chef|f} + % Cheffahrer Cheffront ... + \keeplig{cheffekt} % Lacheffekt Wischeffekt + \keeplig{Scheffel} + \keeplig{scheffel} % scheffeln + \keeplig{cheffizi} % hocheffizient + \keeplig{cheffé} % Scheffé (a statistician) +\nolig{cheffl[aiou]}{chef|fl} +\nolig{Dampff}{Dampf|f} +\nolig{dampff}{dampf|f} + % (viele Fälle!) +\nolig{Dorff[aäeiloöruü]}{Dorf|f} +\nolig{dorff[aäeiloöruü]}{dorf|f} + % (viele Fälle!) +\nolig{Hanff}{Hanf|f} +\nolig{hanff}{hanf|f} + % Hanffasern Hanffeld +\nolig{Hoff[aäiloöruü]}{Hof|f} + % (viele Fälle!) + \keeplig{Hoffacker} + \keeplig{Hoffart} + \keeplig{Hoffärt} % Hoffärtigkeit + \keeplig{Hoffricht} % Hoffrichter + \keeplig{Hoffranz} % Hoffranzen (?) + +\nolig{Golff}{Golf|f} +\nolig{golff}{golf|f} + % (viele Fälle!) +\nolig{Hoffern}{Hof|fern} +\nolig{hoffern}{hof|fern} + % Hofferne hofferner +\nolig{Hoffest}{Hof|fest} + % Hoffest Hoffesterlös Hoffestteam +\nolig{Impff}{Impf|f} + % Impffurcht Impffortbildung +\nolig{Kampff}{Kampf|f} +\nolig{kampff}{kampf|f} + % kampffertig Kampffigur + % Kampffuchs Kampffüchse +\nolig{Kopff[aäeoöruü]}{Kopf|f} +\nolig{kopff[aäeoöruü]}{kopf|f} + % (viele Fälle!) + % [kK]opffi -> caught by pffi rule + % [kK]opffl -> caught by pffl rule +\nolig{Klopff}{Klopf|f} +\nolig{klopff}{klopf|f} + % Schenkelklopffrohsinn klopfrei +\nolig{Prüff}{Prüf|f} +\nolig{prüff}{prüf|f} + % (viele Fälle!) +\nolig{Ruffach}{Ruf|fach} + % Ruffach +\nolig{ruffach}{ruf|fach} + % Hausnotruffachberater beruffachlichen +\nolig{Rumpff}{Rumpf|f} + % Rumpffassung +\nolig{Schaffang}{Schaf|fang} +\nolig{Schaffarm}{Schaf|farm} + +\nolig{Schilff}{Schilf|f} +\nolig{schilff}{schilf|f} + % Schilffeld Schilfflöte Schilffloß +\nolig{Senff}{Senf|f} +\nolig{senffa}{senf|fa} + % Senffabrik senffarbig Senffleck +\nolig{Sumpff}{Sumpf|f} +\nolig{sumpff}{sumpf|f} + % (viele Fälle!) +\nolig{Tariff}{Tarif|f} +\nolig{tariff}{tarif|f} + % (viele Fälle!) +\nolig{Tieff}{Tief|f} +\nolig{tieff}{tief|f} + % (viele Fälle!) + \keeplig{tieffekt} + % Multieffekt Konfettieffekt + \keeplig{tieffiz} + % Antieffizienz + + +\nolig{chaffron}{chaf|fron} + % Schaffron +\nolig{eiffest}{eif|fest} + % reiffest + +\nolig{ffabrik}{f|fabrik} + % Strumpffabrik +\nolig{ffacet}{f|facet} + % Relieffacetten +\nolig{ffachl}{f|fachl} + % beruffachlich golffachlich +\nolig{ffachm}{f|fachm} + % Huffachmann Wahlkampffachmann + % Golffachmesse Fünffachmord +\nolig{ffäch}{f|fäch} + % Brieffächer Einwurffächer fünffächrig +\nolig{ffaden}{f|faden} + % Einzelknopffaden Knüpffaden +\nolig{ffäd}{f|fäd} + % Einzelknopffäden Tropffäden +\nolig{ffähig}{f|fähig} + % hoffähig kampffähig lauffähig +\nolig{ffahn}{f|fahn} + % Totenkopffahne Dorffahne Wahlkampffahnen +\nolig{ffahr}{f|fahr} + % Schifffahrt Schleiffahrt Tariffahrplan +\nolig{ffähr}{f|fähr} + % Dampffährdienst +\nolig{ffaktor}{f|faktor} + % Hoffaktor Schlupffaktoren +\nolig{ffakult}{f|fakult} + % Rumpffakultät +\nolig{ffall}{f|fall} + % Anruffalle auffallen Straffall + % Tariffalle Streiffall Maulwurffalle + \keeplig{ffallee} % Oppenhoffallee + \keeplig{ffallerg} % Duftstoffallergie + \keeplig{ffallokat}% Rohstoffallokation +\nolig{ffäll}{f|fäll} + % straffällig unauffällig +\nolig{ffalt}{f|falt} + % Fünffaltigkeit Dickkopffalter + \keeplig{iffalt} % Segelschiffalter + \keeplig{offalt} % Kraftstoffalternativen +\nolig{ffält}{f|fält} + % fünffältig +\nolig{ffami}{f|fami} + % Zwölffamilienhäuser + \keeplig{Diffami} % Diffamierung + \keeplig{diffami} % diffamierend +\nolig{ffanat}{f|fanat} + % Schärffanatiker +\nolig{ffans}{f|fans} + % Waldhoffans + \keeplig{riffans} % Griffansätze + \keeplig{toffans} % Sprengstoffanschlag +\nolig{ffanta}{f|fanta} + % Schlaffantasie Straffantasie +\nolig{ffarb}{f|farb} + % Zwölffarbenmaschine zwölffarbig + \keeplig{ffarbeit} +\nolig{ffärb}{f|färb} + % Kopffärbung +\nolig{ffaschi}{f|faschi} + % Schulhoffaschismus +\nolig{ffassad}{f|fassad} + % Innenhoffassade +\nolig{ffäul}{f|fäul} + % Sumpffäulnis + +\nolig{ffecht}{f|fecht} + % Klopffechter +\nolig{ffeder}{f|feder} + % -f-feder... +\nolig{ffedr}{f|fedr} + % zwölffedrig +\nolig{ffehl}{f|fehl} + % Schärffehler +\nolig{ffeier}{f|feier} + % Hoffeierlichkeiten +\nolig{ffeind[els]}{f|feind} + % -f-feinde -f-feindlich -f-feindschaft + \keeplig{ffeindealer} % Koffeindealer +\nolig{ffeld}{f|feld} + % Prüffeld Schilffeld Kampffeld + \keeplig{Büffeld} % Büffeldecke + \keeplig{büffeld} + \keeplig{ffeldenk} % Scheffeldenkmal + \keeplig{Iffeld} % Iffeldorf + \keeplig{Löffeld} % Löffeldüngung + \keeplig{löffeld} + \keeplig{Müffeld} % Müffeldoktor + \keeplig{müffeld} + \keeplig{nüffeld} % Schnüffeldienst -droge + \keeplig{Riffeld} % Riffeldielen + \keeplig{taffeld} % Staffeldach -diplomatie + \keeplig{toffeld} % Kartoffeldruck -dieb + \keeplig{Trüffeld} % Trüffelduft -dorf + \keeplig{trüffeld} + \keeplig{Waffeld} % Waffelduft + \keeplig{waffeld} + +\nolig{ffell}{f|fell} + % Werwolffell Schaffell + \keeplig{ffelleck} % Waffelleckereien + \keeplig{ffellinde}% Scheffellinde + \keeplig{Muffell} % Muffellämmer + \keeplig{muffell} % muffellig + \keeplig{öffell} + % Löffellamm Kochlöffellängen + \keeplig{taffell} % Staffellauf -läufer + \keeplig{toffell} + % Kartoffellager -liebhaber + % Pantoffellarve Kunstoffelle + \keeplig{üffell} % Büffelleber -leder -leib + % Trüffelleidenschaft Schnüffellust +\nolig{ffeile}{f|feile} + % Prüffeile +\nolig{ffenster}{f|fenster} + % Hinterhoffenster Schlaf- Tarif- +\nolig{fferien}{f|ferien} + % Reiterhofferien Bauernhofferien +\nolig{ffernseh}{f|fernseh} + % Abruffernsehen +\nolig{ffertig}{f|fertig} + % schlaffertig +\nolig{ffestl}{f|festl} + % Straffestlegung +\nolig{ffests}{f|fests} + % Straffestsetzung + % Hoffestspiele Dorffestspiel +\nolig{ffetisch}{f|fetisch} + % Schaffetischisten +\nolig{ffetus}{f|fetus} + % Schaffetus +\nolig{ffett}{f|fett} + % Huffett Rumpffett Scharffetter + \keeplig{Buffett} % Buffettheke + \keeplig{Büffett} + \keeplig{buffett} + \keeplig{büffett} % Obstbüffett +\nolig{ffetz}{f|fetz} + % Brieffetzen Stofffetzen + \keeplig{Buffetz} % Buffetzeit + \keeplig{Büffetz} % Büffetzusammenstellung +\nolig{ffeud}{f|feud} + % Kasernenhoffeudalismus +\nolig{ffeue}{f|feue} + % Dorffeuerwehr Torffeuer Lauffeuer + +\nolig{ffilet}{f|filet} + % Meerwolffilet +\nolig{ffindung}{f|findung} + % Beruffindungsprozess +\nolig{ffirm}{f|firm} + % Brieffirmen Tariffirmen + \keeplig{affirm} + \keeplig{Affirm} + +\nolig{ffolg}{f|folg} + % Impffolgen +\nolig{ffoli}{f|foli} + % Relieffolien +\nolig{ffolter}{f|folter} + % Tropffolter + \keeplig{Affoltern} % town near Zurich +\nolig{ffond}{f|fond} + % Tariffondslösung +\nolig{fforder}{f|forder} + % Tarifforderung Strafforderung +\nolig{fförder}{f|förder} + % ruffördernd kreislauffördernd schlaffördernd +\nolig{fforell}{f|forell} + % Werfforellen +\nolig{fform}{f|form} + % Kopfform Gugelhupfform aufformen +\nolig{fförm}{f|förm} + % reifförmig schweifförmig +\nolig{fforsch}{f|forsch} + % Schlafforschung Impfforschung +\nolig{fforen}{f|foren} + % Abrufforen +\nolig{fforu}{f|foru} + % Schlafforum +\nolig{ffoto}{f|foto} + % Schlaffotogalerie +\nolig{fföt}{f|föt} + % Wolffötus + +\nolig{ffracht}{f|fracht} + % Dampffrachter +\nolig{ffrag}{f|frag} + % Streiffragen + \keeplig{Suffrage} % Suffragette + \keeplig{suffrage} +\nolig{ffrak}{f|frak} + % Rumpffraktion + \keeplig{toffrak} % Flüssigstoffrakete +\nolig{ffrank}{f|frank} + % Fünffrankenstück +\nolig{ffräs}{f|fräs} + % Baumstumpffräse +\nolig{ffrau}{f|frau} + % Hoffrau Kauffrau + \keeplig{ffraum} % Sprengstoffraub + \keeplig{ffraub} % Treffraum + \keeplig{ffrausch} % Klebstoffrausch + \keeplig{ffraup} % Stoffraupe + +\nolig{ffreak}{f|freak} + % Surffreak + \keeplig{toffreak} % Schadstoffreaktionen +\nolig{ffregat}{f|fregat} + % Kampffregatte Dampffregatte +\nolig{ffrei}{f|frei} + % tariffrei Schlaffrei + \keeplig{chiffrei}% Schiffreise + \keeplig{toffrei} % stoffrein sauerstoffreich + \keeplig{uffreis} % Puffreis + \keeplig{luffrei} % schluffreich + \keeplig{iffreig} % Riffreigen +\nolig{ffremd}{f|fremd} + % hoffremd +\nolig{ffreq}{f|freq} + % Schlaffrequenz +\nolig{ffreu}{f|freu} + % Straffreude Brieffreund + +\nolig{ffrisch}{f|frisch} + % Schaffrischkäse zapffrisch +\nolig{ffried}{f|fried} + % Dorffrieden Hoffrieden +\nolig{ffries}{f|fries} + % Relieffries + \keeplig{toffries} % Rohstoffriese +\nolig{ffrist}{f|frist} + % Prüffrist Ablauffrist +\nolig{ffrisur}{f|frisur} + % Schlaffrisur Topffrisur Zopffrisur + +\nolig{ffront}{f|front} + % Hoffront Kampffront + \keeplig{affront} + \keeplig{Affront} +\nolig{ffrosch}{f|frosch} + % Pfeiffrosch +\nolig{ffrösch}{f|frösch} + % Pfeiffrösche +\nolig{ffrucht}{f|frucht} + % Rumtopffrucht +\nolig{ffrücht}{f|frücht} + % Rumtopffrüchte + +\nolig{ffund}{f|fund} + % Brückenkopffundament + \keeplig{iffund} % diffundieren + \keeplig{toffund} % stoffundurchlässig +\nolig{fführ}{f|führ} + % Kampffführung aufführen +\nolig{ffunk}{f|funk} + % Brieffunktion Abruffunktion +\nolig{ffühl}{f|fühl} + % Scharffühler +\nolig{ffüll}{f|füll} + % Prüffüllgut Dampffüllung +\nolig{ffürst}{f|fürst} + % -f-fürst +\nolig{ffuß}{f|fuß} +\nolig{ffuss}{f|fuss} +\nolig{ffüß}{f|füß} +\nolig{ffüss}{f|füss} + % Greiffuß Greiffüße + \keeplig{iffuss} + % Diffusschall -strahlung +\nolig{ffutter}{f|futter} + % Prüffutter +\nolig{ffütter}{f|fütter} + % Abruffütterung + +\nolig{hoffan}{hof|fan} + % Waldhoffan +\nolig{hoffersch}{hof|fersch} + % Talhofferschen +\nolig{hoffest}{hof|fest} + % Pfarrhoffest Hinterhoffest +\nolig{hoffete}{hof|fete} + % Schneckenhoffete + +\nolig{lffach}{lf|fach} + % elffach zwölffach + +\nolig{offegen}{of|fegen} + % Hoffegen + +\nolig{pffach}{pf|fach} + % Strumpffach +\nolig{pffern}{pf|fern} + % rumpffern +\nolig{pffest}{pf|fest} + % Klopffestigkeit tropffester +\nolig{pffels}{pf|fels} + % Hirschkopffelsen +\nolig{pffont}{pf|font} + % Dampffontäne +\nolig{pffüh}{pf|füh} + % Kampfführung + +\nolig{reiffern}{reif|fern} + % reiffern +\nolig{rffan}{rf|fan} + % Surffan +\nolig{rffeel}{rf|feel} + % Surffeeling +\nolig{rffest}{rf|fest} + % Surffest +\nolig{rffinn}{rf|finn} + % Surffinne +\nolig{rffleck}{rf|fleck} + % Schorfflecken + +\nolig{straffern}{straf|fern} + \keeplig{rtstraffern} % Gurtstraffern + \keeplig{ssstraffern} + % Gurtschlossstraffern + +\nolig{ünff}{ünf|f} + % fünffarbig fünffingrig fünfflügelig + % Fünfflach fünfflammig fünffleckige + +\nolig{wurff[aäeiloöruü]}{wurf|f} + % Auswurffach Einwurffehler + % Hammerwurffinale + + +% 2. fi -> f-i +% ------------ + +\nolig{Aufi}{Auf|i} +\nolig{aufinstr}{auf|instr} + % aufinstruieren +\nolig{aufirr}{auf|irr} + % hinaufirrte +\nolig{aufisst}{auf|isst} + +\nolig{Briefi}{Brief|i} +\nolig{briefi}{brief|i} + % Briefidiom Briefinhalt Pfandbriefinhaber + +\nolig{Chefi}{Chef|i} +\nolig{chefi}{chef|i} + % Chefideologe Chefindianer + % Chefinformatiker + \keeplig{Chefin} % Chefin Chefinnen + \nolig{Chefin[a-mo-z]}{Chef|in} + % Chefinder -indianer -inspektor + % -inquisitor + \keeplig{chefin} + \nolig{chefind}{chef|ind} + \keeplig{chefibel} % Recherchefibel + \keeplig{chefiebe} % Recherchefieber + \keeplig{chefigur} % Nietzschefigur + \keeplig{chefilm} % Rachefilm + \keeplig{chefili} % Wäschefiliale + \keeplig{chefirm} % Geldwäschefirma + \keeplig{chefisch} % Wäschefische + +\nolig{Dorfi}{Dorf|i} +\nolig{dorfi}{dorf|i} + % Dorfidylle -information -institute +\nolig{Hofi}{Hof|i} + % (viele Fälle!) + \keeplig{Hofier} % Hofieren +\nolig{Kampfi}{Kampf|i} +\nolig{kampfi}{kampf|i} + % Kampfideologie Kampfinstrument +\nolig{Kaufi}{Kauf|i} +\nolig{kaufi}{kauf|i} + % Kaufidee kaufinteressiert Kaufimpuls +\nolig{Laufi}{Lauf|i} +\nolig{laufi}{lauf|i} + % Laufidol Kreislaufinsuffizienz + \keeplig{Laufig} + \keeplig{Blaufi} + % Blaufichte Blaufilter Blaufisch + \keeplig{laufilter} % Planetenblaufilter + \keeplig{laufiedr} % blaufiedrig +\nolig{rüfi}{rüf|i} + % Prüfinhalt Prüfinstitution Prüfintervall +\nolig{Rumpfi}{Rumpf|i} +\nolig{rumpfi}{rumpf|i} + % Rumpfitalien Strumpfindustrie + \keeplig{rumpfig} + +\nolig{chafi}{chaf|i} % Schaf-i... + % Schafimperium Schafinnereien + \keeplig{schafigu} % Maharadschafigur +\nolig{chlafi}{chlaf|i} % Schlaf-i-... + % Schlafiglu schlafinduzierend + \keeplig{chlafitt} % Schlafittchen + +\nolig{Strafi}{Straf|i} +\nolig{strafi}{straf|i} + % strafisolierend Strafinstanz +\nolig{Tarifi}{Tarif|i} +\nolig{tarifi}{tarif|i} + % (viele Fälle!) + \keeplig{Tarifier} % Tarifierung + \keeplig{tarifier} % tarifierbar +\nolig{Tiefinn}{Tief|inn} +\nolig{tiefinn}{tief|inn} + % tiefinnen -innerste -innig -innerste + +\nolig{fidee}{f|idee} + % Kopfidee Luftschiffidee +\nolig{fideol}{f|ideol} + % Tiefideologie +\nolig{fidentif}{f|identif} + % Stoffidentifizierung +\nolig{fidentit}{f|identit} + % Steppenwolfidentität Berufidentität +\nolig{fidol}{f|idol} + % Golfidol +\nolig{fidyll}{f|idyll} + % Bauernhofidyll +\nolig{figel}{f|igel} + % Köpfigel Stoffigel + \keeplig{figelehrt} % Sufigelehrter +\nolig{fikone}{f|ikone} + % Laufikone +\nolig{fillus}{f|illus} + % Sumpfillusion +\nolig{fimman}{f|imman} + % ablaufimmanente +\nolig{fimmob}{f|immob} + % Kaufhofimmobilie +\nolig{fimmun}{f|immun} + % Strafimmunität +\nolig{fimp}{f|imp} + % Torfimporte Kaufimpuls aufimpft + +\nolig{findex}{f|index} + % Kaufindex Pfandbriefindex +\nolig{findikat}{f|indikat} + % Impfindikation +\nolig{findiv}{f|indiv} + % Hofindividualität +\nolig{findiz}{f|indiz} + % Tarifindizes +\nolig{findust}{f|indust} + % Golfindustrie +\nolig{finfekt}{f|infekt} + % Dampfinfektion +\nolig{finfiz}{f|infiz} + % Laufinfizierte +\nolig{finfo}{f|info} + % Tarifinformation Telefoninformation + \keeplig{Delfinfo} + % Delfinforscher -foto +\nolig{finfra}{f|infra} + % Hofinfrastruktur +\nolig{finfus}{f|infus} + % Tropfinfusion +\nolig{fingenieur}{f|ingenieur} + % Prüfingenieur Kaufingenieur +\nolig{finhab}{f|inhab} + % Hofinhaber +\nolig{finhalat}{f|inhalat} + % Kamilledampfinhalationen +\nolig{finhalt}{f|inhalt} + % Begriffinhalte Kropfinhalt + \keeplig{Delfinhalt} % Delfinhaltung + \keeplig{raffinhalt} % Paraffinhaltig +\nolig{finitia}{f|initia} + % Korallenriffinitiative +\nolig{finjekt}{f|injekt} + % Dampfinjektionsverfahren +\nolig{finkont}{f|inkont} + % Ueberlaufinkontinenz + \keeplig{Delfinkont} % Delfinkontakt + +\nolig{finnenaus}{f|innenaus} + % Schiffinnenausbau +\nolig{finnenohr}{f|innenohr} + % Schafinnenohr +\nolig{finnenfl}{f|innenfl} + % Hofinnenflächen +\nolig{finnenl}{f|innenfl} + % Hofinnenleben +\nolig{finnenraum}{f|innenraum} + % Kopfinnenraum +\nolig{finnenräum}{f|innenräum} + % Schlafinnenräumen +\nolig{finnens}{f|innens} + % Rumpfinnenseite + +\nolig{finner}{f|inner} + % tiefinnerlich Kopfinneres +\nolig{finnig}{f|innig} + % tiefinnige +\nolig{finnov}{f|innov} + % Tarifinnovationen +\nolig{finsass}{f|insass} + % Raumschiffinsassen +\nolig{finsekt}{f|insekt} + % Laufinsekt +\nolig{finsel}{f|insel} + % Schafinsel Schilfinsel Saufinsel +\nolig{finserat}{f|inserat} + % Titelkopfinserat +\nolig{finsign}{f|insign} + % Knopfinsignien +\nolig{finspek}{f|inspek} + % Kirchhofinspektor +\nolig{finsta}{f|insta} + % Kunstriffinstallateur + % Schiffinstandsetzung + % Strafinstanz rumpfinstabil +\nolig{finstinkt}{f|instinkt} + % Zupfinstinkt +\nolig{finstitu}{f|institu} + % Strafinstitutionen +\nolig{finstrukt[io]}{f|instrukt} + % Wurfinstruktion Chefinstruktor +\nolig{finstrum}{f|instrum} + % Zupfinstrumente Schleif- Greif- +\nolig{finsuff}{f|insuff} + % Kreislaufinsuffizienz +\nolig{finszen}{f|inszen} + % Kopfinszenierung +\nolig{fintars}{f|intars} + % Griffintarsien +\nolig{fintell}{f|intell} + % Hofintellektueller +\nolig{fintegr}{f|integr} + % Tarifintegration +\nolig{fintens}{f|intens} + % eingriffintensiv +\nolig{finter}{f|inter} + % Feuerschiffinteressierte + % Begriffinterpretationen + % Strafinterventionen Rufintervalle +\nolig{finton}{f|inton} + % Tiefintonieren +\nolig{fintrig}{f|intrig} + % Briefintrige Hofintrige +\nolig{finvent}{f|invent} + % Laufinventar +\nolig{finvest}{f|invest} + % Anlaufinvestitition + +\nolig{firis}{f|iris} + % Sumpfiris +\nolig{fironi}{f|ironi} + % tiefironisch +\nolig{firre}{f|irre} + % Dorfirre +\nolig{firru}{f|irru} + % Werfirrung + +\nolig{fisolat}{f|isolat} + % Strafisolator Schaumstoffisolation +\nolig{fisolie}{f|isolie} + % Griffisolierung + +\nolig{uffax}{uf|fax} + % Notruffax Abruffax + + + +% 3. fl -> f-l +% ------------ + +\nolig{Aufl[aeiouyäöü]}{Auf|l} + % Must avoid catching "Aufl.". +\nolig{aufl}{auf|l} + % Hundreds (thousands?!) of words + % However, must allow for quite a few + % exceptions: + \keeplig{auflair} % Tierschauflair + \keeplig{aufläche}% Anbau- Grau- Kau- ... + % Niveau- Plateau- Schau- Staufläche + \keeplig{aufliegl}% Tauflieglein + \keeplig{auflüssig} % Tauflüssigkeit + \keeplig{baufl} + % Modellbauflieger Weinbauflecken + \keeplig{Baufl} % Bauflaute + \nolig{bauflösen}{bauf|lösen} + % grobauflösend + \keeplig{blaufl}% blaufleckig blauflauschig + \nolig{blaufloch}{blauf|loch} + % Ablaufloch + \nolig{blauflog}{blauf|log} + % Ablauflogik + \keeplig{Blaufl}% Blauflügel (Libelle) + \keeplig{fraufl}% Frauflüge + \keeplig{Fraufl} + \keeplig{gauflöte} % Rheingauflöte + \keeplig{graufl}% Graufleckentest + \keeplig{Graufl} + \keeplig{onauflo} % Donauflotte + \keeplig{onauflu} % Donauflut Donaufluss + \keeplig{Moskaufl} % Moskauflug + \keeplig{Schauflieg}% Schaufliegen + \keeplig{Schaufloß} % Schaufloßfahrten + \keeplig{schauflöß} + \keeplig{Schauflug} + \keeplig{Schauflüg} % Schauflüge + \keeplig{schauflieg} + \keeplig{schaufloß} + \keeplig{schauflöß} % Wahrschauflöße + \keeplig{schauflug} + \keeplig{schauflüg} + + +\nolig{Briefl}{Brief|l} +\nolig{briefl}{brief|l} + % lots and lots of words ... +\nolig{Chefl}{Chef|l} +\nolig{chefl}{chef|l} + % Cheflieferant -limousine -lobbyist -los + \keeplig{achefl} + % Rachefluch Einspracheflut + \keeplig{ichefl} % Speichefluss + \keeplig{schefl} + % Ascheflocken Tuschefleck + \keeplig{chefläche} % Bracheflächen +\nolig{Dampfl}{Dampf|l} +\nolig{dampfl}{dampf|l} + % Dampflanze Natriumdampflampe +\nolig{Dorfl}{Dorf|l} +\nolig{dorfl}{dorf|l} + % Dorfladen Dorflage Dorfleitplan + \keeplig{dorfliese} % Korridorfliesen + \keeplig{dorflüg} % Condorflüge +\nolig{Fünfl}{Fünf|l} +\nolig{fünfl}{fünf|l} + % fünflitrig Fünflochdüsen +\nolig{Golfl}{Golf|l} +\nolig{golfl}{golf|l} + % viele Faelle +\nolig{Hanfl}{Hanf|l} +\nolig{hanfl}{hanf|l} + % Hanfladen Hanfland Hanflegalisierung + \keeplig{thanflamm} % Methanflamme +\nolig{Hofl}{Hof|l} +\nolig{hofl}{hof|l} + % Hoflaborant Hoflieferant + \keeplig{hoflosk} % Echofloskeln +\nolig{Huflatt}{Huf|latt} +\nolig{huflatt}{huf|latt} + % Huflattich huflattichartig +\nolig{Hufled}{Huf|led} +\nolig{hufled}{huf|led} + % Huflederhautentzundung +\nolig{Impfl}{Impf|l} +\nolig{impfla}{impf|la} + % Schimpflaute + \keeplig{eimpflanz} % Keimpflanze +\nolig{impfle}{impf|le} + % Impflegende + \keeplig{eimpfleg} % Heimpfleger + \keeplig{timpfleg} % Intimpflege +\nolig{Kampfl}{Kampf|l} +\nolig{kampfl}{kampf|l} + % Kampflegende kampflüstern + % Wahlkampflüge +\nolig{Kopfl[äeioöuüy]}{Kopf|l} +\nolig{kopfl[äeioöuüy]}{kopf|l} +\nolig{Köpfl[aäioöuüy]}{Köpf|l} +\nolig{köpfl[aäioöuüy]}{köpf|l} + % Dutzende (Hunderte?) von Worten... + % [kK]opfla -> caught by opfla rule + % [kK]öpfle -> caught by öpfle rule + \keeplig{kopflaster}% Ökopflaster + \keeplig{kopfleg} % Risikopflege + \keeplig{kopflaum} % Schokopflaumen +\nolig{Pfeifl}{Pfeif|l} +\nolig{pfeifl}{pfeif|l} + % Pfeiflaute +\nolig{Prüfl}{Prüf|l} +\nolig{prüfl}{prüf|l} + % Prüflabor Prüflast Prüflampe +\nolig{Reliefl}{Relief|l} +\nolig{reliefl}{relief|l} + % Relieflandschaft -lagen -landkarte + % relieflos +\nolig{Rufl}{Ruf|l} +\nolig{rufl}{ruf|l} + % viele Fälle, aber... + \keeplig{Durufl} % Duruflé + \keeplig{mbarufl} % Gambarufluss + \keeplig{ruflagge} % Peruflagge + \keeplig{rufleisch} % Kängurufleisch + +\nolig{Schafl}{Schaf|l} +\nolig{schafl}{schaf|l} + % Schafleder Schaflaus Schafleber +\nolig{Schiefl}{Schief|l} +\nolig{schiefl}{schief|l} + % schieflachen Schieflage schieflaufen +\nolig{Schilfl}{Schilf|l} +\nolig{schilfl}{schilf|l} + % Schilflabyrinth Schilflieder +\nolig{Schlafl}{Schlaf|l} +\nolig{schlafl}{schlaf|l} + % lots and lots of words... +\nolig{Schleifl}{Schleif|l} +\nolig{schleifl}{schleif|l} + % Schleiflack Schleiflade +\nolig{Schrumpfl}{Schrumpf|l} +\nolig{schrumpfl}{schrumpf|l} + % Schrumpflack + +\nolig{Schweifl}{Schweif|l} +\nolig{schweifl}{schweif|l} + % Schweiflecken +\nolig{Senfl}{Senf|l} + % Senfladen Senfliebhaber +\nolig{Steifl}{Steif|l} +\nolig{steifl}{steif|l} + % steiflippig +\nolig{Strafl}{Straf|l} +\nolig{strafl}{straf|l} + % lots and lots of words.. +\nolig{Strumpfl}{Strumpf|l} +\nolig{strumpfl}{strumpf|l} + % Strumpfladen Strumpfloch +\nolig{Sumpfl}{Sumpf|l} + % Sumpflabkraut -leiche -licht + +\nolig{Surfl}{Surf|l} +\nolig{surfl}{surf|l} + % Surflizenz Surflegende + \keeplig{surfleck}% Lasurfleck + \keeplig{surflüg} % Klausurflügel + \keeplig{surflüss}% Glasurflüssigkeit +\nolig{Tarifl}{Tarif|l} +\nolig{tarifl}{tarif|l} + % lots and lots of words... +\nolig{Tiefl}{Tief|l} +\nolig{tiefl}{tief|l} + % Tieflager stieflich + \keeplig{tiefläche} % Garantieflächen + \keeplig{atieflaute}% Demokratieflaute + \keeplig{atieflut} % Bürokratieflut + +\nolig{Topfl}{Topf|l} +\nolig{topfl}{topf|l} + % Topflappen Topflumpen + \keeplig{Topflagg} % Topflaggen + \keeplig{Topflitz} % Topflitzer + \keeplig{Topflor} % Topflor + \keeplig{rtopfli} % portopflichtig + \keeplig{topfläch} % Biotopfläche + \keeplig{topfleg} % Autopflege + \nolig{rtopfleg}{rtopf|leg} + % Schmortopflegen + \keeplig{topflop} % Megatopflop + \keeplig{topflug} % Nonstopflug + \keeplig{topflüg} % Nonstopflüge + +\nolig{Torfl}{Torf|l} +\nolig{torfl}{torf|l} + % Torflieferant Torfloch + \keeplig{Torflagge} + \keeplig{Torflügel} + \keeplig{Torflut} + \keeplig{torfläche} % Rotorfläche + \keeplig{torflasch} % Applikatorflasche + \keeplig{torflieg} % Motorfliegen + \keeplig{torflimm} % Monitorflimmern + \keeplig{torflitz} % Motorflitzer + \keeplig{torfloss} % Stabilisatorflossen + \keeplig{torflott} % Exploratorflotte + \keeplig{torfluch} % Auswärtstorfluch + \keeplig{torflug} % Simulatorflug + \keeplig{torflüg} % Motorflüge + \keeplig{torflüss} % Indikatorflüssigkeit + \keeplig{torfluss} + \keeplig{torfluß} % Motorflußschiff + + +\nolig{Tropfl}{Tropf|l} +\nolig{tropfl}{tropf|l} + % Tropfleckagen + \keeplig{tropflug} % Elektropflug + +\nolig{Wurfl}{Wurf|l} +\nolig{wurfl}{wurf|l} + % Wurfluke Abwurfluke Einwurfluke +\nolig{Würfl}{Würf|l} +\nolig{würfl}{würf|l} + % Würflung würfle + +\nolig{aflied}{af|lied} + % Schlaflied +\nolig{aflos}{af|los} + % straflos schlaflos + \keeplig{aflosk} % Propagandafloskel + \keeplig{rafloss} % lyraflossig +\nolig{aflück}{af|lück} + % Straflücke +\nolig{ampfl[aäou]}{ampf|l} + % Dampflokomotive + % Kampflärm Kampfluftschiff + \keeplig{ampfläch} % Campfläche + \keeplig{ampflanz} % Balsampflanzungen + \keeplig{ampfleg} % Teampflege +\nolig{arflad}{arf|lad} + % Zeichenbedarfladen +\nolig{äufle}{äuf|le} + % Häuflein träufle + +\nolig{eufle}{euf|le} + % verteufle + \keeplig{eufleiß} % treufleißig + \keeplig{eufleiss} % treufleissig + +\nolig{flaberer}{f|laberer} + % Dumpflaberer +\nolig{flabor}{f|labor} + % Edelsteinprüflabor +\nolig{flage}{f|lage} + % Rohstofflager Straflager Auflage + \keeplig{siflage} % Persiflage + \keeplig{ouflage} % Camouflage +\nolig{flagun}{f|lagun} + % Rifflagune +\nolig{flähm}{f|lähm} + % Kehlkopflähmung +\nolig{flaminat}{f|laminat} + % Rumpflaminat +\nolig{flamp}{f|lamp} + % Kompaktleuchtstofflampe Notruflampe +\nolig{fland}{f|land} + % Hofland Kauf- Sumpf- Tief- + % Straflandesgericht Dorflandwirtschaft + % Iffland Rifflandschaft + % Altelfland Delfland + \keeplig{flandern} % Ostflandern + \keeplig{flandrisch} +\nolig{fländ}{f|länd} + % hofländlich Sumpfländer Tiefländer +\nolig{fläng}{f|läng} + % Straflänge Rumpflänge Lauflänge +\nolig{flapp}{f|lapp} + % Seiflappen Topflappen +\nolig{flärm}{f|lärm} + % Auspufflärm +\nolig{fflatter}{f|flatter} + % Vorhofflattern aufflattert +\nolig{flauf}{f|lauf} + % schieflaufen Auflauf Brieflauf +\nolig{fläuf}{f|läuf} + % schiefläuft Hofläufer Strafläufe + % Prüfläufe Aufläufe Tiefläufer +\nolig{flaun}{f|laun} + % Kauflaune Wurflaune Kampflaune + +\nolig{fleb}{f|leb} + % Hofleben Kopfleben + % Druckkopflebensdauer + \keeplig{huffleb} % shuffleboard +\nolig{flehn}{f|lehn} + % steiflehnig +\nolig{flehr}{f|lehr} + % Dorflehrer Eislauflehrerin +\nolig{fleiden}{f|leiden} + % Kropfleidende +\nolig{flein}{f|lein} + % Laufleine Scherflein Wölflein + % Köpflein Zöpflein +\nolig{fleist}{f|leist} + % Dampfleistung Knopfleiste + % Kopfleiste Auswurfleistung + % Griffleiste Stoffleiste + % Abstreifleiste +\nolig{fleit}{f|leit} + % Dampfleitung Hofleitung Baufhofleiter + % Kaufleitung Notrufleitung aufleiten + % inbegriffleitend Kraftstoffleitung + \keeplig{Kaltefleiter} % a surname... +\nolig{flektür}{f|lektür} + % Schenkelklopflektüre +\nolig{fler}{f|ler} + % Freiberufler Löffler Büffler Schnüffler +\nolig{fleut}{f|leut} + % Hofleute + +\nolig{flich}{f|lich} + % tariflich reiflich glimpflich ... + % (many words!) + %% Vorsicht aber mit Pflicht und pflicht, + %% sowie mit einflicht, verflicht, etc.: + \keeplig{flicht} + \nolig{öpflicht}{öpf|licht} + % kröpflicht (??) + +\nolig{flieb}{f|lieb} + % freiberufliebend riffliebend +\nolig{flief}{f|lief} + % schieflief Hoflieferant +\nolig{flig}{f|lig} + % schweflig würflig knifflig mufflig + % zweigipflig fünfzipflig +\nolig{flila}{f|lila} + % tieflila stumpflila +\nolig{flinde}{f|linde} + % Dorflinde Wolflinde Ziegelhoflinde + % krampflindernd +\nolig{fling}{f|ling} + % Prüfling Fünfling Sträfling Täufling +\nolig{flini}{f|lini} + % Wurflinie Straflinie Rumpflinie +\nolig{flinse}{f|linse} + % Fünflinser Wegwerflinsen +\nolig{flisch}{f|lisch} + % teuflisch Tüpflischeißer +\nolig{flist}{f|list} + % Prüfliste Rufliste Kaufliste +\nolig{fliter}{f|liter} + % Hofliteratur Fünflitermotor +\nolig{flizenz}{f|lizenz} + % Radfahrprüflizenz + +\nolig{flobby}{f|lobby} + % Maulwurflobbyisten +\nolig{flöch}{f|löch} + % Sturmwurflöcher Knopflöcher + % Sufflöcher Grifflöcher + \keeplig{flöchte} +\nolig{flöff}{f|löff} + % Tieflöffelbagger auflöffeln + % Schöpflöffel +\nolig{flohn}{f|lohn} + % Tariflohn Tieflohnland + \keeplig{flohnetz} % Wasserflohnetz +\nolig{flöhn}{f|löhn} + % Tariflöhne +\nolig{flok}{f|lok} + % Dampflokomotive +\nolig{flord}{f|lord} + % Wolflord +\nolig{flösch}{f|lösch} + % Hoflöschmaschine +\nolig{flösu}{f|lösu} + % Schmierseiflösung + +\nolig{fluft}{f|luft} + % Auspuffluft +\nolig{flung}{f|lung} + % Verzweiflungsakt Verteuflung Stafflung +\nolig{flust}{f|lust} + % Kampflust Impflust kauflustig Rauflust + +\nolig{Gipfle}{Gipf|le} +\nolig{gipfle}{gipf|le} + % gipfle + +\nolig{chopfl}{chopf|l} + % Schopflilie Schopflavendel + +\nolig{lflady}{lf|lady} + % Golflady +\nolig{lflast}{lf|last} + % Wolflast + +\nolig{lflos}{lf|los} + % hilflos + \keeplig{lfloss} + % Walflosse Kiel- Paddel- + \keeplig{lflosk} + % Moralfloskel Sozial- Spiel- +\nolig{lürfl}{lürf|l} + % Schlürflaut + +\nolig{nflehm}{nf|lehm} + % Hanflehm + +\nolig{oflad}{of|lad} + % Biohofladen +\nolig{ofläd}{of|läd} + % Biohofläden +\nolig{oflück}{of|lück} + % Vorhoflücke + +\nolig{opfla}{opf|la} + % Topflappen Kopflaus kopflastig + \keeplig{gopflaum} % Mangopflaumen + \keeplig{iopflast} % Biopflaster + \keeplig{nopflaster}% Kinopflaster + \keeplig{opflair} % Popflair + \keeplig{opflanz} + % Kakaopflanzen Indigopflanzen +\nolig{öpfle}{öpf|le} + % köpfle tröpfle Knöpfle +\nolig{orflad}{orf|lad} + % Dorfladen + +\nolig{pflaut}{pf|laut} + % Kehlkopflaut +\nolig{pfleier}{pf|leier} + % Zupfleier +\nolig{pflehm}{pf|lehm} + % Stampflehm +\nolig{pfleis}{pf|leis} + % Knopfleise +\nolig{pfleu}{pf|leu} + % Natriumdampfleuchten Kopfleuchte +\nolig{pflid}{pf|lid} + % Schlupflid +\nolig{pflied}{pf|lied} + % Kampflied +\nolig{pfloch}{pf|loch} + % Knopfloch +\nolig{pflos}{pf|los} + % kampflos kopflos + \keeplig{pfloss} % Pappflossen +\nolig{pflös}{pf|lös} + % krampflösend Hüftkopflösung +\nolig{pflup}{pf|lup} + % Kopflupe +\nolig{pflux}{pf|lux} + % Hüftkopfluxation + +\nolig{rfläd}{rf|läd} + % Dorfläden Surfläden Schulbedarfläden +\nolig{rflück}{rf|lück} + % Sturmwurflücken +\nolig{rfluke}{rf|luke} + % Abwurfluke Einwurfluke + +\nolig{reifl}{reif|l} + % Greiflippe Stegreiflieder Streiflacher + \keeplig{Breifl} + \keeplig{breifl} + \keeplig{Dreifl} + \keeplig{dreifl} + \keeplig{Freifl} + \keeplig{freifl} + \keeplig{eiereifl} % Meiereiflügel + \keeplig{reifläch} % Freiflächen + \keeplig{reiflagg} % Reedereiflagge + \keeplig{reiflamm} % dreiflammig + \keeplig{reiflasch}% Milchbreiflaschen + \keeplig{reiflies} % Fleischereifliesen + \keeplig{reiflock} % Breiflocken + \keeplig{reifloh} % Büchereiflohmarkt + \keeplig{reiflöhe} % Gießereiflöhe + \keeplig{reiflott} % Fischereiflotte + +\nolig{Tafle}{Taf|le} +\nolig{tafle}{taf|le} + % tafle + \keeplig{tafleck} % Zahnpastaflecken + \keeplig{taflege} % Regattaflegel + +\nolig{urflad}{urf|lad} + % Surfladen +\nolig{urfloch}{urf|loch} + % Balleinwurfloch + +\nolig{wafle}{waf|le} + % schwafle +\nolig{wefle}{wef|le} + % schwefle +\nolig{weifle}{weif|le} + % bezweifle verzweifle + \keeplig{weifleck} % zweifleckig +\nolig{werfl}{werf|l} + % Wegwerflied + \keeplig{chwerfl} + % Schwerflugzeug schwerfließend + \keeplig{werflitz} % Powerflitzer + + + + +% 4. ffi -> f-fi +% -------------- + +\nolig{affind}{af|find} + % Straffindung + \keeplig{araffind} % Paraffinduft + +\nolig{ffibel}{f|fibel} + % Zwiebelknopffibeln +\nolig{ffieb}{f|fieb} + % Sumpffieber Wahlkampffieber +\nolig{ffigu}{f|figu} + % Streiffigur +\nolig{ffilm}{f|film} + % Werwolffilm +\nolig{ffilter}{f|filter} + % Tropffilter Topffilter +\nolig{ffinal}{f|final} + % Hammerwurffinale +\nolig{ffinte}{f|finte} + % Sprungwurffinte + \keeplig{raffinte} % Paraffintest +\nolig{ffinanz}{f|finanz} + % Hoffinanz Kauffinanzierung +\nolig{ffistel}{f|fistel} + % Kropffistel +\nolig{ffixier}{f|fixier} + % Dampffixiergerät + +\nolig{hoffing}{hof|fing} + % Bischoffinger + +\nolig{iffind}{if|find} + % Tariffindung + +\nolig{lffing}{lf|fing} + % Zwölffingerdarm +\nolig{lffisch}{lf|fisch} + % Wolffisch + +\nolig{nffing}{nf|fing} + % fünffingrig Fünffingergebirge + +\nolig{pffi}{pf|fi} + % Kopffilm Wahlkampffinanzierung + % Schlangenkopffisch Kampffisch + +\nolig{reiffing}{reif|fing} + % Greiffinger + + + +% 5. ffi -> ff-i +% -------------- + +\nolig{Stoffi}{Stoff|i} +\nolig{stoffi}{stoff|i} + % Rohstoffindustrieller -importe + % Baustoffingenieur Kunststoffingenieur + % Kohlenstoffisotope + \keeplig{stoffiz} + % Geheimdienstoffiziere + \keeplig{stoffig} + % permit ffi ligature for ff-ig suffix + +\nolig{ffinnen}{ff|innen} + % Schiffinnenraum Schiffinnenausbau + + +% 6. ffl -> ff-l +% -------------- + +\nolig{Griffl}{Griff|l} +\nolig{griffl}{griff|l} + % Grifflängen -laschen -leiste + % grifflos angrifflustig +\nolig{Offline}{Off|line} +\nolig{offline}{off|line} + % offline, Offline +\nolig{Pfiffl}{Pfiff|l} + % Pfifflaute +\nolig{Scheffle}{Scheff|le} +\nolig{scheffle}{scheff|le} + % Scheffler Geldscheffler +\nolig{Schiffl}{Schiff|l} +\nolig{schiffl}{schiff|l} + % Schifflache Schiffladung Schifflinie +\nolig{Stoffl}{Stoff|l} +\nolig{stoffl}{stoff|l} + % lots of words... +\nolig{Treffl}{Treff|l} +\nolig{treffl}{treff|l} + % Trefflokal + +\nolig{afflu}{aff|lu} + % Gafflust + +\nolig{fflamell}{ff|lamell} + % Rafflamellen +\nolig{fflast}{ff|last} + % Rohstofflastigkeit Treibstofflaster +\nolig{fflatsch}{ff|latsch} + % Rifflatschern +\nolig{ffloch}{ff|loch} + % Suffloch Griffloch Sauerstoffloch +\nolig{fflos}{ff|los} + % auspufflos + +\nolig{ifflo}{iff|lo} + % Schifflogbuch grifflos Griffloch + +\nolig{offlad}{off|lad} + % Sprengstoffladung +\nolig{öffle}{öff|le} + % löffle +\nolig{offlo}{off|lo} + % wirkstofflos Sauerstoffloch + % offload + +\nolig{pufflack}{puff|lack} + % Auspufflack + +\nolig{taffle}{taff|le} + % staffle + +\nolig{ufflad}{uff|lad} + % Suffladen +\nolig{uffläd}{uff|läd} + % Suffläden +\nolig{luffleck}{luff|leck} + % Bluffleck +\nolig{üffle}{üff|le} + % schnüffle büffle trüffle +\nolig{ufflon}{uff|lon} + % Mufflon + + + +% 7. ffl -> f-fl +% -------------- + +\nolig{Auffl}{Auf|fl} +\nolig{auffl}{auf|fl} + % aufflackern aufflammen Aufflickung + % Auffliegen + +\nolig{eiffleck}{eif|fleck} + % Schleifflecklein + +\nolig{ffläch}{f|fläch} + % Lauffläche Kampfflächen + % Zwölfflächner zwölfflächig +\nolig{fflech}{f|flech} + % aufflechten +\nolig{ffleisch}{f|fleisch} + % Schaffleisch Kopffleisch +\nolig{fflexib}{f|flexib} + % Tarifflexibilitat +\nolig{fflies}{f|flies} + % Relieffliesen +\nolig{fflimm}{f|flimm} + % Vorhofflimmern +\nolig{ffluch}{f|fluch} + % Tarifflucht Werwolffluch +\nolig{fflüch}{f|flüch} + % Tarifflüchtling +\nolig{fflug}{f|flug} + % Tiefflug Kampfflugzeug Chefflugleiter +\nolig{fflüg}{f|flüg} + % Streifflüge zwölfflügelig Tiefflüge +\nolig{fflur}{f|flur} + % Klosterhofflur +\nolig{ffluss}{f|flus} + % Prüffluss +\nolig{fflüs}{f|flüs} + % Schleifflüsigkeit} +\nolig{fflut}{f|flut} + % Brieffluten Rückrufflut Anrufflut + +\nolig{iefflieg}{ief|flieg} + % tieffliegend +\nolig{iefflog}{ief|flog} + % tiefflog + +\nolig{lfflach}{lf|flach} + % Zwölfflach + +\nolig{pffl}{pf|fl} + % Sumpffläche Sturzkampfflieger + % Totenkopfflagge Impfflüssigkeit + \keeplig{Knoepffl} % Knoepffler + +\nolig{rfflad}{rf|flad} + % Torffladen +\nolig{rfflasch}{rf|flasch} + % Wegwerfflasche + +\nolig{ufflot}{uff|lot} + % Sufflot + +\nolig{wurfl}{wurf|l} + % Freiwurflinie Maulwurflobbyist + + + + +% 8. ft -> f-t +% ------------ + +\nolig{Auft[aähioöruüy]}{Auf|t} +\nolig{auft[aähioöruüy]}{auf|t} + % (viele viele Fälle; aber: ft-Ligatur wird + % doch verwendet für "Auft.") + +\nolig{Brieft}{Brief|t} +\nolig{brieft}{brief|t} + % Brieftasche Brieftaube +\nolig{Cheft}{Chef|t} +\nolig{cheft[a-z]}{chef|t} + % Cheftheoretiker Cheftrainer + \keeplig{omicheft[ceg]} +\nolig{Dorft}{Dorf|t} +\nolig{dorft}{dorf|t} + % Dorftrottel -tratsch -tümpel +\nolig{Elfte}{Elf|te} +\nolig{elfte}{elf|te} + % elfte elftens + \keeplig{elfterfolg} % elfterfolgreichste + +\nolig{Fünft[aäehlroöuy]}{Fünf|t}% Fünftagewoche ... +\nolig{fünft[aehlroöuy]}{fünf|t} % fünftens... + \keeplig{fünfterfolg} % fünfterfolgreichste + \keeplig{Fünfterfolg} + \keeplig{fünfthässl} % fünfthässlichste + \keeplig{Fünfthässl} + \keeplig{fünfthellst} % fünfthellste + \keeplig{Fünfthellst} + \keeplig{fünfthöchst} % fünfthöchste + \keeplig{Fünfthöchst} + \keeplig{fünftlängst} % fünftlängste + \keeplig{Fünftlängst} + \keeplig{fünftleichtest} % fünftleichteste + \keeplig{Fünftleichtest} + \keeplig{fünftletzt} % fünftletzte + \keeplig{Fünftletzt} + \keeplig{fünftrang} % fünftrangig + \keeplig{Fünftrang} + \keeplig{fünftreichst}% fünftreichste + \keeplig{Fünftreichst} + \keeplig{Fünftlig} % Fünftligaspiel + \keeplig{Fünftoper} % Fünftoperation + \keeplig{Fünftrund} % Fünftrunden + \keeplig{Fünftäon} + +\nolig{Golft}{Golf|t} +\nolig{golft[hiruüy]}{golf|t} + % Golfträume -turnier -typ -talent + +\nolig{Greift[eio]}{Greif|t} + % Greiftest -tentakeln -tier -tor +\nolig{Hanft}{Hanf|t} + % Hanftaler Hanftau +\nolig{Hoft[aäehioäruüy]}{Hof|t} +\nolig{hoft[aähioöruü]}{hof|t} + % Hoftor Klosterhoftor + +\nolig{Laufte}{Lauf|te} + % Lauftermin Lauftest Lauftext +\nolig{Prüft[aähioäruüy]}{Prüf|t} +\nolig{prüft[aähioöruü]}{prüf|t} + % Prüftheorie +\nolig{Ruft[aäehioäruüy]}{Ruf|t} + % Ruftaxi Rufterz Rufton Ruftöne + +\nolig{Schaftal}{Schaf|tal} +\nolig{Schaftor}{Schaf|tor} +\nolig{Schaftreib}{Schaf|treib} + +\nolig{Schlaft}{Schlaf|t} +\nolig{schlaft[aähioäruüy]}{schlaf|t} + % Schlaftablette +\nolig{Schilft[äehiruüy]}{Schilf|t} +\nolig{schilft[hiruüy]}{schilf|t} + % Schilfteich Schlilftümpel +\nolig{Senft[aäehioäruy]}{Senf|t} + % Senftube + \keeplig{Senftenberg} +\nolig{Straft[aähioöruüy]}{Straf|t} +\nolig{straft[aähioöruüy]}{straf|t} + % (viele Fälle) + \keeplig{straftheit} % Unbestraftheit +\nolig{Sufft}{Suff|t} + % Sufftest Sufftext +\nolig{Surft[ähiöüy]}{Surf|t} + % Surfthema Surftipp +\nolig{Tarift}{Tarif|t} +\nolig{tarift}{tarif|t} + % Tarifthemen Tariftabelle +\nolig{Tieft}{Tief|t} + % Tieftänzer -träumen -tresor -tunnel +\nolig{Torft}{Torf|t} +\nolig{torft}{torf|t} + % Torftabletten Torftaucher Torftoilette +\nolig{Wurft}{Wurf|t} +\nolig{wurft}{wurf|t} + % Wurftalent Wurftaler + +\nolig{fft[aähioöruüy]}{ff|t} + % Stofftasche Sauerstofftank Stofftheorie + % Stofftier Stofftiger Stofftischtuch + % Auspufftopf Kunststofftonne + % Stofftradition Stofftrennung + % Kunststofftube Stoffturnschuhe + % Stofftäschchen Auspufftöpfe + % Kunststofftöpfe Kunststofftüten + +%% Words that start with a capital letter +%% and end in f-test +\nolig{Abstreiftest}{Abstreif|test} +\nolig{Ankauftest}{Ankauf|test} +\nolig{Hörprüftest}{Hörprüf|test} +\nolig{Hüpftest}{Hüpf|test} +\nolig{Impftest}{Impf|test} +\nolig{Kauftest}{Kauf|test} +\nolig{Klopftest}{Klopf|test} +\nolig{Kneiftest}{Kneif|test} +\nolig{Lichtschweiftest}{Lichtschweif|test} +\nolig{Rückruftest}{Rückruf|test} +\nolig{Schnupftest}{Schnupf|test} +\nolig{Sumpftest}{Sumpf|test} +\nolig{Tropftest}{Tropf|test} +\nolig{Wettkampftest}{Wettkampf|test} +\nolig{tofftest}{toff|test} + % Impfstofftest Treibstofftests + + + +\nolig{aftee}{af|tee} + % Schlaftee +\nolig{auftee}{auf|tee} + % Kreislauftee +\nolig{lauftest}{lauf|test} + % Kreislauftest + +\nolig{eiftie}{eif|tie} + % Greiftiefe Steiftier +\nolig{eiftit}{eif|tit} + % Eingreiftitel +\nolig{eiftr}{eif|tr} + % Eingreiftruppe Nadelstreifträger + % Greiftrupp -tier -training +\nolig{elieft}{elief|t} + % Relieftäfelchen -tropfen -türme +\nolig{enftei}{enf|tei} + % Senfteig + +\nolig{ftabell}{f|tabell} + % Ruftabelle +\nolig{ftablett}{f|tablett} + % Schlaftabletten +\nolig{ftafel}{f|tafel} + % Pfeiftafel +\nolig{ftag}{f|tag} + % Tauftag Fünftagewoche +\nolig{ftäg}{f|täg} + % fünftägig elfftägig zwölftägig +\nolig{ftalsg}{f|talsg} + % schaftalsgrundig +\nolig{ftanz}{f|tanz} + % Kampftanz Schilftanz + \keeplig{ftanzahl} % Heftanzahl + \keeplig{ftanzeig} % Luftanzeige + \keeplig{ftanzieh} % Schwerkraftanziehung + \keeplig{ftanzüg} % Haftanzüge +\nolig{ftänz}{f|tänz} + % Tieftänzer +\nolig{ftari}{f|tari} + % Anruftarif + \keeplig{ftaristokr} % Zunftaristokratie +\nolig{ftarn}{f|tarn} + % Wegwerftarnungen +\nolig{ftasse}{f|tasse} + % Schürftasse + \keeplig{ftassel} % Gruftasseln +\nolig{ftatb}{f|tatb} + % Straftatbestände +\nolig{ftaten}{f|taten} + % Kampftaten Straftaten +\nolig{ftätig}{f|tätig} + % Schürftätigkeit +\nolig{ftauch}{f|tauch} + % Beruftaucher Kreislauftauchgerät +\nolig{ftaugl}{f|taugl} + % prüftauglich +\nolig{ftaume}{f|taume} + % Nachruftaumel +\nolig{ftax}{f|tax} + % Ruftaxi + +\nolig{fteam}{f|team} + % Jugendtreffteam Impfteam + \keeplig{fteamt} % Streitkräfteamt +\nolig{ftechn}{f|techn} + % Stampftechnik schlaftechnisch + % Kraftstofftechnologie Pfeiftechnik +\nolig{ftedd}{f|tedd} + % Schlafteddy +\nolig{fteich}{f|teich} + % Schilfteich Dorfteich + \keeplig{nfteich} % Zunfteiche + \keeplig{ifteich} % Schrifteiche +\nolig{fteigw}{f|teigw} + % Dampfteigwaren +\nolig{fteil}{f|teil} + % fünfteilig Friedhofteil + % Raumschiffteil Riffteil Stoffteil +\nolig{ftelef}{f|telef} +\nolig{fteleph}{f|teleph} % old spelling... + % Wegwerftelefon Notruftelefonnummern +\nolig{fteller}{f|teller} + % Schiefteller +\nolig{ftempel}{f|tempel} + % Kauftempel +\nolig{ftemper}{f|temper} + % Schlaftemperatur +\nolig{ftempo}{f|tempo} + % Dauerlauftempo +\nolig{ftendenz}{f|tendenz} + % Klassenkampftendenz +\nolig{ftentak}{f|tentak} + % Greiftentakeln +\nolig{fteppi}{f|teppi} + % Schaumstoffteppich Knüpfteppich +\nolig{ftermin}{f|termin} + % Anpfifftermin Passagierschiffterminal + \keeplig{fterminder} + % Gesellschafterminderheiten +\nolig{ftermit}{f|termit} + % Kampftermiten + \keeplig{ftermitt} % Rauschgiftermittler +\nolig{fterrain}{f|terrain} + % Kampfterrain +\nolig{fterrass}{f|terrass} + % Tuffterrassen +\nolig{fterrin}{f|terrin} + % Kohlkopfterrine +\nolig{fterror}{f|terror} + % Schadstoffterror +\nolig{ftestat}{f|testat} + % Prüftestate + \keeplig{ftestation} + % Streitkräftestationierung + \keeplig{ftestatist} + % Lehrkräftestatistik +\nolig{fteuf}{f|teuf} + % Dorfteufel Saufteufel +\nolig{ftext}{f|text} + % Betrefftext Stofftextur Stegreiftexte + \keeplig{ftextrakt} % Duftextrakt + +\nolig{ftheat}{f|theat} + % Stegreiftheater +\nolig{fthem}{f|them} + % Wolfthema + \keeplig{fthemm} % Wirtschafthemmnis +\nolig{ftheor}{f|theor} + % -f-theorie -f-theorien +\nolig{ftherap}{f|therap} + % Impftherapie Wurftherapie + % Schröpftherapeut +\nolig{ftick}{f|tick} + % Rückruftickets Diskuswurfticket +\nolig{ftief}{f|tief} + % tieftief (?) + \keeplig{ftiefigur} % Softiefigur +\nolig{ftier}{f|tier} + % Wegwerftier Huftier + \keeplig{haftier} % inhaftieren + \keeplig{Muftier} % Muftierben +\nolig{ftipp}{f|tipp} + % Surftipp +\nolig{ftirad}{f|tirad} + % Schimpftirade +\nolig{ftisch}{f|tisch} + % Schleiftisch + \keeplig{stiftisch} % hochstiftisch + \keeplig{ünftisch} % zünftisch + +\nolig{ftod}{f|tod} + % Hanftod + \keeplig{ftodem} % Giftodem +\nolig{fton}{f|ton} + % Pfeifton Zwölftonmusik Rufton +\nolig{ftön}{f|tön} + % Pfeiftöne Ruftöne +\nolig{ftool}{f|tool} + % Prüftool +\nolig{ftopf}{f|topf} + % Schleiftopf Dampf- Auspuff- Schöpf- + \keeplig{ftopfer} + % Duftopfer Gift- Haft- +\nolig{ftöpf}{f|töpf} + % Senftöpfchen Torftöpfchen + % Kunststofftöpfe +\nolig{ftorig}{f|torig} + % schaftorig fünftorig +\nolig{ftour}{f|tour} + % Streiftour + +\nolig{ftrader}{f|trader} + % Cheftrader +\nolig{ftradition}{f|tradition} + % Ruftraditionen +\nolig{fträg}{f|träg} + % Notrufträger +\nolig{ftrain}{f|train} + % Lauftrainer +\nolig{ftränk}{f|tränk} + % Rückruftränke Schaftränke +\nolig{ftransp}{f|transp} + % Hilftransport Schaftransport +\nolig{fträume}{f|träume} + % tiefträumend Tiefschlafträume + \keeplig{afträume} % Einzelhafträumen + \keeplig{äfträume} % Geschäfträumen + \keeplig{rifträume}% Schrifträume + \keeplig{ufträume} % Lufträumen +\nolig{ftrauri}{f|traurig} + % tieftraurig +\nolig{ftreff}{f|treff} + % Notruftreffen +\nolig{ftresor}{f|tresor} + % Tieftresor + \keeplig{ftresorp} % Luftresorption +\nolig{ftret}{f|tret} + % Mieftreter + \keeplig{ftrett} % Luftrettungsdienst + \keeplig{ftreturn}% Softreturn +\nolig{ftrick}{f|trick} + % Rückruftricks +\nolig{ftrieb}{f|trieb} + % auftriebte schaftriebig +\nolig{ftrief}{f|trief} + % tieftriefend +\nolig{ftrift}{f|trift} + % schaftriftig Schaftrift +\nolig{ftrimest}{f|trimest} + % fünftrimestrig zwölftrimestrig +\nolig{ftritt}{f|tritt} + % Huftritte + \keeplig{ftritter} % Kernkraftritter + \keeplig{Luftritt} +\nolig{ftrott}{f|trott} + % Sauftrottel + +\nolig{ftrüb}{f|trüb} + % tieftrübe +\nolig{ftrunk}{f|trunk} + % schlaftrunken +\nolig{ftrupp}{f|trupp} + % Prüftruppe + +\nolig{ftuch}{f|tuch} + % Schnieftuch Kopftuch +\nolig{ftüch}{f|tüch} + % Schnieftücher +\nolig{ftürk}{f|türk} + % tieftürkis +\nolig{fturm}{f|turm} + % Wolfturm +\nolig{ftürm}{f|türm} + % Wolftürme + +\nolig{ftyp}{f|typ} + % Schifftyp Stofftyp waldorftypisch +\nolig{ftyr}{f|tyr} + % Dorftyrann Hoftyrann +\nolig{ftwist}{f|twist} + % Kopftwister + +\nolig{graftum}{graf|tum} + % Burggraftum Markgraftum +\nolig{graftüm}{graf|tüm} + % Markgraftümer + +\nolig{hoftest}{hof|test} + % Schlachthoftest + +\nolig{iefta}{ief|ta} + % Tieftaucher Brieftasche Brieftaube +\nolig{iefto}{ief|to} + % Stieftochter Tiefton +\nolig{ieftö}{ief|tö} + % Stieftöchter tieftönend +\nolig{ieftra}{ief|tra} + % Tieftraumphase + +\nolig{lfta}{lf|ta} + % elftausend zwölftausend Golftasche +\nolig{lfto}{lf|to} + % Zwölftonmusik Elftonner Golftour +\nolig{lftö}{lf|tö} + % zwölftönend +\nolig{lftum}{lf|tum} + % Werwolftum + +\nolig{nftü}{nf|tü} + % fünftürig Senftüte + \keeplig{nftüb} + % Vernunftüberlegung zunftüblich + \nolig{nftübchen}{nf|tübchen} + % Senftübchen + +\nolig{ölfte}{ölf|te} + % zwölfte zwölftens + +\nolig{pft[aähioöruüy]}{pf|t} + % Wettkampftag -trubel -tauglich -töne + % Kampftaktik -truppe -tätigkeit -tänzer + % Schnupftabak -tuch -tücher -tüchlein + % Schimpftiraden Mehrkampftitel + % Stapftiefe Zopfträger + % Dampftopf Sumpftour Herzklopftöne + % Kopftreffer -tuch -tücher + % Impftabelle -tarif -tierarzt -tod + \keeplig{pftheit} + % Gedämpftheit Umkämpftheit +\nolig{pftee}{pf|tee} + % Schlumpftee (?!) +\nolig{pfteig}{pf|teig} + % Sumpfteig Hefetropfteig +\nolig{pftender}{pf|tender} + % Heißdampftenderlok + +%\nolig{rftrag}{rf|trag} + % Wegwerftragtasche Dorftragödie + +\nolig{rftr}{rf|tr} + % Wurftraining Surftrip Freiwurftreffer + \keeplig{tdurftrö} % Notdurftröhre + \keeplig{Werftr} % Werftreparatur + \keeplig{werftr} + \nolig{werftrage}{werf|trage} + % Wegwerftragetasche +\nolig{rftu}{rf|tu} + % Wurftuch + \keeplig{Werftu} + \keeplig{werftu} + % Werftumfeld Werftunternehmen + +\nolig{uftas}{uf|tas} + % Ruftaste Vorlauftaste Kauftasche + \keeplig{Duftas} % Duftaspekte + \keeplig{duftas} + \keeplig{Gruftas} % Gruftassel + \keeplig{gruftas} + \keeplig{Luftas} % Luftasket + \keeplig{luftas} + \keeplig{uftassoz} + % Duftassoziationen Schuftassoziationen + +\nolig{urfta}{urf|ta} + % Wurftalent Auswurftaste Surftalent + \keeplig{tdurfta} % Notdurftanlage +\nolig{urfto}{urf|to} + % Freiwurftor Surftour + +\nolig{ünftor}{ünf|tor} + % fünftorig Fünftore-Vorsprung + + + +% 9. fb -> f-b, fh -> f-h, fk -> f-k +% ---------------------------------- + +% Disable these ligatures globally. +% I can't think of a single *German* word +% for which these ligatures would not +% cross a morpheme boundary. + +\nolig{fb}{f|b} +\nolig{fh}{f|h} +\nolig{fk}{f|k} + % However, there are names of *non-German* + % origin for which the 'fk' ligature + % shouldn't be suppressed: + \keeplig{Kafka} + \keeplig{kafka} + \keeplig{Piefke} + \keeplig{piefkei} % Ostpiefkei + \keeplig{Safka} + \keeplig{Potrafke} + \keeplig{Sprafke} + \keeplig{Shirafkan} + \keeplig{Tirafkan} + \keeplig{Selfkant} + + +% 10. fj -> f-j +% ------------- + +% Suppress this ligature globally. Words +% of German origin seem to feature 'fj' +% only across morpheme boundaries. + +\nolig{fj}{f|j} + % aufjauchzen aufjaulen fünfjährig Kampfjet + % Strafjustizgebäude Dorfjugend Kopfjäger ... + + % Once more, though, there are some words of + % *non-German* (e.g., Nordic and Slavic) + % origin for which the 'fj' ligature should + % not be suppressed. Use \keeplig macros to + % treat such cases. + \keeplig{fjord} % Norwegian + \keeplig{fjör} % Icelandic, e.g., + % Isafjördur and Ísafjörður + \keeplig{Ísafjarðarbær} % city 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) + + +% 11. fff -> ff-f +% --------------- + % Just in case there's a font that + % features a triple-f ligature: + +\nolig{fff}{ff|f} + % grifffest Stofffarbe Schifffahrt + + % This macro will also break up any 'fffl' + % ligatures into 'ff' and 'fl' parts. + % Examples: Sauerstoffflasche Stofffleck + % Schlifffläche Kunststoffflügel diff --git a/Master/texmf-dist/tex/lualatex/selnolig/selnolig.lua b/Master/texmf-dist/tex/lualatex/selnolig/selnolig.lua new file mode 100644 index 00000000000..0b48951cc7e --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/selnolig/selnolig.lua @@ -0,0 +1,197 @@ +-- Lua code for the selnolig package, to be loaded +-- with an instruction such as +-- \directlua{ require("selnolig.lua") } +-- from a (Lua)LaTeX .sty file. +-- +-- Author: Mico Loretan (loretan dot mico at gmail dot com) +-- (with crucial contributions by Taco Hoekwater, +-- Patrick Gundlach, and Steffen Hildebrandt) +-- +-- The entire selnolig 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". + +selnolig = { } +selnolig.module = { + name = "selnolig", + version = "0.216", + date = "2013/05/25", + description = "Selective suppression of typographic ligatures", + author = "Mico Loretan", + copyright = "Mico Loretan", + license = "LPPL 1.3 or later" +} + +-- Define variables corresponding to various text nodes +-- (cf. section 8.1.2 of LuaTeX reference guide) +local hlist = node.id('hlist') +local vlist = node.id('vlist') +local rule = node.id('rule') +local ins = node.id('ins') +local mark = node.id('mark') +local adjust = node.id('adjust') +local disc = node.id('disc') +local math = node.id('math') +local glue = node.id("glue") -- +local kern = node.id('kern') +local penalty = node.id('penalty') +local glyph = node.id('glyph') -- +local margin_kern = node.id('margin_kern') + +-- see section 8.1.4 for whatsit nodes: +local whatsit = node.id("whatsit") -- + +local userdefined + +for n,v in pairs ( node.whatsits() ) do + if v == 'user_defined' then userdefined = n end +end + +local identifier = 123456 -- any unique identifier +local noliga={} +local keepliga={} -- String -> Boolean +debug=false + +function debug_info(s) + if debug then + texio.write_nl(s) + end +end + +local blocknode = node.new(whatsit, userdefined) +blocknode.type = 100 +blocknode.user_id = identifier + +local prefix_length = function(word, byte) + return unicode.utf8.len( string.sub(word,0,byte) ) +end + + -- Problem: string.find and unicode.utf8.find return + -- the byte-position at which the pattern is found + -- instead of the character-position. Fix this by + -- providing a dedicated string search function. + +local unicode_find = function(s, pattern, position) + -- Start by correcting the incoming position + if position ~= nil then + -- debug_info("Position: "..position) + sub = string.sub(s, 1, position) + position=position+string.len(sub) - unicode.utf8.len(sub) + -- debug_info("Corrected position: "..position) + end + -- Now execute find and fix it accordingly + byte_pos = unicode.utf8.find(s, pattern, position) + if byte_pos ~= nil then + -- "convert" byte_pos to "unicode_pos" + return unicode.utf8.len( string.sub(s, 1, byte_pos) ) + else + return nil + end +end + +function process_ligatures(nodes,tail) + local s={} + local current_node=nodes + local build_liga_table = function(strlen,t) + local p={} + for i = 1, strlen do + p[i]=0 + end + for k,v in pairs(t) do + -- debug_info("Match: "..v[3]) + local c= unicode_find(noliga[v[3]],"|") + local correction=1 + while c~=nil do + --debug_info("Position "..(v[1]+c)) + p[v[1]+c-correction] = 1 + c = unicode_find(noliga[v[3]],"|",c+1) + correction = correction+1 + end + end + --debug_info("Liga table: "..table.concat(p, "")) + return p + end + local apply_ligatures=function(head,ligatures) + local i=1 + local hh=head + local last=node.tail(head) + for curr in node.traverse_id(glyph,head) do + if ligatures[i]==1 then + debug_info("Inserting nolig whatsit before glyph: " ..unicode.utf8.char(curr.char)) + node.insert_before(hh,curr, node.copy(blocknode)) + hh=curr + end + last=curr + if i==#ligatures then + -- debug_info("Leave node list on position: "..i) + break + end + i=i+1 + end + if(last~=nil) then + debug_info("Last char: "..unicode.utf8.char(last.char)) + end + end + for t in node.traverse(nodes) do + if t.id==glyph then + s[#s+1]=unicode.utf8.char(t.char) + -- Prior to version 0.216, the next instruction was + -- coded simply as "elseif (t.id==glue) then" + elseif ( t.id==glue or t.id==rule or t.id==kern ) then + local f=string.gsub(table.concat(s,""),"[\\?!,\\.]+","") + local throwliga={} + for k,v in pairs (noliga) do + local count=1 + local match = string.find(f,k) + while match do + count = match + keep = false + debug_k1 = "" + for k1,v1 in pairs (keepliga) do + if v1 and string.find(f,k1) and string.find(k1,k) then + debug_k1=k1 + keep=true + break + end + end + if not keep then + debug_info("pattern match: "..f .." - "..k) + local n = match + string.len(k) - 1 + table.insert(throwliga,{prefix_length(f,match),n,k}) + else + debug_info("pattern match nolig and keeplig: "..f .." - "..k.." - "..debug_k1) + end + match= string.find(f,k,count+1) + end + end + if #throwliga==0 then + -- debug_info("No ligature suppression for: "..f) + else + debug_info("Do ligature suppression for: "..f) + local ligabreaks = build_liga_table(f:len(),throwliga) + apply_ligatures(current_node,ligabreaks) + end + s = {} + current_node = t + end + end +end -- end of function process_ligatures(nodes,tail) + +function suppress_liga(s,t) + noliga[s] = t +end + +function always_keep_liga(s) + keepliga[s] = true +end + +function enableselnolig() + luatexbase.add_to_callback( "ligaturing", + process_ligatures, "Suppress ligatures selectively", 1 ) +end + +function disableselnolig() + luatexbase.remove_from_callback( "ligaturing", + "Suppress ligatures selectively" ) +end diff --git a/Master/texmf-dist/tex/lualatex/selnolig/selnolig.sty b/Master/texmf-dist/tex/lualatex/selnolig/selnolig.sty new file mode 100644 index 00000000000..7d56624a157 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/selnolig/selnolig.sty @@ -0,0 +1,251 @@ +% !TeX root = selnolig.tex +% !TEX TS-program = lualatex + +% 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: Preliminaries +% --------------------- + +\def\selnoligpackagename{selnolig} +\def\selnoligpackageversion{0.216} +\def\selnoligpackagedate{2013/05/25} + +% Announce who we are. Issue warning message if we're +% not running under LuaLaTeX. + +\typeout{=== Package \selnoligpackagename, + Version \selnoligpackageversion, + Date \selnoligpackagedate ===} +\ProvidesPackage{selnolig}[\selnoligpackagedate] + +\RequirePackage{ifluatex} + +\ifluatex + \RequirePackage{luatexbase,luacode,expl3} +\else + \typeout{ ======================================= } + \typeout{ WARNING WARNING WARNING } + \typeout{ --------------------------------------- } + \typeout{ The ligature suppression macros of the } + \typeout{ selnolig package *require* LuaLaTeX. } + \typeout{ Because you're NOT running this package } + \typeout{ under LuaLaTeX, ligature suppression } + \typeout{ *can not* be performed. } + \typeout{=========================================} +\fi + + +% If the 'fontspec' package isn't loaded by the time +% the '\begin{document}' directive is encoutered, issue +% an error message and exit. + +\AtBeginDocument{% +\ifluatex + \@ifpackageloaded{fontspec}{}{% + \PackageError{selnolig}{% + ========================================== \MessageBreak + Error Alert Error Alert \MessageBreak + ------------------------------------------ \MessageBreak + The selnolig package *requires* the \MessageBreak + 'fontspec' package, but it hasn't been \MessageBreak + loaded. Exiting now. \MessageBreak + ===========================================} + } +\fi +} + +% Set up some fundamental Boolean variables, their +% default values, and define the user options. + +% The main language options are 'english' and 'german'. +% We provide the option 'otherlang' option just in case +% a user wants to provide ligature suppression patterns +% for languages other than English and German. + +\newif\if@english\@englishfalse +\newif\if@german\@germanfalse +\newif\if@otherlang\@otherlangfalse + +\DeclareOption{english}{\@englishtrue} +% synonymous options: + \DeclareOption{usenglish}{\@englishtrue} + \DeclareOption{ukenglish}{\@englishtrue} + \DeclareOption{USenglish}{\@englishtrue} + \DeclareOption{UKenglish}{\@englishtrue} + \DeclareOption{american}{\@englishtrue} + \DeclareOption{british}{\@englishtrue} + \DeclareOption{canadian}{\@englishtrue} + \DeclareOption{australian}{\@englishtrue} + \DeclareOption{newzealand}{\@englishtrue} + +\DeclareOption{ngerman}{\@germantrue} +% synonymous options: + \DeclareOption{german}{\@germantrue} + \DeclareOption{austrian}{\@germantrue} + \DeclareOption{naustrian}{\@germantrue} + \DeclareOption{swiss}{\@germantrue} + \DeclareOption{swissgerman}{\@germantrue} + +\DeclareOption{otherlang}{\@otherlangtrue} +% synonymous option: + \DeclareOption{otherlanguage}{\@otherlangtrue} + + +% For English, the default is to load only a fairly basic +% set of non-ligation rules pertaining to f-ligatures. +% Among them are the "standard five" (ff, fi, fl, ffi, +% and ffl) ligatures as well as the ft ligature. +% +% Two options to override this "basic" setting: +% - broadf Many more non-ligation rules for f-ligatures, +% incl. fb, fh, fj, and fk character pairs. +% - hdlig Additional ligature suppression rules for +% 'historic' and/or 'discretionary' ligatures, +% e.g., ct, sp, st, sk, th, as, is, us, fr, +% ll, et, at, and ta. + +\newif\if@broadfset\@broadfsetfalse +\DeclareOption{broadf}{\@broadfsettrue} + +\newif\if@hdligset\@hdligsetfalse +\DeclareOption{hdlig}{\@hdligsettrue} + + +% The package also provides hyphenation exception +% patterns for English and German language words. +% Loading these patterns is enabled by default. This +% can be disabled by providing the option +% 'noadditionalhyphenationpatterns'. + +\newif\if@addlhyph\@addlhyphtrue +\DeclareOption{noadditionalhyphenationpatterns}{\@addlhyphfalse} + + +% The 'basic' option automatically sets the preceding Booleans +% to 'false', even if historic and/or rare ligatures are enabled + +\DeclareOption{basic}{\@broadfsetfalse\@hdligsetfalse} + + +% Last but not least, an option to set all Boolean +% variables (other than '@addlhyph') to 'true' +% simultaneously. + +\DeclareOption{all}{% + \@englishtrue \@broadfsettrue \@hdligsettrue + \@germantrue \@otherlangtrue} + +% Finally, process all options +\ProcessOptions\relax + + + +% Part 2: Load the lua code and set up the user macros +% ---------------------------------------------------- + +\ifluatex + % Load the lua code contained in 'selnolig.lua'. + \directlua{ require("selnolig.lua") } + + % Commands to switch selnolig's routines on and off + \newcommand\selnoligon{ + \directlua{ enableselnolig() } + } + \newcommand\selnoligoff{ + \directlua{ disableselnolig() } + } + + % By default, selnolig's macros are switched on + \selnoligon + + % Record operations of selnolig package to the log + % file: Enabled via '\debugon' command + \newcommand\debugon{% + \directlua{ debug=true } + } + \newcommand\debugoff{% + \directlua{ debug=false } + } + + + % The first main user macro is called '\nolig': + \newcommand\nolig[2]{ + \directlua{ + suppress_liga( "\luatexluaescapestring{#1}", + "\luatexluaescapestring{#2}" ) + } + } + + % A second user macro allows global overriding of + % rules set by \nolig instructions: + \newcommand\keeplig[1]{ + \directlua{ + always_keep_liga( "\luatexluaescapestring{#1}" ) + } + } + +\else + % If *not* running under LuaLaTeX, provide dummy + % definitions for package's user macros. + \newcommand{\nolig}[2]{} + \newcommand{\keeplig}[1]{} + \let\selnoligon\relax + \let\selnoligoff\relax + \let\debugon\relax + \let\debugoff\relax +\fi + + +% A third user macro: '\breaklig'. This is hopefully +% easier to remember than having to type "\-\hspace{0pt}". +% (It's defined outside the \ifluatex conditional since +% it doesn't use any lua code.) + +\newcommand\breaklig{\-{\hspace{0pt}}} + + + +% Part 3: What to do if the 'english' option is set +% ------------------------------------------------- + +\if@english + % load English-language ligature suppression rules + \ifluatex + \RequirePackage{selnolig-english-patterns} + \fi + + % load additional hyphenation exception patterns + \if@addlhyph + \RequirePackage{selnolig-english-hyphex} + \fi +\fi + + +% Part 4: What to do if the 'ngerman' option is set +% ------------------------------------------------- + +\if@german + % load German-language ligature suppression rules + \ifluatex + \RequirePackage{selnolig-german-patterns} + \fi + + % load additional hyphenation exception patterns + \if@addlhyph + \RequirePackage{selnolig-german-hyphex} + \fi +\fi + + +% Part 5: What to do if the 'otherlang' option is set +% --------------------------------------------------- + +\if@otherlang + % currently nothing included +\fi |