From 5b81f695c760bef2635ddd62b865292509c81d52 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 8 Aug 2022 20:58:40 +0000 Subject: yfonts-otf (8aug22) git-svn-id: svn://tug.org/texlive/trunk@64075 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/fonts/yfonts-otf/Erlkonig.ltx | 2 +- .../texmf-dist/doc/fonts/yfonts-otf/Erlkonig.pdf | Bin 79307 -> 79385 bytes Master/texmf-dist/doc/fonts/yfonts-otf/README.md | 15 +- .../texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.ltx | 162 +++++++++++---------- .../texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.pdf | Bin 64839 -> 68546 bytes .../fonts/opentype/public/yfonts-otf/yfrak.otf | Bin 40320 -> 42296 bytes .../fonts/opentype/public/yfonts-otf/ygoth.otf | Bin 47528 -> 48156 bytes .../fonts/opentype/public/yfonts-otf/yswab.otf | Bin 37220 -> 39256 bytes .../tex/latex/yfonts-otf/oldgerm-otf.sty | 93 +----------- .../texmf-dist/tex/latex/yfonts-otf/yfonts-otf.sty | 54 +++++++ 10 files changed, 157 insertions(+), 169 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/yfonts-otf/yfonts-otf.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.ltx b/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.ltx index 1aacc668c35..4ccc0f92086 100644 --- a/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.ltx +++ b/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.ltx @@ -1,7 +1,7 @@ \documentclass[12pt,a4paper,german]{article} \usepackage[top=40mm,left=40mm,right=40mm]{geometry} -\usepackage{oldgerm-otf} +\usepackage{yfonts-otf} \usepackage{babel} \usepackage{lettrine} diff --git a/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.pdf b/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.pdf index bd64dee2e5e..4668104f156 100644 Binary files a/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.pdf and b/Master/texmf-dist/doc/fonts/yfonts-otf/Erlkonig.pdf differ diff --git a/Master/texmf-dist/doc/fonts/yfonts-otf/README.md b/Master/texmf-dist/doc/fonts/yfonts-otf/README.md index 000b145d772..5c6a3d1a6b7 100644 --- a/Master/texmf-dist/doc/fonts/yfonts-otf/README.md +++ b/Master/texmf-dist/doc/fonts/yfonts-otf/README.md @@ -9,7 +9,7 @@ This bundle provides OpenType versions of the Old German fonts `yfrak’, ## Contents * yfrak.otf, ygoth.otf, yswab.otf: the three OpenType fonts -* oldgerm-otf.sty LaTeX style file defining the three font families +* yfonts-otf.sty LaTeX style file defining the three font families * yfonts-otf.pdf Documentation in PDF format * yfonts-otf.ltx LaTeX source of yfonts-otf.pdf * Erlkonig.pdf Example: Goethe's poem typeset with these fonts @@ -21,7 +21,7 @@ This bundle provides OpenType versions of the Old German fonts `yfrak’, This package is meant to be installed automatically by TeXLive, MikTeX, etc. Otherwise, the package can be installed under TEXMFHOME or TEXMFLOCAL, f.i. yfonts-otf in directory texmf-local/fonts/opentype/public/yfonts-otf/ -and oldgerm-otf.sty in directory texmf-local/tex/latex/yfonts-otf/. +and oldgerm-otf.sty in directory texmf-local/tex/latex/yfonts-otf/. Documentation files and their sources can go to directory texmf-local/doc/fonts/public/yfonts-otf/ @@ -40,6 +40,17 @@ Either version 1.3 or, at your option, any later version. ## Changes * First public version: 0.30 + +* v0.40: + Substantial changes following suggestions by Keno Wehr: + - oldgerm-otf.sty has been renamed to yfonts-otf.sty, oldgerm-otf.sty + is kept for compatibility; it inputs yfonts-otf.sty. + - Ligatures features reorganised: dlig and alig features deleted, + only rlig, liga (and hlig for ygoth only) are used. + - Ligature tz was missing in yswab.otf, added now. + - Hungarian Umlaut was missing in yfrak.otf and yswab.otf, added now. + - The s variant (long/short) is chosen automatically (code borrowed from + Unifraktur Maguntia). --- Copyright 2022- Daniel Flipo diff --git a/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.ltx b/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.ltx index 09513741ad0..4e51eed4425 100644 --- a/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.ltx +++ b/Master/texmf-dist/doc/fonts/yfonts-otf/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} diff --git a/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.pdf b/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.pdf index af2fc0a1b3a..4b1f6c78e47 100644 Binary files a/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.pdf and b/Master/texmf-dist/doc/fonts/yfonts-otf/yfonts-otf.pdf differ diff --git a/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yfrak.otf b/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yfrak.otf index afb7cd6b6ed..696d55a5209 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yfrak.otf and b/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yfrak.otf differ diff --git a/Master/texmf-dist/fonts/opentype/public/yfonts-otf/ygoth.otf b/Master/texmf-dist/fonts/opentype/public/yfonts-otf/ygoth.otf index 83f9c23bf0f..f032b71ac11 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/yfonts-otf/ygoth.otf and b/Master/texmf-dist/fonts/opentype/public/yfonts-otf/ygoth.otf differ diff --git a/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yswab.otf b/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yswab.otf index fd802c643ff..d56fbf1e1d7 100644 Binary files a/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yswab.otf and b/Master/texmf-dist/fonts/opentype/public/yfonts-otf/yswab.otf differ diff --git a/Master/texmf-dist/tex/latex/yfonts-otf/oldgerm-otf.sty b/Master/texmf-dist/tex/latex/yfonts-otf/oldgerm-otf.sty index e58caaeb909..57a513f88be 100644 --- a/Master/texmf-dist/tex/latex/yfonts-otf/oldgerm-otf.sty +++ b/Master/texmf-dist/tex/latex/yfonts-otf/oldgerm-otf.sty @@ -1,89 +1,8 @@ \NeedsTeXFormat{LaTeX2e}[2019-01-01] -\def\fileversion{0.30} -\def\filedate{2022-07-18} -\ProvidesPackage{oldgerm-otf}[\filedate\space\fileversion] -\RequirePackage{iftex}[2019-10-24] -\newif\ifOGotf@oldumlaut -\newif\ifOGotf@gothlongs -\DeclareOption{oldumlaut}{\OGotf@oldumlauttrue} -\DeclareOption{gothvarlongs}{\OGotf@gothlongstrue} -\ProcessOptions -\iftutex - \RequirePackage{fontspec} - \ifOGotf@gothlongs - \newfontfamily\gothfamily{ygoth.otf}% - [Alternate=1, RawFeature=+hist;+rlig;+liga;+dlig;+hlig;+alig;+calt] - \else - \newfontfamily\gothfamily{ygoth.otf}% - [RawFeature=+hist;+rlig;+liga;+dlig;+hlig;+alig;+calt] - \fi - \ifOGotf@oldumlaut - \newfontfamily\swabfamily{yswab.otf}% - [Alternate=0, RawFeature=+hist;+rlig;+liga;+dlig;+hlig;+calt] - \newfontfamily\frakfamily{yfrak.otf}% - [Alternate=0, RawFeature=+hist;+rlig;+liga;+dlig;+hlig;+calt] - \else - \newfontfamily\swabfamily{yswab.otf}% - [RawFeature=+hist;+rlig;+liga;+dlig;+hlig;+calt] - \newfontfamily\frakfamily{yfrak.otf}% - [RawFeature=+hist;+rlig;+liga;+dlig;+hlig;+calt] - \fi - \DeclareTextFontCommand{\textgoth}{\gothfamily} - \DeclareTextFontCommand{\textswab}{\swabfamily} - \DeclareTextFontCommand{\textfrak}{\frakfamily} - \DeclareTextCommand{\Jvar}{TU}{\textfrak{\char"E960}} - \DeclareTextCommand{\etc}{TU}{\textfrak{\char"E961}} - \ifluatex - % This function adds character U+200B (zero width space) when an "s" - % is followed by a TeX space (glue or penalty or a disc) - % so that it is not turned into a long "s" by the "calt" feature. - \directlua{% - function add_eow_char (head) - local eow = 0x200B - local GLUE = node.id("glue") - local GLYPH = node.id("glyph") - local PENALTY = node.id("penalty") - local DISC = node.id("disc") - local Longs = - {[string.byte("s")] = true} - local new_node = node.new - local copy_node = node.copy - local insert_node_after = node.insert_after - % Perserve TeX's kerning - head = node.kerning(head) - % wordbd is the zero width node to add - local wordbd = new_node(GLYPH) - for item in node.traverse_id(GLYPH, head) do - if Longs[item.char] then - local fid = item.font - % Check if char U+200B is available in the current font: - % code borrowed from file "luaotfload-auxiliary.lua". - local fontdata = fonts.hashes.identifiers[fid] - if fontdata and fontdata.characters[eow] then - local nxt = item.next - if not nxt or nxt.id == GLUE or nxt.id == PENALTY - or nxt.id == DISC then - wordbd.font = fid - wordbd.char = eow - wordbd.attr = item.attr - insert_node_after(head,item,copy_node(wordbd)) - end - end - end - end - end - } - % Register in callback "kerning". - \AtBeginDocument{% - \directlua{ - luatexbase.add_to_callback("kerning", add_eow_char, - "add_end_of_word_boundary"); - }% - } - \fi -\else - \PackageWarning{oldgerm-otf}% - {This package requires LuaTeX or XeTeX engines. - With other engines, consider using `oldgerm.sty', reported} -\fi +\PackageWarning{yfonts-otf}{% + The "oldgerm-otf.sty" file has been renamed\MessageBreak + to "yfonts-otf.sty". Please consider using\MessageBreak + this name instead. Reported} +% +\input{yfonts-otf.sty} \endinput diff --git a/Master/texmf-dist/tex/latex/yfonts-otf/yfonts-otf.sty b/Master/texmf-dist/tex/latex/yfonts-otf/yfonts-otf.sty new file mode 100644 index 00000000000..b283dd5d9cb --- /dev/null +++ b/Master/texmf-dist/tex/latex/yfonts-otf/yfonts-otf.sty @@ -0,0 +1,54 @@ +\NeedsTeXFormat{LaTeX2e}[2019-01-01] +\def\fileversion{0.40} +\def\filedate{2022-08-08} +\ProvidesPackage{yfonts-otf}[\filedate\space\fileversion] +\RequirePackage{iftex}[2019-10-24] +\newif\ifYHf@oldumlaut +\newif\ifYHf@gothlongs +\DeclareOption{oldumlaut}{\YHf@oldumlauttrue} +\DeclareOption{varumlaut}{\YHf@oldumlauttrue} +\DeclareOption{gothvarlongs}{\YHf@gothlongstrue} +\ProcessOptions +\iftutex + \RequirePackage{fontspec} + \newopentypefeature{Style}{longs}{+ss11} + \ifYHf@gothlongs + \newfontfamily\gothfamily{ygoth.otf}% + [Extension = .otf, + Alternate=1, + Ligatures=TeX, RawFeature=+ss11;+rlig;+liga;+hlig] + \else + \newfontfamily\gothfamily{ygoth.otf}% + [Extension = .otf, + Ligatures=TeX, RawFeature=+ss11;+rlig;+liga;+hlig] + \fi + \ifYHf@oldumlaut + \newfontfamily\swabfamily{yswab.otf}% + [Extension = .otf, + Alternate=0, + Ligatures=TeX, RawFeature=+ss11;+rlig;+liga] + \newfontfamily\frakfamily{yfrak}% + [Extension = .otf, + Alternate=0, + Ligatures=TeX, RawFeature=+ss11;+rlig;+liga] + \else + \newfontfamily\swabfamily{yswab.otf}% + [Extension = .otf, + Ligatures=TeX, RawFeature=+ss11;+rlig;+liga] + \newfontfamily\frakfamily{yfrak.otf}% + [Extension = .otf, + Ligatures=TeX, RawFeature=+ss11;+rlig;+liga] + \fi + \DeclareTextFontCommand{\textgoth}{\gothfamily} + \DeclareTextFontCommand{\textswab}{\swabfamily} + \DeclareTextFontCommand{\textfrak}{\frakfamily} + \DeclareTextCommand{\Jvar}{TU}{\textfrak{\char"E960}} + \DeclareTextCommand{\etc}{TU}{\textfrak{\char"E961}} + \DeclareTextCommand{\longs}{TU}{\char"200C\char"17F} + \DeclareTextCommand{\shorts}{TU}{s\char"200C} +\else + \PackageWarning{yfonts-otf}% + {This package requires LuaTeX or XeTeX engines. + With other engines, consider using `yfonts.sty', reported} +\fi +\endinput -- cgit v1.2.3