summaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-10-27 03:03:08 +0000
committerNorbert Preining <norbert@preining.info>2023-10-27 03:03:08 +0000
commite7c703c953f148411c70d5ca86dc1c1023d73806 (patch)
tree103695d0d26aa0b1d5b1942fd433cf5f9a90d47f /fonts
parent721b0492f150d59f61b504ab803c7ef1a9a67a0b (diff)
CTAN sync 202310270303
Diffstat (limited to 'fonts')
-rw-r--r--fonts/newpx/README7
-rw-r--r--fonts/newpx/doc/footsnippet-crop.pdfbin17296 -> 17278 bytes
-rw-r--r--fonts/newpx/doc/newpxdoc.pdfbin432735 -> 432728 bytes
-rw-r--r--fonts/newpx/tex/newpxtext.sty79
-rw-r--r--fonts/newpx/tex/newpxtext1.sty766
-rw-r--r--fonts/newpx/tex/newpxtextX.sty506
-rw-r--r--fonts/xcharter-math/README.md7
-rw-r--r--fonts/xcharter-math/XCharter-Math-Bold.otfbin142392 -> 142704 bytes
-rw-r--r--fonts/xcharter-math/XCharter-Math.ltx8
-rw-r--r--fonts/xcharter-math/XCharter-Math.otfbin326404 -> 327388 bytes
-rw-r--r--fonts/xcharter-math/XCharter-Math.pdfbin205693 -> 206021 bytes
-rw-r--r--fonts/xcharter-math/unimath-xcharter.pdfbin1855887 -> 1855718 bytes
-rw-r--r--fonts/xcharter-math/xcharter-otf.sty6
13 files changed, 63 insertions, 1316 deletions
diff --git a/fonts/newpx/README b/fonts/newpx/README
index 15233d06c2..0245be15a2 100644
--- a/fonts/newpx/README
+++ b/fonts/newpx/README
@@ -1,10 +1,15 @@
This package, based initially on pxfonts, provides many fixes and enhancements to that package, splitting it in two parts---newpxtext and newpxmath---which may be run independently of one another. It provides scaling, improved metrics, and other options. For proper operation, the packages require that the packages newtxmath, pxfonts and TeXGyrePagella be installed and their map files enabled. The text package now relies on an extension of the TeXGyrePagella Type1 fonts that is provided with this package. The accompanying MANIFEST-newpx.txt provides details of the extension as requested by GUST-FONT-LICENSE.txt
-Current version: 1.53 2023-10-23
+Current version: 1.531 2023-10-25
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.531
+Corrected the footnote marker issues so the footnote modifications now
+work as expected in all LaTeX engines, and in the standard and AMS
+document classes. (Some small issues remain with KOMA classes.)
+
Changes in version 1.53
1. Addition of superior letters and figures distinct from and taller
than numerators.
diff --git a/fonts/newpx/doc/footsnippet-crop.pdf b/fonts/newpx/doc/footsnippet-crop.pdf
index 45ff60b27d..c2ce9addce 100644
--- a/fonts/newpx/doc/footsnippet-crop.pdf
+++ b/fonts/newpx/doc/footsnippet-crop.pdf
Binary files differ
diff --git a/fonts/newpx/doc/newpxdoc.pdf b/fonts/newpx/doc/newpxdoc.pdf
index 3f5e835991..377d70d68b 100644
--- a/fonts/newpx/doc/newpxdoc.pdf
+++ b/fonts/newpx/doc/newpxdoc.pdf
Binary files differ
diff --git a/fonts/newpx/tex/newpxtext.sty b/fonts/newpx/tex/newpxtext.sty
index 1b25ea155a..be83368b49 100644
--- a/fonts/newpx/tex/newpxtext.sty
+++ b/fonts/newpx/tex/newpxtext.sty
@@ -8,8 +8,8 @@
% Text is now directed to an extension of TeXGyrePagella rather than ppl.
% 1.5 is first version of newpxtext to support both [pdf]latex and unicode latex.
-\def\fileversion{1.53}
-\def\filedate{2023/10/23}
+\def\fileversion{1.531}
+\def\filedate{2023/10/25}
\ProvidesPackage{newpxtext}[%
\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for TeXGyrePagellaX]
@@ -436,7 +436,7 @@
}
\ifzpl@defaultsups %
\else
- \ExplSyntaxOn
+ \ExplSyntaxOn
\DeclareDocumentCommand \fakesuperscript {m} {
\@textsuperscript{\selectfont#1}
}
@@ -463,13 +463,17 @@
{
\cs_new:Npn \footnotemarkfont {\normalfont}
}
- \ExplSyntaxOff
- \fi
- \ifzpl@KOMA
- \setkomafont{footnotereference}{\normalfont\supstyle}
- \setkomafont{footnotelabel}{\normalfont\supstyle}
- \fi
-% \ifzpl@KOMA
+ \ExplSyntaxOff
+ \patchcmd{\maketitle}{\@textsuperscript{\normalfont\@thefnmark}}{\normalfont{\textsuperscript\@thefnmark}}{}{}
+ \patchcmd{\maketitle}{\@textsuperscript{\normalfont\@thefnmark}}{\normalfont{\textsuperscript\@thefnmark}}{}{}
+ \patchcmd{\maketitle}
+{\hb@xt@1.8em}{\hb@xt@2.18em}{}{}
+ \ifzpl@KOMA
+ \setkomafont{footnotereference}{\normalfont\sustyle}
+ \setkomafont{footnotelabel}{\normalfont\sustyle}
+ \fi
+ \fi
+ % \ifzpl@KOMA
% \let\textsuperscript\sustyle
% \setkomafont{footnotelabel}{\textsuperscript}
% \setkomafont{footnotereference}{\textsuperscript}
@@ -516,7 +520,7 @@
\fi%
\fi%}
-\ifzpl@otf
+\iftutex
% \def\zpl@nft{\if t\zpl@thmtab Monospaced%
% \else Proportional\fi}
%\DeclareTextFontCommand{\textsl}{\slshape}
@@ -553,40 +557,41 @@
\ifzpl@defaultsups %
\else
- \patchcmd{\maketitle}{\@textsuperscript{\normalfont\@thefnmark}}{\normalfont\textsuperscript{\@thefnmark}}{}{}
- \patchcmd{\maketitle}{\@textsuperscript{\normalfont\@thefnmark}}{\normalfont\textsuperscript{\@thefnmark}}{}{}
- %\show\maketitle
- \RequirePackage{realscripts}
- \renewcommand\footnotemarkfont{\normalfont}%\sufigures}
+ \RequirePackage{realscripts}
\ExplSyntaxOn
- \DeclareDocumentCommand \fakesuperscript {m} {
- \@textsuperscript{\selectfont#1}
- }
- \RenewDocumentCommand \textsuperscript {s} {
- \IfBooleanTF #1 \fakesuperscript \realsuperscript
- }
- \DeclareDocumentCommand \realsuperscript {m} {
- \hbox_set:Nn \l_tmpa_box {\textsups{#1}}
+ \DeclareDocumentCommand \imagsuperscript {m} {
+ \fontspec_if_fontspec_font:TF
+ {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+sups}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {1}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ }
+ { \fakesuperscript{#1} }
+}
+
+ \RenewDocumentCommand \realsuperscript {m} {
+ \hbox_set:Nn \l_tmpa_box {\imagsuperscript{#1}}
\box_scale:Nnn \l_tmpa_box { \zplsups@scalefactor } { \zplsups@scalefactor }
\hbox_set:Nn \l_tmpa_box
{ \box_move_up:nn \zplsups@raised {\box_use:N \l_tmpa_box} }
- \hspace*{\zplsups@Lspaced}{\color{\zplsups@color}%
+ \hspace*{\zplsups@Lspaced}
+ {\color{\zplsups@color}%
\box_use:N \l_tmpa_box }%
\hspace*{\zplsups@Rspaced}}
- \cs_set:Npn \@makefnmark {%
- \mbox{%
- \footnotemarkfont\textsuperscript{\@thefnmark}}
- }
- \cs_if_exist:NTF \ftntm@font
- {
- \cs_set:Npn \footnotemarkfont {\normalfont \ftntm@font}
- }
- {
- \cs_set:Npn \footnotemarkfont {\normalfont}
- }
\ExplSyntaxOff
- \fi
+
+ \patchcmd{\maketitle}{\@textsuperscript{\normalfont\@thefnmark}}{\normalfont{\textsuperscript\@thefnmark}}{}{}
+ \patchcmd{\maketitle}{\@textsuperscript{\normalfont\@thefnmark}}{\normalfont{\textsuperscript\@thefnmark}}{}{}
+ \patchcmd{\maketitle}
+{\hb@xt@1.8em}{\hb@xt@2.18em}{}{}
+ \fi
\ifzpl@KOMA
\setkomafont{footnotereference}{\normalfont\sustyle}
\setkomafont{footnotelabel}{\normalfont\sustyle}
diff --git a/fonts/newpx/tex/newpxtext1.sty b/fonts/newpx/tex/newpxtext1.sty
deleted file mode 100644
index 2dda973cb8..0000000000
--- a/fonts/newpx/tex/newpxtext1.sty
+++ /dev/null
@@ -1,766 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-
-% Based originally on Young Ryu's pxfonts.sty, v.1.1.1
-%
-% Changes from original pxfonts.sty by Michael Sharpe, msharpe at ucsd dot edu;
-% Text and math versions now separate.
-% Added scaled keyword and osf option;
-% Text is now directed to an extension of TeXGyrePagella rather than ppl.
-% 1.5 is the first version of newpxtext to support both [pdf]latex and unicode latex.
-
-\def\fileversion{1.523}
-\def\filedate{2023/09/28}
-\ProvidesPackage{newpxtext}[%
-\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for TeXGyrePagellaX]
-
-\message{`newpxtext' v\fileversion, \filedate\space Text macros taking advantage of TeXGyre Pagella and its extensions (msharpe)}
-
-\RequirePackage[T1]{fontenc}
-\renewcommand*{\rmdefault}{zplTLF} % the default until end of preamble
-\renewcommand*{\familydefault}{\rmdefault}
-\RequirePackage{xpatch} % need to patch \scshape
-\RequirePackage{iftex,xkeyval,etoolbox,textcomp}
-\RequirePackage{xstring,ifthen,scalefnt} % for \textfrac
-\IfFileExists{mweights.sty}{\RequirePackage{mweights}}{}
-\DeclareEncodingSubset{TS1}{zpl*}{0}
-
-%KOMA check
-\newif\ifzpl@KOMA
-\@ifundefined{KOMAClassName}{}{\zpl@KOMAtrue}
-\@ifundefined{ver@scrextend.sty}{}{\zpl@KOMAtrue}
-\newif\ifzpl@LTX
-\@ifclassloaded{article}{\zpl@LTXtrue}{}
-\@ifclassloaded{report}{\zpl@LTXtrue}{}
-\@ifclassloaded{book}{\zpl@LTXtrue}{}
-
-% Engine check
-\newif\ifzpl@otf
-\iftutex\zpl@otftrue
-%\else % [pdf]LaTeX
-% \zpl@otffalse
-\fi
-\def\zpl@divide#1#2{\strip@pt\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax}
-%%%%%%%%%%%%%%%%%%
-\IfFileExists{xkeyval.sty}{
- \RequirePackage{xkeyval}
- }{
- \let\DeclareOptionX\DeclareOption
- \let\ExecuteOptionsX\ExecuteOptions
- \let\ProcessOptionsX\ProcessOptions
-}
-%%%% Start Options
-\newif\ifzpl@nomath\zpl@nomathfalse % load fontspec with no-math
-\newif\ifzpl@lining\zpl@liningtrue
-\newif\ifzpl@tabular\zpl@tabulartrue % default is tabular lining figures
-\@ifundefined{ver@newpxmath.sty}{}{\zpl@nomathtrue}
-
-\DeclareOptionX{type1}[true]{%
-%\@nameuse{if#1}\zpl@otffalse\fi
-}
-\DeclareOptionX{nofontspec}[true]{%
-%\@nameuse{if#1}\zpl@otffalse\fi
-}
-\DeclareOptionX{no-math}[true]{%
-\@nameuse{if#1}\zpl@nomathtrue\fi
-}
-
-\def\zpl@defaultfeatures{}
-\DeclareOptionX{defaultfeatures}{\def\zpl@defaultfeatures{#1}}
-
-%Figure style options
-\edef\zpl@dfltfigurestyle{lf}
-\edef\zpl@dfltfigurealign{t}
-
-\DeclareOptionX{lining}[true]{%
-\@nameuse{zpl@lining#1}
-}
-\DeclareOptionX{lf}[true]{%
-\@nameuse{zpl@lining#1}
-}
-\DeclareOptionX{oldstyle}[true]{%
-\@nameuse{if#1}%
- \zpl@liningfalse
-\else
- \zpl@liningtrue
-\fi
-}
-\DeclareOptionX{osf}[true]{%
-\@nameuse{if#1}%
- \zpl@liningfalse
-\else
- \zpl@liningtrue
-\fi
-}
-\DeclareOptionX{tabular}[true]{%
-\@nameuse{zpl@tabular#1}
-}
-\DeclareOptionX{t}[true]{%
-\@nameuse{zpl@tabular#1}
-}
-\DeclareOptionX{proportional}[true]{%
-\@nameuse{if#1}%
- \zpl@tabularfalse
-\else
- \zpl@tabulartrue
-\fi
-}
-\DeclareOptionX{p}[true]{%
-\@nameuse{if#1}%
- \zpl@tabularfalse
-\else
- \zpl@tabulartrue
-\fi
-}
-
-%Scale
-\providecommand{\zpl@scale}{1} % actual scaled command in \zpl@scaled
-\DeclareOptionX{scale}{\def\zpl@scale{#1}}
-\DeclareOptionX{scaled}{\def\zpl@scale{#1}}
-
-\newif\ifzpl@defaultsups
-%\newif\ifzpl@adobesc % we don't use this exc. in fd, but may in future
-\newif\ifzpl@scosf
-\newif\ifzpl@largesc
-\newif\ifzpl@helv \zpl@helvtrue % default is to load helvetica as sans serif font
-\newif\ifzpl@thrm
-\newif\ifzpl@sl
-% new sups options
-\newdimen\zplsups@scale
-\newdimen\zplsups@raise
-\def\zplsups@raised{\z@}
-\def\zplsups@Lspaced{.04em}
-\def\zplsups@Rspaced{.04em}
-\def\zplsups@scaledval{1.0}
-\def\zplsups@supscale{1.0}
-\DeclareOptionX{supscaled}{\renewcommand*{\zplsups@scaledval}{#1}}
-\DeclareOptionX{supscale}{\renewcommand*{\zplsups@scaledval}{#1}}
-\DeclareOptionX{supsraised}{\renewcommand*{\zplsups@raised}{#1}}
-\DeclareOptionX{supLspaced}{\renewcommand*{\zplsups@Lspaced}{#1}}
-\DeclareOptionX{supRspaced}{\renewcommand*{\zplsups@Rspaced}{#1}}
-
-% Other options
-\DeclareOptionX{defaultsups}[true]{%
-\@nameuse{zpl@defaultsups#1}
-}
-\DeclareOptionX{babel}[true]{%
-\@nameuse{zpl@babel#1}% for backward compatibility
-}
-\DeclareOptionX{largesc}[true]{%
-\@nameuse{zpl@largesc#1}
-}
-\DeclareOptionX{nohelv}[true]{%
-\@nameuse{if#1}\zpl@helvfalse\fi}%
-
-\def\zpl@helvratio{.94}
-\DeclareOptionX{helvratio}[0.94]{%
-\def\zpl@helvratio{#1}
-}
-\def\zpl@spcmag{1}
-\def\zpl@spc{.25em}
-\def\zpl@stretch{.2em}
-\def\zpl@shrink{.1em}
-\def\zpl@nospc{T}
-
-\DeclareOptionX{spcfactor}{%
-\def\zpl@spcmag{#1}\def\zpl@nospc{F}
-}
-\DeclareOptionX{spacing}{%
-\def\zpl@spc{#1}
-}
-\DeclareOptionX{stretch}{%
-\def\zpl@stretch{#1}
-}
-\DeclareOptionX{shrink}{%
-\def\zpl@shrink{#1}
-}
-\newcount\zpl@cnt \zpl@cnt=0
-\newif\ifzpl@zeroslash
-\newif\ifzpl@notextnu
-\def\zpl@thmlin{X} % default is to not change to lining
-\def\zpl@noti{T}\def\zpl@nolo{T}
-\DeclareOptionX{oldSS}{\advance\zpl@cnt 32 }
-\DeclareOptionX{notextnu}{\zpl@notextnutrue}
-\DeclareOptionX{slashedzero}{\zpl@zeroslashtrue}
-\DeclareOptionX{theoremfont}{\zpl@thrmtrue }
-\DeclareOptionX{thmlining}{\edef\zpl@thmlin{l}}
-\DeclareOptionX{trueslanted}{\zpl@sltrue}
-\DeclareOptionX{scosf}{\zpl@scosftrue}
-\DeclareOptionX{tighter}{%
-\gdef\zpl@spc{.25em}\gdef\zpl@stretch{.125em}%
-\gdef\zpl@shrink{.1em}\def\zpl@noti{F}}
-\DeclareOptionX{looser}{%
-\gdef\zpl@spc{.3em}\gdef\zpl@stretch{.2em}%
-\gdef\zpl@shrink{.1em}\def\zpl@nolo{F}}
-
-\DeclareOptionX{sfracvcenter}{%
-\def\zpl@sfrVC{#1}}
-\DeclareOptionX{sfracvspacing}{%
-\def\zpl@sfrVS{#1}}
-\DeclareOptionX{sfracbarthick}{%
-\def\zpl@sfrTH{#1}}
-\DeclareOptionX{sfracscaling}{%
-\def\zpl@sfrSC{#1}}
-
-\ProcessOptionsX\relax
-
-\setlength{\zplsups@raise}{\zplsups@raised}
-\setlength{\zplsups@scale}{\zplsups@scaledval\p@}
-\zplsups@scale=\zpl@scale\zplsups@scale %
-\def\zplsups@scaled{s*[\strip@pt\zplsups@scale]}
-% for stacked fractions
-\@ifundefined{zpl@xht}{\def\zpl@xht{460}}{} % lowercase letters
-\@ifundefined{zpl@deht}{\def\zpl@deht{412}}{} % denominator figures ht
-\@ifundefined{zpl@nubase}{\def\zpl@nubase{270}}{} % baseline of numerators
-\@ifundefined{zpl@debase}{\def\zpl@debase{0}}{} % baseline of denoms
-\@ifundefined{zpl@sfrVC}{\def\zpl@sfrVC{335}}{}% vertical center of sfrac
-\@ifundefined{zpl@sfrVS}{\def\zpl@sfrVS{106}}{} % space above/below bar
-\@ifundefined{zpl@sfrTH}{\def\zpl@sfrTH{52}}{} % bar thickness
-\@ifundefined{zpl@sfrSC}{\def\zpl@sfrSC{.9}}{} % scale defigures by this
-
-\def\re@DeclareTextSymbol#1#2#3{%
- \let#1=\undefined
- \DeclareTextSymbol{#1}{#2}{#3}}
-
-\ifzpl@otf
- \ifzpl@nomath
- \RequirePackage[no-math]{fontspec}
- \else
- \RequirePackage{fontspec}
- \fi
-
- %\ifxetex\XeTeXtracingfonts=1\fi % causing unwanted warnings in Tectonic system
-
- \ifluatex % avoid possibly uncorrected "system" fonts
- \directlua{fonts.names.set_location_precedence{
- "local", "texmf", "system" }}
- \fi
- \def\zpl@base{TeXGyrePagellaX}
- \ifzpl@scosf
- \AtBeginDocument{%
- \xpretocmd{\scshape}
- {\addfontfeatures{Numbers=OldStyle}}
- {}{}%
- }%
- \fi
-
-
- \newcommand{\textfrac}[3][]{{%\normalfont%
-\mbox{%
- \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
- {{\lfstyle#1}\kern.1em}{}%
-\addfontfeatures{RawFeature=+numr}#2\char"2044% numerator
-\addfontfeatures{RawFeature=-numr;+dnom;+ss20}\char"2044{}#3%
-}}}
-
-\else % type1
- \ifzpl@scosf
- \AtBeginDocument{%
- \xpretocmd{\scshape}
- {\fontfamily{zpl\zpl@figurealign osf}}
- {}{}%
- }%
- \fi%
-% for possible use in footnote markers
-% \DeclareFontFamily{OT1}{zplsups}{}%
-% \DeclareFontShape{OT1}{zplsups}{m}{n}{%
-% <-> \zplsups@scaled zplsups-Regular-ot1
-%}{}
-% \DeclareFontFamily{T1}{zplsups}{}%
-% \DeclareFontShape{T1}{zsups}{m}{n}{%
-% <-> \zplsups@scaled zplsups-Regular-t1
-%}{}
-% \DeclareFontFamily{TS1}{zsups}{}%
-% \DeclareFontShape{TS1}{zsups}{m}{n}{%
-% <-> \zplsups@scaled zplsups-Regular-ts1
-%}{}
-\DeclareRobustCommand{\supstyle}{%
- \not@math@alphabet\supstyle\relax
- \usefont{\f@encoding}{zplsups}{m}{n}}
-
-\ifdim\zplsups@raise=\z@
- \DeclareRobustCommand{\textsups}[1]{{\supstyle#1}}
-\else
- \DeclareRobustCommand{\textsups}[1]{%
- \raisebox{\zplsups@raise}{\hbox{{\supstyle#1}}}}
-\fi
-
-\RequirePackage{fontaxes}
- \fa@naming@exception{figures}{{superior}{proportional}}{sups}
- \fa@naming@exception{figures}{{superior}{tabular}}{sups}
-% \def\sufigures{\@nomath\sufigures
-% \fontfigurestyle{superior}\selectfont}
-% \let\sustyle=\sufigures
-% \DeclareTextFontCommand{\textsu}{\sufigures}
-% \let\textsuperior\textsu
- \DeclareRobustCommand{\sustyle}{%
- \not@math@alphabet\sustyle\relax
- \fontfamily{zplsups}\selectfont}
- \let\sufigures=\sustyle
- \let\nustyle=\sustyle
- \let\nufigures=\sustyle
-
- \fa@naming@exception{figures}{{inferior}{proportional}}{inf}
- \fa@naming@exception{figures}{{inferior}{tabular}}{inf}
-% \def\infigures{\@nomath\infigures
-% \fontfigurestyle{inferior}\selectfont}
-% \let\instyle=\infigures
-% \DeclareTextFontCommand{\textinf}{\infigures}
-% \let\textinferior\textinf
- \DeclareRobustCommand{\instyle}{%
- \not@math@alphabet\instyle\relax
- \fontfamily{zplsubs}\selectfont}
- \let\infigures=\instyle
-
- \fa@naming@exception{figures}{{denominators}{proportional}}{dnom}
- \fa@naming@exception{figures}{{denominators}{tabular}}{dnom}
-% \def\defigures{\@nomath\defigures
-% \fontfamily{defigures}\selectfont}
-% \DeclareTextFontCommand{\textde}{\defigures}
-% \let\textdenominators\textde
- \DeclareRobustCommand{\destyle}{%
- \not@math@alphabet\destyle\relax
- \fontfamily{zpldnom}\selectfont}
- \let\defigures=\destyle
-
- \fa@naming@exception{figures}{{numerators}{proportional}}{numr}
- \fa@naming@exception{figures}{{numerators}{tabular}}{numr}
-% \def\defigures{\@nomath\nufigures
-% \fontfigurestyle{numerators}\selectfont}
-% \let\nustyle=\nufigures
-% \DeclareTextFontCommand{\textnu}{\nufigures}
-% \let\textnumerators\textnu
- \DeclareRobustCommand{\nustyle}{%
- \not@math@alphabet\nustyle\relax
- \fontfamily{zplnumr}\selectfont}
- \let\nufigures=\nustyle
-
-\newcommand{\textfrac}[3][]{% like \textfrac[1]{7}{8}
- \mbox{%
- \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
- {\textlf{#1}\kern.1em}{}%
- {\nustyle#2}% numerator
- \StrRight{#2}{1}[\@digit@]%
- % look for 1, 2, 6, 7
- \ifcase\@digit@% 0
- \or%\kern.03em% 1
- \or\kern.04em% 2
- \or%\kern-.01em% 3
- \or%\kern.02em% 4
- \or%\kern.01em% 5
- \or\kern.01em% 6
- \or\kern-.11em% 7
- \or%\kern-.11em% 8
- \or\kern-.02em% 9
- \fi%
-% \kern\zpl@foresolidus{\fontencoding{TS1}\selectfont\char"2F}%
-% \kern\zpl@aftsolidus%
- {\fontencoding{TS1}\selectfont\char"2F}%
- \StrLeft{#3}{1}[\@digit@]%
- % look for 1, 4, 7
- \ifcase\@digit@% 0
- \or%\kern -.02em% 1
- \or% 2
- \or% 3
- \or\kern -.05em% 4
- \or% 5
- \or\kern-.02em% 6
- \or\kern .01em% 7
- \fi%
- {\destyle #3}% denominator [#3]
- }%mbox
-} % textfrac
-\fi
-
-\let\orig@footnote=\thefootnote
-\let\orig@makefnmark=\@makefnmark
-\def\bfseries@rm{b}
-\def\mdseries@rm{m}
-\def\useosf{\zpl@liningfalse}
-\@onlypreamble\useosf
-\def\useproportional{\zpl@tabularfalse}
-\@onlypreamble\useproportional
-
-\ifzpl@otf
- \def\zpl@dflt{}
- \ifzpl@zeroslash\edef\zpl@dflt{Numbers = SlashedZero ,
- }\fi
- \if T\zpl@nospc
- \if F\zpl@noti\def\zpl@spcmag{{1,.625,1}}\def\zpl@nospc{F}\fi
- \if F\zpl@nolo\def\zpl@spcmag{{1.2,1,1}}\def\zpl@nospc{F}\fi
- \fi
- \if F\zpl@nospc
- \edef\zpl@dflt{\zpl@dflt WordSpace = \zpl@spcmag ,
- }
- \fi
- \def\zpl@scraw{pcap}\def\zpl@scrawN{smcp}
- \ifzpl@largesc\def\zpl@scraw{smcp}\def\zpl@scrawN{pcap}\fi
-
- %\zpl@cnt will be 0..2^8-1
- \edef\zpl@lst{}
- \ifnum\zpl@cnt>127 \edef\zpl@lst{8}\advance\zpl@cnt -128 \fi
- \ifnum\zpl@cnt>63 \edef\zpl@lst{7,\zpl@lst}\advance\zpl@cnt -64 \fi
- \ifnum\zpl@cnt>31 \edef\zpl@lst{6,\zpl@lst}\advance\zpl@cnt -32 \fi
- \ifnum\zpl@cnt>15 \edef\zpl@lst{5,\zpl@lst}\advance\zpl@cnt -16 \fi
- \ifnum\zpl@cnt>7 \edef\zpl@lst{4,\zpl@lst}\advance\zpl@cnt -8 \fi
- \ifnum\zpl@cnt>3 \edef\zpl@lst{3,\zpl@lst}\advance\zpl@cnt -4 \fi
- \ifnum\zpl@cnt>1 \edef\zpl@lst{2,\zpl@lst}\advance\zpl@cnt -2 \fi
- \ifnum\zpl@cnt>0 \edef\zpl@lst{1,\zpl@lst}\fi
- \ifthenelse{\not\equal{\zpl@lst}{}}
- {\edef\zpl@dflt{\zpl@dflt StylisticSet={\zpl@lst} ,
- }}{}
-
- \defaultfontfeatures{
- Ligatures = TeX ,
- Scale = \zpl@scale ,
- Extension = .otf ,
- SmallCapsFeatures={\ifzpl@scosf Numbers = OldStyle ,
- \fi RawFeature = -\zpl@scrawN;+\zpl@scraw }
- \ifluatex Renderer=Basic\fi ,
- \zpl@dflt ,
- RawFeature=-ss05 ,
- \zpl@defaultfeatures
- }
-
-\else % type1
- \def\zpl@spacing{%
- \fontdimen2\font=\zpl@spc
- \fontdimen3\font=\zpl@stretch
- \fontdimen4\font=\zpl@shrink}
- \@tempdima=\zpl@scale\p@\@tempdima=\zpl@helvratio\@tempdima%
- \edef\qhv@scale{\strip@pt\@tempdima}
- \def\zpl@scaled{s*[\zpl@scale]}% used in fd files
-
-
- \DeclareRobustCommand{\lfstyle}{%
- \not@math@alphabet\lfstyle\relax
- \fontfamily{zplLF}\selectfont %
- }
- \DeclareRobustCommand{\tlfstyle}{%
- \not@math@alphabet\tlfstyle\relax
- \fontfamily{zplTLF}\selectfont %
- }
- \DeclareRobustCommand{\osfstyle}{%
- \not@math@alphabet\osfstyle\relax
- \fontfamily{zplOsF}\selectfont %
- }
- \DeclareRobustCommand{\tosfstyle}{%
- \not@math@alphabet\tosfstyle\relax
- \fontfamily{zplTOsF}\selectfont %
- }
- \ifzpl@defaultsups %
- \else
- \ExplSyntaxOn
- \DeclareDocumentCommand \fakesuperscript {m} {
- \@textsuperscript{\selectfont#1}
- }
- \RenewDocumentCommand \textsuperscript {s} {
- \IfBooleanTF #1 \fakesuperscript \realsuperscript
- }
- \DeclareDocumentCommand \realsuperscript {m} {
- \ifzpl@defaultsups\fakesuperscript{#1}
- \else\hspace*{\zplsups@Lspaced}\textsups{#1}\hspace*{\zplsups@Rspaced}\fi
- }
-
- \cs_set:Npn \@makefnmark {
- \mbox{%
- \footnotemarkfont\textsuperscript{\@thefnmark}}
- }
- \cs_if_exist:NTF \ftntm@font
- {
- \cs_new:Npn \footnotemarkfont {\normalfont \ftntm@font}
- }
- {
- \cs_new:Npn \footnotemarkfont {\normalfont}
- }
- \ExplSyntaxOff
- \fi
-% \ifzpl@KOMA
-% \let\textsuperscript\sustyle
-% \setkomafont{footnotelabel}{\textsuperscript}
-% \setkomafont{footnotereference}{\textsuperscript}
-% \else % NOT KOMA
-% \def\f@@tn@te{footnote}
-% \def\@makefnmark{%
-% \ifx\@mpfn\f@@tn@te%
-% \ifx\thefootnote\orig@footnote%
-% \hbox{\sustyle\hspace*{.05em}\@thefnmark\hspace*{.05em}}%
-% \else%
-% \orig@makefnmark%
-% \fi
-% \else%
-% \orig@makefnmark%
-% \fi}%
-% \fi
-% \fi
- \ifzpl@helv\renewcommand*{\sfdefault}{qhv}\fi
- \renewcommand*{\ttdefault}{npxtt}
- \DeclareRobustCommand\thfamily % new family for theorem font
- {\not@math@alphabet\thfamily\relax
- \fontfamily\thdefault\selectfont}
- \DeclareRobustCommand{\textth}[1]{%
- {\thfamily #1}%
- }
- \let\textthit\textth
-
-\fi % type1
-
-\ifzpl@thrm
- %\RequirePackage{amsmath,amsthm} % in case of theoremfont
- \ifdefined\newtheoremstyle %amsthm and ntheorem, not theorem.sty
- \@ifpackageloaded{ntheorem}\relax{%
- \newtheoremstyle{plain}
- {\medskipamount} % ABOVESPACE, was \topsep
- {\medskipamount} % BELOWSPACE, was \topsep
- {\thfamily} % BODYFONT--\thfamily is italic with upright figures and punctuation
- {} % INDENT (empty value is the same as 0pt)
- {\bfseries} % HEADFONT--you may want to add \tlfstyle so the number is tab lining, regardless of text figure selection
- {.} % HEADPUNCT
- {5pt plus 1pt minus 1pt} % HEADSPACE
- {} % CUSTOM-HEAD-SPEC\newtheorem{thm}{Theorem}[section]
- } % end @ifpackageloaded
- \fi%
-\fi%}
-
-\ifzpl@otf
- \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{\destyle}{%
- \not@math@alphabet\destyle\relax
- \addfontfeatures{VerticalPosition=Denominator}%
- }
- \DeclareRobustCommand{\nustyle}{%
- \not@math@alphabet\nustyle\relax
- \addfontfeatures{VerticalPosition=Numerator}%
- }
- \DeclareRobustCommand{\sustyle}{%
- \not@math@alphabet\sustyle\relax
- \addfontfeatures{VerticalPosition=Superior}%
- }
- \DeclareRobustCommand{\infstyle}{%
- \not@math@alphabet\infstyle\relax
- \addfontfeatures{VerticalPosition=Inferior}%
- }
-
- \let\sufigures\sustyle
- \let\nufigures\nustyle
- \let\infigures\infstyle
- \let\defigures\destyle
-
- \ifzpl@defaultsups %
- \else
- \RequirePackage{realscripts}
- \renewcommand\footnotemarkfont{\normalfont\sufigures}
- \fi
- \ifzpl@KOMA
- \setkomafont{footnotereference}{\normalfont\sustyle}
- \setkomafont{footnotelabel}{\normalfont\sustyle}
- \fi
-
- \renewcommand*{\textcircled}[1]{\hmode@bgroup\ooalign{%
- \hfil \raise -.255ex\hbox{{%
- \normalfont\addfontfeatures{Numbers={Monospaced, Lining}}%
- \scalefont{.8}{\sustyle#1}}}% end hbox
- \hfil \crcr \symbol{"25EF}}%
- \egroup}
-\else % type1
- \renewcommand*{\textcircled}[1]{\hmode@bgroup\ooalign{%
- \hfil \raise -.15ex\hbox{{%
- \normalfont
- {\scalefont{.8}\sustyle#1}}}% end hbox
- \hfil \crcr \textbigcircle}%
- \egroup}
-\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{\textsu}{\sustyle}
- %\let\textsuperior\textsu
-\let\textsup\textsu
- \let\textsups\textsu
-\DeclareTextFontCommand{\textnumerator}{\nustyle}
- \ifzpl@notextnu\else\let\textnu=\textnumerator\fi
- \let\textnum\textnumerator
-\DeclareTextFontCommand{\textde}{\destyle}
- \let\textdenominator\textde
-\DeclareTextFontCommand{\textinf}{\instyle}
- \let\textinferior\textinf
-
-\newdimen\zpl@sixem\zpl@sixem6pt % for checking if a number refers to ex
-\newdimen\zpl@y \newdimen\zpl@x
-
-% convert numerical entry that may be multiple of ex (<6) or em value
-\def\zpl@toex#1{\zpl@x#1pt \ifdim\zpl@x<\z@\zpl@y-\zpl@x\else\zpl@y\zpl@x\fi \ifdim\zpl@y>\zpl@sixem \zpl@x\dimexpr
- 1pt * (\dimexpr #1pt\relax) / \dimexpr \zpl@xht pt\relax\relax\fi}
-
-\newdimen\zpl@tmpdima \newdimen\zpl@tmpdimb \newdimen\zpl@tmpdimc
-\newdimen\zpl@tmpdimd \newdimen\zpl@tmpdime \newdimen\zpl@tmpdimf
-\newdimen\zpl@dimA
-\newdimen\zpl@dimAA \newdimen\zpl@dimB \newdimen\zpl@dimBB
-\newdimen\zpl@dimC % vertical center
-% double cap letters for below bar, single cap for above
-
-\zpl@toex\zpl@sfrVC\zpl@dimC\zpl@x %Vertical center of fraction
-\zpl@toex\zpl@sfrTH\zpl@tmpdimb\zpl@x % bar thickness
-\zpl@tmpdime.5\zpl@tmpdimb % half bar thickness
-\zpl@toex\zpl@sfrVS\zpl@tmpdimc\zpl@x% vertical space
-\zpl@toex\zpl@deht\zpl@tmpdimd\zpl@x % height of unscaled figures
-\zpl@tmpdimd\zpl@sfrSC\zpl@tmpdimd % height of scaled figures
-\zpl@toex\zpl@debase\zpl@tmpdimf\zpl@x % unscaled baseline of de figures
-\zpl@toex\zpl@nubase\zpl@tmpdima\zpl@x % unscaled baseline of nu figures
-\zpl@tmpdima\zpl@sfrSC\zpl@tmpdima % scaled nu baseline
-\zpl@tmpdimf\zpl@sfrSC\zpl@tmpdimf % scaled de baseline
-\zpl@dimA\zpl@dimC
-\advance\zpl@dimA by \zpl@tmpdime % top of bar
-\zpl@dimAA\zpl@dimC
-\advance\zpl@dimAA by -\zpl@tmpdime % bottom of bar
-\zpl@dimB\zpl@dimA
-\advance\zpl@dimB by \zpl@tmpdimc % top figure baseline
-\advance\zpl@dimB by -\zpl@tmpdima
-\zpl@dimBB\zpl@dimAA
-\advance\zpl@dimBB by -\zpl@tmpdimc %
-\advance\zpl@dimBB by -\zpl@tmpdimd % bottom figure baseline
-\advance\zpl@dimBB by -\zpl@tmpdimf
-\newcommand*{\textsfrac}[3][]{% like \textsfrac[1]{23}{34}
-\mbox{%
- \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
- {\textlf{#1}\kern.12em}{}%
- {\hmode@bgroup%
-\ooalign{%
- \setbox0=\hbox{\scalefont{\zpl@sfrSC}\nustyle#2}%
- \hfil \raise\strip@pt\zpl@dimB ex\box0\hfil \crcr%
- \leaders\hrule height \strip@pt\zpl@dimA ex depth -\strip@pt\zpl@dimAA ex\hfill \crcr%
- \setbox1=\hbox{\scalefont{\zpl@sfrSC}\destyle#3}%
- \hfil\raise\strip@pt\zpl@dimBB ex\box1\hfil}%
-\egroup}}
-}
-
-\AtEndPreamble{%
-\ifzpl@otf
- \ifzpl@lining
- \def\zpl@figurestyle{Lining}
- \else
- \def\zpl@figurestyle{OldStyle}
- \fi
- \ifzpl@tabular
- \def\zpl@figurealign{Monospaced}
- \else
- \def\zpl@figurealign{Proportional}
- \fi
-% \ifzpl@scosf
-% %\traceon
-% \setmainfont
-% [Numbers = {\zpl@figurealign,\zpl@figurestyle},
-% SmallCapsFeatures = { Letters=SmallCaps , Numbers = OldStyle }
-% ] {\zpl@base}
-%% \traceoff
-% \else
-% \setmainfont
-% [Numbers = {\zpl@figurealign,\zpl@figurestyle}
-% SmallCapsFeatures = { Letters=SmallCaps , }
-% ] {\zpl@base}
-% \fi
- \setmainfont
- [Numbers = {Proportional , Lining },
- SmallCapsFeatures = { Letters = SmallCaps , Numbers = OldStyle }
- ] {TeXGyrePagellaX}
-
-
-% \let\zpl@sty\zpl@figurestyle
-% \if l\zpl@thmlin\def\zpl@sty{Lining}\fi
-% \newcommand{\thfamily}%{\@nameuse{zpl\zpl@figurestyle}%
-% {\addfontfeatures{%
-% Numbers={\zpl@figurealign,\zpl@sty} ,
-% RawFeature=+ss05}
-% \itshape} % for theorems
-% \ifzpl@sl\else\let\slshape=\thfamily\fi % change
-
-\else % type1
- \ifzpl@lining
- \def\zpl@figurestyle{lf}
- \else
- \def\zpl@figurestyle{osf}
- \fi
- \ifzpl@tabular
- \def\zpl@figurealign{t}
- \else
- \def\zpl@figurealign{}
- \fi
-
- \renewcommand*{\rmdefault}{zpl\zpl@figurealign%
- \zpl@figurestyle}
- \let\familydefault\rmdefault
-
- % use OsF in small caps
-
- \def\zpl@thfigurestyle{\zpl@figurestyle}
- \ifx\zpl@figurestyle\zpl@dfltfigurestyle
- \def\zpl@thfigurestyle{tlf}
- \else
- \def\zpl@thfigurestyle{osf}
- \fi % there just two possible figure styles for the theorem font
- \newcommand*{\thdefault}{zplth-\zpl@thfigurestyle}
- \normalfont
-\fi % type1
-% both
-\ifzpl@KOMA
- %\let\textsuperscript\textsu
- \@ifpackageloaded{AB@authnote}{%
- \renewcommand\AB@authnote[1]{\textsu{#1}}
- \renewcommand\AB@affilnote[1]{\textsu{#1}}
- }
-\fi
-%both
-\ifzpl@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
-}
-
-% Define \oldstylenums, \liningnums ,\tabularnums and \proportionalnums
-\ifzpl@otf
- \DeclareTextFontCommand{%
- \oldstylenums}{\addfontfeatures{Numbers=OldStyle}}
- \DeclareTextFontCommand{%
- \liningnums}{\addfontfeatures{Numbers=Lining}}
- \DeclareTextFontCommand{%
- \tabularnums}{\addfontfeatures{Numbers=Tabular}}
- \DeclareTextFontCommand{%
- \proportionalnums}{\addfontfeatures{Numbers=Proportional}}
-\else % type1
- \DeclareTextFontCommand{%
- \oldstylenums}{\fontfamily{zpl\zpl@figurealign OsF}\selectfont }
- \DeclareTextFontCommand{%
- \liningnums}{\fontfamily{zpl\zpl@figurealign LF}\selectfont }
- \DeclareTextFontCommand{%
- \tabularnums}{\fontfamily{zplT\zpl@figurestyle}\selectfont }
- \DeclareTextFontCommand{%
- \proportionalnums}{\fontfamily{zpl\zpl@figurestyle}\selectfont }
- \re@DeclareTextSymbol{\textdollar}{OT1}{36}
-\fi
-
-\endinput
-
diff --git a/fonts/newpx/tex/newpxtextX.sty b/fonts/newpx/tex/newpxtextX.sty
deleted file mode 100644
index b2f46f3c67..0000000000
--- a/fonts/newpx/tex/newpxtextX.sty
+++ /dev/null
@@ -1,506 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-
-% Based originally on Young Ryu's pxfonts.sty, v.1.1.1
-%
-% Changes from original pxfonts.sty by Michael Sharpe, msharpe at ucsd dot edu;
-% Text and math versions now separate.
-% Added scaled keyword and osf option;
-% Text is now directed to an extension of TeXGyrePagella rather than ppl.
-% 1.5 is the first version of newpxtext to support both [pdf]latex and unicode latex.
-
-\def\fileversion{1.523X}
-\def\filedate{2023/10/02}
-\ProvidesPackage{newpxtextX}[%
-\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for TeXGyrePagellaX]
-
-\message{`newpxtextX' v\fileversion, \filedate\space Text macros taking advantage of TeXGyre Pagella and its extensions (msharpe)}
-
-\RequirePackage[T1]{fontenc}
-
-\RequirePackage{xpatch} % need to patch \scshape
-\RequirePackage{iftex,xkeyval,etoolbox,textcomp}
-\RequirePackage{xstring,ifthen,scalefnt} % for \textfrac
-
-% Engine check
-\newif\ifzpl@otf
-\iftutex\zpl@otftrue
-\else
- \endinput
-\fi
-%%%%%%%%%%%%%%%%%%
- \RequirePackage{xkeyval}
-%%%% Start Options
-\newif\ifzpl@nomath\zpl@nomathfalse % load fontspec with no-math
-\newif\ifzpl@lining\zpl@liningtrue
-\newif\ifzpl@tabular\zpl@tabulartrue % default is tabular lining figures
-\@ifundefined{ver@newpxmath.sty}{}{\zpl@nomathtrue}
-
-\DeclareOptionX{type1}[true]{%
-%\@nameuse{if#1}\zpl@otffalse\fi
-}
-\DeclareOptionX{nofontspec}[true]{%
-%\@nameuse{if#1}\zpl@otffalse\fi
-}
-\DeclareOptionX{no-math}[true]{%
-\@nameuse{if#1}\zpl@nomathtrue\fi
-}
-
-\def\zpl@defaultfeatures{}
-\DeclareOptionX{defaultfeatures}{\def\zpl@defaultfeatures{#1}}
-
-%Figure style options
-\edef\zpl@dfltfigurestyle{lf}
-\edef\zpl@dfltfigurealign{t}
-
-\DeclareOptionX{lining}[true]{%
-\@nameuse{zpl@lining#1}
-}
-\DeclareOptionX{lf}[true]{%
-\@nameuse{zpl@lining#1}
-}
-\DeclareOptionX{oldstyle}[true]{%
-\@nameuse{if#1}%
- \zpl@liningfalse
-\else
- \zpl@liningtrue
-\fi
-}
-\DeclareOptionX{osf}[true]{%
-\@nameuse{if#1}%
- \zpl@liningfalse
-\else
- \zpl@liningtrue
-\fi
-}
-\DeclareOptionX{tabular}[true]{%
-\@nameuse{zpl@tabular#1}
-}
-\DeclareOptionX{t}[true]{%
-\@nameuse{zpl@tabular#1}
-}
-\DeclareOptionX{proportional}[true]{%
-\@nameuse{if#1}%
- \zpl@tabularfalse
-\else
- \zpl@tabulartrue
-\fi
-}
-\DeclareOptionX{p}[true]{%
-\@nameuse{if#1}%
- \zpl@tabularfalse
-\else
- \zpl@tabulartrue
-\fi
-}
-
-%Scale
-\providecommand{\zpl@scale}{1} % actual scaled command in \zpl@scaled
-\DeclareOptionX{scale}{\def\zpl@scale{#1}}
-\DeclareOptionX{scaled}{\def\zpl@scale{#1}}
-
-\newif\ifzpl@defaultsups
-%\newif\ifzpl@adobesc % we don't use this exc. in fd, but may in future
-\newif\ifzpl@scosf
-\newif\ifzpl@largesc
-\newif\ifzpl@helv \zpl@helvtrue % default is to load helvetica as sans serif font
-\newif\ifzpl@thrm
-\newif\ifzpl@sl
-% new sups options
-\newdimen\zplsups@scale
-\newdimen\zplsups@raise
-\def\zplsups@raised{\z@}
-\def\zplsups@Lspaced{.04em}
-\def\zplsups@Rspaced{.04em}
-\def\zplsups@scaledval{1.0}
-\def\zplsups@supscale{1.0}
-\DeclareOptionX{supscaled}{\renewcommand*{\zplsups@scaledval}{#1}}
-\DeclareOptionX{supscale}{\renewcommand*{\zplsups@scaledval}{#1}}
-\DeclareOptionX{supsraised}{\renewcommand*{\zplsups@raised}{#1}}
-\DeclareOptionX{supLspaced}{\renewcommand*{\zplsups@Lspaced}{#1}}
-\DeclareOptionX{supRspaced}{\renewcommand*{\zplsups@Rspaced}{#1}}
-
-% Other options
-\DeclareOptionX{defaultsups}[true]{%
-\@nameuse{zpl@defaultsups#1}
-}
-\DeclareOptionX{babel}[true]{%
-\@nameuse{zpl@babel#1}% for backward compatibility
-}
-\DeclareOptionX{largesc}[true]{%
-\@nameuse{zpl@largesc#1}
-}
-\DeclareOptionX{nohelv}[true]{%
-\@nameuse{if#1}\zpl@helvfalse\fi}%
-
-\def\zpl@helvratio{.94}
-\DeclareOptionX{helvratio}[0.94]{%
-\def\zpl@helvratio{#1}
-}
-\def\zpl@spcmag{1}
-\def\zpl@spc{.25em}
-\def\zpl@stretch{.2em}
-\def\zpl@shrink{.1em}
-\def\zpl@nospc{T}
-
-\DeclareOptionX{spcfactor}{%
-\def\zpl@spcmag{#1}\def\zpl@nospc{F}
-}
-\DeclareOptionX{spacing}{%
-\def\zpl@spc{#1}
-}
-\DeclareOptionX{stretch}{%
-\def\zpl@stretch{#1}
-}
-\DeclareOptionX{shrink}{%
-\def\zpl@shrink{#1}
-}
-\newcount\zpl@cnt \zpl@cnt=0
-\newif\ifzpl@zeroslash
-\newif\ifzpl@notextnu
-\def\zpl@thmlin{X} % default is to not change to lining
-\def\zpl@noti{T}\def\zpl@nolo{T}
-\DeclareOptionX{oldSS}{\advance\zpl@cnt 32 }
-\DeclareOptionX{notextnu}{\zpl@notextnutrue}
-\DeclareOptionX{slashedzero}{\zpl@zeroslashtrue}
-\DeclareOptionX{theoremfont}{\zpl@thrmtrue }
-\DeclareOptionX{thmlining}{\edef\zpl@thmlin{l}}
-\DeclareOptionX{trueslanted}{\zpl@sltrue}
-\DeclareOptionX{scosf}{\zpl@scosftrue}
-\DeclareOptionX{tighter}{%
-\gdef\zpl@spc{.25em}\gdef\zpl@stretch{.125em}%
-\gdef\zpl@shrink{.1em}\def\zpl@noti{F}}
-\DeclareOptionX{looser}{%
-\gdef\zpl@spc{.3em}\gdef\zpl@stretch{.2em}%
-\gdef\zpl@shrink{.1em}\def\zpl@nolo{F}}
-
-\DeclareOptionX{sfracvcenter}{%
-\def\zpl@sfrVC{#1}}
-\DeclareOptionX{sfracvspacing}{%
-\def\zpl@sfrVS{#1}}
-\DeclareOptionX{sfracbarthick}{%
-\def\zpl@sfrTH{#1}}
-\DeclareOptionX{sfracscaling}{%
-\def\zpl@sfrSC{#1}}
-
-\ProcessOptionsX\relax
-
-\setlength{\zplsups@raise}{\zplsups@raised}
-\setlength{\zplsups@scale}{\zplsups@scaledval\p@}
-\zplsups@scale=\zpl@scale\zplsups@scale %
-\def\zplsups@scaled{s*[\strip@pt\zplsups@scale]}
-% for stacked fractions
-\@ifundefined{zpl@xht}{\def\zpl@xht{460}}{} % lowercase letters
-\@ifundefined{zpl@deht}{\def\zpl@deht{412}}{} % denominator figures ht
-\@ifundefined{zpl@nubase}{\def\zpl@nubase{270}}{} % baseline of numerators
-\@ifundefined{zpl@debase}{\def\zpl@debase{0}}{} % baseline of denoms
-\@ifundefined{zpl@sfrVC}{\def\zpl@sfrVC{335}}{}% vertical center of sfrac
-\@ifundefined{zpl@sfrVS}{\def\zpl@sfrVS{106}}{} % space above/below bar
-\@ifundefined{zpl@sfrTH}{\def\zpl@sfrTH{52}}{} % bar thickness
-\@ifundefined{zpl@sfrSC}{\def\zpl@sfrSC{.9}}{} % scale defigures by this
-
-\def\re@DeclareTextSymbol#1#2#3{%
- \let#1=\undefined
- \DeclareTextSymbol{#1}{#2}{#3}}
-
-\ifzpl@otf
- \ifzpl@nomath
- \RequirePackage[no-math]{fontspec}
- \else
- \RequirePackage{fontspec}
- \fi
-
- \ifluatex % avoid possibly uncorrected "system" fonts
- \directlua{fonts.names.set_location_precedence{
- "local", "texmf", "system" }}
- \fi
- \def\zpl@base{TeXGyrePagellaX}
-% \ifzpl@scosf
-% \AtEndPreamble{%
-% \xpretocmd{\scshape}
-% {\addfontfeatures{ Numbers = OldStyle }}
-% {}{}%
-% }%
-% \fi
-
-
- \newcommand{\textfrac}[3][]{{%\normalfont%
-\mbox{%
- \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
- {{\lfstyle#1}\kern.1em}{}%
-\addfontfeatures{RawFeature=+numr}#2\char"2044% numerator
-\addfontfeatures{RawFeature=-numr;+dnom;+ss20}\char"2044{}#3%
-}}}
-
-\else % type1
-\fi
-
-\def\useosf{\zpl@liningfalse}
-\@onlypreamble\useosf
-\def\useproportional{\zpl@tabularfalse}
-\@onlypreamble\useproportional
-
-\ifzpl@otf
- \def\zpl@dflt{}
- \ifzpl@zeroslash\edef\zpl@dflt{Numbers = SlashedZero ,
- }\fi
- \if T\zpl@nospc
- \if F\zpl@noti\def\zpl@spcmag{{1,.625,1}}\def\zpl@nospc{F}\fi
- \if F\zpl@nolo\def\zpl@spcmag{{1.2,1,1}}\def\zpl@nospc{F}\fi
- \fi
- \if F\zpl@nospc
- \edef\zpl@dflt{\zpl@dflt WordSpace = \zpl@spcmag ,
- }
- \fi
- \def\zpl@scraw{pcap}\def\zpl@scrawN{smcp}
- \ifzpl@largesc\def\zpl@scraw{smcp}\def\zpl@scrawN{pcap}\fi
-
- %\zpl@cnt will be 0..2^8-1
- \edef\zpl@lst{}
- \ifnum\zpl@cnt>127 \edef\zpl@lst{8}\advance\zpl@cnt -128 \fi
- \ifnum\zpl@cnt>63 \edef\zpl@lst{7,\zpl@lst}\advance\zpl@cnt -64 \fi
- \ifnum\zpl@cnt>31 \edef\zpl@lst{6,\zpl@lst}\advance\zpl@cnt -32 \fi
- \ifnum\zpl@cnt>15 \edef\zpl@lst{5,\zpl@lst}\advance\zpl@cnt -16 \fi
- \ifnum\zpl@cnt>7 \edef\zpl@lst{4,\zpl@lst}\advance\zpl@cnt -8 \fi
- \ifnum\zpl@cnt>3 \edef\zpl@lst{3,\zpl@lst}\advance\zpl@cnt -4 \fi
- \ifnum\zpl@cnt>1 \edef\zpl@lst{2,\zpl@lst}\advance\zpl@cnt -2 \fi
- \ifnum\zpl@cnt>0 \edef\zpl@lst{1,\zpl@lst}\fi
- \ifthenelse{\not\equal{\zpl@lst}{}}
- {\edef\zpl@dflt{\zpl@dflt StylisticSet={\zpl@lst} ,
- }}{}
-
- \defaultfontfeatures{
- Ligatures = TeX ,
- Scale = \zpl@scale ,
- Extension = .otf ,
- SmallCapsFeatures={\ifzpl@scosf Numbers = OldStyle ,
- \fi RawFeature = -\zpl@scrawN;+\zpl@scraw }
- \ifluatex Renderer=Basic\fi ,
- \zpl@dflt ,
- RawFeature=-ss05 ,
- \zpl@defaultfeatures
- }
-
-\else % type1
- \fi % type1
-
-\ifzpl@thrm
- %\RequirePackage{amsmath,amsthm} % in case of theoremfont
- \ifdefined\newtheoremstyle %amsthm and ntheorem, not theorem.sty
- \@ifpackageloaded{ntheorem}\relax{%
- \newtheoremstyle{plain}
- {\medskipamount} % ABOVESPACE, was \topsep
- {\medskipamount} % BELOWSPACE, was \topsep
- {\thfamily} % BODYFONT--\thfamily is italic with upright figures and punctuation
- {} % INDENT (empty value is the same as 0pt)
- {\bfseries} % HEADFONT--you may want to add \tlfstyle so the number is tab lining, regardless of text figure selection
- {.} % HEADPUNCT
- {5pt plus 1pt minus 1pt} % HEADSPACE
- {} % CUSTOM-HEAD-SPEC\newtheorem{thm}{Theorem}[section]
- } % end @ifpackageloaded
- \fi%
-\fi%}
-
-\ifzpl@otf
- \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{\destyle}{%
- \not@math@alphabet\destyle\relax
- \addfontfeatures{VerticalPosition=Denominator}%
- }
- \DeclareRobustCommand{\nustyle}{%
- \not@math@alphabet\nustyle\relax
- \addfontfeatures{VerticalPosition=Numerator}%
- }
- \DeclareRobustCommand{\sustyle}{%
- \not@math@alphabet\sustyle\relax
- \addfontfeatures{VerticalPosition=Superior}%
- }
- \DeclareRobustCommand{\infstyle}{%
- \not@math@alphabet\infstyle\relax
- \addfontfeatures{VerticalPosition=Inferior}%
- }
-
- \let\sufigures\sustyle
- \let\nufigures\nustyle
- \let\infigures\infstyle
- \let\defigures\destyle
-
- \ifzpl@defaultsups %
- \else
- \RequirePackage{realscripts}
- \renewcommand\footnotemarkfont{\normalfont\sufigures}
- \fi
-% \ifzpl@KOMA
-% \setkomafont{footnotereference}{\normalfont\sustyle}
-% \setkomafont{footnotelabel}{\normalfont\sustyle}
-% \fi
-
- \renewcommand*{\textcircled}[1]{\hmode@bgroup\ooalign{%
- \hfil \raise -.255ex\hbox{{%
- \normalfont\addfontfeatures{Numbers={Monospaced, Lining}}%
- \scalefont{.8}{\sustyle#1}}}% end hbox
- \hfil \crcr \symbol{"25EF}}%
- \egroup}
-\else % type1
-\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{\textsu}{\sustyle}
- %\let\textsuperior\textsu
-\let\textsup\textsu
- \let\textsups\textsu
-\DeclareTextFontCommand{\textnumerator}{\nustyle}
- \ifzpl@notextnu\else\let\textnu=\textnumerator\fi
- \let\textnum\textnumerator
-\DeclareTextFontCommand{\textde}{\destyle}
- \let\textdenominator\textde
-\DeclareTextFontCommand{\textinf}{\instyle}
- \let\textinferior\textinf
-
-\newdimen\zpl@sixem\zpl@sixem6pt % for checking if a number refers to ex
-\newdimen\zpl@y \newdimen\zpl@x
-
-% convert numerical entry that may be multiple of ex (<6) or em value
-\def\zpl@toex#1{\zpl@x#1pt \ifdim\zpl@x<\z@\zpl@y-\zpl@x\else\zpl@y\zpl@x\fi \ifdim\zpl@y>\zpl@sixem \zpl@x\dimexpr
- 1pt * (\dimexpr #1pt\relax) / \dimexpr \zpl@xht pt\relax\relax\fi}
-
-\newdimen\zpl@tmpdima \newdimen\zpl@tmpdimb \newdimen\zpl@tmpdimc
-\newdimen\zpl@tmpdimd \newdimen\zpl@tmpdime \newdimen\zpl@tmpdimf
-\newdimen\zpl@dimA
-\newdimen\zpl@dimAA \newdimen\zpl@dimB \newdimen\zpl@dimBB
-\newdimen\zpl@dimC % vertical center
-% double cap letters for below bar, single cap for above
-
-\zpl@toex\zpl@sfrVC\zpl@dimC\zpl@x %Vertical center of fraction
-\zpl@toex\zpl@sfrTH\zpl@tmpdimb\zpl@x % bar thickness
-\zpl@tmpdime.5\zpl@tmpdimb % half bar thickness
-\zpl@toex\zpl@sfrVS\zpl@tmpdimc\zpl@x% vertical space
-\zpl@toex\zpl@deht\zpl@tmpdimd\zpl@x % height of unscaled figures
-\zpl@tmpdimd\zpl@sfrSC\zpl@tmpdimd % height of scaled figures
-\zpl@toex\zpl@debase\zpl@tmpdimf\zpl@x % unscaled baseline of de figures
-\zpl@toex\zpl@nubase\zpl@tmpdima\zpl@x % unscaled baseline of nu figures
-\zpl@tmpdima\zpl@sfrSC\zpl@tmpdima % scaled nu baseline
-\zpl@tmpdimf\zpl@sfrSC\zpl@tmpdimf % scaled de baseline
-\zpl@dimA\zpl@dimC
-\advance\zpl@dimA by \zpl@tmpdime % top of bar
-\zpl@dimAA\zpl@dimC
-\advance\zpl@dimAA by -\zpl@tmpdime % bottom of bar
-\zpl@dimB\zpl@dimA
-\advance\zpl@dimB by \zpl@tmpdimc % top figure baseline
-\advance\zpl@dimB by -\zpl@tmpdima
-\zpl@dimBB\zpl@dimAA
-\advance\zpl@dimBB by -\zpl@tmpdimc %
-\advance\zpl@dimBB by -\zpl@tmpdimd % bottom figure baseline
-\advance\zpl@dimBB by -\zpl@tmpdimf
-\newcommand*{\textsfrac}[3][]{% like \textsfrac[1]{23}{34}
-\mbox{%
- \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1]
- {\textlf{#1}\kern.12em}{}%
- {\hmode@bgroup%
-\ooalign{%
- \setbox0=\hbox{\scalefont{\zpl@sfrSC}\nustyle#2}%
- \hfil \raise\strip@pt\zpl@dimB ex\box0\hfil \crcr%
- \leaders\hrule height \strip@pt\zpl@dimA ex depth -\strip@pt\zpl@dimAA ex\hfill \crcr%
- \setbox1=\hbox{\scalefont{\zpl@sfrSC}\destyle#3}%
- \hfil\raise\strip@pt\zpl@dimBB ex\box1\hfil}%
-\egroup}}
-}
-
-\AtEndPreamble{%
-\ifzpl@otf
- \ifzpl@lining
- \def\zpl@figurestyle{Lining}
- \else
- \def\zpl@figurestyle{OldStyle}
- \fi
- \ifzpl@tabular
- \def\zpl@figurealign{Monospaced}
- \else
- \def\zpl@figurealign{Proportional}
- \fi
-% \ifzpl@scosf
-% %\traceon
-% \setmainfont
-% [Numbers = {\zpl@figurealign,\zpl@figurestyle},
-% SmallCapsFeatures = { Letters=SmallCaps , Numbers = OldStyle }
-% ] {\zpl@base}
-%% \traceoff
-% \else
-% \setmainfont
-% [Numbers = {\zpl@figurealign,\zpl@figurestyle}
-% SmallCapsFeatures = { Letters=SmallCaps , }
-% ] {\zpl@base}
-% \fi
-%\traceon
-\setmainfont
- [Numbers = {Proportional , Lining },
- SmallCapsFeatures = { Letters = SmallCaps , Numbers = OldStyle }
- ] {TeXGyrePagellaX}
-
-
-% \let\zpl@sty\zpl@figurestyle
-% \if l\zpl@thmlin\def\zpl@sty{Lining}\fi
-% \newcommand{\thfamily}%{\@nameuse{zpl\zpl@figurestyle}%
-% {\addfontfeatures{%
-% Numbers={\zpl@figurealign,\zpl@sty} ,
-% RawFeature=+ss05}
-% \itshape} % for theorems
-% \ifzpl@sl\else\let\slshape=\thfamily\fi % change
-
-\else % type1
- \fi % type1
-% both
-%\ifzpl@KOMA
-% %\let\textsuperscript\textsu
-% \@ifpackageloaded{AB@authnote}{%
-% \renewcommand\AB@authnote[1]{\textsu{#1}}
-% \renewcommand\AB@affilnote[1]{\textsu{#1}}
-% }
-%\fi
-%both
-\ifzpl@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
-}
-
-% Define \oldstylenums, \liningnums ,\tabularnums and \proportionalnums
-\ifzpl@otf
- \DeclareTextFontCommand{%
- \oldstylenums}{\addfontfeatures{Numbers=OldStyle}}
- \DeclareTextFontCommand{%
- \liningnums}{\addfontfeatures{Numbers=Lining}}
- \DeclareTextFontCommand{%
- \tabularnums}{\addfontfeatures{Numbers=Tabular}}
- \DeclareTextFontCommand{%
- \proportionalnums}{\addfontfeatures{Numbers=Proportional}}
-\else % type1
-\fi
-
-\endinput
-
diff --git a/fonts/xcharter-math/README.md b/fonts/xcharter-math/README.md
index 35f835bc3d..7816dda3b3 100644
--- a/fonts/xcharter-math/README.md
+++ b/fonts/xcharter-math/README.md
@@ -84,7 +84,12 @@ Either version 1.3 or, at your option, any later version.
* v0.50:
- XCharter-Math.otf: Digits and Lowercase Blackboard Bold glyphs added;
over twenty math symbols added (coverage now similar to Erewhon-Math).
-
+* v0.51:
+ - Fixed IsExtendedShape flags.
+ - \mid (U+2223) and \parallel (U+2225) vertical variants changed.
+ - CharacterVariant=11 added: it replaces the original math italic v
+ by a variant easier to distinguish from \nu.
+
---
Copyright 2022-2023 Daniel Flipo
E-mail: daniel (dot) flipo (at) free (dot) fr
diff --git a/fonts/xcharter-math/XCharter-Math-Bold.otf b/fonts/xcharter-math/XCharter-Math-Bold.otf
index bf7b95c6f4..a99fd3f897 100644
--- a/fonts/xcharter-math/XCharter-Math-Bold.otf
+++ b/fonts/xcharter-math/XCharter-Math-Bold.otf
Binary files differ
diff --git a/fonts/xcharter-math/XCharter-Math.ltx b/fonts/xcharter-math/XCharter-Math.ltx
index a920814c80..ca30754e8b 100644
--- a/fonts/xcharter-math/XCharter-Math.ltx
+++ b/fonts/xcharter-math/XCharter-Math.ltx
@@ -34,7 +34,7 @@
\title{\decofourleft\,\XCotf\,\decofourright}
\author{Daniel Flipo \\ \texttt{daniel.flipo@free.fr}}
-\newcommand*{\version}{0.50}
+\newcommand*{\version}{0.51}
\begin{document}
\maketitle
@@ -211,8 +211,9 @@ $\symup{α}$, $\symup{β}$, $\symup{Γ}$,… for \cmd{alpha}, \cmd{beta},
\XCotf{} provides fourteen ``Character Variants’’ options, listed on
table~\vref{cv}, to choose between different glyphs for Greek characters
-and some others. Alternative calligraphic capitals have been added for E, Q
-and T in version~0.50.
+and some others. Alternative calligraphic capitals for E, Q
+and T have been added (version~0.50) and an alternative italic v, easier
+to distinguish from $\nu$ (version~0.51).
\begin{table}[ht]
\centering \caption{Character variants.}
@@ -232,6 +233,7 @@ and T in version~0.50.
cv08 & $\sigma$ & $\varsigma$ & \cmd{sigma} \\
cv09 & $\theta$ & $\vartheta$ & \cmd{theta} \\
cv10 & $\Theta$ & $\varTheta$ & \cmd{Theta}\\
+ cv11 & $\symit{v}$ & $\mitvarv$ & v\\
cv20 & $\symscr{E}$ & $\varsymscrE$ & \cmd{symcal\{E\}}\\
cv21 & $\symscr{Q}$ & $\varsymscrQ$ & \cmd{symcal\{Q\}}\\
cv22 & $\symscr{T}$ & $\varsymscrT$ & \cmd{symcal\{T\}}\\
diff --git a/fonts/xcharter-math/XCharter-Math.otf b/fonts/xcharter-math/XCharter-Math.otf
index 97eaba1ff0..65d3fa9c05 100644
--- a/fonts/xcharter-math/XCharter-Math.otf
+++ b/fonts/xcharter-math/XCharter-Math.otf
Binary files differ
diff --git a/fonts/xcharter-math/XCharter-Math.pdf b/fonts/xcharter-math/XCharter-Math.pdf
index 44de2b5f56..5cfee13aa2 100644
--- a/fonts/xcharter-math/XCharter-Math.pdf
+++ b/fonts/xcharter-math/XCharter-Math.pdf
Binary files differ
diff --git a/fonts/xcharter-math/unimath-xcharter.pdf b/fonts/xcharter-math/unimath-xcharter.pdf
index 571878b63e..5983427acc 100644
--- a/fonts/xcharter-math/unimath-xcharter.pdf
+++ b/fonts/xcharter-math/unimath-xcharter.pdf
Binary files differ
diff --git a/fonts/xcharter-math/xcharter-otf.sty b/fonts/xcharter-math/xcharter-otf.sty
index f59c42c91e..3d1a09ba90 100644
--- a/fonts/xcharter-math/xcharter-otf.sty
+++ b/fonts/xcharter-math/xcharter-otf.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\def\fileversion{0.50}
-\def\filedate{2023-07-20}
+\def\fileversion{0.51}
+\def\filedate{2023-10-26}
\ProvidesPackage{xcharter-otf}[\filedate\space\fileversion]
% Ensure luatex or xetex engine
@@ -71,6 +71,8 @@
% XCharter specific math
% \Umathchardef\<cmd> = <math type> <family> <slot>
% <math type> : \mathord=0 \mathrel=3 ; <family>=0
+ \Umathchardef\mbfitvarv = 0 0 "E01E \relax
+ \Umathchardef\mitvarv = 0 0 "E01F \relax
\Umathchardef\varemptyset = 0 0 "E021 \relax
\Umathchardef\mupvarzero = 0 0 "E022 \relax
\Umathchardef\mbfvarzero = 0 0 "E023 \relax