summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx')
-rw-r--r--Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx613
1 files changed, 613 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx b/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx
new file mode 100644
index 00000000000..de2d47798f9
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx
@@ -0,0 +1,613 @@
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{pdfstandard=A-2b, lang=en-GB}
+\documentclass[a4paper,12pt]{scrartcl}
+
+\usepackage{amsmath, array, varioref}
+\usepackage[british]{babel}
+\usepackage{xcharter-otf}
+\usepackage{fourier-orns}
+\setsansfont{Cabin}[Scale=MatchLowercase]
+\setmonofont{Inconsolatazi4}[Scale=MatchLowercase,
+ HyphenChar=None,StylisticSet={2,3}]
+\usepackage{subfig}
+\captionsetup[subtable]{position=top}
+\usepackage{realscripts}
+\usepackage{microtype}
+\usepackage{hyperref}
+\hypersetup{pdftitle={XCharter-Math User’s Guide},
+ pdfauthor={Daniel FLIPO},
+ bookmarksopen,
+ colorlinks
+ }
+\newcommand*{\hlabel}[1]{\phantomsection\label{#1}}
+
+\newcommand*{\FGUT}{Fourier-GUT\textit{enberg}}
+\newcommand*{\XCotf}{XCharter-Math}
+\newcommand*{\pkg}[1]{\texttt{#1}}
+\newcommand*{\file}[1]{\texttt{#1}}
+\newcommand*{\opt}[1]{\texttt{#1}}
+\newcommand*{\cmd}[1]{\texttt{\textbackslash #1}}\newcommand*{\showtchar}[1]{\cmd{#1}~\csname #1\endcsname}
+\newcommand*{\showmchar}[1]{\cmd{#1}~$(\csname #1\endcsname)$}
+\newcommand*{\showmchardollar}[1]{\texttt{\$\cmd{#1}\$}~$(\csname #1\endcsname)$}
+
+\renewcommand{\labelitemi}{\lefthand}
+
+\title{\decofourleft\,\XCotf\,\decofourright}
+\author{Daniel Flipo \\ \texttt{daniel.flipo@free.fr}}
+
+\newcommand*{\version}{0.30}
+
+\begin{document}
+\maketitle
+
+\section{What is \XCotf{}?}
+
+\XCotf{} is an Opentype mathematical font based on Bitstream Charter
+meant to be used with XCharter text fonts.
+
+Latin and Greek letters and many Math symbols are borrowed or
+derived from Mickael Sharpe’s XCharter fonts. Other sources for Math glyphs
+were found in MathDesign (by Paul Pichaureau) and \FGUT{} (by Michel Bovani).
+
+It requires LuaTeX or XeTeX as engine and the \pkg{unicode-math} package%
+\footnote{Please read the documentation \file{unicode-math.pdf}.}.
+
+Please note that the current version (\version) is \emph{experimental,
+do expect metrics and glyphs to change} until version 1.0 is reached.
+Comments, suggestions and bug reports are welcome!
+
+\section{Usage}
+
+\subsection{Calling \cmd{setmathfont}}
+
+A basic call for \XCotf{} would be:
+\begin{verbatim}
+\usepackage{unicode-math}
+\setmathfont{XCharter-Math.otf} % Call by file name or
+\setmathfont{XCharter Math} % Call by font name
+\end{verbatim}
+this loads \XCotf{} as math font with the default options, see
+subsections~\vref{ssection-um}, \vref{ssection-cv} and~\vref{ssection-ss}
+for customisation.
+
+\enlargethispage*{\baselineskip}
+Please note that the three sets of text fonts have to be chosen separately,
+f.i.:\\[.25\baselineskip]
+\verb+\setmainfont{XCharter}+\\
+\verb+\setsansfont{Cabin}[Scale=MatchLowercase] % sf+\\
+\verb+\setmonofont{Inconsolatazi4}[Scale=MatchLowercase] % tt+\\[.25\baselineskip]
+otherwise you would get Latin Modern for text fonts.
+
+\subsection{Calling \pkg{xcharter-otf.sty} (recommended)}
+
+As an alternative to load \XCotf{} you can type:\\[.5\baselineskip]
+\verb+\usepackage[ +\textit{options}
+\footnote{Possible \textit{options} are \opt{loose}, \opt{no-text}, \opt{Scale=}
+ or any of the options described in sections \ref{ssection-um},
+ \ref{ssection-cv} and \ref{ssection-ss}.}%
+\verb+ ]{xcharter-otf}+\\[.5\baselineskip]
+it loads \pkg{unicode-math} with the default options, sets XCharter-Math
+as Math font and XCharter Text fonts as Roman fonts
+(families \textit{sf} and \textit{tt} left unchanged) but does a bit more:
+\begin{enumerate}
+\item it checks at \verb+\begin{document}+ if packages \pkg{amssymb} or
+ \pkg{latexsym} are loaded and issues warnings in case they are;
+\item it provides aliases for glyphs named differently in Unicode, so that
+ \pkg{latexsym} or AMS names are also available;
+\item it defines specific Math characters like
+ \showmchar{varemptyset},
+ \showmchar{parallelslant},
+ \showmchar{shortparallelslant}, etc.;
+\item it reduces spacing in math mode: \cmd{thinmuskip}, \cmd{medmuskip}
+ and \cmd{thickmuskip} unless the \opt{loose} option is activated.
+\end{enumerate}
+
+Apart from the \opt{loose} option mentionned above, \pkg{xcharter-otf.sty}
+provides two options \opt{no-text} and \opt{Scale=}\textsl{<decimal>} meant to
+be used to load the \XCotf{} font together with roman text fonts other than
+XCharter, while keeping the advantages 1. to~5. pointed in the preceeding list,
+f.i.\\ \verb+\usepackage[no-text,Scale=0.98]{xcharter-otf}+
+
+Option \opt{no-text} can also be useful if XCharter is to be loaded with
+specific options, f.i. \\
+\verb+\usepackage[no-text]{xcharter-otf}+\\
+\verb|\setmainfont{XCharter}[RawFeature=+onum;+ss01]|
+
+\section{What is provided?}
+
+\XCotf{} provides all glyphs supplied by \FGUT{} plus all glyphs available in
+the \pkg{amssymb} and \pkg{latexsym} packages and many more. Therefore, these
+two packages \emph{should not} be loaded as they might override \XCotf{} glyphs.
+
+Sans-serif, typewriter and fraktur styles are borrowed from Latin Modern fonts.
+See in section~\vref{ssec-math-alphabets} how to choose
+from other Math fonts for these styles.
+
+A full list of available glyphs is shown in file \file{unimath-xcharter.pdf}.
+
+\subsection{Upright or slanted?}
+\label{ssection-um}
+
+Package \pkg{unicode-math} follows \TeX{} conventions for Latin and Greek
+letters: in math mode, the default option (\opt{math-style=TeX}) prints
+Latin letters $a$…$z$ $A$…$Z$ and lowercase greek letters $\alpha$…$\omega$
+slanted (italic) while uppercase greek letters $\Alpha \Beta \Gamma$…$\Omega$
+are printed upright.
+This can be changed by option \opt{math-style} as shown in
+table~\vref{math-style}.
+
+\begin{table}[ht]
+ \centering
+ \caption{Effects of the \opt{math-style} package option.}
+ \hlabel{math-style}
+ \begin{tabular}{@{}>{\ttfamily}lcc@{}}
+ \hline
+ \rmfamily Package option & Latin & Greek \\
+ \hline
+ math-style=ISO & $(a,z,B,X)$ & $\symit{(\alpha,\beta,\Gamma,\Xi)}$ \\
+ math-style=TeX & $(a,z,B,X)$ & $(\symit\alpha,\symit\beta,\symup\Gamma,\symup\Xi)$ \\
+ math-style=french & $(a,z,\symup B,\symup X)$ & $(\symup\alpha,\symup\beta,\symup\Gamma,\symup\Xi)$ \\
+ math-style=upright & $(\symup a,\symup z,\symup B,\symup X)$ & $(\symup\alpha,\symup\beta,\symup\Gamma,\symup\Xi)$ \\
+ \hline
+ \end{tabular}
+\end{table}
+
+Bold letters are printed upright except lowercase Greek letters
+which are slanted (the default option is \opt{bold-style=TeX}). This can be
+changed by option \opt{bold-style} as shown in table~\vref{bold-style}.
+
+\begin{table}[ht]
+ \centering
+ \caption{Effects of the \opt{bold-style} package option.}
+ \hlabel{bold-style}
+ \begin{tabular}{@{}>{\ttfamily}lcc@{}}
+ \hline
+ \rmfamily Package option & Latin & Greek \\
+ \hline
+ bold-style=ISO & $(\symbfit a, \symbfit z, \symbfit B, \symbfit X)$ & $(\symbfit\alpha, \symbfit\beta, \symbfit\Gamma, \symbfit\Xi)$ \\
+ bold-style=TeX & $(\symbfup a,\symbfup z,\symbfup B,\symbfup X)$ & $(\symbfit\alpha, \symbfit\beta,\symbfup \Gamma,\symbfup \Xi)$ \\
+ bold-style=upright & $(\symbfup a,\symbfup z,\symbfup B,\symbfup X)$ & $(\symbfup \alpha,\symbfup \beta,\symbfup \Gamma,\symbfup \Xi)$ \\
+ \hline
+ \end{tabular}
+\end{table}
+
+Other possible customisation: $\nabla$ is printed upright and $\partial$ is
+printed slanted by default, but \opt{nabla=italic} and
+\opt{partial=upright} can change this.
+
+All these options are offered by the \pkg{unicode-math} package but they can
+be added to the \cmd{setmathfont} call%
+\footnote{IMHO it is easier to add \emph{all options} to the \cmd{setmathfont}
+ command.}, for example:
+
+\verb+\setmathfont{XCharter-Math.otf}[math-style=french,partial=upright]+\\
+will print for the code
+\begin{verbatim}
+\[ \frac{\partial f}{\partial x} = \alpha \symbf{V} + a\nabla\Gamma
+ + \symbf{\beta}\symbf{M} \]
+\end{verbatim}
+\setmathfont{XCharter-Math.otf}[math-style=french,partial=upright]
+\[\frac{\partial f}{\partial x} = \alpha \symbf{V} + a\nabla\Gamma +
+ \symbf{\beta}\symbf{M} \]
+while the default settings would print
+\setmathfont{XCharter-Math.otf}[math-style=TeX,partial=italic]
+\[\frac{\partial f}{\partial x} = \alpha \symbf{V} + a\nabla\Gamma +
+ \symbf{\beta}\symbf{M} \]
+
+Both shapes remain available anytime: \verb+$\uppi,\itpi$+
+prints $\uppi, \itpi$.
+
+If your text editor is able to handle greek letters or math symbols, they can
+be entered in the code instead control sequences (i.e.
+$\symup{α}$, $\symup{β}$, $\symup{Γ}$,… for \cmd{alpha}, \cmd{beta},
+\cmd{Gamma},…).
+
+\subsection{Character variants}
+\label{ssection-cv}
+
+\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.
+
+\begin{table}[ht]
+ \centering \caption{Character variants.}
+ \hlabel{cv}
+ \begin{tabular}{@{}>{\ttfamily}lccl@{}}
+ \hline
+ & Default & Variant & Name\\
+ \hline
+ cv00 & $0$ & $\mupvarzero$ & 0 \\
+ cv01 & $\hslash$ & $\mithbar$ & \cmd{hslash} \\
+ cv02 & $\emptyset$ & $\varemptyset$ & \cmd{emptyset} \\
+ cv03 & $\epsilon$ & $\varepsilon$ & \cmd{epsilon} \\
+ cv04 & $\kappa$ & $\varkappa$ & \cmd{kappa} \\
+ cv05 & $\pi$ & $\varpi$ & \cmd{pi} \\
+ cv06 & $\phi$ & $\varphi$ & \cmd{phi} \\
+ cv07 & $\rho$ & $\varrho$ & \cmd{rho} \\
+ cv08 & $\sigma$ & $\varsigma$ & \cmd{sigma} \\
+ cv09 & $\theta$ & $\vartheta$ & \cmd{theta} \\
+ cv10 & $\Theta$ & $\varTheta$ & \cmd{Theta}\\
+ cv20 & $\symscr{E}$ & $\varsymscrE$ & \cmd{symcal\{E\}}\\
+ cv21 & $\symscr{Q}$ & $\varsymscrQ$ & \cmd{symcal\{Q\}}\\
+ cv22 & $\symscr{T}$ & $\varsymscrT$ & \cmd{symcal\{T\}}\\
+ \hline
+ \end{tabular}
+\end{table}
+
+For instance, to get \cmd{epsilon} and \cmd{phi} typeset as $\varepsilon$
+and $\varphi$ instead of $\epsilon$ and $\phi$, you can add option
+\verb+CharacterVariant={3,6}+ to the \cmd{setmathfont} call:
+\begin{verbatim}
+\setmathfont{XCharter-Math.otf}[CharacterVariant={3,6}]
+\end{verbatim}
+
+This works for all shapes and weights of these characters: f.i.\ %
+\verb+$\symbf{\epsilon}$+, \verb+$\symbf{\phi}$+ are output as
+\setmathfont{XCharter-Math.otf}[CharacterVariant={3,6}]$\symbf{\epsilon}$,
+$\symbf{\phi}$ instead of
+\setmathfont{XCharter-Math.otf}$\symbf{\epsilon}$, $\symbf{\phi}$.
+
+Similarly with \opt{math-style=french}, \verb+\epsilon+ and \verb+\phi+
+are output as $\symup{\varepsilon}$ and $\symup{\varphi}$ (upright).
+
+Please note that curly braces are mandatory whenever more than one
+``Character Variant’’ is selected.
+
+Note about \cmd{hbar} (v\,0.43): \pkg{unicode-math} defines \cmd{hbar} as
+\cmd{hslash} (U+210F) while \pkg{amsmath} provides two different glyphs
+(italic h with horizontal or diagonal stroke).\\
+\pkg{XCharter Math} now follows \pkg{unicode-math}; the italic h with horizontal
+stroke can be printed using \cmd{hslash} or \cmd{hbar} together with character
+variant \texttt{cv01} or with \cmd{mithbar} (replacement for AMS’ command
+\cmd{hbar}).
+
+
+\subsection{Stylistic sets}
+\label{ssection-ss}
+
+\XCotf{} provides five ``Stylistic Sets’’ options to choose between different
+glyphs for families of mathematical symbols.
+
+\verb+StylisticSet=4+, alias%
+\footnote{These \texttt{Style} aliases are provided by \file{xcharter-otf.sty}.}
+\verb+Style=leqslant+, converts large
+inequalites into their slanted variants, see table~\vref{ss04}.
+
+\verb+StylisticSet=5+, alias \verb+Style=smaller+, converts some symbols into
+their smaller variants, see table~\vref{ss05}.
+\begin{table}[ht]
+ \centering
+ \caption{Stylistic Sets 4 and 5}
+ \subfloat[\texttt{Style=leqslant\quad (+ss04)}]{\hlabel{ss04}%
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
+ Command & Default & Variant \\
+ \hline
+ \cmd{leq} & $\leq$ & $\leqslant$ \\
+ \cmd{geq} & $\geq$ & $\geqslant$ \\
+ \cmd{nleq} & $\nleq$ & $\nleqslant$ \\
+ \cmd{ngeq} & $\ngeq$ & $\ngeqslant$ \\
+ \cmd{leqq} & $\leqq$ & $\leqqslant$ \\
+ \cmd{geqq} & $\geqq$ & $\geqqslant$ \\
+ \cmd{eqless} & $\eqless$ & $\eqslantless$ \\
+ \cmd{eqgtr} & $\eqgtr$ & $\eqslantgtr$ \\
+ \cmd{lesseqgtr} & $\lesseqgtr$ & $\lesseqslantgtr$ \\
+ \cmd{gtreqless} & $\gtreqless$ & $\gtreqslantless$ \\
+ \cmd{lesseqqgtr} & $\lesseqqgtr$ & $\lesseqqslantgtr$ \\
+ \cmd{gtreqqless} & $\gtreqqless$ & $\gtreqqslantless$ \\
+ \hline
+ \end{tabular}
+ }\hspace{10mm} % eof subfloat
+ \subfloat[\texttt{Style=smaller\quad (+ss05)}]{\hlabel{ss05}%
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
+ Command & Default & Variant \\
+ \hline
+ \cmd{in} & $\in$ & $\smallin$ \\
+ \cmd{ni} & $\ni$ & $\smallni$ \\
+ \cmd{mid} & $\mid$ & $\shortmid$ \\
+ \cmd{nmid} & $\nmid$ & $\nshortmid$ \\
+ \cmd{parallel} & $\parallel$ & $\shortparallel$ \\
+ \cmd{nparallel} & $\nparallel$ & $\nshortparallel$ \\
+ \cmd{parallelslant} & $\parallelslant$ & $\shortparallelslant$ \\
+ \cmd{nparallelslant} & $\nparallelslant$ & $\nshortparallelslant$ \\
+ \hline
+ \end{tabular}
+ }% eof subfloat
+\end{table}
+
+%\pagebreak[4]
+\verb+StylisticSet=6+, alias \verb+Style=subsetneq+, converts some inclusion
+symbols, as shown in table~\vref{ss06}.
+
+\verb+StylisticSet=7+, alias \verb+Style=parallelslant+, converts
+``parallel’’ symbols into their slanted variants, see table~\vref{ss07}.
+\begin{table}[ht]
+ \centering
+ \caption{Stylistic Sets 6 and 7}
+ \subfloat[\texttt{Style=subsetneq\quad (+ss06)}]{\hlabel{ss06}%
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
+ Command & Default & Variant \\
+ \hline
+ \cmd{subsetneq} & $\subsetneq$ & $\varsubsetneq$ \\
+ \cmd{supsetneq} & $\supsetneq$ & $\varsupsetneq$ \\
+ \cmd{subsetneqq} & $\subsetneqq$ & $\varsubsetneqq$ \\
+ \cmd{supsetneqq} & $\supsetneqq$ & $\varsupsetneqq$ \\
+ \hline
+ \end{tabular}
+ }\hspace{10mm} % eof subfloat
+ \subfloat[\texttt{Style=parallelslant\quad (+ss07)}]{\hlabel{ss07}%
+ \begin{tabular}[t]{@{}lcc@{}}
+ \hline
+ Command & Default & Variant \\
+ \hline
+ \cmd{parallel} & $\parallel$ & $\parallelslant$ \\
+ \cmd{nparallel} & $\nparallel$ & $\nparallelslant$ \\
+ \cmd{shortparallel} & $\shortparallel$ & $\shortparallelslant$ \\
+ \cmd{nshortparallel} & $\nshortparallel$ & $\nshortparallelslant$ \\
+ \hline
+ \end{tabular}
+ } % eof subfloat
+\end{table}
+
+To enable Stylistic Sets 4, 6 and 7 for \XCotf{}, you should enter
+\begin{verbatim}
+\setmathfont{XCharter-Math.otf}[StylisticSet={4,6,7}] or
+\usepackage[Style={leqslant,subsetneq,parallelslant}]{xcharter-otf}
+\end{verbatim}
+then, \verb+\[x\leq y \quad A \subsetneq B \quad D \parallel D'\]+
+will print as
+\setmathfont{XCharter-Math.otf}[StylisticSet={4,6,7}]
+\[x\leq y \quad A \subsetneq B \quad D \parallel D'\]
+instead of
+\setmathfont{XCharter-Math.otf}
+\[x\leq y \quad A \subsetneq B \quad D \parallel D'\]
+
+%\pagebreak[4]
+\verb+StylisticSet=3+, alias%
+\footnote{These \texttt{Style} aliases are provided by \file{xcharter-otf.sty}.}
+\verb+Style=upint+, converts integrals signs into their upright
+variants, see table~\vref{ss03}.
+\begin{table}[ht]
+ \let\DS\displaystyle
+ \centering
+ \caption{Style=upint\quad (+ss03)}\hlabel{ss03}
+ \begin{tabular}[t]{@{}l*{8}c@{}}
+ \hline
+ Command &\cmd{int} &\cmd{iint} &\cmd{iiint} &\cmd{iiiint}
+ &\cmd{oint} &\cmd{oiint} &\cmd{oiiint} \\
+ \hline
+ Default\rule[-15pt]{0pt}{35pt} &$\DS\int$ &$\DS\iint$ &$\DS\iiint$ &$\DS\iiiint$
+ &$\DS\oint$ &$\DS\oiint$ &$\DS\oiint$ &$\DS\oiiint$
+ \\[\baselineskip]
+ \setmathfont{XCharter-Math.otf}[Style=upint]
+ Upright\rule[-15pt]{0pt}{30pt} &$\DS\int$ &$\DS\iint$ &$\DS\iiint$ &$\DS\iiiint$
+ &$\DS\oint$ &$\DS\oiint$ &$\DS\oiint$ &$\DS\oiiint$ \\
+ \hline
+ \end{tabular}\\[\baselineskip]
+ \setmathfont{XCharter-Math.otf}
+ \begin{tabular}[t]{@{}l*{4}c@{}}
+ \hline
+ Command &\cmd{intclockwise} &\cmd{awint}
+ &\cmd{varointclockwise} &\cmd{ointctrclockwise} \\
+ \hline
+ Default\rule[-15pt]{0pt}{35pt} &$\DS\intclockwise$ &$\DS\awint$
+ &$\DS\varointclockwise$ &$\DS\ointctrclockwise$ \\
+ \setmathfont{XCharter-Math.otf}[Style=upint]
+ Upright\rule[-15pt]{0pt}{30pt} &$\DS\intclockwise$ &$\DS\awint$
+ &$\DS\varointclockwise$ &$\DS\ointctrclockwise$ \\
+ \hline
+ \end{tabular}
+\end{table}
+\setmathfont{XCharter-Math.otf}
+
+\subsection{Other font features}
+\label{ssec-other-features}
+
+To get oldstyle numbers in Maths, the feature \texttt{+onum} is available:
+\begin{verbatim}
+\setmathfont{XCharter-Math.otf}[Numbers=OldStyle] or
+\usepackage[Style={fulloldstyle]{xcharter-otf}
+\end{verbatim}
+
+\setmathfont{XCharter-Math.otf}[Numbers=OldStyle]
+$0123456789, \symbf{0123456789}$
+\setmathfont{XCharter-Math.otf}
+
+\subsection{Standard \LaTeX{} math commands}
+\label{ssec-math-commands}
+
+All standard \LaTeX{} math commands, all \pkg{amssymb} commands and all
+\pkg{latexsym} commands are supported by \XCotf{}, for some of them loading
+\pkg{xcharter-otf.sty} is required.
+
+Various wide acccents are also supported:
+\begin{itemize}
+\item \cmd{widehat} and \cmd{widetilde}
+\[\widehat{x}\; \widehat{xx} \;\widehat{xxx} \;\widehat{xxxx}\;
+ \widehat{xxxxx} \;\widehat{xxxxxx} \;\widetilde{x}\; \widetilde{xx}\;
+ \widetilde{xxx} \;\widetilde{xxxx} \;\widetilde{xxxxx}\;
+ \widetilde{xxxxxx}\]
+
+\item \cmd{overline} and \cmd{underline}
+ \[\overline{x}\quad \overline{xy}\quad \overline{xyz}\quad
+ \overline{A\cup B}\quad \overline{A\cup (B\cap C)\cup D}\quad
+ \underline{m+n+p}\]
+
+\item \cmd{wideoverbar}, \cmd{widecheck} and \cmd{widebreve}
+ \[\wideoverbar{x}\quad \wideoverbar{xy}\quad \wideoverbar{xyz}\quad
+ \widecheck{x}\quad \widecheck{xxxx}\quad \widecheck{xxxxxx}\quad
+ \widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}
+ \]
+
+\item \cmd{overparen} and \cmd{underparen}
+ \[\overparen{x}\quad \overparen{xy}\quad \overparen{xyz}\quad
+ \mathring{\overparen{A\cup B}}\quad
+ \overparen{A\cup (B\cap C)\cup D}^{\smwhtcircle}\quad
+ \overparen{x+y}^{2}\quad \overparen{a+b+...+z}^{26}\]
+
+\[\underparen{x}\quad \underparen{xz} \quad \underparen{xyz}
+ \quad \underparen{x+z}_{2}\quad \underparen{a+b+...+z}_{26}\]
+
+\item \cmd{overbrace} and \cmd{underbrace}
+ \[\overbrace{a}\quad \overbrace{ab}\quad \overbrace{abc}\quad
+ \overbrace{abcd}\quad \overbrace{abcde}\quad
+ \overbrace{a+b+c}^{3}\quad \overbrace{ a+b+. . . +z }^{26}\]
+
+\[\underbrace{a}\quad\underbrace{ab}\quad\underbrace{abc}\quad
+ \underbrace{abcd}\quad \underbrace{abcde}\quad
+ \underbrace{a+b+c}_{3} \quad \underbrace{ a+b+...+z }_{26}\]
+
+\item \cmd{overbracket} and \cmd{underbracket}
+ \[\overbracket{a}\quad \overbracket{ab}\quad \overbracket{abc}\quad
+ \overbracket{abcd}\quad \overbracket{abcde}\quad
+ \overbracket{a+b+c}^{3}\quad \overbracket{ a+b+. . . +z }^{26}\]
+
+\[\underbracket{a}\quad\underbracket{ab}\quad\underbracket{abc}\quad
+ \underbracket{abcd}\quad \underbracket{abcde}\quad
+ \underbracket{a+b+c}_{3} \quad \underbracket{ a+b+...+z }_{26}\]
+
+\item \cmd{overrightarrow} and \cmd{overleftarrow}
+ \[\overrightarrow{v}\quad \overrightarrow{M}\quad \overrightarrow{vv}
+ \quad \overrightarrow{AB}\quad \overrightarrow{ABC}
+ \quad \overrightarrow{ABCD} \quad \overrightarrow{ABCDEFGH}.
+\]
+
+\[\overleftarrow{v}\quad \overleftarrow{M}\quad \overleftarrow{vv}
+ \quad \overleftarrow{AB}\quad \overleftarrow{ABC}
+ \quad \overleftarrow{ABCD} \quad \overleftarrow{ABCDEFGH}\]
+
+\item Finally \cmd{widearc} and \cmd{overrightarc} (loading
+ \pkg{xcharter-otf.sty} is required)
+\[\widearc{AMB}\quad \overrightarc{AMB}\]
+\end{itemize}
+
+\subsection{Mathematical alphabets}
+\label{ssec-math-alphabets}
+
+\begin{itemize}
+\item All Latin and Greek characters are available in italic, upright, bold
+ and bold italic via the \verb+\symit{}+, \verb+\symup{}+, \verb+\symbf{}+
+ and \verb+\symbfit{}+ commands.
+
+\item Calligraphic alphabet (\cmd{symscr} or \cmd{symcal} or
+ \cmd{mathcal} command), uppercase:
+
+ $\symscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
+
+\item Blackboard-bold alphabet (\cmd{symbb} or \cmd{mathbb} command)
+ uppercase only, plus \verb+\Bbbone+ and \verb+\Bbbk+:
+
+ $\symbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}, \Bbbone, \Bbbk$
+
+\item Fraktur alphabet is borrowed from Latin Modern,
+
+ $\symfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
+
+ but this can overwritten, i.e.
+\begin{verbatim}
+\setmathfont{Asana-Math.otf}[range=frak,Scale=MatchUppercase]
+$\symfrak{ABCDEFGHIJKL...XYZ abcdefghijkl...xyz}$
+\end{verbatim}
+\setmathfont{Asana-Math.otf}[range=frak,Scale=MatchUppercase]
+$\symfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
+
+\item Sans serif alphabet is borrowed from Latin Modern,
+
+$\symsfup{ABCDEFGHIJKLM abcdefghijk}\quad\symsfit{NOPQRSTUVWXYZ mnopqrstuvwxyz}$
+
+ but it can be borrowed from another Math font, i.e.
+\begin{verbatim}
+\setmathfont{STIXTwoMath-Regular.otf}[range={sfup,sfit},
+ Scale=MatchUppercase]
+$\symsfup{ABCD...klm}\quad\symsfit{NOPQ...xyz}$
+\end{verbatim}
+\setmathfont{STIXTwoMath-Regular.otf}[range={sfup,sfit},Scale=MatchUppercase]
+$\symsfup{ABCDEFGHIJKLM abcdefghijklm}\quad
+ \symsfit{NOPQRSTUVWXYZ nopqrstuvwxyz}$
+
+\item Typewriter alphabet is borrowed from Latin Modern,
+
+ $\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
+
+but it can be borrowed from another Math font, i.e.
+\begin{verbatim}
+\setmathfont{STIXTwoMath-Regular.otf}[range=tt,
+ Scale=MatchUppercase]
+$\symtt{ABCDE...XYZ abcde...xyz}$
+\end{verbatim}
+\setmathfont{STIXTwoMath-Regular.otf}[range=tt,Scale=MatchUppercase]
+$\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
+\end{itemize}
+
+%\item Sans serif and Typewriter alphabets are not implemented
+% but they can be borrowed from another Math font, i.e.
+%\begin{verbatim}
+%\setmathfont{STIXTwoMath-Regular.otf}[range={sfup,sfit,tt},
+% Scale=MatchUppercase]
+%$\symsfup{ABCD...klm}\quad\symsfit{NOPQ...xyz}$
+%$\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
+%\end{verbatim}
+%\setmathfont{STIXTwoMath-Regular.otf}[range={sfup,sfit,tt},Scale=MatchUppercase]
+%$\symsfup{ABCDEFGHIJKLM abcdefghijklm}\quad
+% \symsfit{NOPQRSTUVWXYZ nopqrstuvwxyz}$\\
+%$\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
+%\end{itemize}
+
+Like Latin Modern, XCharter Math provides only four lowercase latin letters in
+script (or calligraphic) shape: $\mscre$, $\mscrg$, $\ell$, $\mscro$
+(\verb+\mscre+, \verb+\mscrg+, \verb+\ell+, \verb+\mscro+).
+
+All others (range \verb+"1D4B6+ to \verb+"1D4CF+) have to be borrowed
+from another Math font if needed, i.e.
+\begin{verbatim}
+\setmathfont{LibertinusMath-Regular.otf}%
+ [range="1D4B6-"1D4CF, Scale=MatchLowercase]
+\end{verbatim}
+
+\subsection{Missing symbols}
+
+\XCotf{} does not aim at being as complete as \file{STIXTwoMath-Regular} or
+\file{Cambria}, the current glyph coverage compares with TeXGyre Math fonts.
+In case some symbols do not show up in the output file, you will see warnings
+in the \file{.log} file, for instance:
+
+\setmathfont{STIXTwoMath-Regular.otf}[range={"2964}]
+\texttt{Missing character: There is no }$⥤$%
+\texttt{ (U+2964) in font XCharterMath}
+
+Borrowing them from a more complete font, say \file{Asana-Math},
+is a possible workaround:
+\verb+\setmathfont{Asana-Math.otf}[range={"2964},Scale=1.02]+\\
+scaling is possible, multiple character ranges are separated with commas:\\
+\verb+\setmathfont{Asana-Math.otf}[range={"294A-"2951,"2964,"2ABB-"2ABE}]+
+
+Let’s mention \pkg{albatross}, a useful tool to find out the list of fonts
+providing a given glyph: f.i. type in a terminal ``\texttt{albatross U+2964}’’,
+see the manpage or \file{albatross-manual.pdf}.
+
+\section{Acknowledgements}
+
+Many thanks to Michael Sharpe for providing the XCharter text fonts in
+OpenType format.
+
+I am grateful to George Williams and his co-workers for providing and
+maintaining FontForge and to Ulrik Vieth for his illuminating paper published
+in TUGboat~2009 Volume~30 about Open Type Math.
+
+
+\bigskip
+\begin{center}\Huge
+\decotwo
+\end{center}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-engine: luatex
+%%% TeX-master: t
+%%% coding: utf-8
+%%% End: