diff options
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.ltx | 613 |
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: |