diff options
Diffstat (limited to 'fonts')
45 files changed, 456 insertions, 175 deletions
diff --git a/fonts/newcomputermodern/README b/fonts/newcomputermodern/README index 4a99ea9c8d..7276421b9f 100644 --- a/fonts/newcomputermodern/README +++ b/fonts/newcomputermodern/README @@ -1,7 +1,7 @@ New Computer Modern Fonts - (Package version 5.1, GustFLv1 or later) + (Package version 5.2.0, GustFLv1 or later) Antonis Tsolomitis Samos, Greece, 2019--2024 @@ -103,6 +103,21 @@ xelatex newcm-doc.tex Latest additions/improvements: ------------------------------ +Version 5.2.0 + +Added Cherokee in the Sans font too + +Added Canadian Aboriginal Syllabics to Sans + +Added Allergies symbols to Sans Regular and Book + +Added twoheadhookrightarrow and twoheadhookleftarrow +to the Math fonts in Private USe Area, +since they are needed and do not exist in Unicode. + +Fixed minor IPA tilde overlapping bugs + + Version 5.1 Added Aegean Numbers in the Sans font diff --git a/fonts/newcomputermodern/doc/newcm-doc.pdf b/fonts/newcomputermodern/doc/newcm-doc.pdf Binary files differindex 953e01a753..e084e2ba71 100644 --- a/fonts/newcomputermodern/doc/newcm-doc.pdf +++ b/fonts/newcomputermodern/doc/newcm-doc.pdf diff --git a/fonts/newcomputermodern/doc/newcm-doc.tex b/fonts/newcomputermodern/doc/newcm-doc.tex index 7e20605e67..d8d7356d37 100644 --- a/fonts/newcomputermodern/doc/newcm-doc.tex +++ b/fonts/newcomputermodern/doc/newcm-doc.tex @@ -95,13 +95,13 @@ Language=Nepali, \renewcommand{\arraystretch}{1.4} -\title{The New Computer Modern FontFamily\\ version 5.1} +\title{The New Computer Modern FontFamily\\ version 5.2.0} \author{Antonis Tsolomitis} %\address{Department of Mathematics\\ University of the Aegean\\ Karlovassi, 832\,00 Samos\\ Greece} %\netaddress{atsol (at) aegean dot gr} %\personalURL{https://myria.math.aegean.gr/~atsol/} %%% End of metadata %%% -\usepackage{pstricks} +\usepackage{pstricks,hvlogos} \begin{document} % @@ -344,8 +344,8 @@ accents one after the other, but the pdf produced by xetex or luatex will have t \subsubsection{Coloring diacritics} If one wants to use color for diacritics, different from the color of the base character -this does not work with Xe\LaTeX\ (the commands of the \verb|color| package -break the stacking mechanism). It works though with Lua\LaTeX\ using the \verb|luacolor| +this does not work with \XeLaTeX\ (the commands of the \verb|color| package +break the stacking mechanism). It works though with \LuaLaTeX\ using the \verb|luacolor| package. However, there is a problem when the base glyph and the first diacritic above exist in the font as a precomposed character. For example, this is the case with aacute (á) (U+00E1). Such characters are treated as one by Lua and they can not @@ -669,13 +669,105 @@ A few letters from Coptic and Epact numbers follow: \section{Cherokee} Both Unicode blocks -U13A0--13FF and UAB70--UABBF for Cherokee are supported. A few letters are: +U13A0--13FF and UAB70--UABBF for Cherokee are supported. +% A few letters are: %\begin{center} - ᎣᎤᎹᏊᏐ ꭳꭴꭷꮂꮔꮿ +% ᎣᎤᎹᏊᏐ ꭳꭴꭷꮂꮔꮿ %\end{center} +The samples below were kindly provided by Sedi Eastwood: +\medskip + +\noindent Sample 1: +\begin{center} +\begin{tabular}{ll} + \begin{minipage}{5cm} ᎬᏣᎵᏨᏗᏣᏓᏲᎯᏍᏗ ᎢᏤᎮᏍᏗ\\ + \textsf{ᎬᏣᎵᏨᏗᏣᏓᏲᎯᏍᏗ ᎢᏤᎮᏍᏗ} +\end{minipage} + & + \begin{minipage}{6cm} + Live/exist in a manner that there is never a reason or purpose to let go of one another.\\ + (gvjalijvdijadayohisdi ijehesdi\\ +\hphantom{(}gvtsalitsvditsadayohisdi itsehesdi) + \end{minipage} +\end{tabular} +\end{center} + + +\medskip + +\noindent Sample 2: +\begin{center} +\begin{tabular}{ll} +\begin{minipage}{4cm} ᏕᏣᏓᎨᏳᏎᏍᏗ\\ \textsf{ᏕᏣᏓᎨᏳᏎᏍᏗ} +\end{minipage} + & + \begin{minipage}{6cm} + Value the existence of one another.\\ + (dejadageyusesdi\\ +\hphantom{(}detsadageyusesdi) + \end{minipage} +\end{tabular} +\end{center} + +\medskip + +\noindent Sample 3: +\begin{center} +\begin{tabular}{ll} +\begin{minipage}{4cm} ᎥᎵᏍᎨᏗ ᏕᏣᏓᏰᎸᏎᏍᏗ\\ \textsf{ᎥᎵᏍᎨᏗ ᏕᏣᏓᏰᎸᏎᏍᏗ} +\end{minipage} + & + \begin{minipage}{6cm} + Think of one another as sacred or hold the existence of others sacred.\\ + (vlisgedi dejadayelvsesdi) + \end{minipage} +\end{tabular} +\end{center} + + +\section{Canadian Aboriginal Syllabics} + +\newfontfamily{\textsfca}[BoldFont=NewCMSans10-Bold.otf,% +ItalicFont=NewCMSans10-BookOblique.otf]{NewCMSans10-Book.otf} + +Canadian Aboriginal Syllabics are supported in the sans font. +The full Unicode blocks are covered, which are +U1400--U167F, U18B0--U18F5, and U11AB0--U11ABF. + +Some examples in Blackfoot Siksiká: + +\noindent Blackfoot-speaking real people: {\textsfca ᖹᐟᒧᐧᒣᑯ} +Siksiká: {\textsfca ᓱᖽᐧᖿ}\\ +Siksikáíʼpowahsin: {\textsfca ᓱᘁᓱᘁᖳᐟᑲᖷᑊᓱᐡ} In bold: {\textsfca\bfseries ᓱᘁᓱᘁᖳᐟᑲᖷᑊᓱᐡ}\\ +Niitsipowahsin: {\textsfca ᖹᐨᓱᑲᖷᑊᓱᐡ} In oblique: {\textsfca\itshape ᖹᐨᓱᑲᖷᑊᓱᐡ} + +\medskip + +Some more in Cree: + +\begin{tabular}{l|l} +\begin{minipage}{5.5cm} +\noindent{\textsfca ᐌᐘᑯ ᐅᒪ ᐊᓯᓂᐏᒣᓂᑲᐣ ᑭᒥᓇᐘᐠ}\\ +{\textsfca ᐃᓂᓂᐘᐠ ᒪᓂᑐᐸ ᑲᐊᔭᒋᐠ᙮ ᐁᐘᑿᓂᐠ ᐅᑭ}\\ +{\textsfca ᑲᓄᒋᐦᑕᒋᐠ ᐊᓯᓂᐏᐊᑐᐢᑭᐃᓂᓂᐤ ᑲᑭᒥᓂᐦᒋᐠ}\\ +{\textsfca ᐅᒣᓂᐤ᙮ ᐊᑿᓂ ᒥᑕᐦᑐᒥᑕᓇᐤ ᐊᐢᑭᐩ ᐊᓴᐩ}\\ +{\textsfca ᐁᐊᑐᐢᑫᒋᐠ ᐅᑕ ᒪᓂᑐᐸ᙮} +\end{minipage} + & +\begin{minipage}{4.8cm} +{\sffamily The masonry for the wall through time + has been given to people of Manitoba + by the international union of bricklayers + and allied craftsmen local one Manitoba + to commemorate 100 years of service, by + Manitoba masonry contractors and by Manitoba + masonry suppliers.} +\end{minipage} +\end{tabular} + \section{Devanagari} Devanagari script is supported for the serifed font in Regular (10pt/8pt), Book (10pt/8pt), @@ -686,7 +778,7 @@ must include \noindent \verb|Script=Devanagari, Language=XXXX| where \verb|XXXX| must be replaced with one of \verb|Hindi|, \verb|Sanskrit|, \verb|Marathi|, \verb|Nepali|. If the \verb|Language| parameter is not set then the default is \verb|Hindi|. -For Lua\LaTeX\ the parameter \verb|Renderer=Harfbuzz| must also be included. +For \LuaLaTeX\ the parameter \verb|Renderer=Harfbuzz| must also be included. So if say Marathi is needed as the default font document then one can use the following: \begin{verbatim} @@ -930,6 +1022,18 @@ Next we give a real example of using \acro{\textsc{ipa}} symbols. The quote belo {\ipafont [t̪y]} ``you.'' \end{quote} +A recent addition for \textsc{ipa} is the support of the Unicode block U1D80--U1DBF which +includes more letters with palatal and retroflex hook and more modifier small letters. +Eg. +\begin{center} + \begin{tabular}{|c|c|}\hline +Upright & Italic\\ \hline + ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ &\textit{ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ}\\ \hline + Sans Upright & Sans Oblique\\ \hline + \textsf{ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ}& \textsf{\itshape ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ}\\ + \hline + \end{tabular} +\end{center} @@ -945,6 +1049,32 @@ NewCM fixes that and provides a true BoldSans: \end{tabular} +\section{Food Allergies} + +Food allergy symbols have long been proposed to be accepted to +Unicode standard but there has not been any progress up to now. +The Sans 10 Regular and Book include standard allergy symbols +in the Private Use Area. Each glyph is named after what it represents. +For example, the soya symbol is named ``soya'' so copying the symbol +from a pdf file and pasting elsewhere you will get its name, that is ``soya''. +The symbols are in positions U+E033 to U+E040 and can be accessed using the +commands of the next table. +\begin{sffamily} + \newcommand{\fdal}[2]{\begin{minipage}[c]{2.5cm}\begin{center}\ \ \\[1.5ex] \scalebox{4}{\char"#1}\\ \textsc{#2}\\[-1ex] \ \ \end{center}\end{minipage}} +% \newcommand\crustaceans{\begin{minipage}[c]{1cm}\begin{center}\scalebox{4}{\char"E033}\\ \textsc{crustaceans}\end{center}\end{minipage}} +%\newcommand\eggs{\begin{minipage}[c]{1cm}\scalebox{4}{\char"E034}\\ \textsc{eggs}\end{minipage}} +\begin{center} + \begin{tabular}{|l|c||l|c|}\hline + \verb|\char"E033| & \fdal{E033}{crustaceans} & \verb|\char"E034| & \fdal{E034}{eggs}\\ \hline + \verb|\char"E035| & \fdal{E035}{gluten} & \verb|\char"E036| & \fdal{E036}{fish}\\ \hline + \verb|\char"E037| & \fdal{E037}{lupin} & \verb|\char"E038| & \fdal{E038}{milk}\\ \hline + \verb|\char"E039| & \fdal{E039}{molluscs} & \verb|\char"E03A| & \fdal{E03A}{mustard}\\ \hline + \verb|\char"E03B| & \fdal{E03B}{peanut} & \verb|\char"E03C| & \fdal{E03C}{sesame}\\ \hline + \verb|\char"E03D| & \fdal{E03D}{soya} & \verb|\char"E03E| & \fdal{E03E}{treenuts}\\ \hline + \verb|\char"E03F| & \fdal{E03F}{celery} & \verb|\char"E040| & \fdal{E040}{SO$_2$}\\ \hline + \end{tabular} +\end{center} +\end{sffamily} \section{Unicode Math coverage and options} @@ -1079,6 +1209,10 @@ $$\mathbb{abcdefghijklmnopqrstuvwxyz}$$ $$\mathbb{0123456789\ \pi\gamma\Gamma\Pi\Sigma\mitBbbD\mitBbbd\mitBbbe\mitBbbi\mitBbbj}$$ \setmathfont{NewCMMath-Book.otf} +\newsavebox{\emptysetdefault} +\savebox{\emptysetdefault}{$\emptyset$} + +\setmathfont[CharacterVariant=1]{NewCMMath-Book.otf} If using the latest \verb|fontsetup| (to be released soon) then you can choose the NewCM blackboard bold @@ -1113,7 +1247,7 @@ for the regular weight. Moreover, extensible integrals are supported by the fonts but \textit{NOT} by the Unicode TeX engines. The following code is a trick so that extensible integrals can be -constructed using Lua\LaTeX. The result is shown at the end +constructed using \LuaLaTeX. The result is shown at the end of the article. What the code below does, is that it defines the slot uni222B (integral) as a delimiter. And then this is extended as a delimiter with the mechanism that @@ -1145,19 +1279,23 @@ $ \subsection{Additional and alternative characters in Math} The Math fonts provide the character \verb|\varnothing| ($\varnothing$), as -an alternative to \verb|\emptyset| (a slashed zero), +an alternative to \verb|\emptyset| (\usebox{\emptysetdefault}), through Character Variant \verb|cv01|. The \verb|fontsetup| package provides the option `\verb|varnothing|' to easily switch to the alternative character. -It also provides two more symbols that correspond to the commands +\newcommand{\twoheadhookrightarrow}{\char"E034} +\newcommand{\twoheadhookleftarrow}{\char"E035} + +It also provides four more symbols that correspond to the commands \medskip - \verb|\nrightrightarrows| ($\nrightrightarrows$) + \verb|\nrightrightarrows| ($\nrightrightarrows$) \quad \verb|\nleftleftarrows| ($\nleftleftarrows$) \noindent and -\verb|\nleftleftarrows| ($\nleftleftarrows$) +\verb|\twoheadhookrightarrow| ($\twoheadhookrightarrow$)\quad \verb|\twoheadhookleftarrow| ($\twoheadhookleftarrow$) + \medskip @@ -1166,6 +1304,25 @@ and supported by the \verb|default| and \verb|olddefault| options of the \verb|f These symbols are not in the Unicode Standard and so they are added in the Private Area of the fonts. +\subsection{Notes on Mathematics} + +Extensible tildes and hats produce different results +with \XeLaTeX\ and \LuaLaTeX\ because these unicode +engines treat differently the width of characters. In particular, \XeLaTeX\ handles italic +correction as part of the character width but \LuaLaTeX\ does this only if a character +follows. This affects how extensible accents like \verb|\widehat| or \verb|\widetilde| +select the proper size. With \XeLaTeX, \verb|\widetilde{Y}| \verb|\widetilde{X}| will give the +expected result $\widetilde{Y}\widetilde{X}$; but with \LuaLaTeX\ the letter $Y$ is +narrower (and its italic correction is not taken into account if it stands alone) +and gets the plain tilde size, as in $\tilde{Y}$. To bypass this with \LuaLaTeX\ one +has to use a zero width character after a letter such as $Y$ so that +\LuaLaTeX\ takes into account the italic correction of $Y$. For example with +\begin{center}\verb|\widetilde{Y\Uchar"200D}| +\end{center} +the result will be correct (U200D is the ``Zero Width Joiner'' in Unicode). + +I thank Ulrike Fischer for this solution. + \section{The Medieval Latin and Uncial Greek glyph complement} diff --git a/fonts/newcomputermodern/otf/NewCM08-Book.otf b/fonts/newcomputermodern/otf/NewCM08-Book.otf Binary files differindex 7ed4116f3d..5c6aa72a5b 100644 --- a/fonts/newcomputermodern/otf/NewCM08-Book.otf +++ b/fonts/newcomputermodern/otf/NewCM08-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf b/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf Binary files differindex 473e3c3468..8e480aefce 100644 --- a/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf +++ b/fonts/newcomputermodern/otf/NewCM08-BookItalic.otf diff --git a/fonts/newcomputermodern/otf/NewCM08-Italic.otf b/fonts/newcomputermodern/otf/NewCM08-Italic.otf Binary files differindex 5cf41ce959..a2e8d0995c 100644 --- a/fonts/newcomputermodern/otf/NewCM08-Italic.otf +++ b/fonts/newcomputermodern/otf/NewCM08-Italic.otf diff --git a/fonts/newcomputermodern/otf/NewCM08-Regular.otf b/fonts/newcomputermodern/otf/NewCM08-Regular.otf Binary files differindex c7d99ad897..650fd3ae6c 100644 --- a/fonts/newcomputermodern/otf/NewCM08-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCM08-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCM10-Bold.otf b/fonts/newcomputermodern/otf/NewCM10-Bold.otf Binary files differindex 4ce44956d2..47c172c094 100644 --- a/fonts/newcomputermodern/otf/NewCM10-Bold.otf +++ b/fonts/newcomputermodern/otf/NewCM10-Bold.otf diff --git a/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf b/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf Binary files differindex 4960299320..58d8f0de6c 100644 --- a/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf +++ b/fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf diff --git a/fonts/newcomputermodern/otf/NewCM10-Book.otf b/fonts/newcomputermodern/otf/NewCM10-Book.otf Binary files differindex 01cd69a60a..e17fe44c84 100644 --- a/fonts/newcomputermodern/otf/NewCM10-Book.otf +++ b/fonts/newcomputermodern/otf/NewCM10-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf b/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf Binary files differindex e6f3f86e8a..536bff3d2b 100644 --- a/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf +++ b/fonts/newcomputermodern/otf/NewCM10-BookItalic.otf diff --git a/fonts/newcomputermodern/otf/NewCM10-Italic.otf b/fonts/newcomputermodern/otf/NewCM10-Italic.otf Binary files differindex 4d1ca0cae5..5c46394995 100644 --- a/fonts/newcomputermodern/otf/NewCM10-Italic.otf +++ b/fonts/newcomputermodern/otf/NewCM10-Italic.otf diff --git a/fonts/newcomputermodern/otf/NewCM10-Regular.otf b/fonts/newcomputermodern/otf/NewCM10-Regular.otf Binary files differindex 84c08a3bf5..f090351d35 100644 --- a/fonts/newcomputermodern/otf/NewCM10-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCM10-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCMMath-Book.otf b/fonts/newcomputermodern/otf/NewCMMath-Book.otf Binary files differindex e27c8b7831..613f0df4aa 100644 --- a/fonts/newcomputermodern/otf/NewCMMath-Book.otf +++ b/fonts/newcomputermodern/otf/NewCMMath-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCMMath-Regular.otf b/fonts/newcomputermodern/otf/NewCMMath-Regular.otf Binary files differindex fa03029f51..dec928de5b 100644 --- a/fonts/newcomputermodern/otf/NewCMMath-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCMMath-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf b/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf Binary files differindex 50ba877119..7e5a4325db 100644 --- a/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf +++ b/fonts/newcomputermodern/otf/NewCMMono10-Bold.otf diff --git a/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf b/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf Binary files differindex 5c4ba9e86a..8c1db9edae 100644 --- a/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf +++ b/fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Book.otf b/fonts/newcomputermodern/otf/NewCMMono10-Book.otf Binary files differindex ebd8ad581f..c3094ca5d2 100644 --- a/fonts/newcomputermodern/otf/NewCMMono10-Book.otf +++ b/fonts/newcomputermodern/otf/NewCMMono10-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf b/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf Binary files differindex a04b75a355..e112851f99 100644 --- a/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf +++ b/fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf b/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf Binary files differindex 99eda8c986..8647186cb7 100644 --- a/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf +++ b/fonts/newcomputermodern/otf/NewCMMono10-Italic.otf diff --git a/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf b/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf Binary files differindex ac4bf3aa9f..cedb357580 100644 --- a/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCMMono10-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans08-Book.otf b/fonts/newcomputermodern/otf/NewCMSans08-Book.otf Binary files differindex c79936eb80..35ea8fed76 100644 --- a/fonts/newcomputermodern/otf/NewCMSans08-Book.otf +++ b/fonts/newcomputermodern/otf/NewCMSans08-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf b/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf Binary files differindex e4178cd80c..cd203ad7a2 100644 --- a/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf +++ b/fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf b/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf Binary files differindex cf707402e1..b58c72aa5b 100644 --- a/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf +++ b/fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf b/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf Binary files differindex 120b73717e..95cdfb44c0 100644 --- a/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCMSans08-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf b/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf Binary files differindex ca2bcdfebc..d0e22ba872 100644 --- a/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf +++ b/fonts/newcomputermodern/otf/NewCMSans10-Bold.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf b/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf Binary files differindex 62ab987327..a573ee3f27 100644 --- a/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf +++ b/fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Book.otf b/fonts/newcomputermodern/otf/NewCMSans10-Book.otf Binary files differindex 43ddfb93b3..caa3deeeab 100644 --- a/fonts/newcomputermodern/otf/NewCMSans10-Book.otf +++ b/fonts/newcomputermodern/otf/NewCMSans10-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf b/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf Binary files differindex 056d616445..7f1dd9471c 100644 --- a/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf +++ b/fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf b/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf Binary files differindex e8d4baad44..9ae2caddbd 100644 --- a/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf +++ b/fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf diff --git a/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf b/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf Binary files differindex 96da57f58f..7fefbe5f43 100644 --- a/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCMSans10-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf b/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf Binary files differindex d8508a473f..9f6e96d1d9 100644 --- a/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf +++ b/fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf diff --git a/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf b/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf Binary files differindex 40eee883e3..4bb04f3be2 100644 --- a/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf +++ b/fonts/newcomputermodern/otf/NewCMUncial08-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf b/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf Binary files differindex 197896ad94..671041b5b5 100644 --- a/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf diff --git a/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf b/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf Binary files differindex ee074fe4be..fc41efa640 100644 --- a/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf +++ b/fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf diff --git a/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf b/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf Binary files differindex ac7f816a2c..4deb7d287d 100644 --- a/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf +++ b/fonts/newcomputermodern/otf/NewCMUncial10-Book.otf diff --git a/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf b/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf Binary files differindex 5ea6f2df1d..8ab1f7c9eb 100644 --- a/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf +++ b/fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf diff --git a/fonts/newcomputermodern/source.txz b/fonts/newcomputermodern/source.txz Binary files differindex c631bc4687..7f1cf27a24 100644 --- a/fonts/newcomputermodern/source.txz +++ b/fonts/newcomputermodern/source.txz diff --git a/fonts/newcomputermodern/tex/newcomputermodern.sty b/fonts/newcomputermodern/tex/newcomputermodern.sty index 22e39e68a1..6318522d6b 100644 --- a/fonts/newcomputermodern/tex/newcomputermodern.sty +++ b/fonts/newcomputermodern/tex/newcomputermodern.sty @@ -1,5 +1,5 @@ %\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{newcomputermodern}[v5.1 NewCM fonts by Antonis Tsolomitis] +\ProvidesPackage{newcomputermodern}[v5.2.0 NewCM fonts by Antonis Tsolomitis] \typeout{Loading NewCM fonts by Antonis Tsolomitis} \RequirePackage{fontspec} \RequirePackage{unicode-math} diff --git a/fonts/newtx/README b/fonts/newtx/README index 3ad0699cbc..e8c037ee2d 100644 --- a/fonts/newtx/README +++ b/fonts/newtx/README @@ -1,12 +1,18 @@ 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.744 2024-04-01 +Current version: 1.75 2024-06-20 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.75 +Added code to newtx.sty and newtxmath.sty to support gelasio small caps, additional +figure in pdflatex and math. (Best to use gelasiomath.sty as the interface as it adds +supporting code and calls newtx and thereby newtxmath in the proper order +and with matching scales.) + Changes in version 1.744 -Added code to newtxtext.sty that had been remove in error from an earlier version, preventing Helvetica sans from scaling properly. (Thanks Dana Nau.) +Added code to newtxtext.sty that had been removed in error from an earlier version, preventing Helvetica sans from scaling properly. (Thanks Dana Nau.) Changes in version 1.743 Updated the zut[b]mi[a].{tfm,vf} needed for the erewhon option to newtxmath. diff --git a/fonts/newtx/doc/newtxdoc.pdf b/fonts/newtx/doc/newtxdoc.pdf Binary files differindex b51ec00692..100c925612 100644 --- a/fonts/newtx/doc/newtxdoc.pdf +++ b/fonts/newtx/doc/newtxdoc.pdf diff --git a/fonts/newtx/doc/newtxdoc.tex b/fonts/newtx/doc/newtxdoc.tex index da1ae0c977..3a18e08300 100644 --- a/fonts/newtx/doc/newtxdoc.tex +++ b/fonts/newtx/doc/newtxdoc.tex @@ -275,7 +275,7 @@ Aside from options that are passed along to the text and math packages, {\tt new You may set the scale for both text and math by setting {\tt scale} or, equivalently, {\tt scaled}. Alternatively, you may scale text and math separately by means of the options {\tt textscale[d]}, {\tt mathscale[d]}. \item Option {\tt otfmath} is acted upon only under a unicode engine, and specifies unicode math rather than the default---type1 math using {\tt newtxmath}. The effect is the exact opposite to {\tt no-math}, which would specify math not controlled by {\tt fontspec}. \item Option {\tt subscriptcorrectionfile} allows you to set your own file specifying subscript corrections. -\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 May, 2022, are: +\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 June, 2024, are: \begin{verbatim} libertine libertinus @@ -285,6 +285,7 @@ MinionPro minion --> MinionPro cochineal garamondx +gelasio baskervillef baskerville --> baskervillef Baskerville --> baskervillef @@ -935,6 +936,7 @@ Don't use these unless you know what you're doing. \item (new in version 1.55) {\tt stix2} loads different versions of math italic and bold math italic based on \textsf{StixTwoMath} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case. See the documentation to the {\tt SticksToo} package, which contains more details and some math samples. \item (new in version 1.60) {\tt ebgaramond} loads different versions of math italic and bold math italic based on \textsf{EBGaramond} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case. See the end of Appendix 2 for an example of a preamble. You may in addition specify option {\tt alth} which changes the shape of math h from {\ebgmi h} to {\ebgmi\char250}. (The renderings of \verb|\hslash| and \verb|\hbar| are also changed.) \item (new as of version 1.629) {\tt noto, notosans} load different versions of math italic and bold math italic based on \textsf{NotoSerif}, \textsf{NotoSans} rather than \textsf{Times}. There are some intricacies involved, for which there is a separate package, {\tt notomath}, that tries to offer as simple an interface as it was possible for me to devise. +\item (new in version 1.75) {\tt gelasio} loads math italic and math bold italic based on the {\tt gelasio} text fooonts, with Greek math letters taken from an enlarged version of those letters from {\tt XCharter}. It is best to use the separate package {\tt gelasiomath}, which adds several features specific to {\tt gelasio}. \item (new in version 1.62) {\tt nc, ncf} load different versions of math italic and bold math italic based on \textsf{ScholaX} (\textsf{New Century Schoolbook}) rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case. The difference is that option {\tt nc} loads math Greek letters from {\tt newtxmath}, while option {\tt ncf} loads math greek from an adaptation of {\tt fourier} Greek. \item {\tt minion} loads different versions of math italic and bold math italic based on \textsf{MinionPro} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case, as the equivalent variant forms are made available by default---see the extended discussion below; \item {\tt garamondx} loads different versions of math italic and bold math italic based on \textsf{garamondx} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case, as the equivalent variant forms are made available by default. diff --git a/fonts/newtx/tex/newtx.sty b/fonts/newtx/tex/newtx.sty index e80baff17b..cb48d0c94d 100644 --- a/fonts/newtx/tex/newtx.sty +++ b/fonts/newtx/tex/newtx.sty @@ -2,8 +2,8 @@ %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.739} -\def\filedate{2024/02/24} +\def\fileversion{1.75} +\def\filedate{2024/06/18} \ProvidesPackage{newtx}[% \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] @@ -95,8 +95,10 @@ %\newif\ifntx@nofontspec % must load fontspec if unicode engine \newif\ifntx@otfmath %\ntx@otfmathfalse % default is type1 math +%\newdimen\ntx@dima +%\def\tx@divide#1#2{\ntx@dima=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax} +%\tx@divide{300}{400}\showthe\ntx@dima -\def\tx@divide#1#2{\strip@pt\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax} \newcommand*{\ntxtext@RM}{1} \newcommand*{\ntxtext@SF}{1} \newcommand*{\ntxtext@TT}{.88} @@ -105,10 +107,11 @@ \newcommand*{\ntxtext@rm}{} % not understood by libertinus-otf \newcommand*{\ntxtext@sf}{}% not understood by libertinus-otf -\newcommand*{\ntxtext@scale}{1} +\newcommand*{\ntxtext@scale}{0} \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}} +%\traceon +\DeclareOptionX{scaled}[1]{\renewcommand*{\ntxmath@scale}{#1}} +\DeclareOptionX{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}} @@ -258,6 +261,12 @@ \def\ntx@sc{TeXGyreScholaX@scale}% \def\ntx@TF{scholax}\def\ntx@MF{nc} \def\ntx@id{14}\def\ntx@minfam{minscholax}\fi} +\DeclareOptionX{Gelasio}[true]{\@nameuse{if#1} + \def\ntx@sc{Gelasio@scale}\def\ntx@TF{gelasio}\def\ntx@MF{gelasio} + \def\ntx@id{16}\def\ntx@minfam{mingelasio}\fi} +\DeclareOptionX{gelasio}[true]{\@nameuse{if#1} + \def\ntx@sc{Gelasio@scale}\def\ntx@TF{gelasio}\def\ntx@MF{gelasio} + \def\ntx@id{16}\def\ntx@minfam{mingelasio}\fi} % for stacked fractions \DeclareOptionX{sfracvcenter}{% \def\tx@sfrVC{#1}} @@ -354,10 +363,14 @@ % \newcommand{\PassMatchingScale}[1]{% \ifntx@iszero% - \@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima} - \gdef\ntxtext@scaled{s*[\ntxtext@scale]} + \@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima} + \fi + \xdef\ntxtext@scaled{s*[\ntxtext@scale]} + \ifnum\ntx@id=16 % gelasio + \PassOptionsToPackage{scale=\ntxtext@scale}{\ntx@TF}% + \else + \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}% \fi - \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}% } %\fi @@ -480,7 +493,7 @@ \@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} +\PassMatchingScale{.935} \@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 @@ -519,6 +532,16 @@ \@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 % 16, gelasio +\PassMatchingScale{.92} +\@ifundefined{tx@xht}{\def\tx@xht{485}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{473}}{} % denominator figures +\@ifundefined{tx@nubase}{\def\tx@nubase{246}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{360}}{}% 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{.75}}{} % scale defigures by this \fi \PassOptionsToPackage{\ntx@MF}{newtxmath} @@ -526,50 +549,55 @@ %\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 +%\newdimen\tx@sixem\tx@sixem6pt % for checking if a number refers to ex +\newdimen\tx@x \newdimen\tx@y + +% convert numerical entry that may be multiple of ex 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} +%\def\tx@chkex#1{\@tx@chkex#1ex\@nil} +%\def\@tx@chkex#1ex#2\@nil{\ifthenelse{\equal{#2}{}}{\tx@toex #1}{\tx@x=#1ex}} # defines dimen \tx@x +\def\tx@toex#1{\tx@x=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax} +%\def\tx@divide#1#2{\ntx@dima=\dimexpr 1pt * (\dimexpr #1 pt\relax) / \dimexpr #2pt\relax\relax} + +\newdimen\tx@tmpdima \newdimen\tx@tmpdimb \newdimen\tx@tmpdimC +\newdimen\tx@dimX \newdimen\tx@dimY \newdimen\tx@dimZ +\newdimen\tx@numrbase \newdimen\tx@dnombase +\newdimen\tx@bartop \newdimen\tx@barbot +\newdimen\tx@bartopex \newdimen\tx@barbotex +\setlength\tx@tmpdimb{\tx@sfrTH pt} % bar thickness +\setlength\tx@tmpdima{\tx@deht pt} % de figure ht +\setlength\tx@tmpdimC{\tx@sfrVC pt} % bar center height +\tx@bartop=\tx@tmpdimC +\advance\tx@bartop by .5\tx@tmpdimb % top of bar +\tx@toex{\strip@pt\tx@bartop}\tx@bartopex=\tx@x % same, in ex units +\tx@barbot=\tx@bartop +\advance\tx@barbot by -\tx@tmpdimb % bottom of bar +\tx@toex{\strip@pt\tx@barbot}\tx@barbotex=\tx@x % same, in ex units +\tx@dimX=\tx@bartop +\advance\tx@dimX by \tx@sfrVS pt % bottom of numr +\tx@dimY=\tx@barbot +\advance\tx@dimY by -\tx@sfrVS pt % top of dnom +\advance\tx@dimY by -\tx@sfrSC\tx@tmpdima % baseline of dnom + +\tx@toex{\strip@pt\tx@dimX}\tx@numrbase=\tx@x % num baseline in ex units +\tx@toex{\strip@pt\tx@dimY}\tx@dnombase=\tx@x % dnom baseline in ex units + \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}% +% \ifnum\ntx@id=16\relax + \setbox0=\hbox{\textsmde{#2}}% scaled down denom, baseline 0 + \tx@dimZ=\strip@pt\tx@numrbase ex% + \hfil \raise \tx@dimZ \box0\hfil \crcr% + \tx@dimX=\strip@pt\tx@bartopex ex% + \tx@dimY=-\strip@pt\tx@barbotex ex% + \leaders\hrule height \tx@dimX depth \tx@dimY \hfill \crcr% + \setbox1=\hbox{\textsmde{#3}}% + \tx@dimZ=\strip@pt\tx@dnombase ex + \hfil\raise \tx@dimZ \box1\hfil}% \egroup}} } @@ -611,7 +639,7 @@ \mbox{% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] {\textlf{#1}\kern.02em}{}% -{\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3} +\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3 \else\textnu{#2}{\normalfont\fontencoding{TS1}\selectfont\char"2F}% \textde{#3}\fi} }}} @@ -699,6 +727,60 @@ \or % 13, stickstoo \or % 14, scholax \or % 15, scholax/fourier +\or % 16, gelasio \fi - +% galasio.sty does not offer macros for numerators, denominators or inferiors +%\ifgelasio@otf +% \providecommand\nufigures{% +% \addfontfeatures{VerticalPosition=Numerator}} +% \providecommand\defigures{% +% \addfontfeatures{VerticalPosition=Denominator}} +% \providecommand\infigures{% +% \addfontfeatures{VerticalPosition=Inferior}} +% +% \DeclareTextFontCommand{\textnum}{\nufigures} +% \DeclareTextFontCommand{\textde}{\defigures} +% \DeclareTextFontCommand{\textinf}{\infigures} +% \@ifundefined{tx@sfrSC}{}{% +% \newcommand*{\textsmde}[1]{% +% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}} +% +%\else % type1 --we define \text.. by lowering \textsu +% \newbox\tx@box +% \newcommand*{\textde}[1]{{\setbox0=\hbox{\textsu{#1}}\setbox1=\hbox{\raise -.763ex \box0}\dp1=0pt\ht1=.977ex\box1\relax}} +% +% \providecommand*\textnum[1]{\raisebox{.507ex}{\textde{#1}}} +% \let\textnu\textnum +%% \providecommand*\textde[1]{{\setbox0=\hbox{\textsu{#1}}% +%% \setbox1=\hbox{\lower.763ex\box0}\dp0=0pt\relax\box1\relax}} +% %\raisebox{-.763ex}{\textsu{#1}}} +% % the following will be used only by \textsfrac +% \@ifundefined{tx@sfrSC}{}{% +% \newcommand*{\textsmde}[1]{% +% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}% +% } +%\fi +%\DeclareTextFontCommand{\textlf}{\liningnums} +%\fi % end ifcase +\ifnum\ntx@id=16\relax +\else % create \textsmsmde for other than minion and gelasio +% We move the small font to the text baseline and scale it by \tx@sfrSC, for use only in the \textsfrac macro. +\ifnum\ntx@id=4\relax +\else + \ifnum\tx@debase=0 + \newcommand*{\textsmde}[1]{% + \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0} + \else + \newdimen\tx@u \newdimen\tx@v + \tx@u=-\tx@debase pt + \tx@toex{\strip@pt\tx@u}\tx@y=\tx@x + %\showthe\tx@y + \tx@v=\strip@pt\tx@y ex + \newcommand*{\textsmde}[1]{% + \setbox2=\hbox{\textde{#1}}% + \setbox1=\hbox{\raise \tx@v \box2}% + \setbox0=\hbox{\scalebox{\tx@sfrSC}{\box1}}\box0} + \fi %\ifnum\tx@debase=0 +\fi %\ifnum\ntx@id=4 +\fi %\ifnum\ntx@id=16 \endinput diff --git a/fonts/newtx/tex/newtxmath.sty b/fonts/newtx/tex/newtxmath.sty index 86fa898e14..020f9ff08c 100644 --- a/fonts/newtx/tex/newtxmath.sty +++ b/fonts/newtx/tex/newtxmath.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1997/06/01] -% +% %:ams % Based on Young Ryu's txfonts.sty, v.3.2.1 % Text and math are now loaded in separate sty files---the text @@ -11,8 +11,8 @@ % of glyph collisions. % These modifications are by Michael Sharpe, msharpe at ucsd dot edu -\def\fileversion{1.742} -\def\filedate{2024/03/06} +\def\fileversion{1.75} +\def\filedate{2024/06/18} \ProvidesPackage{newtxmath}[\filedate\space v\fileversion ] \@ifundefined{newtxmathLoaded}{}{\endinput} @@ -43,9 +43,13 @@ \newcount\tx@cntz \input{binhex} -\let\ntxmath@scaled\@empty\def\tx@scale{1} +\let\ntxmath@scaled\@empty +\@ifundefined{ntxmathscale}{\def\ntxmathscale{1}}{} +\def\tx@scale{\ntxmathscale} +\def\ntxmath@scaled{s*[\tx@scale]} \define@key{ntxmath}{scaled}[1.0]{\def\tx@scale{#1}\def\ntxmath@scaled{s*[#1]}} \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}} %: @@ -72,6 +76,7 @@ \newif\iftx@largelibfigs \newif\iftx@frenchm % french math \newif\iftx@minion \newif\iftx@libaltvw \newif\iftx@bv \newif\iftx@ut \newif\iftx@ba % new BaskervilleF fonts +\newif\iftx@gel % GelasioMath \newif\iftx@ch \newif\iftx@coch \newif\iftx@nc % NewCenturySchoolbook \newif\iftx@ot % use OT1 for operators \newif\iftx@ntxmath \tx@ntxmathtrue % default is Times operators and math italic @@ -88,7 +93,7 @@ \newif\iftx@nootone % do not switch to OT1 for operators \newif\iftx@digits % use digits from letters \newif\iftx@isenh % the math style is enhanced and can make use of new macros -% Currently (2019-12-11) only txmath, libertine, XCharter, ebgaramond, stickstoo, utopia, nc, minion and cochineal have been enhanced. +% Currently (2019-12-11) only txmath, libertine, XCharter, aramond, stickstoo, utopia, nc, minion and cochineal have been enhanced. \newif\iftx@ebgalth \newif\iftx@cochf % switch to long f \newif\iftx@cochrho % switch to long rho @@ -229,6 +234,7 @@ \DeclareOption{Heuristica}{\tx@uttrue\tx@ntxmathfalse} \DeclareOption{Erewhon}{\tx@uttrue\tx@ntxmathfalse} \DeclareOption{erewhon}{\tx@uttrue\tx@ntxmathfalse} +\DeclareOption{gelasio}{\tx@geltrue\tx@ntxmathfalse} \DeclareOption{charter}{\tx@chtrue\tx@ntxmathfalse} \DeclareOption{xcharter}{\tx@chtrue\tx@ntxmathfalse} \DeclareOption{cmintegrals}{\tx@cminttrue} @@ -303,7 +309,6 @@ amssymbols,uprightGreek,nosubscriptcorrection} % \let\NotoSans@scale\NotoSerif@scale % \let\NotoSansMono@scale\NotoSerif@scale %\fi - % Check whether math face is enhanced \iftx@ntxmath\tx@isenhtrue\else \iftx@lbtn\tx@isenhtrue\else @@ -316,6 +321,8 @@ amssymbols,uprightGreek,nosubscriptcorrection} \iftx@minion\tx@isenhtrue\else \iftx@noto\tx@isenhtrue\else \iftx@notosans\tx@isenhtrue\else + \iftx@gel\tx@isenhtrue\else + \fi \fi \fi \fi @@ -327,6 +334,7 @@ amssymbols,uprightGreek,nosubscriptcorrection} \fi \fi \fi + \AtEndPreamble{% %\traceon \iftx@sbc @@ -358,6 +366,7 @@ amssymbols,uprightGreek,nosubscriptcorrection} \iftx@bv\let\X@s@v@rg\@undefined\fi \iftx@ba\let\X@s@v@rg\@undefined\fi \iftx@stxtwo\let\X@s@v@rg\@undefined\fi +\iftx@gel\let\X@s@v@rg\@undefined\fi % altnu, liby and largelibfigs valid only with libertin[e,us] \iftx@lbtn\else\tx@altnufalse\tx@largelibfigsfalse\tx@libyfalse\fi % Use existing text fonts for operators, mathrm, etc @@ -431,108 +440,116 @@ amssymbols,uprightGreek,nosubscriptcorrection} %%%%%%%%%%%%%%% \iftx@lbtn - \iftx@subsfile\else\def\tx@subs{newtx-libertine-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{nxlmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{nxlmi}{b}{it} - \DeclareFontSubstitution{OML}{nxlmi}{m}{it} + \iftx@subsfile\else\def\tx@subs{newtx-libertine-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{nxlmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{nxlmi}{b}{it} + \DeclareFontSubstitution{OML}{nxlmi}{m}{it} \else - \iftx@minion - \iftx@subsfile\else\def\tx@subs{newtx-minion-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zmnmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zmnmi}{b}{it} - \DeclareFontSubstitution{OML}{zmnmi}{m}{it} + \iftx@minion + \iftx@subsfile\else\def\tx@subs{newtx-minion-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zmnmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zmnmi}{b}{it} + \DeclareFontSubstitution{OML}{zmnmi}{m}{it} + \else + \iftx@gm + \iftx@subsfile\else\def\tx@subs{newtx-garamond-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zgmmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zgmmi}{b}{it} + \DeclareFontSubstitution{OML}{zgmmi}{m}{it} \else - \iftx@gm - \iftx@subsfile\else\def\tx@subs{newtx-garamond-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zgmmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zgmmi}{b}{it} - \DeclareFontSubstitution{OML}{zgmmi}{m}{it} + \iftx@bv + \iftx@subsfile\else\def\tx@subs{newtx-baskervald-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zbvmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zbvmi}{b}{it} + \DeclareFontSubstitution{OML}{zbvmi}{m}{it} + \else + \iftx@ut + \iftx@subsfile\else\def\tx@subs{newtx-utopia-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zutmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zutmi}{b}{it} + \DeclareFontSubstitution{OML}{zutmi}{m}{it} \else - \iftx@bv - \iftx@subsfile\else\def\tx@subs{newtx-baskervald-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zbvmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zbvmi}{b}{it} - \DeclareFontSubstitution{OML}{zbvmi}{m}{it} + \iftx@ch + \iftx@subsfile\else\def\tx@subs{newtx-xcharter-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zchmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zchmi}{b}{it} + \DeclareFontSubstitution{OML}{zchmi}{m}{it} + \else + \iftx@coch + \iftx@subsfile\else\def\tx@subs{newtx-cochineal-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zcochmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zcochmi}{b}{it} + \DeclareFontSubstitution{OML}{zcochmi}{m}{it} \else - \iftx@ut - \iftx@subsfile\else\def\tx@subs{newtx-utopia-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zutmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zutmi}{b}{it} - \DeclareFontSubstitution{OML}{zutmi}{m}{it} + \iftx@ba + \iftx@subsfile\else\def\tx@subs{newtx-baskervillef-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zbami}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zbami}{b}{it} + \DeclareFontSubstitution{OML}{zbami}{m}{it} + \else + \iftx@stxtwo + \iftx@subsfile\else\def\tx@subs{newtx-stickstoo-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{ntxstx2mi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{ntxstx2mi}{b}{it} + \DeclareFontSubstitution{OML}{ntxstx2mi}{m}{it} \else - \iftx@ch - \iftx@subsfile\else\def\tx@subs{newtx-xcharter-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zchmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zchmi}{b}{it} - \DeclareFontSubstitution{OML}{zchmi}{m}{it} - \else - \iftx@coch - \iftx@subsfile\else\def\tx@subs{newtx-cochineal-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zcochmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zcochmi}{b}{it} - \DeclareFontSubstitution{OML}{zcochmi}{m}{it} + \iftx@ebgm + \iftx@subsfile\else\def\tx@subs{newtx-ebgaramond-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{ntxebgmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{ntxebgmi}{b}{it} + \DeclareFontSubstitution{OML}{ntxebgmi}{m}{it} + \else + \iftx@nc + \iftx@fourier + \iftx@subsfile\else\def\tx@subs{newtx-ncf-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zncfmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zncfmi}{b}{it} + \DeclareFontSubstitution{OML}{zncfmi}{m}{it} + \else + \iftx@subsfile\else\def\tx@subs{newtx-nc-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zncmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zncmi}{b}{it} + \DeclareFontSubstitution{OML}{zncmi}{m}{it} + \fi + \else + \iftx@noto + \iftx@subsfile\else\def\tx@subs{newtx-noto-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{notomi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{notomi}{b}{it} + \DeclareFontSubstitution{OML}{notomi}{m}{it} + \else + \iftx@notosans + \iftx@subsfile\else\def\tx@subs{newtx-notosans-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{notosansmi}{b}{it} + \DeclareFontSubstitution{OML}{notosansmi}{m}{it} \else - \iftx@ba - \iftx@subsfile\else\def\tx@subs{newtx-baskervillef-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zbami}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zbami}{b}{it} - \DeclareFontSubstitution{OML}{zbami}{m}{it} - \else - \iftx@stxtwo - \iftx@subsfile\else\def\tx@subs{newtx-stickstoo-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{ntxstx2mi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{ntxstx2mi}{b}{it} - \DeclareFontSubstitution{OML}{ntxstx2mi}{m}{it} - \else - \iftx@ebgm - \iftx@subsfile\else\def\tx@subs{newtx-ebgaramond-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{ntxebgmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{ntxebgmi}{b}{it} - \DeclareFontSubstitution{OML}{ntxebgmi}{m}{it} - \else - \iftx@nc - \iftx@fourier - \iftx@subsfile\else\def\tx@subs{newtx-ncf-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zncfmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zncfmi}{b}{it} - \DeclareFontSubstitution{OML}{zncfmi}{m}{it} - \else - \iftx@subsfile\else\def\tx@subs{newtx-nc-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zncmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zncmi}{b}{it} - \DeclareFontSubstitution{OML}{zncmi}{m}{it} - \fi - \else - \iftx@noto - \iftx@subsfile\else\def\tx@subs{newtx-noto-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{notomi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{notomi}{b}{it} - \DeclareFontSubstitution{OML}{notomi}{m}{it} - \else - \iftx@notosans - \iftx@subsfile\else\def\tx@subs{newtx-notosans-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{notosansmi}{b}{it} - \DeclareFontSubstitution{OML}{notosansmi}{m}{it} - \else - %\iftx@subsfile\else\def\tx@subs{newtx-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{ntxmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{ntxmi}{b}{it} - \DeclareFontSubstitution{OML}{ntxmi}{m}{it} - \fi - \fi - \fi - \fi - \fi - \fi + \iftx@gel + \iftx@subsfile\else\def\tx@subs{newtx-gel-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zgelmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zgelmi}{b}{it} + \DeclareFontSubstitution{OML}{zgelmi}{m}{it} + \else + %\iftx@subsfile\else\def\tx@subs{newtx-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{ntxmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{ntxmi}{b}{it} + \DeclareFontSubstitution{OML}{ntxmi}{m}{it} + \fi \fi - \fi - \fi + \fi + \fi + \fi + \fi + \fi \fi - \fi + \fi + \fi + \fi \fi + \fi \fi + \iftx@isenh \iftx@digits \DeclareMathSymbol{0}{\mathord}{letters}{132} @@ -976,14 +993,6 @@ amssymbols,uprightGreek,nosubscriptcorrection} \re@DeclareMathAccent{\dddot}{\mathord}{symbols}{168} \re@DeclareMathAccent{\ddddot}{\mathord}{symbols}{200} \iftx@tma - \re@DeclareMathAccent{\grave}{\mathord}{symbols}{158} - \re@DeclareMathAccent{\acute}{\mathord}{symbols}{159} - \re@DeclareMathAccent{\hat}{\mathord}{symbols}{160} - \re@DeclareMathAccent{\tilde}{\mathord}{symbols}{161} - \re@DeclareMathAccent{\bar}{\mathord}{symbols}{162} - \re@DeclareMathAccent{\breve}{\mathord}{symbols}{163} - \re@DeclareMathAccent{\mathring}{\mathord}{symbols}{166} - \re@DeclareMathAccent{\check}{\mathord}{symbols}{167} \else \iftx@ot %no change needed if using OT1 for operators \else diff --git a/fonts/newtx/tex/untxmia.fd b/fonts/newtx/tex/untxmia.fd index 4e77bfc7e3..212e5b2386 100644 --- a/fonts/newtx/tex/untxmia.fd +++ b/fonts/newtx/tex/untxmia.fd @@ -5,7 +5,7 @@ %THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY \ProvidesFile{untxmia.fd} - [2018/04/14 Fontinst v1.933 font definitions for U/ntxmia.] + [2024/04/09 Fontinst v1.933 font definitions for U/ntxmia.] \expandafter\ifx\csname ntxmath@scaled\endcsname\relax \let\ntxmath@scaled\@empty% @@ -105,12 +105,22 @@ <-> \ntxmath@scaled notosansbmia }{} \else - \DeclareFontShape{U}{ntxmia}{m}{it}{ + \iftx@gel + \DeclareFontShape{U}{ntxmia}{m}{it}{ + <-> \ntxmath@scaled zgelmia + }{} + \DeclareFontShape{U}{ntxmia}{b}{it}{ + <-> \ntxmath@scaled zgelbmia + }{} + \else + + \DeclareFontShape{U}{ntxmia}{m}{it}{ <-> \ntxmath@scaled ntxmia }{} - \DeclareFontShape{U}{ntxmia}{b}{it}{ + \DeclareFontShape{U}{ntxmia}{b}{it}{ <-> \ntxmath@scaled ntxbmia }{} + \fi \fi \fi \fi |