summaryrefslogtreecommitdiff
path: root/fonts/yfonts-otf/doc/yfonts-otf.ltx
blob: 4e51eed4425b5cb5c004da11f72a0550533b7f97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
\RequirePackage{pdfmanagement-testphase}
\DeclareDocumentMetadata{pdfstandard=A-2b, lang=en-GB}
\documentclass[paper=a4]{scrartcl}
% Packages
\usepackage{graphics, array}
\usepackage[dvipsnames]{xcolor}
\usepackage[hypcap=false]{caption}
\usepackage{shortvrb}
\usepackage{yfonts-otf}
\usepackage{fourier-otf}
\usepackage[german,british]{babel}
\babeltags{de=german}
\usepackage[english]{varioref}
\usepackage{realscripts}
\usepackage{microtype}
\usepackage{hyperref}
\hypersetup{pdftitle={yfonts-otf User’s Guide},
            pdfauthor={Daniel FLIPO},
            colorlinks
            }
\newcommand*{\hlabel}[1]{\phantomsection\label{#1}}
%
\MakeShortVerb{\|}

%verbatim : modifier  \verbatim@font
\def\ColorVerb{\color{MidnightBlue}}
\makeatletter
\let\verbatim@fontORI\verbatim@font
\def\verbatim@font{\ColorVerb\verbatim@fontORI}
\makeatother

\newcommand*{\pkg}[1]{\texttt{\ColorVerb #1}}
\newcommand*{\opt}[1]{\texttt{\ColorVerb #1}}
\newcommand*{\file}[1]{\texttt{\ColorVerb #1}}
\newcommand*{\cmd}[1]{\texttt{\ColorVerb \textbackslash #1}}
\newcommand*{\family}[1]{\textit{#1}}
\newcommand*{\MF}{\textsf{Metafont}}

\title{OpenType version of yfonts for Old German}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
\newcommand*{\version}{0.40}

\begin{document}
\maketitle
\thispagestyle{empty}

\begin{abstract}
  This bundle provides OpenType versions of the Old German fonts \family{yfrak},
  \family{ygoth} and \family{yswab} designed by Yannis Haralambous in \MF{}
  (1990).

  A style file \file{yfonts-otf.sty} is included to load these fonts easily;
  it is meant as a replacement for LuaLaTeX and XeLaTeX of
  \file{yfonts.sty}.

  A Type\,1 version of these fonts has been provided by Thorsten Bronger (2002).

  The \family{yinit} font (initials) is already available as in OpenType format,
  thanks to Élie Roux.

  Please beware of the \emph{experimental} status of the current
  version~(\version).

  All three fonts are covered by OFL licence, style file and documentation
  are under LPPL-1.3 licence.
\end{abstract}

\section{Usage}

\pkg{yfonts-otf.sty} loads \pkg{fontspec} and mimics what the
\pkg{yfonts} package does for the  Type\,1 version: it defines three font
families |\frakfamily|, |\gothfamily| and |\swabfamily| and the corresponding
commands with arguments |\textgoth{}|, |\textfrak{}|, and |\textswab{}|.

All three families are loaded with all ligatures activated, an |s|
automatically prints a long~\textfrak{s} (initial and middle form) or a
round~{\frakfamily{s\hspace{1sp}}} (final form)%
\footnote{See section~\ref{sec:long-s} for details.}.
Coding |"a|, |"e|, |"o|, |"u|, |"s| is only supported through Babel’s
German shorthands to produce \textfrak{ä, ë, ö, ü, ß}.
Nowadays, most keyboards give access to the Unicode characters |ä|,
|ë|, |ö|, |ü| and |ß|, so typing them directly is a better alternative.

In the \family{yfrak} family, the command |\etc| prints {\etc}
a variant of the \textfrak{usw} abbreviation while |\Jvar| prints {\Jvar}
a variant of \textfrak{J} (suggestion of Daniel Sanders, mentioned by Yannis).

The OpenType feature |Alternate=0| turns \textfrak{ä, ë, ö, ü} into
{\frakfamily\addfontfeature{Alternate=0} ä, ë, ö, ü}.
It works for the \family{yfrak} and \family{yswab} families but not for
\family{ygoth} (variant not available in the original version).

Used with the \family{ygoth} family, the |Alternate=1| feature provides
variants for the long~s and the derived ligatures:
{\gothfamily \longs, s\longs, ssi, st} are turned into
{\gothfamily\addfontfeature{Alternate=1} \longs, s\longs, ssi, st}.

\pagebreak[4]
These features can be added locally anywhere in the document body, f.i.:\\
|\frakfamily\addfontfeature{Alternate=0}|\\
or using \pkg{yfonts-otf.sty}’s options |varumlaut| and
|gothvarlongs|, f.i.:\\
|\usepackage[varumlaut]{yfonts-otf}|\\
which applies globally to both \family{yfrak} and \family{yswab} families.

It is also possible to use these fonts without loading \pkg{yfonts-otf.sty},
then I recommend to call them by \emph{file name}, as XeTeX cannot find fonts in
the texmf tree by \emph{font name}%
\footnote{Unless they have been declared as \emph{System} fonts…}, f.i.:\\
|\setmainfont{yfrak.otf}[|\texttt{\ColorVerb<\textit{options}>}|]|
or |\fontspec{yswab.otf}[|\texttt{\ColorVerb<\textit{options}>}|]| this
\linebreak[4] will work with both LuaTeX and XeTeX.

\section{Coding the long/round s}
\label{sec:long-s}

The traditional German rules for long ({\frakfamily\longs\kern1pt}) and
round ({\frakfamily\shorts}) are somewhat complex,
a summary can be found in the Unifraktur Maguntia Manual
(\file{Dokumentation\_en\_fraktur.pdf}, \cite{UF}).

\pkg{yfonts-otf} borrows the automatic choice from the Unifraktur Maguntia
fonts. It uses OpenType features (|ss11|), according to the authors it fails
in less than 1~\% of the occurences.
When the algorithm fails, it can be corrected by typing |\shorts| or
|\longs| instead of {\ColorVerb s}.

An alias is provided for this feature:
|Style=longs| is the same as |StylisticSet=11| or |RawFeature=+ss11|.

Experts might want to type {\ColorVerb\longs} (U+17F) or {\ColorVerb s}
(U+073) to keep the full control of the {\ColorVerb s} form; this requires
either to deactivate the |ss11| feature after loading  the \pkg{yfonts-otf}
package, or to use a direct
|\setmainfont{}[]| or |\fontspec{}[]| call.


%\newpage
\section{List of optional ligatures}

Some ligatures may be deactivated if necessary with the command\\
|\addfontfeature{RawFeature=-|\textit{\ColorVerb ligname}|}|

\vspace{\baselineskip}
|\frakfamily| : \let\ffam\frakfamily
\begin{tabular}{>\rmfamily l|l| l}
  \hline
  Name & Default ($+$) & Optional ($-$) \\
  \hline
  rlig & \ffam ch, ck, st, tz
       &\ffam\addfontfeature{RawFeature=-rlig} ch, ck, st, tz \\
  liga &\ffam ff, sf, \longs\longs
       &\ffam\addfontfeature{RawFeature=-liga} ff, sf, \longs\longs \\
  \hline
\end{tabular}

\vspace{.5\baselineskip}
|\swabfamily| : \let\ffam\swabfamily
\begin{tabular}{>\rmfamily l|l| l}
  \hline
  Name & Default ($+$) & Optional ($-$) \\
  \hline
  rlig &\ffam ch, ck, st, tz
       &\ffam\addfontfeature{RawFeature=-rlig} ch, ck, st, tz \\
  liga &\ffam ff, sf, \longs\longs
       &\ffam\addfontfeature{RawFeature=-liga} ff, sf, \longs\longs \\
  \hline
\end{tabular}

\vspace{.5\baselineskip}
|\gothfamily| : \let\ffam\gothfamily
\begin{tabular}{>\rmfamily l|l| l}
  \hline
  Name & Default ($+$) & Optional ($-$) \\
  \hline
  rlig &\ffam ch, ck, st, {\addfontfeature{Alternate=1} st}, tz
       &\ffam\addfontfeature{RawFeature=-rlig}
              ch, ck, st, {\addfontfeature{Alternate=1} st}, tz\\
  liga &\ffam ct, ff, ffi, ffl, fi, fl, ij, ll,
       &\ffam\addfontfeature{RawFeature=-liga}
               ct, ff, ffi, ffl, fi, fl, ij, ll,\\
       &\ffam  \longs\longs, ssi, \addfontfeature{Alternate=1} \longs\longs, ssi,
       &\ffam\addfontfeature{RawFeature=-liga}
          \longs\longs, ssi, \addfontfeature{Alternate=1} \longs\longs, ssi,\\
  hlig &\ffam ba, be, bo, da, de, do, ha, he, ho,
       &\ffam\addfontfeature{RawFeature=-hlig}
              ba, be, bo, da, de, do, ha, he, ho, \\
       &\ffam pa, pe, po, pp, qq, va, ve, vu
       &\ffam\addfontfeature{RawFeature=-hlig}
              pa, pe, po, pp, qq, va, ve, vu\\
  \hline
\end{tabular}

\section{Samples}

A practical usage of these fonts can be found in file \file{Erlkonig.ltx} to
be compiled with \pkg{lualatex}.
It shows the beginning of Goethe’s Erlkönig poem typeset with each of them.

\section{Acknowledgements}

Great thanks to Keno Wehr for carefully testing the initial version and
making valuable suggestions for improvements.

\begin{thebibliography}{99}
\bibitem{YH} Typesetting Old German: Fraktur, Schwabacher, Gotisch and
  Initials, \\ \textit{Yannis Haralambous},
  \href{https://www.tug.org/TUGboat/tb12-1/tb31hara.pdf}%
  {TUGboat 12\#1 (1991), pages 129–138}.

\bibitem{WS} The \pkg{yfonts} package for use with \LaTeXe,
  \textit{Walter Schmidt}, (2019).

\bibitem{UF} The \href{https://sourceforge.net/projects/unifraktur/}%
  {Unifraktur Maguntia} TrueType fonts (2017).
\end{thebibliography}

\vspace{3\baselineskip}
\centerline{\Huge\decotwo}
\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% coding: utf-8
%%% End: