A somewhat more complete testfile with a couple of options is below. My context installation is not current so please double check, but I think it boils down to this:  apostrophes seem not to be considered to be part of a word. Once I enable wolfin under \startlanguageoptions[en] it will disable the fi-ligature everywhere below, but adding the word variants with an apostroph doesn’t do anything, neither to the explicit wordlist under startlanguageoptions, nor in one of the additional goodies files.

 

Denis

 

Von: Thangalin <thangalin@gmail.com>
Gesendet: Dienstag, 7. Juni 2022 02:14
An: Maier, Denis Christian (UB) <denis.maier@unibe.ch>
Cc: mailing list for ConTeXt users <ntg-context@ntg.nl>; Bruce Horrocks <ntg@scorecrow.com>
Betreff: Re: [NTG-context] Contractions in ligature suppression word list

 

Here's a short example (version 2022.05.11 11:36):

 

\setuplanguage[en][goodies={lang-en.llg}]

\starttext
  % Expected: no ligature; actual: as expected
  wolfish

  % Expected: no ligatures; actual: ligature
  wolfing
  wolfin'
  wolfin’
\stoptext

 

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

\startluacode

-- Testfile for fi ligature over suffix boundary

 

local testoversuffixboundary = {

  name    = "test-over-suffix-boundary",

  options = {

    {

    patterns = {fi  = "f|i",},

    words = [[ wolf ]],

                suffixes = [[

    in'

                in’

                ]],

    },

  },

}

 

-- Testfile for fi ligature in word with apostroph

local testwithsuffix = {

  name    = "test-with-suffix",

  options = {

    {

    patterns = {fi  = "f|i",},

    words = [[ wolfin' wolfin’ ]],

    },

  },

}

 

-- which table do we want to test?

-- table.save("test.llg",testoversuffixboundary)

table.save("test",testwithsuffix)

\stopluacode

 

\setuplanguage[en][goodies={lang-en.llg,test.llg}]

 

% explicit suppression

\startlanguageoptions[en]

wolf|in' % this here doesn't do anything

wolf|in’ % this here doesn't do anything either

%wolf|in % this here disables the fi ligature across the board for all the words below

\stoplanguageoptions

               

 

\mainlanguage[en]

 

\starttext

 

% defined in lang-en.llg => works

   wolfish

   wolfing

 

  % Expected: no ligatures; actual: ligature

  wolfin'

  wolfin’

 

  % shibboleth

  wolfin 

  

\stoptext