How to force use of a normal 's' and how to suppress ligatures when using Gothic font?

I want to use a gothic font for some headings, but the ‘s’ character looks more like a ‘f’ which makes it really hard to read at times. I know it’s meant to look like that, but according to the Font Catalogue there should also be a normal ‘s’ available.

But how do I force use of that ‘s’ instead of the ‘f’-looking ‘s’?

MWE:

\documentclass{standalone}

\usepackage{yfonts}

\begin{document}
\gothfamily
The quick fox jumps over the sleazy dog
\end{document}

enter image description here

But here’s how it looks in the Font Catalogue (notice the ‘s’ in ‘jumps’):

enter image description here

Also, is there a way of preventing ligatures? I would like ‘dog’ to be written as ‘d og’ since it’s a bit hard to read otherwise.

Solutions Collecting From Web of "How to force use of a normal 's' and how to suppress ligatures when using Gothic font?"

The gothic font by Yiannis Haralambous is meant to reproduce old German typography, which sported several ligatures. The problem of choosing between a long and a short s is quite difficult to solve automatically, because it’s not simply context depending, but knowledge of word fragments is necessary when compound words are involved.

So the method for choosing between the two variants is manual: type s for a “long s” and s: for a short one.

If you need to avoid a ligature, add \/ between the letters (this will hinder hyphenation, though).

\documentclass[border=2]{standalone}

\usepackage{yfonts}

\begin{document}
\gothfamily
The quick fox jumps: over the sleazy d\/og
\end{document}

enter image description here

Depending on the situation, \kern0pt might be better than \/ (which adds the italic correction). For the ygoth font the problem is irrelevant, because only the en-dash and em-dash have a nonzero italic correction.

Just for information. The font defines ligatures for the pairs or triples

(short s)(long s) (short s)t (short s)(short s) (short s)(short s)i
ae
be ba bo
ch ck ct
da de do
ha he ho
ij
ff fi fl ffi ffl
ll
pa pe po pp
qq qz
(long s)(long s) (long s)t (long s)z
oe
tz
va ve vu

The other ligatures are

s: for the short s
"a "e "o "u for the vowels with umlaut
"s for the es-zet

enter image description here

Here’s the test document:

\documentclass[border=8,varwidth]{standalone}

\usepackage{yfonts}

\begin{document}
\gothfamily

s:s s:t s:s s:si\par
ae\par
be ba bo\par 
ch ck ct\par
da de do\par
ha he ho ij\par
ff fi fl ffi ffl\par
ll\par
pa pe po pp\par
qq qz\par
ss st sz\par
oe\par
tz\par
va ve vu\par
"a "e "o "u "s

\end{document}

Also, is there a way of preventing ligatures?

If you can run LuaLaTeX instead of pdfLaTeX, you could make use of the selnolig package to suppress ligatures on a document-wide basis. The package was designed mainly to let people suppress ligatures selectively. However, it can also be used to suppress ligatures globally. (Full disclosure: I’m the principal author of the selnolig package.)

For instance, if you wanted to suppress all da, de, and do ligatures everywhere in a document, you could do so by providing the following statement (after having loaded selnolig first, of course):

\holig{d[aeo]}{d|a}

Here, the character | denotes the place where the ligature (or, in this case, any of three ligatures) should be suppress. Note the regex-like syntax, which permits one ligature suppression rule to suppress three separate ligatures.

The following screenshot shows two lines of output — the first with ligature suppression enabled, the second with ligature suppression turned off.

enter image description here

% !TEX TS-program = lualatex
\documentclass[border=2, preview]{standalone}
\usepackage{fontspec}
\usepackage{yfonts}
\usepackage{selnolig} % load package *without* a language option
\nolig{d[aeo]}{d|x} %% set up a ligature suppression rule
\begin{document}
\gothfamily
day den dog

\selnoligoff % turn off selnolig's algorithms

day den dog
\end{document}