From 575ab7d0e7534edd510bbc89a2ef4b04582af591 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 4 Mar 2022 03:01:04 +0000 Subject: CTAN sync 202203040301 --- fonts/newtx/README | 14 +- fonts/newtx/afm/ntxsups-Regular.afm | 16 +- fonts/newtx/doc/newtxdoc.pdf | Bin 347843 -> 353646 bytes fonts/newtx/doc/newtxdoc.tex | 600 ++++++++++++++++----- fonts/newtx/opentype/TeXGyreTermesX-Bold.otf | Bin 192848 -> 192848 bytes fonts/newtx/opentype/TeXGyreTermesX-BoldItalic.otf | Bin 202436 -> 202436 bytes .../newtx/opentype/TeXGyreTermesX-BoldSlanted.otf | Bin 211012 -> 211004 bytes fonts/newtx/opentype/TeXGyreTermesX-Italic.otf | Bin 199896 -> 199896 bytes fonts/newtx/opentype/TeXGyreTermesX-Regular.otf | Bin 207108 -> 207108 bytes fonts/newtx/opentype/TeXGyreTermesX-Slanted.otf | Bin 209428 -> 209428 bytes fonts/newtx/tex/ly1minebgaramond.fd | 366 +++++++++++++ fonts/newtx/tex/ly1minntx.fd | 42 ++ fonts/newtx/tex/newtx.sty | 600 ++++++++++++++++++--- fonts/newtx/tex/newtxmath.sty | 25 +- fonts/newtx/tex/newtxtext.sty | 218 ++++---- fonts/newtx/tex/ot1minebgaramond.fd | 366 +++++++++++++ fonts/newtx/tex/ot1minntx.fd | 42 ++ fonts/newtx/tex/t1minebgaramond.fd | 366 +++++++++++++ fonts/newtx/tex/t1minntx.fd | 45 ++ fonts/newtx/tfm/ntxsups-Regular-ly1.tfm | Bin 4088 -> 4100 bytes fonts/newtx/tfm/ntxsups-Regular-ot1.tfm | Bin 3992 -> 4000 bytes fonts/newtx/tfm/ntxsups-Regular-t1.tfm | Bin 4004 -> 4016 bytes fonts/newtx/type1/ntxsups-Regular.pfb | Bin 23821 -> 23740 bytes fonts/spark-otf/Changes | 2 + fonts/spark-otf/README.md | 13 +- fonts/spark-otf/doc/spark-otf-doc.bib | 10 +- fonts/spark-otf/doc/spark-otf-doc.pdf | Bin 106096 -> 96801 bytes fonts/spark-otf/doc/spark-otf-doc.tex | 126 ++--- fonts/spark-otf/fonts/Sparks-Bar-Extranarrow.otf | Bin 0 -> 34512 bytes fonts/spark-otf/fonts/Sparks-Bar-Extrawide.otf | Bin 0 -> 34476 bytes fonts/spark-otf/fonts/Sparks-Bar-Medium.otf | Bin 0 -> 34412 bytes fonts/spark-otf/fonts/Sparks-Bar-Narrow.otf | Bin 0 -> 34480 bytes fonts/spark-otf/fonts/Sparks-Bar-Wide.otf | Bin 0 -> 34384 bytes fonts/spark-otf/fonts/Sparks-Dot-Extralarge.otf | Bin 0 -> 34396 bytes fonts/spark-otf/fonts/Sparks-Dot-Extrasmall.otf | Bin 0 -> 34396 bytes fonts/spark-otf/fonts/Sparks-Dot-Large.otf | Bin 0 -> 34304 bytes fonts/spark-otf/fonts/Sparks-Dot-Medium.otf | Bin 0 -> 34244 bytes fonts/spark-otf/fonts/Sparks-Dot-Small.otf | Bin 0 -> 34328 bytes .../spark-otf/fonts/Sparks-Dotline-Extrathick.otf | Bin 0 -> 402596 bytes fonts/spark-otf/fonts/Sparks-Dotline-Extrathin.otf | Bin 0 -> 411520 bytes fonts/spark-otf/fonts/Sparks-Dotline-Medium.otf | Bin 0 -> 403776 bytes fonts/spark-otf/fonts/Sparks-Dotline-Thick.otf | Bin 0 -> 412044 bytes fonts/spark-otf/fonts/Sparks-Dotline-Thin.otf | Bin 0 -> 414412 bytes fonts/spark-otf/latex/spark-otf.sty | 11 +- 44 files changed, 2410 insertions(+), 452 deletions(-) create mode 100644 fonts/newtx/tex/ly1minebgaramond.fd create mode 100644 fonts/newtx/tex/ly1minntx.fd create mode 100644 fonts/newtx/tex/ot1minebgaramond.fd create mode 100644 fonts/newtx/tex/ot1minntx.fd create mode 100644 fonts/newtx/tex/t1minebgaramond.fd create mode 100644 fonts/newtx/tex/t1minntx.fd create mode 100644 fonts/spark-otf/fonts/Sparks-Bar-Extranarrow.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Bar-Extrawide.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Bar-Medium.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Bar-Narrow.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Bar-Wide.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dot-Extralarge.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dot-Extrasmall.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dot-Large.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dot-Medium.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dot-Small.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dotline-Extrathick.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dotline-Extrathin.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dotline-Medium.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dotline-Thick.otf create mode 100644 fonts/spark-otf/fonts/Sparks-Dotline-Thin.otf (limited to 'fonts') diff --git a/fonts/newtx/README b/fonts/newtx/README index 2f0d32f20e..4d775f844c 100644 --- a/fonts/newtx/README +++ b/fonts/newtx/README @@ -1,12 +1,20 @@ This package, initially based on txfonts, provides many fixes and enhancements to the txfonts package, splitting it into two separate packages---newtxtext and newtxmath, which may be run independently of one another. It provides scaling, improved metrics, and other options. In particular, newtxmath offers a libertine option which substitutes Linux Libertine (provided with TeXLive and MikTeX) italic and Greek letters for the default Times letters, providing a good match for the Libertine text font, which is heavier than Computer Modern but lighter than Times, and in my experience, looks very sharp and clear on the screen. -Current version: 1.705 2022-01-11 +Current version: 1.71 2022-03-02 This material is subject to the LaTeX Project Public License. See http://www.ctan.org/license/lppl1.3 for the details of that license. +Changes in version 1.71 +1. Updated newtx.sty so that most packages for which newtxmath offers math +support may be set up using options to newtx. +2. Added code to newtx.sty setting up stacked fractions based on the +denominator figures. +3. Changes to newtxtext.sty, removing some redundent definitions and correcting some errors in 1.705. +4. Changes to a number of options and macros. See the documentation for detailed descriptions. + Changes in version 1.705 -1. Corrected definition of \textth, while was not working in unicode latex. +1. Corrected definition of \textth, which was not working in unicode latex. 2. Added some kerning entries affecting the theoremfonts. Changes in version 1.704 @@ -14,7 +22,7 @@ Changes in version 1.704 2. Brought up to date a number of tfms and map file entries. 3. Corrected code in some fd files so that largesc option now works correctly in all cases. 4. Added option thmslshape to newtx and newtxtext changing theoremfont rendering from italic with upright figures, punctuation and delimiters, to slanted with the same upright features. -5. Modified upright features to TeXGyreTermesX.otf and ztmrsl.pfb to permit item 4 to work. +5. Modified upright features to TeXGyreTermesX-Slanted.otf and ztmrsl.pfb to permit item 4 to work. Changes in version 1.703 Corrected a missing @ in line 40 of newtxmath.sty. diff --git a/fonts/newtx/afm/ntxsups-Regular.afm b/fonts/newtx/afm/ntxsups-Regular.afm index 762882aa18..abde4fd35f 100644 --- a/fonts/newtx/afm/ntxsups-Regular.afm +++ b/fonts/newtx/afm/ntxsups-Regular.afm @@ -1,6 +1,6 @@ StartFontMetrics 2.0 -Comment Generated by FontForge 20190801 -Comment Creation Date: Sun Mar 1 11:10:02 2020 +Comment Generated by FontForge 20201107 +Comment Creation Date: Sun Jan 30 13:34:05 2022 FontName ntxsups-Regular FullName ntxsups Regular FamilyName ntxsups @@ -37,14 +37,14 @@ C 44 ; WX 175 ; N comma.sup ; B 36 185 139 354 ; C 45 ; WX 258 ; N hyphen.sup ; B 25 378 227 430 ; C 46 ; WX 181 ; N period.sup ; B 46 263 136 354 ; C 47 ; WX 200 ; N slash.sup ; B -6 262 206 676 ; -C 48 ; WX 358 ; N zero.sup ; B 16 262 343 676 ; -C 49 ; WX 340 ; N one.sup ; B 72 270 271 676 ; -C 50 ; WX 360 ; N two.sup ; B 20 270 344 676 ; -C 51 ; WX 351 ; N three.sup ; B 28 262 307 676 ; +C 48 ; WX 369 ; N zero.sup ; B 21 262 348 676 ; +C 49 ; WX 300 ; N one.sup ; B 57 270 248 676 ; +C 50 ; WX 336 ; N two.sup ; B 21 270 316 676 ; +C 51 ; WX 323 ; N three.sup ; B 21 262 298 676 ; C 52 ; WX 358 ; N four.sup ; B 8 270 340 676 ; -C 53 ; WX 329 ; N five.sup ; B 21 262 289 684 ; +C 53 ; WX 321 ; N five.sup ; B 21 262 289 684 ; C 54 ; WX 355 ; N six.sup ; B 22 262 335 680 ; -C 55 ; WX 336 ; N seven.sup ; B 13 265 303 667 ; +C 55 ; WX 326 ; N seven.sup ; B 17 265 324 667 ; C 56 ; WX 353 ; N eight.sup ; B 36 262 317 676 ; C 57 ; WX 357 ; N nine.sup ; B 20 252 330 681 ; C 58 ; WX 199 ; N colon.sup ; B 53 263 144 545 ; diff --git a/fonts/newtx/doc/newtxdoc.pdf b/fonts/newtx/doc/newtxdoc.pdf index b9d2d9b584..b5b954d0d3 100644 Binary files a/fonts/newtx/doc/newtxdoc.pdf and b/fonts/newtx/doc/newtxdoc.pdf differ diff --git a/fonts/newtx/doc/newtxdoc.tex b/fonts/newtx/doc/newtxdoc.tex index f9e6e3123f..896df5e230 100644 --- a/fonts/newtx/doc/newtxdoc.tex +++ b/fonts/newtx/doc/newtxdoc.tex @@ -24,10 +24,11 @@ %\pdfmapfile{=newtx.map} \usepackage[T1]{fontenc} % Active encoding for use in math text -\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math +%\renewcommand{\rmdefault}{minntx}% Roman and Bold Termes for math \usepackage[type1,sfdefault,scale=1]{sourcesanspro}% used by \mathsf, optional \usepackage[scaled=.98,varqu,varl]{zi4} -\usepackage[no-math,nohelv,nott,amsthm,largesc,theoremfont,trueslanted,scosf]{newtx}% Use newtxmath, not a unicode math package +%\usepackage[nohelv,nott,amsthm,largesc,theoremfont,trueslanted,scosf]{newtx}% Use newtxmath, not a unicode math package +\usepackage[amsthm,largesc,theoremfont]{newtx}% Use newtxmath, not a unicode math package %\setsansfont{sourcecodepro}[scale=MatchLowerCase] \makeatletter \@ifundefined{ver@amsthm.sty}{\typeout{amsthm NO}}{\typeout{amsthm YES}} @@ -51,14 +52,17 @@ \DeclareMathSymbol{\Sumop}{\mathop}{largesymbols}{"50} \usepackage{bm} %\usepackage{hyperref} -\ifntxotf +\makeatletter +\ifntx@otftext \setmonofont{inconsolata}[Scale=MatchLowercase] \fi +\makeatother \title{New TX font package} \author{Michael Sharpe} \date{\today} % Activate to display a given date or no date \begin{document} +%\show\textlf \maketitle %\char"2044{\addfontfeatures{RawFeature=+ss20;+dnom}\color{red}\char"2044} %1\addfontfeatures{VerticalPosition=Inferior}23 @@ -83,8 +87,92 @@ Another important change took place in version 1.65, where {\tt theoremfont} wa \item the former behavior of \verb|\textsl| is now available through the new macro \verb|\textth|, \textsc{aka} \verb|\textthit|. \item \verb|\pagestyle{headings}| now functions as intended with slanted rather than upright figures in the headers. \end{itemize} +\section{The new {\tt newtx.sty}} +Versions 1.7--1.71 added the ability to process {\tt.tex} documents with all current LaTeX engines, adding {\tt fontspec} based macros as replacements for macros and options formerly defined for non-unicode {\tt latex} processing as needed for unicode latex processing. A new option, {\tt thmslshape}, instructs {\tt theoremfont} to use slanted rather than italic shape, with upright punctuation, of course. There are some new macros and options that work only under unicode LaTeX. The {\tt newtxtext} package is modified very substantially to work for all latex engines. + +Also introduced in 1.7 is {\tt newtx.sty}, which to some extent reduces the (human) memory requirements for loading {\tt newtxtext} and/or {\tt newtxmath} in a way that works with all LaTeX engines. + +\textbf{Basic {\tt newtx} options:} + +\begin{itemize} +\item +{\tt type1text} (or {\tt type1} specifies that text processing should use a type1 package. (The default is to use an otf text package if processing with a unicode engine. With a non-unicode engine, a type1 text package is the default.) +\item {\tt otfmath} specifies to use an otf math engine rather than the default type1 math package, {\tt newtxmath}. +\item Option {\tt scale} or {\tt scaled} will pass the same {scale} option to both the text package and {\tt newtxmath}. +\item For dealing with cases where the text package should be loaded with a different scale from {\tt newtxmath}, you specify separately the options {\tt textscale[d]} and {\tt mathscale[d]}. There is one useful special case to notice: the option {\tt textscale[d]=0} selects a text scale factor that matches to the math scale factor, the latter defaulting to 1 unless otherwise specified. +\item You may specify as an option to {\tt newtx} any option valid for {\tt newtxmath}: those are mostly passed directly to {\tt newtxmath}. These will have no effect if you specify a unicode math package. +\item Other options are passed along to the text package, with the exception of a few handled by {\tt newtx}. +\end{itemize} + +The effect of loading the {\tt newtx} package is fundamentally one of four types, depending on the options you specify and the processing engine. -Versions 1.7--1.704 add the ability to process {\tt.tex} documents with all current LaTeX engines, adding {\tt fontspec} based macros as replacements for macros and options formerly defined for {\tt pdflatex} processing as needed for unicode latex processing. A new option, {\tt thmslshape}, instructs {\tt theoremfont} to use slanted rather than italic shape, with upright punctuation, of course. There are some new macros and options that work only under unicode LaTeX. The {\tt newtxtext} package is modified very substantially to work for all latex engines. Also introduced in 1.7 is {\tt newtx.sty}, which to some extent reduces the (human) memory requirements for loading {\tt newtxtext} and {\tt newtxmath} in a way that works with all LaTeX engines. With {\tt newtx}, the simplest invocation could be just +\textsc{Otf text, otf math (requires unicode engine)} +\begin{verbatim} + \usepackage[]{newtxtext} %no other text package possible + \RequirePackage{fontspec} % just in case + \usepackage{unicode-math} %loads amsmath + %\setmathfont{}[] %expects your input here for math package +\end{verbatim} +\textsc{Notes:} +\begin{itemize} +\item Your option list to {\tt newtx} must include {\tt otfmath}. +\item After loading {\tt newtx}, you must load your chosen unicode math package with \verb|\settmathfont{}[]|. +\item +You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +\item Don't bother with setting math options to {\tt newtx}---they are sent only to {\tt newtxmath}. +\item Babel, if used, must be specified before {\tt newtx[text]}, which loads {\tt fontspec}. +\item Polyglossia, if used, must be specified after loading {\tt newtx[text]}. +\end{itemize} + +\textsc{Otf text, type1 math (requires unicode engine)} +\begin{verbatim} + \renewcommand*{\rmdefault}{\ntx@minfam} % loads minimal version of text font + \usepackage[]{newtxmath} % options will be as passed from newtx + \usepackage[no-math]{fontspec} + \usepackage{\ntx@TF} % the chosen text font + + +\end{verbatim} +\textsc{Notes:} +\begin{itemize} +\item No special option requirements---this is the default case. +\item Babel, if used, must be specified before {\tt newtx[text]}, which loads {\tt fontspec}. +\item Polyglossia, if used, must be specified after loading {\tt newtx[text]}. +\end{itemize} + + +\textsc{type1 text, otf math (requires unicode engine)} +\begin{verbatim} + \usepackage[type1text]{newtxtext} %no other text package possible + \RequirePackage{fontspec} % just in case + \usepackage{unicode-math} %loads amsmath + %\setmathfont{}[] %expects your input here for math package +\end{verbatim} +\textsc{Notes:} + +\begin{itemize} +%\item No special option requirements---this is the default case. +\item Your option list to {\tt newtx} must include {\tt otfmath}. +\item Don't bother with setting math options to {\tt newtx}---they are sent only to {\tt newtxmath}. +\item Babel, if used, must be specified before {\tt newtx[text]}. +\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +\end{itemize} + +\textsc{type1 text, type1 math} +\begin{verbatim} + \renewcommand*{\rmdefault}{\ntx@minfam}% minimal text family, Roman and Bold for math + \usepackage{newtxmath} % options will be as passed from newtx + \usepackage{\ntx@TF} % the chosen text family + % should load tt and sans math before newtx +\end{verbatim} +\textsc{Notes:} + +\begin{itemize} +\item If not processing with non-unicode latex, no special option requirements. If using unicode latex, your option list should include {\tt type1text} and you may include option {\tt nofontspec} if you will have no use for it. +\item Babel, if used, must be specified before {\tt newtx[text]}. +\end{itemize} + + With {\tt newtx}, the simplest invocation could be just \begin{verbatim} \documentclass{article} \usepackage{newtx} @@ -93,20 +181,31 @@ Versions 1.7--1.704 add the ability to process {\tt.tex} documents with all curr which would work under all LaTeX engines: \begin{itemize} \item -Under {\tt pdflatex}, the effect is the same as +Under {\tt [pdf]latex}, the effect is the same as \begin{verbatim} \usepackage{newtxtext, newtxmath} \end{verbatim} -\item Under unicode LaTeX, this calls +though it is implemented equivalently as +\begin{verbatim} +% specify newtxtext with tabular lining figures for math operators +\renewcommand{\rmdefault}{minntx} % for math use only +\usepackage{newtxmath} +\usepackage{newtxtext}% type1 text by default +\end{verbatim} + +\item Under unicode LaTeX, in the absence of other options, the implementation is \begin{verbatim} % specify newtxtext with tabular lining figures for math operators -\renewcommand{\rmdefault}{ntxtlf} % for math use only +\renewcommand{\rmdefault}{minntx} % minimal newtxtext for math use only \usepackage{newtxmath} -\usepackage[no-math]{newtxtext}% pass no-math option to fontspec +\usepackage{newtxtext}% otf text by default, loads [no-math]fontspec \end{verbatim} -and the effect is to run unicode latex on the {\tt TeXGyreTermesX} font family for text and use {\tt newtxmath} as the math font in {\tt type1} mode. +and the effect is to run unicode latex on the {\tt TeXGyreTermesX} font family for text and use {\tt newtxmath} as the math font. \end{itemize} -The {\tt newtx} package has only one option: {\tt otfmath} changes the call above to + +\begin{itemize} +\item +{\tt otfmath} changes the code above to \begin{verbatim} \usepackage{newtxtext} \RequirePackage{fontspec} @@ -117,18 +216,68 @@ which expects a subsequent \setmathfont{}[] \end{verbatim} line to set up a unicode math font as the partner to text from {\tt TeXGyreTermesX}. +\item You may specify as an option to {\tt newtx} the name of any supported text package and any options other than scale[d] that are understood by that package. The default text package is {\tt newtxtext}, which need not be specified explicitly. Other valid options as of early March, 2022, are: +\begin{verbatim} +libertine +libertinus +etbb --> ETbb +ebgaramond +MinionPro +minion --> MinionPro +cochineal +garamondx +baskervillef +baskerville --> baskervillef +Baskerville --> baskervillef +BaskervilleF --> baskervillef +baskervaldx +Baskervaldx --> baskervaldx +erewhon +Erewhon --> erewhon +XCharter +xcharter --> XCharter +stickstoo --> stickstootext +Stickstoo --> stickstootext +stix2 --> stickstootext +scholax +nc --> scholax +scholaxf +ncf --> scholaxf +\end{verbatim} +\end{itemize} +The sty file {\tt newtx.sty} stores a good deal of information about each of the supported text packages and uses some of this to translate its macros into forms understood by the text package. + +For example, how the following line in your preamble is interpreted depends on the LaTeX engine and the options you set. +\begin{verbatim} +\usepackage[libertine,vvarbb]{newtx} +\end{verbatim} +With non-unicode engines such as {\tt latex+dvips} or {\tt pdflatex}, the result will be the same as would be produced by +\begin{verbatim} + \renewcommand*{\rmdefault}{minlibertine}% Roman and Bold for math + \usepackage[vvarbb]{newtxmath} % vvarbb was passed from newtx + \usepackage{libertine} % should load tt and sans math before newtx +\end{verbatim} +The first line, setting the \verb|\rmdefault| temporarily to {\tt minlibertine}, refers to one of three {\tt fd} files included with the distribution: {\tt t1minlibertine.fd}, {\tt ot1minlibertine.fd}, {\tt ly1minlibertine.fd}, and the one used depends on the last encoding specified before {\tt newtx} with a line like +\begin{verbatim} +\usepackage[T1]{fontenc} +\end{verbatim} +If you look at, say, {\tt t1minlibertine.fd} (the ``min'' part of the name is supposed to denote ``minimal''), you will see that if leads to {\tt libertine} text fonts with TLF (Tabular Lining Figures). When {\tt newtxmath} is loaded it is sets its {\tt operators} fonts to the corresponding {\tt libertine} text font so that mathematical operator names, numerals, punctuation and accents are chosen from this font. Indeed, this is the only way it will be used. -You may specify any option to {\tt newtxtext} or {\tt newtxmath} as an option to {\tt newtx}: it will simply pass them along to those packages for processing. +Finally, the actual text font package, {\tt libertine}, is loaded with whatever is selected by the text options you specified. For example, if your options specified to {\tt newtx} included {\tt p, osf}, then all figures in text (but not in math) would be in proportional oldstyle shape. -A more realistic preamble would follow the general pattern: +There is a ``min'' fd family for each possible text font family, each pointing to TLF figured tfm files, but using a family name that will not conflict in any way with the final text font family. Examples are {\tt minntx} (for {\tt newtxtext}), {\tt minetbb} and so on. + +\subsection{A more general layout using {\tt newtx}} + +A more realistic preamble than those detailed above would follow the general pattern: \begin{verbatim} % !TEX TS-program = xelatex \documentclass[11pt,]{article} - - + + \usepackage[]{newtx} % include all desired options to newtxtext and newtxmath % options nohelv, nott to newtxtext will prevent it from overwriting sf and tt choices -% a new option amsthm will correctly load that option, if specified +% option amsthm will correctly load that option, if specified % Uncomment example lines below to use polyglossia, which must be loaded after fontspec %\usepackage{polyglossia} @@ -151,24 +300,166 @@ For example: \usepackage[scaled=.98,varqu,varl]{zi4} % mathtt \usepackage[nohelv,nott,amsthm,largesc,theoremfont,trueslanted,scosf]{newtx} % this line loads fontspec % nohelv and nott stop overwriting initial mathsf and mathtt choices -%\setmonofont and \setmonofont could be set here if necessary +%\setmonofont and \setsansfont could be set here if necessary for use in text % polyglossia, if used, must be loaded after fontspec \usepackage{polyglossia} \setdefaultlanguage[variant=american]{english} \setotherlanguages{french,russian} \usepackage[]{hyperref} \end{verbatim} -Version 1.7 of {\tt newtxtext} is a major reworking of the previous versions, functioning with all current \LaTeX\ engines, loading {\tt fontspec} if necessary. The {\tt newtx} package passes the options you specify to {\tt newtxmath} and {\tt newtxtext} and the loads the three lines -\begin{verbatim} -\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold TermesX for math -\usepackage{newtxmath} % options will be as passed from newtx -\usepackage{newtxtext} % options will be as passed from newtx -\end{verbatim} -If you process with XeLaTeX or LuaLaTeX, {\tt fontspec} will be loaded by {\tt newtxtext} unless instructed not to by one of the options {\tt type1}, {\tt nofontspec} to {\tt newtx}. (The macro \verb|\ifntxotf| is defined and set in {\tt newtxtext}: it is set to {\tt true} in case the engine is a unicode engine, and neither of the options {\tt type1, nofontspec} was selected.) Other possible options are described in detail later in this documentation. +If you process with a unicode engine, {\tt fontspec} will be loaded by {\tt newtxtext} unless instructed not to by option {\tt nofontspec} to {\tt newtx}. (For example, you may wish to process with LuaLaTeX in order to use {\tt lua} while using type1 text and math packages and are concerned about processing speed. +\subsection{Notes} +%\section{Usage with Lua\LaTeX\ and Xe\LaTeX} +%As far as I can tell, \textsf{newtxmath} works with both, but requires a very specific loading order and choice of options. Briefly, the math options must all be loaded prior to loading and using {\tt fontspec}. As of version 1.5, {\tt newtxtext} will load fontspec when processing with XeLaTeX or LuaLaTeX unless one or more of the options {\tt nofontspec}, {\tt type1} is specified. (If you specify the option {\tt no-otfmath} to {\tt newtxtext}, it will pass the option {\tt no-math}to the {\tt fontspec} call. This should be done if {\tt fontspec} will not be expected to load an Opentype package or install math support using {\tt mathspec}.) +% +%\textsc{Example I: TeXGyreTermesX Opentype + STIX (Opentype).} +%\begin{verbatim} +%% general setup packages +%%\usepackage[greek.polutonico,english]{babel} % if using babel +%% next line calls fontspec and loads TeXGyreTermesX otf +%\usepackage[theoremfont,trueslanted,largesc,p,osf]{newtxtext} % or newtx +%% set mono and sans opentype fonts +%\usepackage{unicode-math} % can omit if using newtx instead of newtxtext +%% can't load type1 math fonts after this point +%\setmathfont{STIX} +%%\usepackage{polyglossia} % must load after fontspec, if using polyglossia +%% polyglossia setup commands +%%\usepackage{hyperref} % if using +%\end{verbatim} +%\textsc{Notes:} +%\begin{itemize} +%\item +%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%\item Babel, if used, must be specified before {\tt newtxtext}, which loads {\tt fontspec}. +%\item Polyglossia, if used, must be specified after loading {\tt newtxtext}. +%\end{itemize} +%%\textsc{Example II: newtxtext type1 + STIX (Opentype).} +%%\begin{verbatim} +%%%\usepackage[greek.polutonico,english]{babel} % if using babel +%%% next line does not call fontspec, loads newtxtext type1 +%%\usepackage[type1,theoremfont,trueslanted,largesc,p,osf]{newtxtext} +%%\usepackage{fontspec} +%%\usepackage{unicode-math}% can't load type1 math fonts after this +%%\setmathfont{STIX} +%%%\usepackage{polyglossia} % must load after fontspec, if using polyglossia +%%% polyglossia setup commands +%%\end{verbatim} +%%\textsc{Notes:} +%% +%%\begin{itemize} +%%\item The {\tt type1} option to {\tt newtxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. +%%\item +%%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%%\item Babel, if used, must be specified before {\tt newtxtext}. +%%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +%%\end{itemize} +% +%\textsc{Example II: TeXGyreTermesX Opentype + newtxmath (type1) + polyglossia + other Opentype.} +%\begin{verbatim} +%\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math mode +%\usepackage[T1]{fontenc} % T1 is active encoding for use in math text +%\usepackage[type1]{cabin}% used only by \mathsf, optional +%\usepackage{amsmath} % must be loaded before amsthm if using amsthm +%\usepackage{amsthm}% load before newtxmath +%\usepackage[vvarbb]{newtxmath} +%\usepackage[no-math,largesc]{newtxtext}% pass no-math option to fontspec +%% Fontspec will be loaded so that Opentype text fonts may be loaded +%\setmainfont{TeXGyreTermesX} +%%\setmonofont{...}[] +%%\setsansfont{...}[] +%%\usepackage{polyglossia} % must load after fontspec +%%\setdefaultlanguage[variant=american]{english} +%%\setotherlanguages{french,russian} +%%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +%\end{verbatim} +%With the new {\tt newtx.sty}, the above example may be written as: +%\begin{verbatim} +%\usepackage[T1]{fontenc} % T1 is active encoding for use in math text +%\usepackage[type1]{cabin}% used only by \mathsf, optional +%\usepackage[nohelv,amsthm,vvarbb,no-math,largesc]{newtx} +%%\setmonofont{...}[] +%%\setsansfont{...}[] +%%\usepackage{polyglossia} % must load after fontspec +%%\setdefaultlanguage[variant=american]{english} +%%\setotherlanguages{french,russian} +%%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +%\end{verbatim} +% +%\textsc{Notes:} +% +%\begin{itemize} +%\item The {\tt no-math} option to {\tt newtxtext} causes {\tt fontspec} to load with option {\tt no-math}, preventing the package from loading any unicode math font. This option is automatically set internally by {\tt newtxtext} if it detects that {\tt newtxmath} has already been loaded. +%\item +%You do not need to load {\tt amsmath}: it is loaded by {\tt newtxmath} However, if you wish to load {\tt amsthm}, load {\tt amsmath}, then {\tt amsthm} before {\tt newtxmath}. As of version 1.7. it is simpler to just make use of the option {\tt amsthm} to {\tt newtx} or to {\tt newtxmath}. +%\item Babel, if used, must be specified before {\tt newtxtext}. +%\item Polyglossia, if used, must be specified after loading {\tt newtxtext}. +%\item The {\tt type1} option to {\tt cabin} is important, preventing it from loading {\tt fontspec}, which would lead to an {\tt option clash} error. The same is true for a number of similar packages, like, e.g., {\tt sourcesanspro}. +%\end{itemize} +% +%%\textsc{Example IV: newtxtext type1 + newtxmath (type1) + polyglossia + other Opentype.} +%%\begin{verbatim} +%%\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math mode +%%\usepackage[T1]{fontenc} % T1 is active encoding for use in math text +%%\usepackage[type1]{cabin}% used only by \mathsf, optional +%%\usepackage{amsmath} % must be loaded before amsthm if using amsthm +%%\usepackage{amsthm}% load before newtxmath +%%\usepackage[vvarbb]{newtxmath} +%%\usepackage[no-math]{newtxtext}% pass no-math option to fontspec +%%% Fontspec will be loaded so that Opentype text fonts may be loaded +%%\usepackage{polyglossia} % must load after fontspec +%%\setdefaultlanguage[variant=american]{english} +%%\setotherlanguages{french,russian} +%%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +%%\end{verbatim} +%%\textsc{Notes:} +%%\begin{itemize} +%%\item The {\tt type1} option to {\tt newtxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. +%%\item +%%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%%\item Babel, if used, must be specified before {\tt newtxtext}. +%%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +%%\item The first seven lines of this example preamble could be taken as a basis for a preamble that will compile under all LaTeX engines. +%%\end{itemize} +%% +% +%%Be aware that some text packages (e.g., {\tt cabin}) may contain a line like +%%\begin{verbatim} +%%\RequirePackage{fontspec} +%%\end{verbatim} +%%which would prevent (``option clash'' error) a subsequent +%%\begin{verbatim} +%%\usepackage[no-math]{fontspec} +%%\end{verbatim} +%%unless suppressed by an appropriate option. E.g., +%%\begin{verbatim} +%%\usepackage[type1]{cabin} +%%\end{verbatim} +%%prevents the problem with the {\tt cabin} package. + +\subsection{The stacked fraction macro} +Having collected a lot of data about the text fonts it supports, it seemed worth-while to construct a macro that would work for most of those fonts: \verb|\textsfrac[1]{17}{32}| renders in {\tt newtxtext} as \textsfrac[1]{17}{32} and \verb|\textsfrac{9}{64}| as \textsfrac{9}{64}. Compare these with output from the diagonal fraction macro \verb|\textfrac|: \textfrac[1]{17}{32}, \textfrac{9}{64}. + +There are four options with which you may control the layout of the fractional part. +\begin{itemize} +\item +{\tt sfracvcenter} controls the vertical center of the fraction bar. +\item{\tt sfracbarthick} controls its thickness. +\item{\tt sfracvspacing} controls the vertical space about and below the fraction bar. +\item{\tt sfracscaling} controls the size of the figures in the fraction. +\end{itemize} +The last of these is just a number like .85 by which to scale the denominator figures used in the construction. The first three items may be specified in either {\tt em} units or in {\tt ex} units. If you use a number greater than 6, it is interpreted as a multiple of an {\tt em} (recall that for most fonts, and certainly for those supported by {\tt newtx}, 100{\tt em} is equal to 1{\tt pt} if you are processing at 10pt. On the other hand, 1{\tt ex} is the height of the letter x in the current text font. If you specify a number less than 6, it is interpreted in {\tt ex} units. + +\subsection{Limitations of {\tt newtx}} -It is not necessary to use {\tt newtx} in version 1.7 and higher. The original loading via {\tt newtxtext} and {\tt newtxmath} should still work. +1. When using {\tt newtx} with a unicode engine and specify the option {\tt otfmath}, the only text font you will have available is {\tt newtxtext}. You may specify another package, but {\tt newtx} will change it back to {\tt newtxtext} and issue a message to the console and the {\tt log} file. -The math package {\tt newtxmath} works, after possibly replacing its math Roman and Greek letters, with fonts other than Times that are intermediate in weight between Computer Modern and Times. The free font Linux Libertine is one particular target---it is of nearly the same x-height as Computer Modern, but, not being a \emph{modern} font, does not have a high contrast ratio, and so appears denser than Computer Modern but not as much so as Times. It is meant as a replacement for Times, but differs from it in many characteristics, more similar to MinionPro than Times, and provides a better range of variants than Times---three weights (regular, semi-bold and bold) rather than just two, and has expert features in all weights: old-style figures, more extensive and more interesting ligatures, and small caps. In my opinion, material typeset in Linux Libertine looks better than the corresponding material typeset in Times. This seems especially true on the screen. As of version 1.0, the package also offers support for MinionPro as a math font, but with limitations described in detail below. More recently, an option to provide math support for the \textsf{garamondx} text font package was added. Version 1.55 adds support for the {SticksToo} text fonts, a reworking of the {\tt STIX2} text fonts. +2. You can't use an arbitrary text font with {\tt newtx}. It needs considerable information to be available including how to pair it to a variant of {\tt newtxmath}. + +3. Aside from the minor addition of the stacked fraction macro \verb|\textsfrac|, {\tt newtx} is simply a convenience: it loads packages and sets option so that you don't have to remember as many details. +The original loading via {\tt newtxtext} and {\tt newtxmath} should still work as long as you remember all the loading rules. + +\section{Newtxmath} +The math package {\tt newtxmath} works, after possibly replacing its math Roman and Greek letters, with fonts other than Times that are intermediate in weight between Computer Modern and Times. The free font Linux Libertine is one particular target---it is of nearly the same x-height as Computer Modern, but, not being a \emph{modern} font, does not have a high contrast ratio, and so appears denser than Computer Modern but not as much so as Times. It is meant as a replacement for Times, but differs from it in many characteristics, more similar to MinionPro than Times, and provides a better range of variants than Times---three weights (regular, semi-bold and bold) rather than just two, and has expert features in all weights: old-style figures, more extensive and more interesting ligatures, and small caps. In my opinion, the venerable {\tt libertine} package should at this point be substituted by the newer {\tt libertinus} package. As of version 1.0, {\tt newtx} also offers support for MinionPro as a math font, but with limitations described in detail below. More recently, an option to provide math support for the \textsf{garamondx} text font package was added. Version 1.55 adds support for the {SticksToo} text fonts, a reworking of the {\tt STIX2} text fonts. The {\tt newtx} package differs from {\tt txfonts} in the following ways: \begin{itemize} @@ -189,7 +480,7 @@ the new package is split into separate text and math packages that do not need t \item \verb|\varkappa| $\varkappa$ has been moved from {\tt AMSb} to {\tt lettersA}, and is now accompanied by an upright form \verb|\upvarkappa| $\upvarkappa$ which behaves as it should when using the {\tt frenchmath} option. \end{itemize} \section{Text mode options} -Beginning with version 1.4, the text font component of \textsf{newtx} is no longer dependent on the {\tt txfonts}, and is constructed entirely from \textsf{TeXGyre Termes} and some modifications thereof +Beginning with version 1.4, the text font component of \textsf{newtx} is no longer dependent on the {\tt txfonts}, and is constructed entirely from \textsf{TeXGyre Termes} and some modifications thereof. The text mode environment invoked by \begin{verbatim} @@ -290,6 +581,7 @@ For example, with option {\tt theoremfont}, but no {\tt thmslshape}, you get the %%\end{document} %\traceon + \begin{thm} This is Theorem Italic: %\traceoff @@ -326,94 +618,52 @@ If you want full control, the options {\tt spacing, stretch, shrink} allow you t Fontspec offers the {\tt WordSpace=} option for individual control of the space, stretch and shrink, with the value being either an ordered triple like \verb|{1.1,1,.8}| or a single number like {\tt .9}, the latter having the same effect as the triple \verb|{.9,.9,.9}|. These three numbers act as multipliers of {\tt space}, {\tt stretch} and {\tt shrink}. The option that you can set is {\tt spcfactor=}, entering either a number or a triple---e.g., {\tt spcfactor=1.1} or \verb|{1.1,1,.8}|. Note however that {\tt tighter} and {\tt looser} will have an effect if {\tt spcfactor} is not set, amounting to \verb|\spcfactor={1,.625,1}| and \verb|\spcfactor={1.2,1,1}| respectively. -\section{Usage with Lua\LaTeX\ and Xe\LaTeX} -As far as I can tell, \textsf{newtxmath} works with both, but requires a very specific loading order and choice of options. Briefly, the math options must all be loaded prior to loading and using {\tt fontspec}. As of version 1.5, {\tt newtxtext} will load fontspec when processing with XeLaTeX or LuaLaTeX unless one or more of the options {\tt nofontspec}, {\tt type1} is specified. (If you specify the option {\tt no-math} to {\tt newtxtext}, it will pass that option to the {\tt fontspec} call. This should be done if {\tt fontspec} will not be expected to load an Opentype package or install math support using {\tt mathspec}.) - -\textsc{Example I: TeXGyreTermesX Opentype + STIX (Opentype).} -\begin{verbatim} -% general setup packages -%\usepackage[greek.polutonico,english]{babel} % if using babel -% next line calls fontspec and loads TeXGyreTermesX otf -\usepackage[theoremfont,trueslanted,largesc,p,osf]{newtxtext} % or newtx -% set mono and sans opentype fonts -\usepackage{unicode-math} % can omit if using newtx instead of newtxtext -% can't load type1 math fonts after this point -\setmathfont{STIX} -%\usepackage{polyglossia} % must load after fontspec, if using polyglossia -% polyglossia setup commands -%\usepackage{hyperref} % if using -\end{verbatim} -\textsc{Notes:} -\begin{itemize} -\item -You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. -\item Babel, if used, must be specified before {\tt newtxtext}, which loads {\tt fontspec}. -\item Polyglossia, if used, must be specified after loading {\tt newtxtext}. -\end{itemize} -%\textsc{Example II: newtxtext type1 + STIX (Opentype).} +%\section{Usage with Lua\LaTeX\ and Xe\LaTeX} +%As far as I can tell, \textsf{newtxmath} works with both, but requires a very specific loading order and choice of options. Briefly, the math options must all be loaded prior to loading and using {\tt fontspec}. As of version 1.5, {\tt newtxtext} will load fontspec when processing with XeLaTeX or LuaLaTeX unless one or more of the options {\tt nofontspec}, {\tt type1} is specified. (If you specify the option {\tt no-otfmath} to {\tt newtxtext}, it will pass the option {\tt no-math}to the {\tt fontspec} call. This should be done if {\tt fontspec} will not be expected to load an Opentype package or install math support using {\tt mathspec}.) +% +%\textsc{Example I: TeXGyreTermesX Opentype + STIX (Opentype).} %\begin{verbatim} +%% general setup packages %%\usepackage[greek.polutonico,english]{babel} % if using babel -%% next line does not call fontspec, loads newtxtext type1 -%\usepackage[type1,theoremfont,trueslanted,largesc,p,osf]{newtxtext} -%\usepackage{fontspec} -%\usepackage{unicode-math}% can't load type1 math fonts after this +%% next line calls fontspec and loads TeXGyreTermesX otf +%\usepackage[theoremfont,trueslanted,largesc,p,osf]{newtxtext} % or newtx +%% set mono and sans opentype fonts +%\usepackage{unicode-math} % can omit if using newtx instead of newtxtext +%% can't load type1 math fonts after this point %\setmathfont{STIX} %%\usepackage{polyglossia} % must load after fontspec, if using polyglossia %% polyglossia setup commands +%%\usepackage{hyperref} % if using %\end{verbatim} %\textsc{Notes:} -% %\begin{itemize} -%\item The {\tt type1} option to {\tt newtxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. %\item %You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. -%\item Babel, if used, must be specified before {\tt newtxtext}. -%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +%\item Babel, if used, must be specified before {\tt newtxtext}, which loads {\tt fontspec}. +%\item Polyglossia, if used, must be specified after loading {\tt newtxtext}. %\end{itemize} - -\textsc{Example II: TeXGyreTermesX Opentype + newtxmath (type1) + polyglossia + other Opentype.} -\begin{verbatim} -\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math mode -\usepackage[T1]{fontenc} % T1 is active encoding for use in math text -\usepackage[type1]{cabin}% used only by \mathsf, optional -\usepackage{amsmath} % must be loaded before amsthm if using amsthm -\usepackage{amsthm}% load before newtxmath -\usepackage[vvarbb]{newtxmath} -\usepackage[no-math,largesc]{newtxtext}% pass no-math option to fontspec -% Fontspec will be loaded so that Opentype text fonts may be loaded -\setmainfont{TeXGyreTermesX} -%\setmonofont{...}[] -%\setsansfont{...}[] -%\usepackage{polyglossia} % must load after fontspec -%\setdefaultlanguage[variant=american]{english} -%\setotherlanguages{french,russian} -%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} -\end{verbatim} -With the new {\tt newtx.sty}, the above example may be written as: -\begin{verbatim} -\usepackage[T1]{fontenc} % T1 is active encoding for use in math text -\usepackage[type1]{cabin}% used only by \mathsf, optional -\usepackage[nohelv,amsthm,vvarbb,no-math,largesc]{newtx} -%\setmonofont{...}[] -%\setsansfont{...}[] -%\usepackage{polyglossia} % must load after fontspec -%\setdefaultlanguage[variant=american]{english} -%\setotherlanguages{french,russian} -%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} -\end{verbatim} - -\textsc{Notes:} - -\begin{itemize} -\item The {\tt no-math} option to {\tt newtxtext} causes {\tt fontspec} to load with option {\tt no-math}, preventing the package from loading any unicode math font. This option is automatically set internally by {\tt newtxtext} if it detects that {\tt newtxmath} has already been loaded. -\item -You do not need to load {\tt amsmath}: it is loaded by {\tt newtxmath} However, if you wish to load {\tt amsthm}, load {\tt amsmath}, then {\tt amsthm} before {\tt newtxmath}. As of version 1.7. it is simpler to just make use of the option {\tt amsthm} to {\tt newtx} or to {\tt newtxmath}. -\item Babel, if used, must be specified before {\tt newtxtext}. -\item Polyglossia, if used, must be specified after loading {\tt newtxtext}. -\item The {\tt type1} option to {\tt cabin} is important, preventing it from loading {\tt fontspec}, which would lead to an {\tt option clash} error. The same is true for a number of similar packages, like, e.g., {\tt sourcesanspro}. -\end{itemize} - -%\textsc{Example IV: newtxtext type1 + newtxmath (type1) + polyglossia + other Opentype.} +%%\textsc{Example II: newtxtext type1 + STIX (Opentype).} +%%\begin{verbatim} +%%%\usepackage[greek.polutonico,english]{babel} % if using babel +%%% next line does not call fontspec, loads newtxtext type1 +%%\usepackage[type1,theoremfont,trueslanted,largesc,p,osf]{newtxtext} +%%\usepackage{fontspec} +%%\usepackage{unicode-math}% can't load type1 math fonts after this +%%\setmathfont{STIX} +%%%\usepackage{polyglossia} % must load after fontspec, if using polyglossia +%%% polyglossia setup commands +%%\end{verbatim} +%%\textsc{Notes:} +%% +%%\begin{itemize} +%%\item The {\tt type1} option to {\tt newtxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. +%%\item +%%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%%\item Babel, if used, must be specified before {\tt newtxtext}. +%%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +%%\end{itemize} +% +%\textsc{Example II: TeXGyreTermesX Opentype + newtxmath (type1) + polyglossia + other Opentype.} %\begin{verbatim} %\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math mode %\usepackage[T1]{fontenc} % T1 is active encoding for use in math text @@ -421,37 +671,79 @@ You do not need to load {\tt amsmath}: it is loaded by {\tt newtxmath} However, %\usepackage{amsmath} % must be loaded before amsthm if using amsthm %\usepackage{amsthm}% load before newtxmath %\usepackage[vvarbb]{newtxmath} -%\usepackage[no-math]{newtxtext}% pass no-math option to fontspec +%\usepackage[no-math,largesc]{newtxtext}% pass no-math option to fontspec %% Fontspec will be loaded so that Opentype text fonts may be loaded -%\usepackage{polyglossia} % must load after fontspec -%\setdefaultlanguage[variant=american]{english} -%\setotherlanguages{french,russian} -%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +%\setmainfont{TeXGyreTermesX} +%%\setmonofont{...}[] +%%\setsansfont{...}[] +%%\usepackage{polyglossia} % must load after fontspec +%%\setdefaultlanguage[variant=american]{english} +%%\setotherlanguages{french,russian} +%%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} %\end{verbatim} +%With the new {\tt newtx.sty}, the above example may be written as: +%\begin{verbatim} +%\usepackage[T1]{fontenc} % T1 is active encoding for use in math text +%\usepackage[type1]{cabin}% used only by \mathsf, optional +%\usepackage[nohelv,amsthm,vvarbb,no-math,largesc]{newtx} +%%\setmonofont{...}[] +%%\setsansfont{...}[] +%%\usepackage{polyglossia} % must load after fontspec +%%\setdefaultlanguage[variant=american]{english} +%%\setotherlanguages{french,russian} +%%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +%\end{verbatim} +% %\textsc{Notes:} +% %\begin{itemize} -%\item The {\tt type1} option to {\tt newtxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. +%\item The {\tt no-math} option to {\tt newtxtext} causes {\tt fontspec} to load with option {\tt no-math}, preventing the package from loading any unicode math font. This option is automatically set internally by {\tt newtxtext} if it detects that {\tt newtxmath} has already been loaded. %\item -%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%You do not need to load {\tt amsmath}: it is loaded by {\tt newtxmath} However, if you wish to load {\tt amsthm}, load {\tt amsmath}, then {\tt amsthm} before {\tt newtxmath}. As of version 1.7. it is simpler to just make use of the option {\tt amsthm} to {\tt newtx} or to {\tt newtxmath}. %\item Babel, if used, must be specified before {\tt newtxtext}. -%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. -%\item The first seven lines of this example preamble could be taken as a basis for a preamble that will compile under all LaTeX engines. +%\item Polyglossia, if used, must be specified after loading {\tt newtxtext}. +%\item The {\tt type1} option to {\tt cabin} is important, preventing it from loading {\tt fontspec}, which would lead to an {\tt option clash} error. The same is true for a number of similar packages, like, e.g., {\tt sourcesanspro}. %\end{itemize} % - -%Be aware that some text packages (e.g., {\tt cabin}) may contain a line like -%\begin{verbatim} -%\RequirePackage{fontspec} -%\end{verbatim} -%which would prevent (``option clash'' error) a subsequent -%\begin{verbatim} -%\usepackage[no-math]{fontspec} -%\end{verbatim} -%unless suppressed by an appropriate option. E.g., -%\begin{verbatim} -%\usepackage[type1]{cabin} -%\end{verbatim} -%prevents the problem with the {\tt cabin} package. +%%\textsc{Example IV: newtxtext type1 + newtxmath (type1) + polyglossia + other Opentype.} +%%\begin{verbatim} +%%\renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math mode +%%\usepackage[T1]{fontenc} % T1 is active encoding for use in math text +%%\usepackage[type1]{cabin}% used only by \mathsf, optional +%%\usepackage{amsmath} % must be loaded before amsthm if using amsthm +%%\usepackage{amsthm}% load before newtxmath +%%\usepackage[vvarbb]{newtxmath} +%%\usepackage[no-math]{newtxtext}% pass no-math option to fontspec +%%% Fontspec will be loaded so that Opentype text fonts may be loaded +%%\usepackage{polyglossia} % must load after fontspec +%%\setdefaultlanguage[variant=american]{english} +%%\setotherlanguages{french,russian} +%%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +%%\end{verbatim} +%%\textsc{Notes:} +%%\begin{itemize} +%%\item The {\tt type1} option to {\tt newtxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. +%%\item +%%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%%\item Babel, if used, must be specified before {\tt newtxtext}. +%%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +%%\item The first seven lines of this example preamble could be taken as a basis for a preamble that will compile under all LaTeX engines. +%%\end{itemize} +%% +% +%%Be aware that some text packages (e.g., {\tt cabin}) may contain a line like +%%\begin{verbatim} +%%\RequirePackage{fontspec} +%%\end{verbatim} +%%which would prevent (``option clash'' error) a subsequent +%%\begin{verbatim} +%%\usepackage[no-math]{fontspec} +%%\end{verbatim} +%%unless suppressed by an appropriate option. E.g., +%%\begin{verbatim} +%%\usepackage[type1]{cabin} +%%\end{verbatim} +%%prevents the problem with the {\tt cabin} package. \textsc{Macros and Options Modified in Version 1.7:} \begin{itemize} @@ -470,7 +762,8 @@ Upper and lower case letters in English alphabet: \textcircled{A}\dots\textcircl \item {\tt foresolidus, aftsolidus} are not used in unicode tex. \item {\tt scosf} operates more effectively than in [pdf]latex---in the latter, it seems now very difficult to modify the definition of \verb|\scshape|, and this option works only for \verb|\textsc|. \item {\tt oldSS} (opentype only) controls whether the new German capital sharp S is used or whether the old SS is retained. The former is the default but the option {\tt oldSS} forces the latter by setting {\tt StylisticSet=6}. The effects are summarized in the following tables. -\ifntxotf +\makeatletter +\ifntx@otftext \begin{center} \begin{tabular}{@{} lcl @{}} @@ -484,10 +777,12 @@ Upper and lower case letters in English alphabet: \textcircled{A}\dots\textcircl \hline \end{tabular} \end{center} -\fi % \ifntxotf +\fi % \ifntx@otftext +\makeatother \noindent Effect of choice of {\tt StylisticSet}: -\ifntxotf +\makeatletter +\ifntx@otftext \begin{center} \begin{tabular}{@{} ccccc @{}} @@ -502,13 +797,14 @@ Upper and lower case letters in English alphabet: \textcircled{A}\dots\textcircl \end{center} \fi % \ifntxotf \end{itemize} +\makeatother \section{Math mode options} The package invoked by \begin{verbatim} \usepackage{newtxmath} \end{verbatim} -loads the math part of the {\tt txfonts} (with revised metrics and additional glyphs) and should be loaded \emph{after} the text font and its encoding have been specified, as it uses the text font settings to define how operators, numbers, math accents, \verb|\mathrm|, \verb|\mathbf| etc.\ are rendered. You should also load a Typewriter font so as not to generate mysterious error messages about \textsf{metafont} trying to generate \texttt{ectt10}. The package offers a number of options. +loads the math part of the {\tt txfonts} (with revised metrics and additional glyphs) and should be loaded \emph{after} the text font and its encoding have been specified, as it uses the text font settings to define how operators, numbers, math accents, \verb|\mathrm|, \verb|\mathbf| etc.\ are rendered. You should also load a typewriter font so as not to generate mysterious error messages about \textsf{metafont} trying to generate \texttt{ectt10}. The package offers a number of options. \begin{itemize} \item {\tt upint} (new as of version 1.5) selects upright integrals---the default shape is slanted. Each shape/size of integral takes one of twelve form, illustrated below in the case of display size slanted integrals. \[\int\quad\oint\quad\iint\quad\iiint\quad\iiiint\quad\oiint\quad\oiiint\quad\varointclockwise\quad\ointctrclockwise\quad\fint\quad\sumint\quad\sqint\] @@ -592,7 +888,13 @@ As of version 1.7, it is simpler to provide {\tt amsthm} as an option to either \item Option {\tt nonewtxmathopt} (or {\tt scale}, a mistake I cannot now erase) causes newtxmath to not make use of the optical math sizes (7{\tt pt}, 5{\tt pt}), as preferred by some. \item Option {\tt subscriptcorrection} enables the special spacing of some subscripts. (The default setting is {\tt nosubscriptcorrection}.) \item The \textsf{newtxmath} package contains three different Blackboard Bold alphabets, where the original \textsf{txfonts} contained two. The default, triggered by \verb|\mathbb{}|, takes its glyphs from the font which replaces {\tt msbm} and has the same overall appearance of a hollowed-out text font, which I find neither bold nor blackboard-like. The second option, taken from \textsf{txfonts}, is triggered by \verb|\varmathbb{}|, is more geometric and, in my opinion, preferable but not optimal. The option {\tt varbb} makes \verb|\mathbb{}| synonymous with \verb|\varmathbb{}|. The third option is the double-struck glyphs from the STIX collection. See the expanded discussion below. -\item {\tt noOT1} affects only those text-math combinations where {\tt operators} is defined by default to OT1 with Greek uppercase letters. It causes {\tt operators} to keep the same encoding as in tex, allowing operatornames to use accented characters, but possibly losing some calls for Greek uppercase. +\item {\tt noOT1} affects only those text-math combinations where {\tt operators} is defined by default to OT1 with Greek uppercase letters. It causes {\tt operators} to keep the same encoding as in tex, allowing operator names to use accented characters, but possibly losing some calls for Greek uppercase. +You may avoid the loss of One solution could be to define the affected operator names individually with commands like +\begin{verbatim} +\DeclareMathOperator{\mIn}{\text{{\fontencoding{\encodingdefault}\selectfont m\'in}}} +\end{verbatim} +making use of the {\tt amsmath} \verb|\text| macro, which gives you proper scaling in scriptstyle and scriptscriptstyle as well. + \item {\tt nosymbolsc} causes the package to not load the {\tt symbolsC} fonts, saving a math family. (This font contains mostly exotic symbols, along with some very useful, commonly used symbols like \verb|\coloneq| $\coloneq$, \verb|\eqcolon| $\eqcolon$, \verb|\notin| $\notin$, \verb|\notni| $\notni$, \verb|\neq| $\neq$, \verb|\nsubset| $\nsubset$ and \verb|\nsupset| $\nsupset$, but these have been moved (virtually) to {\tt lettersA} so they may continue to be used even if you use the option {\tt nosymbolsc}.) If this option is selected, then, as of version 1.53, new definitions are made for the missing negated symbols. The package {\tt centernot} is now required. %\item {\tt amssymbols} (the default) and {\tt noamssymbols} determine whether the {\tt txfonts} versions of the \textsc{ams} symbols ({\tt AMSm}) are loaded---if so, they override previous settings in {\tt amsmath}. If you use the option {\tt noamssymbols}, then \verb|\mathbb{}| is set to mean the same as \verb|\varmathbb{}|. (One advantage of {\tt noamssymbols} is that you save two of your precious math families for other purposes, such as setting a couple of external math alphabets by means of the \textsf{mathalfa} package.) \textbf{Important note:} if you load an AMS class, like {\tt amsart}, then some trickery will be involved. From 2018 onward, the AMS classes {\tt noamsfonts} prevents the loading of {\tt AMSa} and {\tt AMSb}, which waste two slots. %The following workaround seems like a reasonable stopgap until then. @@ -627,7 +929,7 @@ gives \[\widearc{BC}\quad\widearc{ABC}\quad\widearc{ABCD}\quad \wideOarc{BC}\quad\wideOarc{ABC}\quad\wideOarc{ABCD}\] %\item {largelibfigs} has effect only if the libertine option is selected---with this option, full-sized figures are substituted in math mode for the default Libertine figures, which are about 8\% below Libertine's Capheight. -\item The option {\tt timesmathacc} changes the default selection of math accents from the Roman text font, forcing the use of the heavier Times accents. (Libertine has much lighter accents which can seem to almost disappear under some conditions.) If your language uses accented operator names, do not use this option. +\item The option {\tt timesmathacc} changes the default selection of math accents from the Roman text font, forcing the use of the heavier Times accents. (Libertine has much lighter accents which can seem to almost disappear under some conditions.) \end{itemize} \bigskip @@ -796,7 +1098,7 @@ Math font packages in \LaTeX\ are susceptible to the ``Too many math alphabets'' \item If using one of the AMS classes (e.g., {\tt amsart}, {\tt amsbook}), you can save two or more math families by adding the option {\tt noamsfonts} in your \verb|\documentclass| call. As of early 2018, This works only with the most recent versions the AMS classes available in both TexLive and MiKTeX. \item The {\tt operators} font is essentially the Roman text font, used for names of operators and as the target for \verb|\mathrm|---its bold version is used as the target for \verb|\mathbf|; -\item {\tt operators} is defined to be the OT$1$ encoded version of the text font in cases where that version is known to contain upright uppercase Greek letters in its forst eleven slots---eg, newtxtext, libertine. +\item {\tt operators} is defined to be the OT$1$ encoded version of the text font in cases where that version is known to contain upright uppercase Greek letters in its first eleven slots---eg, newtxtext, libertine. \item if you typeset an expression that, say, calls for a single bold glyph from {\tt symbolsC}, that costs you an entire new slot, leaving only two remaining; \item same with, eg, \verb|\mathit|; \item same with an external Fraktur, Blackboard Bold or Script glyphs; @@ -1172,20 +1474,19 @@ Also modified were the {\tt sups} fonts in {newtxtext}, where the main issue was Here is a sample preamble showing the elements you will need to specify to generate a pdf satisfying the PDF/A-1b standards, as verified by Adobe Acrobat Pro. (Other verification processes may yield different outcomes.) \begin{verbatim} \documentclass[noamsfonts]{amsart} % save 2 math families -\pdfcompresslevel=0 -\pdfgentounicode=1 -\input glyphtounicode.tex +%\pdfcompresslevel=0 %Set this only if are going to debug the pdf +%\pdfgentounicode=1 %These to lines no longer needed--LaTeX does it. +%\input glyphtounicode.tex \usepackage{pdfx} % v 1.6.4 or higher \InputIfFileExists{glyphtounicode-cmr.tex}{}{} \InputIfFileExists{glyphtounicode-ntx.tex}{}{} \usepackage{newtxtext} %T1 is default encoding \usepackage[scaled=0.95]{inconsolata} % typewriter -%\usepackage[leqno]{amsmath} +\usepackage[leqno]{amsmath} \usepackage{amsthm} \usepackage[vvarbb]{newtxmath} % vvarbb gives STIX Bbb -\end{verbatim} +\end{verbatim} -Version 1.6.3 of {\tt pdfx} from February 2019 mishandles math accents. A fix is now available and will become part of the upcoming {\tt pdfx} v1.6.4. \subsection{Glyph spacing changes} \textbf{(For enhanced packages only)}I reworked the math italics to improve the rendering of some superscripts. This affects (a) parentheses, brackets and braces to inhibit clashes; (b) glyphs like j, f, p, y, \verb|\rho|, \verb|\beta| and \verb|\mu| where a long tail could pose problems intersecting with other glyphs; (c) glyphs like such as D, Q and \verb|\Phi| that are round on the right, where interference is most likely to occur with a superscript. Increasing the left side-bearing of j, etc., helps with superscripts but creates an ugly gap when used as subscripts. @@ -1297,19 +1598,30 @@ and pasting it into the top of your document before the \verb|\documentclass...| \end{filecontents*} \end{verbatim} \subsection*{The {\tt ebgaramond} option to newtxmath} -As {\tt ebgaramond} has an x-height considerably smaller than {\tt newtx}, some amount of scaling is useful to bridge the gap. In making the replacement letters, I increased the size of the EBGaramond letters by 5\%, so make some scaling combination that compensates for this. The weights of {\tt ebgaramond} used in the substitutions were regular and semibold. This dictates one of the options used for {\tt ebgaramond}. +As {\tt ebgaramond} has an x-height considerably smaller than {\tt newtx}, some amount of scaling is useful to bridge the gap. In making the replacement letters, I increased the size of the EBGaramond letters in math by 5\%, so make some scaling combination for text that compensates for this. The weights of {\tt ebgaramond} used in the substitutions were regular and semibold. This dictates one of the options used for {\tt ebgaramond}. -\textsc{Example preamble:}\\ +\textsc{Example preamble not using newtx:} \begin{verbatim} \usepackage[lining,semibold,scaled=1.05]{ebgaramond} % Latex BOLD renders with ebgaramond semibold \usepackage[T1]{fontenc} % best for Western European languages -\usepackage{textcomp} % required to get special symbols -\usepackage[varqu,varl]{inconsolata}% a typewriter font must be defined +\usepackage[varqu,varl]{inconsolata}% a typewriter font for \mathtt \usepackage{amsmath}% must be loaded before amsthm, if using \usepackage{amsthm}% must be loaded before newtxmath \usepackage[ebgaramond,vvarbb,subscriptcorrection]{newtxmath} % STIX Bbb \usepackage{bm}% load after all math to give access to bold math \end{verbatim} - +\textsc{Same preamble using newtx:} +\begin{verbatim} +\usepackage[T1]{fontenc} % best for Western European languages +\usepackage[varqu,varl]{inconsolata}% a typewriter font for \mathtt +\usepackage[ebgaramond,semibold,textscale=0,vvarbb,subscriptcorrection,amsthm]{newtx} +\usepackage{bm}% load after all math to give access to bold math +\end{verbatim} +%\subsection{Operatorname issues} +%For some of the text fonts supported by {\tt newtx}, an {\tt OT1} version of the text fonts has been constructed with Greek capital letters in the first eleven slots, just as in Computer Modern, and some older TeX constructs depend on that. In those cases, even if you set {\tt T1} as your text font encoding before loading {\tt newtxmath} or {\tt newtx}, the operator font will be set to the {\tt OT1} version, not the {\tt T1} version. (You may prevent this by specifying option {\tt noOT1} to {\tt newtxmath} or {\tt newtx}.) Using the {\tt OT1} encoded operators font should not be a problem unless you wish to use accented characters in some operator names. This is the case in Spanish and Portuguese, and possible other languages. One solution could be to define the affected operators individually with commands like +%\begin{verbatim} +%\DeclareMathOperator{\mIn}{\text{{\fontencoding{T1}\selectfont m\'in}}} +%\end{verbatim} +%making use of the {\tt amsmath} \verb|\text| macro, which gives you proper scaling in scriptstyle and scriptscriptstyle as well. \end{document} \ No newline at end of file diff --git a/fonts/newtx/opentype/TeXGyreTermesX-Bold.otf b/fonts/newtx/opentype/TeXGyreTermesX-Bold.otf index 42e7f0e4d3..04a52f1ce8 100644 Binary files a/fonts/newtx/opentype/TeXGyreTermesX-Bold.otf and b/fonts/newtx/opentype/TeXGyreTermesX-Bold.otf differ diff --git a/fonts/newtx/opentype/TeXGyreTermesX-BoldItalic.otf b/fonts/newtx/opentype/TeXGyreTermesX-BoldItalic.otf index 26dfce839d..8bb8c81d6f 100644 Binary files a/fonts/newtx/opentype/TeXGyreTermesX-BoldItalic.otf and b/fonts/newtx/opentype/TeXGyreTermesX-BoldItalic.otf differ diff --git a/fonts/newtx/opentype/TeXGyreTermesX-BoldSlanted.otf b/fonts/newtx/opentype/TeXGyreTermesX-BoldSlanted.otf index 85f5debc4e..22cebb0e72 100644 Binary files a/fonts/newtx/opentype/TeXGyreTermesX-BoldSlanted.otf and b/fonts/newtx/opentype/TeXGyreTermesX-BoldSlanted.otf differ diff --git a/fonts/newtx/opentype/TeXGyreTermesX-Italic.otf b/fonts/newtx/opentype/TeXGyreTermesX-Italic.otf index 52118001e2..9f9871a4c3 100644 Binary files a/fonts/newtx/opentype/TeXGyreTermesX-Italic.otf and b/fonts/newtx/opentype/TeXGyreTermesX-Italic.otf differ diff --git a/fonts/newtx/opentype/TeXGyreTermesX-Regular.otf b/fonts/newtx/opentype/TeXGyreTermesX-Regular.otf index 14cf1693dc..f9a878a271 100644 Binary files a/fonts/newtx/opentype/TeXGyreTermesX-Regular.otf and b/fonts/newtx/opentype/TeXGyreTermesX-Regular.otf differ diff --git a/fonts/newtx/opentype/TeXGyreTermesX-Slanted.otf b/fonts/newtx/opentype/TeXGyreTermesX-Slanted.otf index 168727647c..351e929a65 100644 Binary files a/fonts/newtx/opentype/TeXGyreTermesX-Slanted.otf and b/fonts/newtx/opentype/TeXGyreTermesX-Slanted.otf differ diff --git a/fonts/newtx/tex/ly1minebgaramond.fd b/fonts/newtx/tex/ly1minebgaramond.fd new file mode 100644 index 0000000000..a6420a9c4a --- /dev/null +++ b/fonts/newtx/tex/ly1minebgaramond.fd @@ -0,0 +1,366 @@ +%% Generated by msharpe on 2022/01/20 +%% +\ProvidesFile{ly1minebgaramond.fd} + [2022/01/20 (msharpe) Font definitions for LY1/minebgaramond.] + +\def\@textscalefactor{1.05} +%ebgaramond must be reduced by factor .93 to match xheight of newtxmath + +\@ifundefined{ntxmath@scale}{\let\ntxmath@scaled\@empty} +{\@tempdima\@textscalefactor\p@ +\@tempdima\ntxmath@scale\@tempdima +\edef\ntxmath@scaled{s*[\strip@pt\@tempdima]}}% locally, not globally + +\DeclareFontFamily{LY1}{minebgaramond}{} + + +% ---- regular ---- + +\DeclareFontShape{LY1}{minebgaramond}{regular}{sc}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{n}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{it}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{scit}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{sw}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{nw}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{scsl}{ + <-> ssub * minebgaramond/regular/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{regular}{sl}{ + <-> ssub * minebgaramond/regular/it +}{} + + +% ---- semibold ---- + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{sc}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{n}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{it}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{scit}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{sw}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{nw}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{scsl}{ + <-> ssub * minebgaramond/semibold/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{semibold}{sl}{ + <-> ssub * minebgaramond/semibold/it +}{} + + +% ---- bold ---- + +\DeclareFontShape{LY1}{minebgaramond}{bold}{sc}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{n}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{it}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{scit}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{sw}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{nw}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{scsl}{ + <-> ssub * minebgaramond/bold/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bold}{sl}{ + <-> ssub * minebgaramond/bold/it +}{} + + +% ---- medium ---- + +\DeclareFontShape{LY1}{minebgaramond}{medium}{sc}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{n}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{it}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{scit}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{sw}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{nw}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{scsl}{ + <-> ssub * minebgaramond/medium/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{medium}{sl}{ + <-> ssub * minebgaramond/medium/it +}{} + + +% ---- extrabold ---- + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{sc}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{n}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{it}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{scit}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-sc-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{sw}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{nw}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-swash-ly1 +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{scsl}{ + <-> ssub * minebgaramond/extrabold/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{extrabold}{sl}{ + <-> ssub * minebgaramond/extrabold/it +}{} + +% +% Extra 'ssub' rules to map the standard NFSS codes to our fancy names +% + +% m --> regular + +\DeclareFontShape{LY1}{minebgaramond}{m}{scsl}{ + <-> ssub * minebgaramond/regular/scsl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{sc}{ + <-> ssub * minebgaramond/regular/sc +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{n}{ + <-> ssub * minebgaramond/regular/n +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{it}{ + <-> ssub * minebgaramond/regular/it +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{sw}{ + <-> ssub * minebgaramond/regular/sw +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{sl}{ + <-> ssub * minebgaramond/regular/sl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{scit}{ + <-> ssub * minebgaramond/regular/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{m}{nw}{ + <-> ssub * minebgaramond/regular/nw +}{} + + +% sb --> semibold + +\DeclareFontShape{LY1}{minebgaramond}{sb}{scsl}{ + <-> ssub * minebgaramond/semibold/scsl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{sc}{ + <-> ssub * minebgaramond/semibold/sc +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{n}{ + <-> ssub * minebgaramond/semibold/n +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{it}{ + <-> ssub * minebgaramond/semibold/it +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{sw}{ + <-> ssub * minebgaramond/semibold/sw +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{sl}{ + <-> ssub * minebgaramond/semibold/sl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{scit}{ + <-> ssub * minebgaramond/semibold/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{sb}{nw}{ + <-> ssub * minebgaramond/semibold/nw +}{} + + +% b --> bold + +\DeclareFontShape{LY1}{minebgaramond}{b}{scsl}{ + <-> ssub * minebgaramond/bold/scsl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{sc}{ + <-> ssub * minebgaramond/bold/sc +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{n}{ + <-> ssub * minebgaramond/bold/n +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{it}{ + <-> ssub * minebgaramond/bold/it +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{sw}{ + <-> ssub * minebgaramond/bold/sw +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{sl}{ + <-> ssub * minebgaramond/bold/sl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{scit}{ + <-> ssub * minebgaramond/bold/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{b}{nw}{ + <-> ssub * minebgaramond/bold/nw +}{} + + +% eb --> extrabold + +\DeclareFontShape{LY1}{minebgaramond}{eb}{scsl}{ + <-> ssub * minebgaramond/extrabold/scsl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{sc}{ + <-> ssub * minebgaramond/extrabold/sc +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{n}{ + <-> ssub * minebgaramond/extrabold/n +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{it}{ + <-> ssub * minebgaramond/extrabold/it +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{sw}{ + <-> ssub * minebgaramond/extrabold/sw +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{sl}{ + <-> ssub * minebgaramond/extrabold/sl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{scit}{ + <-> ssub * minebgaramond/extrabold/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{eb}{nw}{ + <-> ssub * minebgaramond/extrabold/nw +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{n}{ + <-> ssub * minebgaramond/b/n +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{sc}{ + <-> ssub * minebgaramond/b/sc +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{scsl}{ + <-> ssub * minebgaramond/b/scsl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{it}{ + <-> ssub * minebgaramond/b/it +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{sw}{ + <-> ssub * minebgaramond/b/sw +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{sl}{ + <-> ssub * minebgaramond/b/sl +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{scit}{ + <-> ssub * minebgaramond/b/scit +}{} + +\DeclareFontShape{LY1}{minebgaramond}{bx}{nw}{ + <-> ssub * minebgaramond/b/nw +}{} + +\endinput diff --git a/fonts/newtx/tex/ly1minntx.fd b/fonts/newtx/tex/ly1minntx.fd new file mode 100644 index 0000000000..d07d5eaa13 --- /dev/null +++ b/fonts/newtx/tex/ly1minntx.fd @@ -0,0 +1,42 @@ +\ProvidesFile{ly1minntx.fd}[2022/01/20 v1.0 font definition file for LY1/minntx] + +\@ifundefined{ifntx@sl}{\let\ifntx@sl\iftrue}{} +\@ifundefined{ifntx@largesc}{\let\ifntx@largesc\iftrue}{} + +\expandafter\ifx\csname ntxmath@scaled\endcsname\relax + \let\ntxmath@scaled\@empty% +\fi +\def\ntx@asfx{} +\def\ntx@lsfx{} +\def\ntx@makelsfx{\ifntx@largesc\def\ntx@lsfx{l}\fi} +\def\ntx@makeadobesc{\ifntx@adobesc\def\ntx@lsfx{l}\def\ntx@adobesc{a}\else\ntx@makelsfx\fi} +\ntx@makelsfx +\ifdefined\ntx@adobescfalse\ntx@makeadobesc\fi +\ifdefined\ntx@spacing \else\global\let\ntx@spacing\@empty\fi + +\DeclareFontFamily{LY1}{minntx}{\ntx@spacing} +\DeclareFontShape{LY1}{minntx}{b}{sc}{<-> \ntxmath@scaled ntx-Bold-tlf-sc\ntx@lsfx-ly1}{} +\DeclareFontShape{LY1}{minntx}{b}{n}{<-> \ntxmath@scaled ntx-Bold-tlf-ly1}{} +\DeclareFontShape{LY1}{minntx}{b}{scit}{<-> \ntxmath@scaled ntx-BoldItalic-tlf-sc\ntx@lsfx-ly1}{} +\DeclareFontShape{LY1}{minntx}{b}{it}{<-> \ntxmath@scaled ntx-BoldItalic-tlf-ly1}{} +\DeclareFontShape{LY1}{minntx}{m}{sc}{<-> \ntxmath@scaled ntx-Regular-tlf-sc\ntx@lsfx-ly1}{} +\DeclareFontShape{LY1}{minntx}{m}{n}{<-> \ntxmath@scaled ntx-Regular-tlf-ly1}{} +\DeclareFontShape{LY1}{minntx}{m}{scit}{<-> \ntxmath@scaled ntx-Italic-tlf-sc\ntx@lsfx-ly1}{} +\DeclareFontShape{LY1}{minntx}{m}{it}{<-> \ntxmath@scaled ntx-Italic-tlf-ly1}{} +\DeclareFontShape{LY1}{minntx}{bx}{sc}{<->ssub * minntx/b/sc}{} +\DeclareFontShape{LY1}{minntx}{bx}{n}{<->ssub * minntx/b/n}{} +\DeclareFontShape{LY1}{minntx}{bx}{scit}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{LY1}{minntx}{bx}{it}{<->ssub * minntx/b/it}{} +\ifntx@sl % point to real slanted fonts + \DeclareFontShape{LY1}{minntx}{m}{sl}{<-> \ntxmath@scaled tyxsl}{} + \DeclareFontShape{LY1}{minntx}{b}{sl}{<-> \ntxmath@scaled ztmbsl-tlf-ly1}{} + \DeclareFontShape{LY1}{minntx}{bx}{sl}{<->ssub * minntx/b/sl}{} +\else %point to theorem font + \DeclareFontShape{LY1}{minntx}{m}{sl}{<-> \ntxmath@scaled ntxth-Italic-tlf-ot1}{} + \DeclareFontShape{LY1}{minntx}{b}{sl}{<->ssub * minntx/m/sl}{} + \DeclareFontShape{LY1}{minntx}{bx}{sl}{<->ssub * minntx/m/sl}{} +\fi +\DeclareFontShape{LY1}{minntx}{b}{scsl}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{LY1}{minntx}{bx}{scsl}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{LY1}{minntx}{m}{scsl}{<->ssub * minntx/m/scit}{} +\endinput diff --git a/fonts/newtx/tex/newtx.sty b/fonts/newtx/tex/newtx.sty index 7024807386..9279fac137 100644 --- a/fonts/newtx/tex/newtx.sty +++ b/fonts/newtx/tex/newtx.sty @@ -1,113 +1,539 @@ \NeedsTeXFormat{LaTeX2e} +%: -%Package to simplify loading of newtxtext with newtxmath for all latex engines -\def\fileversion{1.704} -\def\filedate{2022/01/09} +%Package to simplify loading of newtxmath with a text font family such as newtxtext for all latex engines, or for newtxtext and an otf math package. +\def\fileversion{1.71} +\def\filedate{2022/02/11} \ProvidesPackage{newtx}[% -\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for newtxtext with newtxmath] +\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for newtxmath and a supported text font family, or for newtxtext and an otf math package] -\message{`newtx'v\fileversion,\filedate\space Integrated\space loading\space of\space newtxtext\space and\space newtxmath +\message{`newtx'v\fileversion,\space\filedate\space Integrated\space loading\space of\space newtxmath\space and\space a\space text\space font \space for\space all\space latex\space engines\space (msharpe)} -\RequirePackage{ifthen,ifxetex,ifluatex} - -\def\ntx@mathlst{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,subscriptcorrectionfile,timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1} -\def\ntx@textlst{type1,nofontspec,no-math,defaultfeatures,lining,lf,oldstyle,osf,tabular,t,proportional,p,defaultsups,largesc,nott,nohelv,helvratio,spcfactor,spacing,stretch,shrink,defaultfeatures,oldSS,slashedzero,theoremfont,thmlining,thmslshape,trueslanted,scosf,tighter,looser} - -%\newif\ifntx@inmath\newif\ifntx@intext -%% #2 -%\def\ntx@inmath#1{\ntx@inmathfalse% -% \@for\ntx@opt:=\ntx@mathlst\do{% -% \ifthenelse{\equal}{#1}{\ntx@opt}{\ntx@inmathtrue\typeout{#1 in mathlst}}{}}% -% } -%\def\ntx@intext#1{\ntx@intextfalse% -% \@for\ntx@opt:=\ntx@textlst\do{% -% \ifthenelse{\equal}{#1}{\ntx@opt}{\ntx@intexttrue}{}}% -% } + +\RequirePackage{fontenc,fontaxes} +\RequirePackage{ifthen,iftex,etoolbox,scalefnt} + +% options for newtxmath as etoolbox internal list allowing \ifinlist +\def\ntx@mathlstr{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1} +% Note that subscriptcorrectionfile is not on the list---we process it in this sty file +\def\ntx@mathlst{} +\@for\ntx@opt:=\ntx@mathlstr\do{% +\listeadd{\ntx@mathlst}{\ntx@opt}}% + +%\ifinlist{amsthm}{\ntx@mathlst}{\typeout{YES}}{ \typeout{NO}} %Enginecheck -\newif\ifntxotf -\newif\ifntx@origotf -\ifxetex - \ntxotftrue -\else - \ifluatex - \ntxotftrue - \else %[pdf]LaTeX - \ntxotffalse - \fi -\fi -\ifntxotf\ntx@origotftrue\fi +%iftex's \iftutex is true for LuaTeX and XeTeX +\newif\ifntx@otftext +\iftutex\ntx@otftexttrue\fi %%%%%%%%%%%%%%%%%% -\IfFileExists{xkeyval.sty}{\RequirePackage{xkeyval}}% -{\let\DeclareOptionX\DeclareOption -\let\ExecuteOptionsX\ExecuteOptions -\let\ProcessOptionsX\ProcessOptions} +\RequirePackage{xkeyval}% + %%%%StartOptions -\newif\ifntxotfmath\ntxotfmathfalse %default is type1 math -%\newif\ifntxotftext\ntxotftexttrue %default is otftext using newtxtext -%\newcommand{\ntx@optlist}{} -\newif\ifntx@babel\newif\ifntx@ -%\DeclareOptionX{babel}{} -%\DeclareOptionX{type1text}[true]{% -%\@nameuse{if#1}\ntxotftextfalse\fi -%} -%\DeclareOptionX{nofontspec}[true]{% -%\@nameuse{if#1}\ntxotffalse\fi -%} -%\DeclareOptionX{type1}[true]{% -%\@nameuse{if#1}\ntxotffalse\fi -%} +\newif\ifntx@nofontspec % default is to load fontspec if unicode engine +\newif\ifntx@otfmath %\ntx@otfmathfalse % default is type1 math + +\def\tx@divide#1#2{\strip@pt\dimexpr 1pt * (\dimexpr #1pt) / \dimexpr #2pt\relax\relax} + +\newcommand*{\ntxtext@scale}{1} +\newcommand*{\ntxmath@scale}{1} +\DeclareOptionX{scaled}[1]{\renewcommand*{\ntxtext@scale}{#1}\renewcommand*{\ntxmath@scale}{#1}} +\DeclareOptionX{scale}[1]{\renewcommand*{\ntxtext@scale}{#1}\renewcommand*{\ntxmath@scale}{#1}} +\DeclareOptionX{textscale}[1]{\renewcommand*{\ntxtext@scale}{#1}} +\DeclareOptionX{textscaled}[1]{\renewcommand*{\ntxtext@scale}{#1}} +\DeclareOptionX{mathscale}[1]{\renewcommand*{\ntxmath@scale}{#1}} +\DeclareOptionX{mathscaled}[1]{\renewcommand*{\ntxmath@scale}{#1}} + +\DeclareOptionX{type1}[true]{% +\@nameuse{if#1}\ntx@otftextfalse\fi} +\DeclareOptionX{type1text}[true]{% same as type1--use type1 for text +\@nameuse{if#1}\ntx@otftextfalse\fi} + +\DeclareOptionX{nofontspec}[true]{% use type1 for text and math +\@nameuse{if#1}\ntx@nofontspectrue\fi} + \DeclareOptionX{otfmath}[true]{% -\@nameuse{if#1}\ntxotfmathtrue\typeout{Got otfmath}\fi +\@nameuse{if#1}\iftutex\ntx@otfmathtrue\fi\fi} + +%\DeclareOptionX{no-math}[true]{% +%\@nameuse{if#1}\ntx@nomathtrue\fi} +%\DeclareOptionX{no-otfmath}[true]{% forces use of newtxmath +%\@nameuse{if#1}\ntx@nomathtrue\fi} + +\DeclareOptionX{subscriptcorrectionfile}{\def\tx@subs{#1}\tx@subsfiletrue} + +%\newif\ifntx@fourier +\def\ntx@dfltTF{newtxtext} % the default text font package name +\def\ntx@text{\let\ntx@TF=\ntx@dfltTF % the text font package name +\def\ntx@MF{} % option name for flavor of newtxmath +\def\ntx@id{0} % identifier for font properties +\def\ntx@sc{ntx@scale} % macro name for scale factor in font package +\def\ntx@minfam{minntx} %roman font, tabular lining fd, used in math +} +\ntx@text % set the default +\DeclareOptionX{libertine}[true]{% + \@nameuse{if#1}\def\ntx@sc{LinuxLibertineT@scale}% + \def\ntx@TF{libertinus}\def\ntx@MF{libertine} + \def\ntx@id{10}\def\ntx@minfam{minlibertine}\def\textlf##1{{\liningnums##1}}\def\nustyle{\sufigures}\def\destyle{}\def\infigures{}\def\textinf{}\fi} +\DeclareOptionX{libertinus}[true]{% + \@nameuse{if#1}\def\ntx@sc{LibertinusSerif@scale}% + \def\ntx@TF{libertinus}\def\ntx@MF{libertine} + \def\ntx@id{10}\def\ntx@minfam{minlibertine}% } - +\DeclareOptionX{etbb}[true]{% + \@nameuse{if#1}\def\ntx@TF{ETbb}\def\ntx@MF{libertine} + \def\ntx@id{2}\def\ntx@minfam{minlibertine}\fi} +\DeclareOptionX{ebgaramond}[true]{\@nameuse{if#1} + \def\ntx@sc{EBGaramond@scale}\def\ntx@TF{ebgaramond} + \let\ntx@MF\ntx@TF\def\ntx@id{3}\def\ntx@minfam{minebgaramond}\fi} +\DeclareOptionX{MinionPro}[true]{\@nameuse{if#1} + \def\ntx@sc{}\def\ntx@TF{MinionPro}\def\ntx@MF{minion} + \def\ntx@id{4}\def\ntx@minfam{mincochineal}\def\ntx@TF{MinionPro}\fi} +\DeclareOptionX{minion}[true]{\@nameuse{if#1} + \def\ntx@sc{}\def\ntx@TF{MinionPro}\def\ntx@MF{minion} + \def\ntx@id{4}\def\ntx@minfam{mincochineal}\def\ntx@TF{MinionPro}\fi} +\DeclareOptionX{cochineal}[true]{\@nameuse{if#1} + \def\ntx@sc{Cochineal@scale}\def\ntx@TF{cochineal} + \let\ntx@MF\ntx@TF\def\ntx@id{5}\def\ntx@minfam{mincochineal}\fi} +\DeclareOptionX{garamondx}[true]{\@nameuse{if#1} + \def\ntx@sc{zgm@Scale}\def\ntx@TF{garamondx} + \let\ntx@MF\ntx@TF + \def\ntx@id{6}\def\ntx@minfam{minzgm}\fi} +\DeclareOptionX{baskerville}[true]{\@nameuse{if#1} + \def\ntx@sc{BaskervilleF@scale}\def\ntx@TF{baskervillef} + \let\ntx@MF\ntx@TF\def\ntx@id{7}\def\ntx@minfam{minbaskervillef}\fi} +\DeclareOptionX{Baskerville}[true]{\@nameuse{if#1} + \def\ntx@sc{BaskervilleF@scale}\def\ntx@TF{baskervillef} + \let\ntx@MF\ntx@TF\def\ntx@id{7}\def\ntx@minfam{minbaskervillef}\fi} +\DeclareOptionX{baskervillef}[true]{\@nameuse{if#1} + \def\ntx@sc{BaskervilleF@scale}\def\ntx@TF{baskervillef} + \let\ntx@MF\ntx@TF\def\ntx@id{7}\def\ntx@minfam{minbaskervillef}\fi} +\DeclareOptionX{BaskervilleF}[true]{\@nameuse{if#1} + \def\ntx@sc{BaskervilleF@scale}\def\ntx@TF{baskervillef} + \let\ntx@MF\ntx@TF\def\ntx@id{7}\def\ntx@minfam{minbaskervillef}\fi} +\DeclareOptionX{baskervaldx}[true]{\@nameuse{if#1} + \def\ntx@sc{Baskervaldx@scale}\def\ntx@TF{baskervaldx} + \let\ntx@MF\ntx@TF\def\ntx@id{8}\def\ntx@minfam{minbaskervaldx}\fi} +\DeclareOptionX{Baskervaldx}[true]{\@nameuse{if#1} + \def\ntx@sc{Baskervaldx@scale}\def\ntx@TF{baskervaldx} + \let\ntx@MF\ntx@TF\def\ntx@id{8}\def\ntx@minfam{minbaskervaldx}\fi} +%\DeclareOptionX{utopia}[true]{% +% \@nameuse{if#1}\def\ntx@TF{utopia}\let\ntx@MF\ntx@TF\def\ntx@id{0}\def\ntx@minfam{}\fi} +\DeclareOptionX{heuristica}[true]{\@nameuse{if#1} + \def\ntx@sc{Heuristica@scale}% + \def\ntx@TF{heuristica}\def\ntx@MF{utopia} + \def\ntx@id{9}\def\ntx@minfam{minheuristica}\fi} +\DeclareOptionX{Heuristica}[true]{\@nameuse{if#1} + \def\ntx@sc{Heuristica@scale}% + \def\ntx@TF{heuristica}\def\ntx@MF{utopia} + \def\ntx@id{9}\def\ntx@minfam{minheuristica}\fi} +\DeclareOptionX{erewhon}[true]{\@nameuse{if#1} + \def\ntx@sc{erewhon@scale}\def\ntx@TF{erewhon}\def\ntx@MF{utopia} + \def\ntx@id{11}\def\ntx@minfam{minerewhon}\fi} +\DeclareOptionX{Erewhon}[true]{\@nameuse{if#1} + \def\ntx@sc{erewhon@scale}\def\ntx@TF{erewhon}\def\ntx@MF{utopia} + \def\ntx@id{11}\def\ntx@minfam{minerewhon}\fi} +\DeclareOptionX{XCharter}[true]{\@nameuse{if#1} + \def\ntx@sc{XCharter@scale}\def\ntx@TF{XCharter} + \def\ntx@MF{xcharter}\def\ntx@id{12}\def\ntx@minfam{minxcharter}\fi} +\DeclareOptionX{xcharter}[true]{\@nameuse{if#1} + \def\ntx@sc{XCharter@scale}\def\ntx@TF{XCharter} + \def\ntx@MF{xcharter}\def\ntx@id{12}\def\ntx@minfam{minxcharter}\fi} +\DeclareOptionX{Stickstoo}[true]{\@nameuse{if#1} + \def\ntx@sc{SticksTooText@scale}% + \def\ntx@TF{stickstootext}\def\ntx@MF{stickstoo} + \def\ntx@id{13}\def\ntx@minfam{minstickstootext}\fi} +\DeclareOptionX{stickstoo}[true]{\@nameuse{if#1} + \def\ntx@sc{SticksTooText@scale}% + \def\ntx@TF{stickstootext}\def\ntx@MF{stickstoo} + \def\ntx@id{13}\def\ntx@minfam{minstickstootext}\fi} +\DeclareOptionX{stix2}[true]{\@nameuse{if#1} + \def\ntx@sc{SticksTooText@scale}% + \def\ntx@TF{stickstootext}\def\ntx@MF{stickstoo} + \def\ntx@id{13}\def\ntx@minfam{minstickstootext}\fi} +\DeclareOptionX{scholax}[true]{\@nameuse{if#1} + \def\ntx@sc{TeXGyreScholaX@scale}% + \def\ntx@TF{scholax}\def\ntx@MF{nc} + \def\ntx@id{14}\def\ntx@minfam{minscholax}\fi} +\DeclareOptionX{nc}[true]{\@nameuse{if#1} + \def\ntx@sc{TeXGyreScholaX@scale}% + \def\ntx@TF{scholax}\def\ntx@MF{nc} + \def\ntx@id{14}\def\ntx@minfam{minscholax}\fi} +\DeclareOptionX{scholaxf}[true]{\@nameuse{if#1} + \def\ntx@sc{TeXGyreScholaX@scale}% + \def\ntx@TF{scholax}\def\ntx@MF{nc} + \def\ntx@id{14}\def\ntx@minfam{minscholax}\fi} +\DeclareOptionX{ncf}[true]{\@nameuse{if#1} + \def\ntx@sc{TeXGyreScholaX@scale}% + \def\ntx@TF{scholax}\def\ntx@MF{nc} + \def\ntx@id{14}\def\ntx@minfam{minscholax}\fi} +% for stacked fractions +\DeclareOptionX{sfracvcenter}{% +\def\tx@sfrVC{#1}} +\DeclareOptionX{sfracvspacing}{% +\def\tx@sfrVS{#1}} +\DeclareOptionX{sfracbarthick}{% +\def\tx@sfrTH{#1}} +\DeclareOptionX{sfracscaling}{% +\def\tx@sfrSC{#1}} +\def\ntx@textopt{} \DeclareOptionX*{% what to do with unknown options -%\ntx@intext{\CurrentOption}\ifntx@intext% -\PassOptionsToPackage{\CurrentOption}{newtxtext} -%\ntx@inmath{\CurrentOption}\ifntx@inmath% -\PassOptionsToPackage{\CurrentOption}{newtxmath} +\xifinlist{\CurrentOption}{\ntx@mathlst}% +{\PassOptionsToPackage{\CurrentOption}{newtxmath}}{% +\xdef\ntx@textopt{\ntx@textopt \CurrentOption,} +}} +% \ntx@textopt contains all unknown options that are not math options. It contains no scale options. +\ProcessOptionsX\relax +%\traceon +% Check for conflict between nofontspec and others +\ifntx@nofontspec + \iftutex + \ntx@otfmathfalse + \ntx@otftextfalse + \fi +\fi +\ifntx@otfmath + \ifnum\ntx@id>0 + \PackageWarning{newtx.sty}{Reverting to newtxtext: newtx is useless when specifying otfmath with any other text package.} + \ntx@text % revert to newtxtext +\fi\fi +%\ifntx@badnof\PackageError{newtx.sty}{Incompatible options, nofontspec and otfmath}{Incompatible options, nofontspec and otfmath}\fi +% Set the text scale macros appropriately +%\show\ntx@TF +\PassOptionsToPackage{scaled=\ntxmath@scale}{newtxmath} +%\PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF} +\edef\ntxmath@scaled{s*[\ntxmath@scale]} +% For the min text fd files, need to use actual scale macro passed to fd? +%\@namedef{\ntx@sc}{\ntxtext@scale} + +\newif\ifntx@iszero +\@tempdima\@ne\p@\@tempdima\ntxtext@scale\@tempdima +\expandafter\ifnum\number\@tempdima=0\relax\ntx@iszerotrue\fi +% +\newcommand{\PassMathScale}{\ifntx@iszero\gdef\ntxtext@scale{\ntxmath@scale}\gdef\ntxtext@scaled{s*[\ntxtext@scale]}\fi +\ifnum\ntx@id=4 % MinionPro + \PassOptionsToPackage{scale=\ntxtext@scale}{\ntx@TF} +\else + \ifnum\ntx@id=10 %libertinus + \PassOptionsToPackage{ScaleRM=\ntxtext@scale}{\ntx@TF} + \else + \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF} + \fi +\fi +} +% +\newcommand{\PassMatchingScale}[1]{\ifntx@iszero% +\@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima} +\gdef\ntxtext@scaled{s*[\ntxtext@scale]} +\fi +\PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}% } -\ProcessOptionsX\relax +\ifcase\ntx@id % 0, newtxtext +\PassMathScale +% info for sfrac (stacked fractions) involving newtxtext +\@ifundefined{tx@xht}{\def\tx@xht{450}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{406}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{270}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{331}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\or %1, libertine +\PassMathScale + \PassOptionsToPackage{ttscaled=\ntxtext@scale, + llscaled=\ntxtext@scale}{\ntx@TF} % for tt and serifed in Libertine +\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{328}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{365}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{365}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{305}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{100}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{46}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this +\def\destyle{\sufigures} \def\nustyle{\sufigures} +%\iflibertine@otf% +%\providecommand{\textfrac}[3][]{{% +%\mbox{% +% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] +% {\textlf{#1}\kern.02em}{}% +%{\addfontfeature{RawFeature=+frac}#2/#3}}% +%}} +\or % 2, etbb +\PassMathScale +\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{357}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{295}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{331}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{64}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\or % 3, ebgaramond +\PassMatchingScale{1.05} +\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{341}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{443}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{-143}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{318}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{90}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{46}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this +\def\destyle{\infigures} \def\nustyle{\sufigures} +\def\textlf#1{{\liningnums#1}} +%\iflibertine@otf% +%\providecommand{\textfrac}[3][]{{% +%{{% +% \mbox{% +% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] +% {\textlf{#1}\kern.02em}{}% +%{\addfontfeature{RawFeature=+frac}#2/#3}}% +%}}}} +\or % 4, MinionPro +\PassMathScale +%\@ifundefined{tx@xht}{\def\tx@xht{437}}{} % lowercase letters +%\@ifundefined{tx@deht}{\def\tx@deht{359}}{} % denominator figures ht +%\@ifundefined{tx@nubase}{\def\tx@nubase{277}}{} % baseline of numerators +%\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +%\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{317}}{}% vertical center of sfrac +%\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +%\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness +%\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this +\or % 5, cochineal +\PassMathScale +\@ifundefined{tx@xht}{\def\tx@xht{430}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{378}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{248}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{313}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this amount +\or % 6, garamondx +\PassMatchingScale{.94} +\or % 7, BaskervilleF +\PassMathScale +\or % 8, baskervaldx +\PassMathScale +\or % 9, heuristica +\PassMatchingScale{.94} +\or % 10, libertinus +\PassMathScale + \PassOptionsToPackage{ScaleTT=\ntxtext@scale, ScaleSF=\ntxtext@scale, + ScaleRM=\ntxtext@scale}{\ntx@TF} % for tt and serifed in Libertinus +\@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{324}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{364}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{-112}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{305}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{90}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{46}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this +%\def\destyle{\sufigures} \def\nustyle{\sufigures} +%\providecommand{\textfrac}[3][]{\textlf{#1}\kern.01em{\addfontfeature{RawFeature=+frac}#2/#3}} +%\iflibertine@otf% +%\providecommand{\textfrac}[3][]{{% +%{{% +% \mbox{% +% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] +% {\textlf{#1}\kern.02em}{}% +%{\addfontfeature{RawFeature=+frac}#2/#3}}% +%}}}} +\or % 11, erewhon +\PassMathScale +\@ifundefined{tx@xht}{\def\tx@xht{461}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{384}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{256}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{320}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{58}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\or % 12, XCharter +\PassMatchingScale{.98} +\@ifundefined{tx@xht}{\def\tx@xht{481}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{382}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{295}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{341}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\or % 13, stickstoo +\PassMathScale +\@ifundefined{tx@xht}{\def\tx@xht{473}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{411}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{252}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{320}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{56}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.75}}{} % scale defigures by this +\or % 14, scholax +\PassMatchingScale{.93} +\@ifundefined{tx@xht}{\def\tx@xht{466}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{423}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{289}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{-111}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{352}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\or % 15, scholax/fourier +\PassMatchingScale{.93} +\@ifundefined{tx@xht}{\def\tx@xht{466}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{423}}{} % denominator figures ht +\@ifundefined{tx@nubase}{\def\tx@nubase{289}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{-111}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{352}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\fi -\ifntxotf\typeout{otf^^J}\else\typeout{type1^^J}\fi -\ifntxotfmath\typeout{otfmath^^J}\else\typeout{type1math^^J}\fi -%\ifntxotftext\typeout{otftext^^J}\else\typeout{type1text^^J}\fi +\PassOptionsToPackage{\ntx@MF}{newtxmath} + +\ifblank{\ntx@textopt}{}% +{\PassOptionsToPackage{\ntx@textopt}{\ntx@TF}} + +\newdimen\tx@sixem\tx@sixem6pt % for checking if a number refers to ex +\newdimen\tx@y \newdimen\tx@x + +% convert numerical entry that may be multiple of ex (<6) or em value +\def\tx@toex#1{\tx@x#1pt \ifdim\tx@x<\z@\tx@y-\tx@x\else\tx@y\tx@x\fi \ifdim\tx@y>\tx@sixem \tx@x\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax\fi} + +\newdimen\tx@tmpdima \newdimen\tx@tmpdimb \newdimen\tx@tmpdimc +\newdimen\tx@tmpdimd \newdimen\tx@tmpdime \newdimen\tx@tmpdimf +\newdimen\tx@dimA +\newdimen\tx@dimAA \newdimen\tx@dimB \newdimen\tx@dimBB +\newdimen\tx@dimC % vertical center +% double cap letters for below bar, single cap for above +\tx@toex\tx@sfrVC\tx@dimC\tx@x %Vertical center of fraction +\tx@toex\tx@sfrTH\tx@tmpdimb\tx@x % bar thickness +\tx@tmpdime.5\tx@tmpdimb % half bar thickness +\tx@toex\tx@sfrVS\tx@tmpdimc\tx@x% vertical space +\tx@toex\tx@deht\tx@tmpdimd\tx@x % height of unscaled figures +\tx@tmpdimd\tx@sfrSC\tx@tmpdimd % height of scaled figures +\tx@toex\tx@debase\tx@tmpdimf\tx@x % unscaled baseline of de figures +\tx@toex\tx@nubase\tx@tmpdima\tx@x % unscaled baseline of nu figures +\tx@tmpdima\tx@sfrSC\tx@tmpdima % scaled nu baseline +\tx@tmpdimf\tx@sfrSC\tx@tmpdimf % scaled de baseline +\tx@dimA\tx@dimC +\advance\tx@dimA by \tx@tmpdime % top of bar +\tx@dimAA\tx@dimC +\advance\tx@dimAA by -\tx@tmpdime % bottom of bar +\tx@dimB\tx@dimA +\advance\tx@dimB by \tx@tmpdimc % top figure baseline +\advance\tx@dimB by -\tx@tmpdima +\tx@dimBB\tx@dimAA +\advance\tx@dimBB by -\tx@tmpdimc % +\advance\tx@dimBB by -\tx@tmpdimd % bottom figure baseline +\advance\tx@dimBB by -\tx@tmpdimf +\newcommand*{\textsfrac}[3][]{% like \textsfrac[1]{23}{34} +\mbox{% + \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] + {\textlf{#1}\kern.04em}{}% + {\hmode@bgroup% +\ooalign{% + \setbox0=\hbox{\scalefont{\tx@sfrSC}\nustyle#2}% + \hfil \raise\strip@pt\tx@dimB ex\box0\hfil \crcr% + \leaders\hrule height \strip@pt\tx@dimA ex depth -\strip@pt\tx@dimAA ex\hfill \crcr% + \setbox1=\hbox{\scalefont{\tx@sfrSC}\destyle#3}% + \hfil\raise\strip@pt\tx@dimBB ex\box1\hfil}% +\egroup}} +} -\ifntxotf -% \ifntxotftext - \ifntxotfmath %I +\ifntx@otfmath\typeout{otf math}\else\typeout{type1 math}\fi +\ifntx@otftext\typeout{otf text}\else\typeout{type1 text}\fi + +\ifntx@otftext + \ifntx@otfmath %I + %\show\xyzI \usepackage[]{newtxtext} %may not load fontspec \RequirePackage{fontspec} % just in case \usepackage{unicode-math} %loads amsmath %\setmathfont{} \else %II: type1 math, otftext - \renewcommand{\rmdefault}{ntxtlf} % Roman and BoldTermes for math + %\show\xyzII + \renewcommand*{\rmdefault}{\ntx@minfam} % Roman and Bold Termes for math \usepackage[]{newtxmath} % options will be as passed from newtx - \usepackage[no-math]{newtxtext} - \RequirePackage[no-math]{fontspec} % just in case + %\show\xyz + \usepackage[no-math]{fontspec} + %\show\textlf + \ifnum\ntx@id=10\relax % libertinus + \usepackage[nomath]{\ntx@TF}% was \usepackage[no-math]{\ntx@TF} + \else + \usepackage{\ntx@TF} + \fi + \fi +\else % III, pdflatex + %\show\ntx@minfam + \ifntx@otfmath % type1 text, otf math + \usepackage[type1text]{newtxtext} %may not load fontspec + \RequirePackage{fontspec} % just in case + \usepackage{unicode-math} %loads amsmath + %\setmathfont{} + + \else % IV, type1 tex and math + \renewcommand*{\rmdefault}{\ntx@minfam}% Roman and Bold for math + \usepackage{newtxmath} % options will be as passed from newtx + \usepackage{\ntx@TF} % should load tt and sans math before newtx \fi -% \else % type1 text -% \ifntxotfmath %II: type1text, otfmath -% \usepackage[]{newtxtext} -% \usepackage{fontspec} -% \usepackage{unicode-math} % loadsamsmath -% %\setmathfont{} -% \else %IV: type1math,type1text -% \renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math -% \usepackage[]{newtxmath}% options will be as passed from newtx -% \usepackage[nofontspec]{newtxtext} -% \ifntx@origotf\usepackage[no-math]{fontspec}\fi % we are -% \fi -% \fi -\else % pdflatex - \renewcommand{\rmdefault}{ntxtlf}% Roman and Bold Termes for math - \usepackage{newtxmath} % options will be as passed from newtx - \usepackage{newtxtext} % should load tt and sans math before newtx \fi -%\usepackage[\ntx@optlist]{newtxtext}%optionswillalsobeaspassedfromnewtx -%\ifntxotfmath -%\usepackage{unicode-math} -%\fi +%%%%%%% End of preamble items +\AtEndPreamble{% +\providecommand{\textfrac}[3][]{{% +\mbox{% + \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] + {\textlf{#1}\kern.02em}{}% +{\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3} +\else\textnu{#2}{\normalfont\fontencoding{TS1}\selectfont\char"2F}% +\textde{#3}\fi} +}}} + +% Finally, add code to extend text packages after they load. +% This will depend on the particular package and the state +% of \ntx@otftext +\ifcase\ntx@id % 0, newtxtext +\or % 1, was libertine % switch to libertinus +\or % 2, etbb +\or % 3, ebgaramond + \def\destyle{\infigures} \def\nustyle{\sufigures} + \def\textnu#1{{\sufigures#1}} + \def\textde#1{{\infigures#1}} + \ifntx@otftext + \def\pliningnums{\addfontfeature{RawFeature=-tnum;-onum;+pnum;+lnum}} + \else % type1 + \DeclareTextFontCommand{\pliningnums}{\fontfamily{EBGaramond-LF}\selectfont} + \fi + \def\textlf#1{{\pliningnums#1}} +\or % 4, MinionPro +\or % 5, cochineal +\or % 6, garamondx +\or % 7, BaskervilleF +\or % 8, baskervaldx +\or % 9, heuristica +\or % 10, libertinus + \def\nustyle{\textsup}\let\textnu\textsup + \ifntx@otftext% + \def\textlf#1{{\addfontfeature{RawFeature=+lnum,RawFeature=+pnum}#1}} + \def\destyle{\addfontfeature{RawFeature=+subs}} + \else % type1 + \fa@naming@exception{figures}{{inferior}{proportional}}{Inf} + \fa@naming@exception{figures}{{inferior}{tabular}}{Inf} + \def\infigures{\@nomath\infigures\fontfigurestyle{inferior}\selectfont} + \DeclareTextFontCommand{\textinf}{\infigures} + \let\destyle\infigures + \def\textlf#1{{\LibertinusSerifLF#1}} + \fi + \def\textde#1{{\destyle#1}} +\or % 11, erewhon +\or % 12, XCharter +\or % 13, stickstoo +\or % 14, scholax +\or % 15, scholax/fourier +\fi + \endinput diff --git a/fonts/newtx/tex/newtxmath.sty b/fonts/newtx/tex/newtxmath.sty index 54f1563bc4..10058623ec 100644 --- a/fonts/newtx/tex/newtxmath.sty +++ b/fonts/newtx/tex/newtxmath.sty @@ -11,8 +11,8 @@ % of glyph collisions. % These modifications are by Michael Sharpe, msharpe at ucsd dot edu -\def\fileversion{1.7} -\def\filedate{2021/12/18} +\def\fileversion{1.71} +\def\filedate{2022/01/16} \ProvidesPackage{newtxmath}[\filedate\space v\fileversion ] \@ifundefined{newtxmathLoaded}{}{\endinput} @@ -51,6 +51,7 @@ \define@key{ntxmath}{scale}[1.0]{\def\tx@scale{#1}\def\ntxmath@scaled{s*[#1]}} \def\ntxmath@vecsep{.25ex} \define@key{ntxmath}{vecsep}[.25ex]{\def\ntxmath@vecsep{#1}} +%: %\define@key{ntxmath}{scalesubdrop}[1.0]{\DeclareRobustCommand{\ntx@scalesub}{% %\fontdimen16\font=#1\fontdimen16\font\fontdimen17\font=#1\fontdimen17\font}} \DeclareOption*{% @@ -94,15 +95,15 @@ \newif\iftx@fourier \edef\tx@rmdefault{\rmdefault} \edef\tx@encdefault{\encodingdefault} -\tx@ottrue % default is true +\tx@ottrue % default is to use OT1 operators \let\rmdefaultB\rmdefault \newif\iftx@hastm \ifx\tx@rmdefault\@tx@ptm \tx@hastmtrue\fi \@ifundefined{ver@newtxtext.sty}{}{\tx@hastmtrue} \@ifundefined{ver@tgtermes.sty}{}{\tx@hastmtrue} -\iftx@hastm\def\rmdefaultB{ntxtlf}\fi +\iftx@hastm\def\rmdefaultB{minntx}\fi % test if tm is loaded minimally as with XeLaTeX newtxmath -\ifthenelse{\equal{\rmdefault}{ntxtlf}}{\tx@hastmtrue\def\rmdefaultB{ntxtlf}}{} +\ifthenelse{\equal{\rmdefault}{minntx}}{\tx@hastmtrue\def\rmdefaultB{minntx}}{} %\expandafter\ifx\csname qnc@scale\endcsname\relax %\else % \let\znc@scale=\qnc@scale % scale set by tgschola.sty @@ -135,8 +136,8 @@ \if\next N\mkern-0.5mu\else \if\next P\mkern-\@ne mu\else \if\next X\mkern-\@ne mu\else - \ifx\next \rho\mkern-1.5mu\else - \ifx\next \mu\mkern-1 mu\else + \if\next \rho\mkern-1.5mu\else + \if\next \mu\mkern-1 mu\else \fi \fi \fi% @@ -191,14 +192,14 @@ \repeat } \def\tx@addrec#1#2{% -\ifiscseq{#1}{\tx@tA\expandafter{\the\tx@tA\ifx}}{\tx@tA\expandafter{\the\tx@tA\if}} +\ifiscseq{#1}{\tx@tA\expandafter{\the\tx@tA\if}}{\tx@tA\expandafter{\the\tx@tA\if}} \tx@tA\expandafter{\the\tx@tA\next #1\mkern #2 mu\else} \tx@tB\expandafter{\the\tx@tB\fi}} \newif\iftx@subsfile -\@ifpackageloaded{newtx}% -{\@for\ntx@x:=\ntx@textlst\do{\DeclareOption{\ntx@x}{}}}{} -\DeclareOption{subscriptcorrectionfile}{\def\tx@subs{##1}\tx@subsfiletrue} +%\@ifpackageloaded{newtx}% +%{\@for\ntx@x:=\ntx@textlst\do{\DeclareOption{\ntx@x}{}}}{} +\DeclareOption{subscriptcorrectionfile}{\def\tx@subs{#1}\tx@subsfiletrue} \DeclareOption{nosubscriptcorrection}{\tx@sbcfalse} \DeclareOption{subscriptcorrection}{\tx@sbctrue} %\DeclareOption{nosuperscriptcorrection}{\disablespcorrection} @@ -264,6 +265,8 @@ amssymbols,uprightGreek,nosubscriptcorrection} \ProcessOptions\relax +\let\ntxmath@scale\tx@scale + \ifntx@amsthm \RequirePackage{amsthm} \typeout{amsthm loaded} diff --git a/fonts/newtx/tex/newtxtext.sty b/fonts/newtx/tex/newtxtext.sty index 5c1ce64f7d..2f02b73f10 100644 --- a/fonts/newtx/tex/newtxtext.sty +++ b/fonts/newtx/tex/newtxtext.sty @@ -6,26 +6,21 @@ % Text and math versions now separate. % Added scaled keyword and osf option; % Text is now directed to an extension of TeXGyreTermes rather than tx. -% 2.0 is first version of newtxtext to support both [pdf]latex and unicode latex. +% 1.7 is first version of newtxtext to support both [pdf]latex and unicode latex. -\def\fileversion{1.705} -\def\filedate{2022/01/11} +\def\fileversion{1.71} +\def\filedate{2022/02/28} \ProvidesPackage{newtxtext}[% \filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for TeXGyreTermesX] \message{`newtxtext' v\fileversion, \filedate\space Text macros taking advantage of TeXGyre Termes and its extensions (msharpe)} -\RequirePackage[T1]{fontenc} -\renewcommand*{\rmdefault}{ntxtlf} % the default until end of preamble -\renewcommand*{\familydefault}{\rmdefault} -\RequirePackage{ifxetex,ifluatex,xkeyval,etoolbox,textcomp} +\RequirePackage{iftex,xkeyval,etoolbox,textcomp} \RequirePackage{xstring,ifthen,scalefnt} % for \textfrac -\@ifpackageloaded{mweights}{}{% - \IfFileExists{mweights.sty}{\RequirePackage{mweights}}{}% -} - +\RequirePackage{mweights} % should be in latex kernel \DeclareEncodingSubset{TS1}{ntx*}{0} \input{binhex} + \newcount\ntx@tmpcnta \newcount\ntx@cnt \ntx@cnt=0 @@ -34,61 +29,59 @@ \@ifundefined{KOMAClassName}{}{\ntx@KOMAtrue} \@ifundefined{ver@scrextend.sty}{}{\ntx@KOMAtrue} + % Engine check \newif\ifntx@newtx -\@ifundefined{ntxotftrue}{\newif\ifntxotf% -\newif\ifntx@origotf% true iff either xelatex or lualatex - % might have been defined in newtx.sty -\ifxetex - \ntxotftrue -\else\ifluatex - \ntxotftrue -\else % [pdf]LaTeX - \ntxotffalse -\fi\fi -\ifntxotf\ntx@origotftrue\fi -}{\ntx@newtxtrue% -%\ifntxotf\typeout{ntxotftrue.^^J}\else\typeout{ntxotffalse.^^J}\fi +\@ifundefined{ntx@otftexttrue}{% not run from newtx.sty + \newif\ifntx@otftext% + \newif\ifntx@otfmath % default is type1 math + %iftex's \iftutex returns true for LuaTeX and XeTeX, not [pdf]latex + \iftutex\ntx@otftexttrue\fi % default is otf text for unicode latex + \newif\ifntx@nofontspec % default is to load fontspec iftutex + % might have been defined in newtx.sty + \def\ntx@id{0} % make it appear that newtxtext was chosen in newtx +}{% run from newtx.sty + \ntx@newtxtrue% + %\ifntx@otftext\typeout{ntx@otftexttrue.}\else\typeout{ntx@otftextfalse.}\fi } %%%%%%%%%%%%%%%%%% -\IfFileExists{xkeyval.sty}{ - \RequirePackage{xkeyval} - }{ - \let\DeclareOptionX\DeclareOption - \let\ExecuteOptionsX\ExecuteOptions - \let\ProcessOptionsX\ProcessOptions -} -%%%%Start Options -\@ifpackageloaded{newtx}% -{\ntx@newtxtrue% -\@for\ntx@x:=\ntx@mathlst\do{\expandafter\DeclareOptionX\expandafter{\ntx@x}{}}}{} +% -\newif\ifntx@nomath\ntx@nomathfalse +%\newif\ifntx@nomath\ntx@nomathfalse % ????? \newif\ifntx@lining\ntx@liningtrue \newif\ifntx@tabular\ntx@tabulartrue % default is tabular lining figures -\@ifundefined{ver@newtxmath.sty}{}{\ntx@nomathtrue} +\@ifundefined{ver@newtxmath.sty}{\iftutex\ntx@otfmathtrue\fi}{} \DeclareOptionX{type1}[true]{% -\def\ntx@tmpx{\@nameuse{if#1}\ntxotffalse\fi} +\def\ntx@tmpx{\@nameuse{if#1}\ntx@otftextfalse\fi} +\ifntx@newtx +\else\ntx@tmpx\fi} +\DeclareOptionX{type1text}[true]{% +\def\ntx@tmpx{\@nameuse{if#1}\ntx@otftextfalse\fi} \ifntx@newtx \else\ntx@tmpx\fi} -\DeclareOptionX{nofontspec}[true]{% -\def\ntx@tmpx{\@nameuse{if#1}\ntxotffalse\fi} +\DeclareOptionX{otfmath}[true]{% +\def\ntx@tmpx{\@nameuse{if#1}\iftutex\ntx@otfmathtrue\fi\fi} \ifntx@newtx \else\ntx@tmpx\fi} -\DeclareOptionX{no-math}[true]{% -\def\ntx@tmpx{\@nameuse{if#1}\ntx@nomathtrue\fi} +\DeclareOptionX{nofontspec}[true]{% +\def\ntx@tmpx{\@nameuse{if#1}\ntx@nofontspectrue\fi} \ifntx@newtx \else\ntx@tmpx\fi} +%\DeclareOptionX{no-math}[true]{% +%\def\ntx@tmpx{\@nameuse{if#1}\ntx@nomathtrue\fi} +%\ifntx@newtx +%\else\ntx@tmpx\fi} + \def\ntx@defaultfeatures{} \DeclareOptionX{defaultfeatures}{\def\ntx@defaultfeatures{#1}} %Figure style options -\edef\ntx@dfltfigurestyle{lf} -\edef\ntx@dfltfigurealign{t} +\def\ntx@dfltfigurestyle{lf} +\def\ntx@dfltfigurealign{t} \DeclareOptionX{lining}[true]{% \@nameuse{ntx@lining#1} @@ -202,20 +195,45 @@ \DeclareOptionX{looser}{% \gdef\ntx@spc{.3em}\gdef\ntx@stretch{.2em}% \gdef\ntx@shrink{.1em}\def\ntx@nolo{F}} - +%\traceon \ProcessOptionsX\relax -%\ifntxotf \typeout{ntxotftrue^^J}\else\typeout{ntxotffalse^^J}\fi +% Check for conflict between nofontspec and others +\ifntx@nofontspec + \iftutex + \ntx@otfmathfalse + \ntx@otftextfalse + \fi +\fi + +\ifntx@otftext \typeout{ntx@otftexttrue}\else\typeout{ntx@otftextfalse}\fi +\ifntx@newtx\let\ntx@scale=\ntxtext@scale\fi +% following lines required by newtxmath +% They must follow the definition of \ntx@scaled +\@tempdima=\ntx@scale\p@\@tempdima=\ntx@helvratio\@tempdima% +\edef\qhv@scale{\strip@pt\@tempdima} +\edef\ntx@scaled{s*[\ntx@scale]}% used in fd files +\providecommand*{\ntx@minfam}{minntx} % won't override value from newtx + +%\RequirePackage[T1]{fontenc} % do we need this? +\renewcommand*{\rmdefault}{\ntx@minfam} % the default until end of preamble +\renewcommand*{\familydefault}{\rmdefault} % Cause the fd files to load \def\re@DeclareTextSymbol#1#2#3{% \let#1=\undefined \DeclareTextSymbol{#1}{#2}{#3}} -\ifntxotf - \ifntx@nomath - \RequirePackage[no-math]{fontspec} - \else - \RequirePackage{fontspec} + +\iftutex + \ifntx@nofontspec % do nothing + \else + \ifntx@otfmath + \RequirePackage{fontspec} + \else + \RequirePackage[no-math]{fontspec} + \fi \fi +\fi +\ifntx@otftext \ifxetex\XeTeXtracingfonts=1\fi \ifluatex % avoid possibly uncorrected "system" fonts \directlua{fonts.names.set_location_precedence{ @@ -226,7 +244,7 @@ \newcommand{\textfrac}[3][]{{%\normalfont% \mbox{% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] - {{\lfstyle#1}\kern.1em}{}% + {{\lfstyle#1}\kern.04em}{}% \addfontfeatures{RawFeature=+sups}#2\char"2044% numerator \addfontfeatures{RawFeature=-sups;+dnom;+ss20}\char"2044{}#3% }}} @@ -324,12 +342,13 @@ \let\orig@makefnmark=\@makefnmark \def\bfseries@rm{b} \def\mdseries@rm{m} + \def\useosf{\ntx@liningfalse} \@onlypreamble\useosf \def\useproportional{\ntx@tabularfalse} \@onlypreamble\useproportional -\ifntxotf +\ifntx@otftext \def\ntx@dflt{} \ifntx@zeroslash\edef\ntx@dflt{Numbers = SlashedZero , }\fi @@ -375,10 +394,7 @@ \fontdimen2\font=\ntx@spc \fontdimen3\font=\ntx@stretch \fontdimen4\font=\ntx@shrink} - \@tempdima=\ntx@scale\p@\@tempdima=\ntx@helvratio\@tempdima% - \edef\qhv@scale{\strip@pt\@tempdima} - \def\ntx@scaled{s*[\ntx@scale]}% used in fd files - + %\show\ntx@scaled %\def\oldstylenums#1{{\fontencoding{TS1}\selectfont #1}} %\expandafter\patchcmd\expandafter{\csname scshape \endcsname}{\fontshape}{\fontfamily{ntx\ntx@figurealign osf}\fontshape}{\message{Replaced figure style by osf in sc.}}{\message{Unable to replace figure style by osf in sc.}} @@ -441,18 +457,41 @@ \fi% \fi%} -\ifntxotf +\ifntx@otftext % \def\ntx@nft{\if t\ntx@thmtab Monospaced% % \else Proportional\fi} - \DeclareTextFontCommand{\textsl}{\slshape} - \DeclareTextFontCommand{% - \osfstyle}{\addfontfeatures{Numbers={Proportional,OldStyle}}} - \DeclareTextFontCommand{% - \tosfstyle}{\addfontfeatures{Numbers={Tabular,OldStyle}}} - \DeclareTextFontCommand{% - \tlfstyle}{\addfontfeatures{Numbers={Tabular,Lining}}} - \DeclareTextFontCommand{% - \lfstyle}{\addfontfeatures{Numbers={Proportional,Lining}}} + \DeclareRobustCommand{\lfstyle}{% + \not@math@alphabet\lfstyle\relax + \addfontfeatures{Numbers={Proportional,Lining}}% + } + \DeclareRobustCommand{\tlfstyle}{% + \not@math@alphabet\tlfstyle\relax + \addfontfeatures{Numbers={Monospaced,Lining}}% + } + \DeclareRobustCommand{\osfstyle}{% + \not@math@alphabet\osfstyle\relax + \addfontfeatures{Numbers={Proportional,OldStyle}}% + } + \DeclareRobustCommand{\tosfstyle}{% + \not@math@alphabet\tosfstyle\relax + \addfontfeatures{Numbers={Monospaced,OldStyle}}% + } + \DeclareRobustCommand{\oldstylenums}{% + \not@math@alphabet\oldstylenums\relax + \addfontfeatures{Numbers=OldStyle}% + } + \DeclareRobustCommand{\liningnums}{% + \not@math@alphabet\liningnums\relax + \addfontfeatures{Numbers=Lining}% + } + \DeclareRobustCommand{\tabularnums}{% + \not@math@alphabet\tabularnums\relax + \addfontfeatures{Numbers=Monospaced}% + } + \DeclareRobustCommand{\proportionalnums}{% + \not@math@alphabet\proportionalnums\relax + \addfontfeatures{Numbers=Proportional}% + } \providecommand\sufigures{% \addfontfeatures{VerticalPosition=Superior}} @@ -463,7 +502,7 @@ \providecommand\defigures{% \addfontfeatures{VerticalPosition=Denominator}} \let\sustyle=\sufigures -% \let\nustyle=\nufigures + \let\nustyle=\sufigures \let\instyle=\infigures \let\destyle=\defigures \ifntx@defaultsups % @@ -514,6 +553,7 @@ % \hfil \crcr \symbol{"25EF}}% % \egroup} \else % type1 + \renewcommand*{\textcircled}[1]{\hmode@bgroup\ooalign{% \hfil \raise .3ex\hbox{{% \normalfont @@ -523,21 +563,11 @@ \fi % applies to both -\DeclareRobustCommand{\textlf}[1]{% - {\lfstyle #1}% -} -\DeclareRobustCommand{\texttlf}[1]{% - {\tlfstyle #1}% -} -\DeclareRobustCommand{\textosf}[1]{% - {\osfstyle #1}% -} -\DeclareRobustCommand{\texttosf}[1]{% - {\tosfstyle #1}% -} -\DeclareRobustCommand{\textsu}[1]{% - {\sustyle #1}% -} +\DeclareTextFontCommand{\textosf}{\osfstyle} +\DeclareTextFontCommand{\texttosf}{\tosfstyle} +\DeclareTextFontCommand{\texttlf}{\tlfstyle} +\DeclareTextFontCommand{\textlf}{\lfstyle} + \DeclareTextFontCommand{\textsu}{\sustyle} \let\textsuperior\textsu \DeclareTextFontCommand{\textnu}{\nustyle} @@ -548,7 +578,7 @@ \let\textinferior\textinf \AtEndPreamble{% -\ifntxotf +\ifntx@otftext \ifntx@lining \def\ntx@figurestyle{Lining} \else @@ -607,25 +637,21 @@ \fi } %both + \ifntx@thrm + \@ifundefined{theoremstyle}{}{% \theoremstyle{plain} \patchcmd{\th@plain}{\itshape}{\thfamily}{\message{Replaced itshape by thfamily in theorem style plain.}}{\message{Unable to replace itshape by thfamily in theorem style plain.}} + } \fi -\DeclareRobustCommand{\textth}[1]{% - {\thfamily #1}% -} +%\DeclareRobustCommand{\textth}[1]{% +% {\thfamily #1}% +%} +\DeclareTextFontCommand{\textth}{\thfamily} \let\textthit\textth % Define \oldstylenums, \liningnums ,\tabularnums and \proportionalnums -\ifntxotf - \DeclareTextFontCommand{% - \oldstylenums}{\addfontfeatures{Numbers=OldStyle}} - \DeclareTextFontCommand{% - \liningnums}{\addfontfeatures{Numbers=Lining}} - \DeclareTextFontCommand{% - \tabularnums}{\addfontfeatures{Numbers=Tabular}} - \DeclareTextFontCommand{% - \proportionalnums}{\addfontfeatures{Numbers=Proportional}} +\ifntx@otftext \else % type1 \DeclareTextFontCommand{% \oldstylenums}{\fontfamily{ntx\ntx@figurealign osf}\selectfont } diff --git a/fonts/newtx/tex/ot1minebgaramond.fd b/fonts/newtx/tex/ot1minebgaramond.fd new file mode 100644 index 0000000000..65025b612f --- /dev/null +++ b/fonts/newtx/tex/ot1minebgaramond.fd @@ -0,0 +1,366 @@ +%% Generated by msharpe on 2022/01/20 +%% +\ProvidesFile{ot1minebgaramond.fd} + [2022/01/20 (msharpe) Font definitions for OT1/minebgaramond.] + +\def\@textscalefactor{1.05} +%ebgaramond must be reduced by factor .93 to match xheight of newtxmath + +\@ifundefined{ntxmath@scale}{\let\ntxmath@scaled\@empty} +{\@tempdima\@textscalefactor\p@ +\@tempdima\ntxmath@scale\@tempdima +\edef\ntxmath@scaled{s*[\strip@pt\@tempdima]}}% locally, not globally + +\DeclareFontFamily{OT1}{minebgaramond}{} + + +% ---- regular ---- + +\DeclareFontShape{OT1}{minebgaramond}{regular}{sc}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{n}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{it}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{scit}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{sw}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{nw}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{scsl}{ + <-> ssub * minebgaramond/regular/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{regular}{sl}{ + <-> ssub * minebgaramond/regular/it +}{} + + +% ---- semibold ---- + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{sc}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{n}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{it}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{scit}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{sw}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{nw}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{scsl}{ + <-> ssub * minebgaramond/semibold/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{semibold}{sl}{ + <-> ssub * minebgaramond/semibold/it +}{} + + +% ---- bold ---- + +\DeclareFontShape{OT1}{minebgaramond}{bold}{sc}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{n}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{it}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{scit}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{sw}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{nw}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{scsl}{ + <-> ssub * minebgaramond/bold/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bold}{sl}{ + <-> ssub * minebgaramond/bold/it +}{} + + +% ---- medium ---- + +\DeclareFontShape{OT1}{minebgaramond}{medium}{sc}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{n}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{it}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{scit}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{sw}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{nw}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{scsl}{ + <-> ssub * minebgaramond/medium/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{medium}{sl}{ + <-> ssub * minebgaramond/medium/it +}{} + + +% ---- extrabold ---- + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{sc}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{n}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{it}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{scit}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-sc-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{sw}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{nw}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-swash-ot1 +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{scsl}{ + <-> ssub * minebgaramond/extrabold/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{extrabold}{sl}{ + <-> ssub * minebgaramond/extrabold/it +}{} + +% +% Extra 'ssub' rules to map the standard NFSS codes to our fancy names +% + +% m --> regular + +\DeclareFontShape{OT1}{minebgaramond}{m}{scsl}{ + <-> ssub * minebgaramond/regular/scsl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{sc}{ + <-> ssub * minebgaramond/regular/sc +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{n}{ + <-> ssub * minebgaramond/regular/n +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{it}{ + <-> ssub * minebgaramond/regular/it +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{sw}{ + <-> ssub * minebgaramond/regular/sw +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{sl}{ + <-> ssub * minebgaramond/regular/sl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{scit}{ + <-> ssub * minebgaramond/regular/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{m}{nw}{ + <-> ssub * minebgaramond/regular/nw +}{} + + +% sb --> semibold + +\DeclareFontShape{OT1}{minebgaramond}{sb}{scsl}{ + <-> ssub * minebgaramond/semibold/scsl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{sc}{ + <-> ssub * minebgaramond/semibold/sc +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{n}{ + <-> ssub * minebgaramond/semibold/n +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{it}{ + <-> ssub * minebgaramond/semibold/it +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{sw}{ + <-> ssub * minebgaramond/semibold/sw +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{sl}{ + <-> ssub * minebgaramond/semibold/sl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{scit}{ + <-> ssub * minebgaramond/semibold/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{sb}{nw}{ + <-> ssub * minebgaramond/semibold/nw +}{} + + +% b --> bold + +\DeclareFontShape{OT1}{minebgaramond}{b}{scsl}{ + <-> ssub * minebgaramond/bold/scsl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{sc}{ + <-> ssub * minebgaramond/bold/sc +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{n}{ + <-> ssub * minebgaramond/bold/n +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{it}{ + <-> ssub * minebgaramond/bold/it +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{sw}{ + <-> ssub * minebgaramond/bold/sw +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{sl}{ + <-> ssub * minebgaramond/bold/sl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{scit}{ + <-> ssub * minebgaramond/bold/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{b}{nw}{ + <-> ssub * minebgaramond/bold/nw +}{} + + +% eb --> extrabold + +\DeclareFontShape{OT1}{minebgaramond}{eb}{scsl}{ + <-> ssub * minebgaramond/extrabold/scsl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{sc}{ + <-> ssub * minebgaramond/extrabold/sc +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{n}{ + <-> ssub * minebgaramond/extrabold/n +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{it}{ + <-> ssub * minebgaramond/extrabold/it +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{sw}{ + <-> ssub * minebgaramond/extrabold/sw +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{sl}{ + <-> ssub * minebgaramond/extrabold/sl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{scit}{ + <-> ssub * minebgaramond/extrabold/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{eb}{nw}{ + <-> ssub * minebgaramond/extrabold/nw +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{n}{ + <-> ssub * minebgaramond/b/n +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{sc}{ + <-> ssub * minebgaramond/b/sc +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{scsl}{ + <-> ssub * minebgaramond/b/scsl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{it}{ + <-> ssub * minebgaramond/b/it +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{sw}{ + <-> ssub * minebgaramond/b/sw +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{sl}{ + <-> ssub * minebgaramond/b/sl +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{scit}{ + <-> ssub * minebgaramond/b/scit +}{} + +\DeclareFontShape{OT1}{minebgaramond}{bx}{nw}{ + <-> ssub * minebgaramond/b/nw +}{} + +\endinput diff --git a/fonts/newtx/tex/ot1minntx.fd b/fonts/newtx/tex/ot1minntx.fd new file mode 100644 index 0000000000..689ddb1b52 --- /dev/null +++ b/fonts/newtx/tex/ot1minntx.fd @@ -0,0 +1,42 @@ +\ProvidesFile{ot1minntx.fd}[2022/01/20 v1.0 font definition file for OT1/minntx] + +\@ifundefined{ifntx@sl}{\let\ifntx@sl\iftrue}{} +\@ifundefined{ifntx@largesc}{\let\ifntx@largesc\iftrue}{} + +\expandafter\ifx\csname ntxmath@scaled\endcsname\relax + \let\ntxmath@scaled\@empty% +\fi +\def\ntx@asfx{} +\def\ntx@lsfx{} +\def\ntx@makelsfx{\ifntx@largesc\def\ntx@lsfx{l}\fi} +\def\ntx@makeadobesc{\ifntx@adobesc\def\ntx@lsfx{l}\def\ntx@adobesc{a}\else\ntx@makelsfx\fi} +\ntx@makelsfx +\ifdefined\ntx@adobescfalse\ntx@makeadobesc\fi +\ifdefined\ntx@spacing \else\global\let\ntx@spacing\@empty\fi + +\DeclareFontFamily{OT1}{minntx}{\ntx@spacing} +\DeclareFontShape{OT1}{minntx}{b}{sc}{<-> \ntxmath@scaled ntx-Bold-tlf-sc\ntx@lsfx-ot1}{} +\DeclareFontShape{OT1}{minntx}{b}{n}{<-> \ntxmath@scaled ntx-Bold-tlf-ot1}{} +\DeclareFontShape{OT1}{minntx}{b}{scit}{<-> \ntxmath@scaled ntx-BoldItalic-tlf-sc\ntx@lsfx-ot1}{} +\DeclareFontShape{OT1}{minntx}{b}{it}{<-> \ntxmath@scaled ntx-BoldItalic-tlf-ot1}{} +\DeclareFontShape{OT1}{minntx}{m}{sc}{<-> \ntxmath@scaled ntx-Regular-tlf-sc\ntx@lsfx-ot1}{} +\DeclareFontShape{OT1}{minntx}{m}{n}{<-> \ntxmath@scaled ntx-Regular-tlf-ot1}{} +\DeclareFontShape{OT1}{minntx}{m}{scit}{<-> \ntxmath@scaled ntx-Italic-tlf-sc\ntx@lsfx-ot1}{} +\DeclareFontShape{OT1}{minntx}{m}{it}{<-> \ntxmath@scaled ntx-Italic-tlf-ot1}{} +\DeclareFontShape{OT1}{minntx}{bx}{sc}{<->ssub * minntx/b/sc}{} +\DeclareFontShape{OT1}{minntx}{bx}{n}{<->ssub * minntx/b/n}{} +\DeclareFontShape{OT1}{minntx}{bx}{scit}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{OT1}{minntx}{bx}{it}{<->ssub * minntx/b/it}{} +\ifntx@sl % point to real slanted fonts + \DeclareFontShape{OT1}{minntx}{m}{sl}{<-> \ntxmath@scaled txsl}{} + \DeclareFontShape{OT1}{minntx}{b}{sl}{<-> \ntxmath@scaled ztmbsl-tlf-ot1}{} + \DeclareFontShape{OT1}{minntx}{bx}{sl}{<->ssub * minntx/b/sl}{} +\else %point to theorem font + \DeclareFontShape{OT1}{minntx}{m}{sl}{<-> \ntxmath@scaled ntxth-Italic-tlf-ot1}{} + \DeclareFontShape{OT1}{minntx}{b}{sl}{<->ssub * minntx/m/sl}{} + \DeclareFontShape{OT1}{minntx}{bx}{sl}{<->ssub * minntx/m/sl}{} +\fi +\DeclareFontShape{OT1}{minntx}{b}{scsl}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{OT1}{minntx}{bx}{scsl}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{OT1}{minntx}{m}{scsl}{<->ssub * minntx/m/scit}{} +\endinput diff --git a/fonts/newtx/tex/t1minebgaramond.fd b/fonts/newtx/tex/t1minebgaramond.fd new file mode 100644 index 0000000000..6a4ed2825d --- /dev/null +++ b/fonts/newtx/tex/t1minebgaramond.fd @@ -0,0 +1,366 @@ +%% Generated by msharpe on 2022/01/20 +%% +\ProvidesFile{t1minebgaramond.fd} + [2022/01/20 (msharpe) Font definitions for T1/minebgaramond.] + +\def\@textscalefactor{1.05} +%ebgaramond must be reduced by factor .93 to match xheight of newtxmath + +\@ifundefined{ntxmath@scale}{\let\ntxmath@scaled\@empty} +{\@tempdima\@textscalefactor\p@ +\@tempdima\ntxmath@scale\@tempdima +\edef\ntxmath@scaled{s*[\strip@pt\@tempdima]}}% locally, not globally + +\DeclareFontFamily{T1}{minebgaramond}{} + + +% ---- regular ---- + +\DeclareFontShape{T1}{minebgaramond}{regular}{sc}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{n}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{it}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{scit}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{sw}{ + <-> \ntxmath@scaled EBGaramond-Italic-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{nw}{ + <-> \ntxmath@scaled EBGaramond-Regular-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{scsl}{ + <-> ssub * minebgaramond/regular/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{regular}{sl}{ + <-> ssub * minebgaramond/regular/it +}{} + + +% ---- semibold ---- + +\DeclareFontShape{T1}{minebgaramond}{semibold}{sc}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{n}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{it}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{scit}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{sw}{ + <-> \ntxmath@scaled EBGaramond-SemiBoldItalic-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{nw}{ + <-> \ntxmath@scaled EBGaramond-SemiBold-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{scsl}{ + <-> ssub * minebgaramond/semibold/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{semibold}{sl}{ + <-> ssub * minebgaramond/semibold/it +}{} + + +% ---- bold ---- + +\DeclareFontShape{T1}{minebgaramond}{bold}{sc}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{n}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{it}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{scit}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{sw}{ + <-> \ntxmath@scaled EBGaramond-BoldItalic-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{nw}{ + <-> \ntxmath@scaled EBGaramond-Bold-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{scsl}{ + <-> ssub * minebgaramond/bold/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{bold}{sl}{ + <-> ssub * minebgaramond/bold/it +}{} + + +% ---- medium ---- + +\DeclareFontShape{T1}{minebgaramond}{medium}{sc}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{n}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{it}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{scit}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{sw}{ + <-> \ntxmath@scaled EBGaramond-MediumItalic-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{nw}{ + <-> \ntxmath@scaled EBGaramond-Medium-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{scsl}{ + <-> ssub * minebgaramond/medium/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{medium}{sl}{ + <-> ssub * minebgaramond/medium/it +}{} + + +% ---- extrabold ---- + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{sc}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{n}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{it}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{scit}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-sc-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{sw}{ + <-> \ntxmath@scaled EBGaramond-ExtraBoldItalic-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{nw}{ + <-> \ntxmath@scaled EBGaramond-ExtraBold-tlf-swash-t1 +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{scsl}{ + <-> ssub * minebgaramond/extrabold/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{extrabold}{sl}{ + <-> ssub * minebgaramond/extrabold/it +}{} + +% +% Extra 'ssub' rules to map the standard NFSS codes to our fancy names +% + +% m --> regular + +\DeclareFontShape{T1}{minebgaramond}{m}{scsl}{ + <-> ssub * minebgaramond/regular/scsl +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{sc}{ + <-> ssub * minebgaramond/regular/sc +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{n}{ + <-> ssub * minebgaramond/regular/n +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{it}{ + <-> ssub * minebgaramond/regular/it +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{sw}{ + <-> ssub * minebgaramond/regular/sw +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{sl}{ + <-> ssub * minebgaramond/regular/sl +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{scit}{ + <-> ssub * minebgaramond/regular/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{m}{nw}{ + <-> ssub * minebgaramond/regular/nw +}{} + + +% sb --> semibold + +\DeclareFontShape{T1}{minebgaramond}{sb}{scsl}{ + <-> ssub * minebgaramond/semibold/scsl +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{sc}{ + <-> ssub * minebgaramond/semibold/sc +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{n}{ + <-> ssub * minebgaramond/semibold/n +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{it}{ + <-> ssub * minebgaramond/semibold/it +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{sw}{ + <-> ssub * minebgaramond/semibold/sw +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{sl}{ + <-> ssub * minebgaramond/semibold/sl +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{scit}{ + <-> ssub * minebgaramond/semibold/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{sb}{nw}{ + <-> ssub * minebgaramond/semibold/nw +}{} + + +% b --> bold + +\DeclareFontShape{T1}{minebgaramond}{b}{scsl}{ + <-> ssub * minebgaramond/bold/scsl +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{sc}{ + <-> ssub * minebgaramond/bold/sc +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{n}{ + <-> ssub * minebgaramond/bold/n +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{it}{ + <-> ssub * minebgaramond/bold/it +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{sw}{ + <-> ssub * minebgaramond/bold/sw +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{sl}{ + <-> ssub * minebgaramond/bold/sl +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{scit}{ + <-> ssub * minebgaramond/bold/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{b}{nw}{ + <-> ssub * minebgaramond/bold/nw +}{} + + +% eb --> extrabold + +\DeclareFontShape{T1}{minebgaramond}{eb}{scsl}{ + <-> ssub * minebgaramond/extrabold/scsl +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{sc}{ + <-> ssub * minebgaramond/extrabold/sc +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{n}{ + <-> ssub * minebgaramond/extrabold/n +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{it}{ + <-> ssub * minebgaramond/extrabold/it +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{sw}{ + <-> ssub * minebgaramond/extrabold/sw +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{sl}{ + <-> ssub * minebgaramond/extrabold/sl +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{scit}{ + <-> ssub * minebgaramond/extrabold/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{eb}{nw}{ + <-> ssub * minebgaramond/extrabold/nw +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{n}{ + <-> ssub * minebgaramond/b/n +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{sc}{ + <-> ssub * minebgaramond/b/sc +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{scsl}{ + <-> ssub * minebgaramond/b/scsl +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{it}{ + <-> ssub * minebgaramond/b/it +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{sw}{ + <-> ssub * minebgaramond/b/sw +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{sl}{ + <-> ssub * minebgaramond/b/sl +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{scit}{ + <-> ssub * minebgaramond/b/scit +}{} + +\DeclareFontShape{T1}{minebgaramond}{bx}{nw}{ + <-> ssub * minebgaramond/b/nw +}{} + +\endinput diff --git a/fonts/newtx/tex/t1minntx.fd b/fonts/newtx/tex/t1minntx.fd new file mode 100644 index 0000000000..a5a235207b --- /dev/null +++ b/fonts/newtx/tex/t1minntx.fd @@ -0,0 +1,45 @@ +\ProvidesFile{t1minntx.fd}[2022/01/20 v1.1 font definition file for T1/minntx] +%\show\ntxmath@scaled +\@ifundefined{ifntx@sl}{\let\ifntx@sl\iftrue}{} +\@ifundefined{ifntx@largesc}{\let\ifntx@largesc\iftrue}{} + +\expandafter\ifx\csname ntxmath@scaled\endcsname\relax + \let\ntxmath@scaled\@empty% +\fi +\def\ntx@asfx{} +\def\ntx@lsfx{} +\def\ntx@makelsfx{\ifntx@largesc\def\ntx@lsfx{l}\fi} +\def\ntx@makeadobesc{\ifntx@adobesc\def\ntx@lsfx{l}\def\ntx@adobesc{a}\else\ntx@makelsfx\fi} +\ntx@makelsfx +\ifdefined\ntx@adobescfalse\ntx@makeadobesc\fi +\ifdefined\ntx@spacing \else\global\let\ntx@spacing\@empty\fi + +\DeclareFontFamily{T1}{minntx}{\ntx@spacing} +\DeclareFontShape{T1}{minntx}{b}{sc}{<-> \ntxmath@scaled ntx-Bold-tlf-sc\ntx@lsfx-t1}{} +\DeclareFontShape{T1}{minntx}{b}{n}{<-> \ntxmath@scaled ntx-Bold-tlf-t1}{} +\DeclareFontShape{T1}{minntx}{b}{scit}{<-> \ntxmath@scaled ntx-BoldItalic-tlf-sc\ntx@lsfx-t1}{} +\DeclareFontShape{T1}{minntx}{b}{it}{<-> \ntxmath@scaled ntx-BoldItalic-tlf-t1}{} +\DeclareFontShape{T1}{minntx}{m}{sc}{<-> \ntxmath@scaled ntx-Regular-tlf-sc\ntx@lsfx-t1}{} +\DeclareFontShape{T1}{minntx}{m}{n}{<-> \ntxmath@scaled ntx-Regular-tlf-t1}{} +\DeclareFontShape{T1}{minntx}{m}{scit}{<-> \ntxmath@scaled ntx-Italic-tlf-sc\ntx@lsfx-t1}{} +\DeclareFontShape{T1}{minntx}{m}{it}{<-> \ntxmath@scaled ntx-Italic-tlf-t1}{} +\DeclareFontShape{T1}{minntx}{bx}{sc}{<->ssub * minntx/b/sc}{} +\DeclareFontShape{T1}{minntx}{bx}{n}{<->ssub * minntx/b/n}{} +\DeclareFontShape{T1}{minntx}{bx}{scit}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{T1}{minntx}{bx}{it}{<->ssub * minntx/b/it}{} +\ifntx@sl % point to real slanted fonts + \DeclareFontShape{T1}{minntx}{m}{sl}{<-> \ntxmath@scaled t1xsl}{} + \DeclareFontShape{T1}{minntx}{b}{sl}{<-> \ntxmath@scaled ztmbsl-tlf-t1}{} + \DeclareFontShape{T1}{minntx}{bx}{sl}{<->ssub * minntx/b/sl}{} + +\else %point to theorem font + \DeclareFontShape{T1}{minntx}{m}{sl}{<-> \ntxmath@scaled ntxth-Italic-tlf-t1}{} + \DeclareFontShape{T1}{minntx}{b}{sl}{<->ssub * minntx/m/sl}{} + \DeclareFontShape{T1}{minntx}{bx}{sl}{<->ssub * minntx/m/sl}{} + +\fi + +\DeclareFontShape{T1}{minntx}{b}{scsl}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{T1}{minntx}{bx}{scsl}{<->ssub * minntx/b/scit}{} +\DeclareFontShape{T1}{minntx}{m}{scsl}{<->ssub * minntx/m/scit}{} +\endinput diff --git a/fonts/newtx/tfm/ntxsups-Regular-ly1.tfm b/fonts/newtx/tfm/ntxsups-Regular-ly1.tfm index da07221bfe..209759b8e6 100644 Binary files a/fonts/newtx/tfm/ntxsups-Regular-ly1.tfm and b/fonts/newtx/tfm/ntxsups-Regular-ly1.tfm differ diff --git a/fonts/newtx/tfm/ntxsups-Regular-ot1.tfm b/fonts/newtx/tfm/ntxsups-Regular-ot1.tfm index 88da8ddfd4..0cb111caff 100644 Binary files a/fonts/newtx/tfm/ntxsups-Regular-ot1.tfm and b/fonts/newtx/tfm/ntxsups-Regular-ot1.tfm differ diff --git a/fonts/newtx/tfm/ntxsups-Regular-t1.tfm b/fonts/newtx/tfm/ntxsups-Regular-t1.tfm index a8aeb457d3..33e5695c58 100644 Binary files a/fonts/newtx/tfm/ntxsups-Regular-t1.tfm and b/fonts/newtx/tfm/ntxsups-Regular-t1.tfm differ diff --git a/fonts/newtx/type1/ntxsups-Regular.pfb b/fonts/newtx/type1/ntxsups-Regular.pfb index 04020d0de2..d330c37f7b 100644 Binary files a/fonts/newtx/type1/ntxsups-Regular.pfb and b/fonts/newtx/type1/ntxsups-Regular.pfb differ diff --git a/fonts/spark-otf/Changes b/fonts/spark-otf/Changes index 4425b163de..7192001a54 100644 --- a/fonts/spark-otf/Changes +++ b/fonts/spark-otf/Changes @@ -1,3 +1,5 @@ +0.05a 2022-03-03 - changed link in the documentation + - added OpenType versions of the fonts 0.05 2019-04-13 - fix for new fontnames and more styles 0.04 2017-09-26 - fix for filenames - added short form ! for marks diff --git a/fonts/spark-otf/README.md b/fonts/spark-otf/README.md index 0fd25d8a04..809090f2f0 100644 --- a/fonts/spark-otf/README.md +++ b/fonts/spark-otf/README.md @@ -1,8 +1,8 @@ # README # -Package spark-otf supports the free fonts from -"After the Flood" which are available from the -website https://aftertheflood.com/projects/sparks/ -or from https://github.com/aftertheflood/spark +Package spark-otf supports the spark fonts. +The fonts are distributed under the SIL Open Font License. +(https://github.com/aftertheflood/sparks) + Following font files are supported: @@ -11,7 +11,10 @@ Following font files are supported: - Sparks-Dot-???.otf - %% This file is distributed under the terms of the LaTeX Project Public %% License from CTAN archives in directory macros/latex/base/lppl.txt. %% Either version 1.3 or, at your option, any later version. +%% The OpenType fonts are distributed under the SIL Open Font License + + +hvoss@tug.org \ No newline at end of file diff --git a/fonts/spark-otf/doc/spark-otf-doc.bib b/fonts/spark-otf/doc/spark-otf-doc.bib index 9dde6057b7..3540224fe2 100644 --- a/fonts/spark-otf/doc/spark-otf-doc.bib +++ b/fonts/spark-otf/doc/spark-otf-doc.bib @@ -36,10 +36,8 @@ } @online{atf, -author = {Max Gadney and Mike Gallagher and Nick Cross and Sabih Ali}, -title = {AtF Spark}, -subtitle = {Our new typeface for code-free sparklines}, -Organisation = {After the flood}, -url = {https://aftertheflood.com/projects/sparks/}, +author = {Mikeal Gallagher}, +title = {Sparks}, +subtitle = {A typeface for creating sparklines in text}, +url = {https://github.com/aftertheflood/sparks}, } - diff --git a/fonts/spark-otf/doc/spark-otf-doc.pdf b/fonts/spark-otf/doc/spark-otf-doc.pdf index e436bd73c0..91f6a7729c 100644 Binary files a/fonts/spark-otf/doc/spark-otf-doc.pdf and b/fonts/spark-otf/doc/spark-otf-doc.pdf differ diff --git a/fonts/spark-otf/doc/spark-otf-doc.tex b/fonts/spark-otf/doc/spark-otf-doc.tex index d92461a66e..a203d63c35 100644 --- a/fonts/spark-otf/doc/spark-otf-doc.tex +++ b/fonts/spark-otf/doc/spark-otf-doc.tex @@ -1,4 +1,4 @@ -%% $Id: spark-otf-doc.tex 1047 2019-04-12 17:22:07Z herbert $ +%% $Id: spark-otf-doc.tex 463 2022-03-03 07:27:02Z herbert $ % \listfiles \documentclass[fontsize=11pt,DIV=14,parskip=half-]{scrartcl} @@ -14,12 +14,14 @@ \makeatletter \let\SparkVersion\spark@version \makeatother +\usepackage{unicodefonttable} + \newsavebox\ZBox \newsavebox\SBox \usepackage{biblatex} \addbibresource{\jobname.bib} -\usepackage{dtk-logos} % for Wikipedia W +\usepackage{hvlogos} % for Wikipedia W \pagestyle{headings} @@ -50,7 +52,7 @@ sparklines are intended to be succinct, memorable, and located where they are di \section{The fonts} -The fonts are available from \url{https://github.com/aftertheflood/spark} and should be saved +The fonts are available from \url{https://github.com/aftertheflood/sparks} and should be saved either in \path{Library/fonts/} (MAC OSX), \path{c:\Windows\Fonts} (Windows) or \path{/usr/local/share/fonts} (Linux) or any other location where the fonts will be found by the system. @@ -280,6 +282,8 @@ Text \sparkDotline[Extrathick]{!1,79,88,46,54,77,91,24,70,22,27,29,40,33,31,95,2 The current version of \texttt{spark-otf} supports only star versions for Lua\LaTeX. + + \subsection{Bars} \begin{LTXexample}[pos=t] @@ -293,7 +297,7 @@ Text \sparkBar*[Narrow]{111,179,188,146,154,177,191,124,170,122,127,129,140,133, \begin{LTXexample}[pos=t] Text \sparkDotline*{1,79,88,46,54,77,91,24,70,22,27,29,40,33,31,95,26,76} Text\\ Text \sparkDotline{9,4,2,1,6,7,3,8,3,7,1,4,9,2,8,5,1,8} Text\\ -Text \sparkDotline+{9,4,2,1,6,7,3,8,3,7,1,4,9,2,8,5,1,8} Text\\ +Text \sparkDotline*{9,4,2,1,6,7,3,8,3,7,1,4,9,2,8,5,1,8} Text\\ Text \sparkDot*[Medium][19]{19,114,12,111,16,17,113,118,113,67,61,74,39,52,38,55,111,88}[88] Text\\ Text \sparkDotline*[Medium][111]{111,179,188,146,154,177,191,124,170,122,127,129,140,133,131,195,126,176}[176] Text \end{LTXexample} @@ -323,112 +327,60 @@ Coloring does \emph{not} work for the star version of the macro and \emph{not} f \subsection{Spark-BarMedium} -%\includegraphics{images/Spark-BarMedium} - -{\sparkBarMedium -\multido{\iA=32+50}{20000}{\sbox\ZBox{% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\kern0.45pt\fi}}% - \ifdim\wd\ZBox>0pt \sbox\ZBox{\makebox[4em][r]{\iA: }% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\else\kern0.45em\fi\kern0.25pt}}% - \usebox\ZBox\\\fi} -} - - -%\string{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1\string} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Bar-Medium.otf}%[⟨font-features⟩] +\subsection*{Spark-BarNarrow} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Bar-Narrow.otf}%[⟨font-features⟩] +\subsection*{Spark-BarExtraNarrow} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Bar-Extranarrow.otf}%[⟨font-features⟩] -%-* !"\#\$\%'()*+,-./0123456789.;<=>@CDEGHILNOSTU[\textbackslash]\_ht\{\_\}°¢ +\subsection*{Spark-Bar-Wide} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Bar-Wide.otf}%[⟨font-features⟩] -\subsection*{Spark-BarNarrow} +\subsection*{Spark-Bar-Extrawide} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Bar-Extrawide.otf}%[⟨font-features⟩] -{\sparkBarNarrow -\multido{\iA=32+50}{20000}{\sbox\ZBox{% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\kern0.35pt\fi}}% - \ifdim\wd\ZBox>0pt \sbox\ZBox{\makebox[4em][r]{\iA: }% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\else\kern0.35em\fi\kern0.25pt}}% - \usebox\ZBox\\\fi} -} +%\subsection*{Spark-BarThin} +\subsection*{Spark-DotMedium} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Dot-Medium.otf}%[⟨font-features⟩] -\iffalse +\subsection*{Spark-DotSmall} +\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Dot-Small.otf}%[⟨font-features⟩] -\subsection*{Spark-BarThin} +%\subsection*{Spark-DotLine-Medium} +%\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Dotline-Medium.otf}%[⟨font-features⟩] -{\sparkBarThin -\multido{\iA=32+50}{20000}{\sbox\ZBox{% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\kern0.1pt\fi}}% - \ifdim\wd\ZBox>0pt \sbox\ZBox{\makebox[4em][r]{\iA: }% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\else\kern0.1em\fi\kern0.25pt}}% - \usebox\ZBox\\\fi} -} +%\subsection*{Spark-DotLine-Thick} +%\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Dotline-Thick.otf}%[⟨font-features⟩] +%\subsection*{Spark-DotLine-Extrathick} +%\displayfonttable*[range-start=F0000, range-end=FFFFF]{Sparks-Dotline-Extrathick.otf}%[⟨font-features⟩] -\subsection*{Spark-DotMedium} -{\sparkDotMedium -\multido{\iA=32+50}{20000}{\sbox\ZBox{% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\kern0.35pt\fi}}% - \ifdim\wd\ZBox>0pt \sbox\ZBox{\makebox[4em][r]{\iA: }% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\else\kern0.35em\fi\kern0.25pt}}% - \usebox\ZBox\\\fi} -} +\nocite{*} +\printbibliography -\subsection*{Spark-DotSmall} - -{\sparkDotSmall -\multido{\iA=32+50}{20000}{\sbox\ZBox{% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\kern0.2pt\fi}}% - \ifdim\wd\ZBox>0pt \sbox\ZBox{\makebox[4em][r]{\iA: }% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\else\kern0.2em\fi\kern0.25pt}}% - \usebox\ZBox\\\fi} -} +\end{document} +% + \font\sparkDotlineThin ="file:Sparks-Dotline-Thin.otf:mode=node;+calt;\spark@DefaultFeatures" + \font\sparkDotlineExtrathin ="file:Sparks-Dotline-Extrathin.otf:mode=node;+calt;\spark@DefaultFeatures" +% + \font\sparkDotExtralarge="file:Sparks-Dot-Extralarge.otf:mode=node;+calt;\spark@DefaultFeatures" + \font\sparkDotExtrasmall="file:Sparks-Dot-Extrasmall.otf:mode=node;+calt;\spark@DefaultFeatures" -\subsection*{Spark-DotLine} -{\sparkDotLine -\multido{\iA=32+50}{20000}{\sbox\ZBox{% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\kern0.4pt\fi}}% - \ifdim\wd\ZBox>0pt \sbox\ZBox{\makebox[4em][r]{\iA: }% - \multido{\iB=\iA+1}{50}{% - \sbox\SBox{\symbol{\iB}}% - \ifdim\wd\SBox>0pt\usebox\SBox\else\kern0.4em\fi\kern0.25pt}}% - \usebox\ZBox\\\fi} -} +%\string{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1\string} -\fi -\nocite{*} -\printbibliography +%-* !"\#\$\%'()*+,-./0123456789.;<=>@CDEGHILNOSTU[\textbackslash]\_ht\{\_\}°¢ -\end{document}

