summaryrefslogtreecommitdiff
path: root/fonts/yfonts-otf/doc/yfonts-otf.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/yfonts-otf/doc/yfonts-otf.ltx')
-rw-r--r--fonts/yfonts-otf/doc/yfonts-otf.ltx162
1 files changed, 83 insertions, 79 deletions
diff --git a/fonts/yfonts-otf/doc/yfonts-otf.ltx b/fonts/yfonts-otf/doc/yfonts-otf.ltx
index 09513741ad..4e51eed442 100644
--- a/fonts/yfonts-otf/doc/yfonts-otf.ltx
+++ b/fonts/yfonts-otf/doc/yfonts-otf.ltx
@@ -6,7 +6,7 @@
\usepackage[dvipsnames]{xcolor}
\usepackage[hypcap=false]{caption}
\usepackage{shortvrb}
-\usepackage{oldgerm-otf}
+\usepackage{yfonts-otf}
\usepackage{fourier-otf}
\usepackage[german,british]{babel}
\babeltags{de=german}
@@ -35,11 +35,10 @@
\newcommand*{\cmd}[1]{\texttt{\ColorVerb \textbackslash #1}}
\newcommand*{\family}[1]{\textit{#1}}
\newcommand*{\MF}{\textsf{Metafont}}
-\def\xx{\kern0pt}
\title{OpenType version of yfonts for Old German}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\version}{0.30}
+\newcommand*{\version}{0.40}
\begin{document}
\maketitle
@@ -50,9 +49,9 @@
\family{ygoth} and \family{yswab} designed by Yannis Haralambous in \MF{}
(1990).
- A style file \file{oldgerm-otf.sty} is included to load these fonts easily;
+ 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{oldgerm.sty}.
+ \file{yfonts.sty}.
A Type\,1 version of these fonts has been provided by Thorsten Bronger (2002).
@@ -68,18 +67,19 @@
\section{Usage}
-\pkg{oldgerm-otf.sty} loads \pkg{fontspec} and mimics what the
-\pkg{oldgerm} package does for the Type\,1 version: it defines three font
+\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
-font commands with arguments |\textgoth{}|, |\textfrak{}|, and |\textswab{}|.
+commands with arguments |\textgoth{}|, |\textfrak{}|, and |\textswab{}|.
-All three families are loaded with all ligatures activated, an |s| prints
-a long~\textfrak{s} (initial and middle form), the final
-round~{\frakfamily{s\hspace{1sp}}} can be coded |s:|%
+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|, produces \textfrak{ä, ë, ö, ü, ß,} as
-expected. Nowadays, most keyboards give access to the Unicode characters |ä|,
-|ë|, |ö|, |ü| and |ß|, so typing them directly is another possibility.
+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}
@@ -90,61 +90,52 @@ The OpenType feature |Alternate=0| turns \textfrak{ä, ë, ö, ü} into
It works for the \family{yfrak} and \family{yswab} families but not for
\family{ygoth} (variant not available in the original version).
-Those variants {\frakfamily\addfontfeature{Alternate=0} ä, ë, ö, ü}, can
-also be accessed by coding |*a|, |*e|, |*o|, |*u| (as in \pkg{oldgerm})
-without activating the |Alternate=0| feature.
-\addfontfeature{RawFeature=-salt} % back to default.
-
Used with the \family{ygoth} family, the |Alternate=1| feature provides
variants for the long~s and the derived ligatures:
-{\gothfamily s\xx, ss\xx, ssi, st} are turned into
-{\gothfamily\addfontfeature{Alternate=1} s\xx, ss\xx, ssi, st}.
+{\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{oldgerm-otf.sty}’s options |oldumlaut| and
+or using \pkg{yfonts-otf.sty}’s options |varumlaut| and
|gothvarlongs|, f.i.:\\
-|\usepackage[oldumlaut]{oldgerm-otf}|\\
+|\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}
-As stated in \cite{YH}, the initial and middle |s| should be long
-({\frakfamily s\kern1pt}) while the final form should be round
-({\frakfamily s\hspace{1sp}}). The OpenType |calt| feature can deal with
-this kind of requirement.
-
-\pkg{oldgerm-otf.sty} enables the |calt| feature by default, so that an |s|
-followed by a punctuation mark or a space \emph{character} is automatically
-printed as a round one ({\frakfamily s\hspace{1sp}} instead of
-{\frakfamily \kern1pt s\kern2pt}).
-The problem is that TeX turns spaces into \emph{glues} which are ignored
-by the |calt| feature.
-
-Conclusion: the |calt| feature works fine for the final |s|
-\emph{only if} it is followed by a punctuation mark (point, comma,
-semicolon, etc.). This is true for LuaTeX and XeTeX.
-
-For LuaTeX a workaround has been added in \pkg{oldgerm-otf.sty}. A null space
-character (U+200B) is added automatically after every |s| followed by
-a \emph{glue} or a \emph{penalty} (unbreakable spaces) or
-a \emph{discretionary} (compound words), thus enabling the |calt| feature to
-deal also with TeX spaces and compound words.
-With LuaTeX, the |s| should always be printed out properly, the |s:| coding
-should no longer be required%
-\footnote{I am not sure about compound words: is checking
- \emph{discretionaries} correct?}.
-
-Please note that the possibility of coding |s:| to get the round
-{\frakfamily s\hspace{1sp}} has been kept for compatibility, this implies that
-{\frakfamily aus::} has to be coded |aus::| with a double colon, the first one
-being swallowed by the ligature |s:| which prints {\frakfamily s\hspace{1sp}}.
-
-With XeTeX, the |s:| coding is still required inside compound words
-and before spaces f.i. |das: Aus:land|.
-
-\newpage
+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\\
@@ -156,9 +147,10 @@ Some ligatures may be deactivated if necessary with the command\\
\hline
Name & Default ($+$) & Optional ($-$) \\
\hline
- liga & \ffam ff &\ffam\addfontfeature{RawFeature=-liga} ff \\
- dlig & \ffam ch, ck &\ffam\addfontfeature{RawFeature=-dlig} ch, ck \\
- hlig & \ffam sf, ss\xx, st &\ffam\addfontfeature{RawFeature=-hlig} sf, ss\xx, st\\
+ 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}
@@ -168,9 +160,10 @@ Some ligatures may be deactivated if necessary with the command\\
\hline
Name & Default ($+$) & Optional ($-$) \\
\hline
- liga & \ffam ff &\ffam\addfontfeature{RawFeature=-liga} ff \\
- dlig & \ffam ch, ck &\ffam\addfontfeature{RawFeature=-dlig} ch, ck \\
- hlig & \ffam sf, ss\xx, st &\ffam\addfontfeature{RawFeature=-hlig} sf, ss\xx, st \\
+ 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}
@@ -180,18 +173,21 @@ Some ligatures may be deactivated if necessary with the command\\
\hline
Name & Default ($+$) & Optional ($-$) \\
\hline
- liga & \ffam ff, ffi, ffl, fi, fl, ij
- &\ffam\addfontfeature{RawFeature=-liga} ff, ffi, ffl, fi, fl, ij \\
- dlig & \ffam ch, ck, ct, qz, tz
- &\ffam\addfontfeature{RawFeature=-dlig} ch, ck, ct, qz, tz \\
- hlig & \ffam sf, ss\xx, st, ssi
- &\ffam\addfontfeature{RawFeature=-hlig} sf, ss\xx, st, ssi \\
- alig & \ffam ba, be, bo, da, de, do, ha, he, ho, ho,
- &\ffam\addfontfeature{RawFeature=-alig}
- ba, be, bo, da, de, do, ha, he, ho, \\
- &\ffam ll, pa, pe, po, pp, qq, va, ve, vu
- &\ffam\addfontfeature{RawFeature=-alig}
- ll, pa, pe, po, pp, qq, va, ve, vu\\
+ 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}
@@ -201,14 +197,22 @@ 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, Gotish and
+\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{OG} The \pkg{oldgerm} package for use with \LaTeXe,
- \textit{Frank Mittelbach}, (2020).
+\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}