# Overriding the German Old-Style s' When Using the Schwabacher Font

Consider

\documentclass[12pt]{article}
\usepackage{yfonts}
\begin{document}
\noindent{\textbf{\textswab{\huge{\emph{Schwabacher}}}}} \vskip 25pt
\noindent{\textbf{\textswab{\huge{\emph{Sc{h}wabac{h}er}}}}}

\vskip 25pt
\noindent{\textbf{\textswab{\huge{schwabacher font}}}}
\end{document}


which produces

Notice on the first line the close proximity of the c and the h. An uncareful glance might suggest that we do not have c followed by h but rather a d followed by a large misplaced comma.

I was easily able to ameliorate this by using {h} instead of h; the effect of which is displayed on the second line.

However, in the case of schwabacher font I so far have not been able to get the lower case s to resemble a common s; I have been able to do so in the past using a technique similar to the one described above for h (it might have been with pgothic), but I have not had success with it in this case.

QUESTION: Using the Schawacher font, how may I have a lower case s resemble such, and not the type of s one would expect to see, in say, C. F. Gauss' autograph?

Thank you.

• note that it's typographically incorrect to have a short s other than at the end of a word or morpheme; also the "ch" ligature shouldn't be broken up (unless it spans a morpheme border, as in @Davislor's example publichouse). Jul 27 at 21:51
• I am still wondering why a "long s" and "f" are so extremely similar ini Fraktur fonts. Often I can distinguish them only by very careful inspection or from context. Aug 3 at 23:49

For some reason, this works. I was inspired by this question: selnolig-package and round s (s:) in fraktur (yfonts). The two techniques shown arise, one from the cited question, the other from the cited answer.

\documentclass[12pt]{article}
\usepackage{yfonts}
\DeclareTextSymbol{\rounds}{LY}{141}
\begin{document}
\noindent{\textbf{\textswab{\huge{\emph{Schwabacher}}}}} \vskip 25pt
\noindent{\textbf{\textswab{\huge{\emph{Sc{h}wabac{h}er}}}}}

\vskip 25pt
\noindent{\textbf{\textswab{\huge{s:chwabacher font}}}}
\vskip 25pt
\noindent{\textbf{\textswab{\huge{\rounds chwabacher font}}}}
\end{document}


From the yfonts package manual (https://ctan.mirrors.hoobly.com/macros/latex/contrib/yfonts/yfonts.pdf)

Approximate translation:

2.3.3 Long and round s

The so-called closing s, which is required for correct typography in the blackletter script, is entered as the ligature s: just as in the macro-package oldgerm.

• Thank you again for a very helpful answer. Jul 27 at 18:22
• Word-boundary ligatures in TeX can be a bit weird. A bigger challenge is to typeset a long long s. I ran into this issue some years ago when working on a Metafont Arabic font. I had set things up so that, e.g., ب would be typist ﺑ at the beginning of a word, ﺒ in the middle of a word (this was the actual character at the input coding) ﺐ at the end of a word and ﺏ isolated (a little more complicated than that since after ا the initial form should be used). Unfortunately, when I would print a font table, even though it was requesting characters via \char, my characters all became ب or ﺐ Jul 27 at 18:31
• @DonHosek I would say "it's all Greek to me", but that would be misleading in this context. Jul 27 at 18:34
• @StevenB.Segletes Δεν μιλάς ελληνικά; Jul 27 at 18:37
• @DonHosek No, but Google translate does. Αμήν!! Jul 27 at 18:38

The yswab font has a bunch of ligatures, that we can inspect with tftopl yswab

(LIGTABLE
(LABEL C f)
(LIG C f O 204)
(STOP)
(LABEL C s)
(LIG O 72 O 215)
(LIG C s O 201)
(LIG C t O 202)
(LIG C z O 32)
(LIG C f O 203)
(STOP)
(LABEL O 42)
(LIG C a O 212)
(LIG C e O 221)
(LIG C o O 232)
(LIG C u O 237)
(LIG C s O 32)
(STOP)
(LABEL O 140)
(LIG O 140 O 134)
(STOP)
(LABEL O 47)
(LIG O 47 O 42)
(STOP)
(LABEL O 55)
(LIG O 55 O 173)
(STOP)
(LABEL O 173)
(LIG O 55 O 174)
(STOP)
(LABEL O 52)
(LIG C a O 211)
(LIG C e O 220)
(LIG C o O 231)
(LIG C u O 236)
(STOP)
(LABEL C c)
(LIG C h O 205)
(LIG C k O 206)
(STOP)
)


(I have omitted the KRN instruction for the sake of brevity, as they're mostly irrelevant to the topic). What does this mean?

1. f followed by f prints the glyph found at slot '204 (octal)
2. s followed by colon (octal '72) prints the glyph found at slot '215
3. s followed by s → slot '201
4. s followed by t → slot '202
5. s followed by z → slot '32
6. s followed by f → slot '203
7. double quote (octal '42) followed by a → slot '212
8. double quote followed by e → slot '221
9. double quote followed by o → slot '232
10. double quote followed by u → slot '237
11. double quote followed by s → '32
12. back quote (octal '140) followed by back quote → slot '134
13. apostrophe (octal '47) followed by apostrophe → slot '42
14. hyphen (octal '55) followed by hyphen → slot '173
15. endash (slot '173) followed by hyphen → slot '174
16. asterisk (octal '52) followed by a → slot '211
17. asterisk followed by e → slot '220
18. asterisk followed by o → slot '231
19. asterisk followed by u → slot '236
20. c followed by h → slot '205
21. c followed by k → slot '206

Here's the font table so you can see the correspondence between slots and glyphs.

and here's another representation of the same:

The ligatures 7–11 are consistent with the standard babel way of specifying the umlaut. The ligatures 16–19 provide an alternative shape of the umlaut (a small “e” above the character). The quotes and dashes are standard TeX ligatures, added for consistency (but note that the opening and closing quotes are German style).

So, for the “short s” you have to type s:; if you don't like the “ch” ligature, type c\/h

On the other hand, reading Fraktur/Schwabacher is supposed to be difficult. ;-) See the difference between ss and sf.

You can use the blacklettert1 version of the Old German fonts to be able to use standard LaTeX commands. In particular, it enables breaking ligatures up with \/, \" for umlauts and \ss for eszett.

It also lets you type your source file in German that a text editor can understand. (I’ve tested with UTF-8, but it should also work with older encodings such as Latin-1.)

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{parskip}

\DeclareFontFamily{T1}{yswab}{\hyphenchar \font =127}
\DeclareFontShape{T1}{yswab}{m}{n}{
<-> tswab
}{}

\newcommand\swabfamily{\fontencoding{T1}\fontfamily{yswab}\selectfont}
\DeclareTextFontCommand\textswab{\swabfamily}

\begin{document}
\swabfamily
Schwabacher

schwabacher font

s\/chwabacher font

füße f\"u{\ss}e

aus\/setzen

public\/house
\end{document}


You could, instead of setting up a yswab font family, define \newcommand\swabfamily{\usefont{T1}{ygoth}{m}{sl}}. This uses the substitution declared in t1ygoth.fd`, although I personally don’t consider declaring Schwabacher the “slanted” face of another family to be helpful.