The standard techniques for suppressing ligatures, such as inserting an empty group, or placing the characters that would normally form a ligature individually in groups, do not seem to work for ligatures that are formed on account of being terminal.
For example:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[longs]{pacaslon}
\begin{document}
foss. fosse.
\end{document}
Here, the double ess in "foss" becomes an long-ess-short-ess ligature (the character is basically the same as an eszet, and uses that codepoint in the Adobe fonts), while that in "fosse" becomes a double-long-ess ligature. There is a rule that when a double-ess occurs at the end of an abbreviation before a full stop (period), it should not remain a double-long-ess ligature, not a long-ess-short-ess.
So my question is, how can I suppress that ligature? Note that double ess becomes long-ess-short-ess at the end of a word, so merely writing e.g. "{foss}." won't change the outcome. Also, writing "fo{ſ}{ſ}" (i.e. separately grouping two long esses) won't work, as I want a long ess ligature. And that doesn't have a code point, so I can't easily write it, but if I could, it would immediately, finding itself at the end of a word, turn back into a long-ess-short-ess.
Currently, the only solution I can find is to remove the ligatures turning double-long-ess into long-ess-short-ess before period from the TFM files, but then I have manually to add an empty group {} before almost every period (i.e. every period EXCEPT those denoting an abbreviation), which is error-prone and tedious.
Since I can't find the acaslon package online any more, I've put a copy up at: http://rrt.adsensus.net/acaslon.zip
foss\noboundary.– egreg Jul 05 '13 at 11:48selnoligpackage, as it lets you define ligature suppression rules for the word(s) you mention. – Mico Jul 05 '13 at 21:55