diff options
Diffstat (limited to 'fonts/yfonts-otf/doc/yfonts-otf.ltx')
-rw-r--r-- | fonts/yfonts-otf/doc/yfonts-otf.ltx | 162 |
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} |