{14,95,68,9,19,41,91,1,81,97,79,45,96,76,17,65,8,92}

diff --git a/fonts/spark-otf/fonts/Sparks-Bar-Extranarrow.otf b/fonts/spark-otf/fonts/Sparks-Bar-Extranarrow.otf new file mode 100644 index 0000000000..bfe2e6d968 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Bar-Extranarrow.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Bar-Extrawide.otf b/fonts/spark-otf/fonts/Sparks-Bar-Extrawide.otf new file mode 100644 index 0000000000..8cd8cf4b5f Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Bar-Extrawide.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Bar-Medium.otf b/fonts/spark-otf/fonts/Sparks-Bar-Medium.otf new file mode 100644 index 0000000000..89cff32bf6 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Bar-Medium.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Bar-Narrow.otf b/fonts/spark-otf/fonts/Sparks-Bar-Narrow.otf new file mode 100644 index 0000000000..4100b4fe22 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Bar-Narrow.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Bar-Wide.otf b/fonts/spark-otf/fonts/Sparks-Bar-Wide.otf new file mode 100644 index 0000000000..80bdf8cc57 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Bar-Wide.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dot-Extralarge.otf b/fonts/spark-otf/fonts/Sparks-Dot-Extralarge.otf new file mode 100644 index 0000000000..0742c59483 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dot-Extralarge.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dot-Extrasmall.otf b/fonts/spark-otf/fonts/Sparks-Dot-Extrasmall.otf new file mode 100644 index 0000000000..f30e76ded0 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dot-Extrasmall.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dot-Large.otf b/fonts/spark-otf/fonts/Sparks-Dot-Large.otf new file mode 100644 index 0000000000..caffbf49ff Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dot-Large.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dot-Medium.otf b/fonts/spark-otf/fonts/Sparks-Dot-Medium.otf new file mode 100644 index 0000000000..4f1603f0c8 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dot-Medium.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dot-Small.otf b/fonts/spark-otf/fonts/Sparks-Dot-Small.otf new file mode 100644 index 0000000000..8988d73701 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dot-Small.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dotline-Extrathick.otf b/fonts/spark-otf/fonts/Sparks-Dotline-Extrathick.otf new file mode 100644 index 0000000000..6d15274f94 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dotline-Extrathick.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dotline-Extrathin.otf b/fonts/spark-otf/fonts/Sparks-Dotline-Extrathin.otf new file mode 100644 index 0000000000..cea0ae223c Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dotline-Extrathin.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dotline-Medium.otf b/fonts/spark-otf/fonts/Sparks-Dotline-Medium.otf new file mode 100644 index 0000000000..13e53a44cb Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dotline-Medium.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dotline-Thick.otf b/fonts/spark-otf/fonts/Sparks-Dotline-Thick.otf new file mode 100644 index 0000000000..b953035931 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dotline-Thick.otf differ diff --git a/fonts/spark-otf/fonts/Sparks-Dotline-Thin.otf b/fonts/spark-otf/fonts/Sparks-Dotline-Thin.otf new file mode 100644 index 0000000000..8f9f97e928 Binary files /dev/null and b/fonts/spark-otf/fonts/Sparks-Dotline-Thin.otf differ diff --git a/fonts/spark-otf/latex/spark-otf.sty b/fonts/spark-otf/latex/spark-otf.sty index eae4f650d0..19e0867732 100644 --- a/fonts/spark-otf/latex/spark-otf.sty +++ b/fonts/spark-otf/latex/spark-otf.sty @@ -1,14 +1,14 @@ -%% $Id: spark-otf.sty 1047 2019-04-12 17:22:07Z herbert $ +%% $Id: spark-otf.sty 463 2022-03-03 07:27:02Z herbert $ %% %% This file is distributed under the terms of the LaTeX Project Public %% License from CTAN archives in directory macros/latex/base/lppl.txt. %% Either version 1.3 or, at your option, any later version. %% -% Copyright 2017 Herbert Voss hvoss@tug.org +% Copyright 2017,2022 Herbert Voss hvoss@tug.org %% -\def\spark@version{0.05} +\def\spark@version{0.05a} \ProvidesPackage{spark-otf}[% - 2019/04/12 v. \spark@version~(Herbert Voss) Supports spark OpenType for lualatex/xelatex.] + 2022/03/03 v. \spark@version~(Herbert Voss) Supports spark OpenType for lualatex/xelatex.] % \RequirePackage{ifxetex,ifluatex,xkeyval} % @@ -24,7 +24,8 @@ \@latex@error{This package can only be used with "XeLaTeX" or "LuaLaTeX"!% \MessageBreak "pdfLaTeX" or any other "TeX" version are _not_ possible!}% \fi\fi -\RequirePackage{luaotfload,xparse} +\RequirePackage{%luaotfload, +xparse} \ifluatex\RequirePackage{luacode}\fi -- cgit v1.2.3