\documentclass{article} \synctex=1 \def\xstacked{x̧̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̹̺̻̼͇͈͉͍̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̑̓̔̽̾͆͝͠͡} %\def\ttxstackedup{\sffamily x̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̑̓̔̽̾͆͝͠͡} %\def\ttxstackeddown{\ttfamily x̧̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̹̺̻̼͇͈͉͍} \usepackage{polyglossia} \setmainlanguage{english} \setotherlanguage[variant=polytonic]{greek} \usepackage[hidelinks,pdfa]{hyperref} %\usepackage{xgreek} \usepackage{pstricks} \renewcommand{\TeX}{T\kern-.5ex\raisebox{-.5ex}{E}\kern-.4exX} \renewcommand{\LaTeX}{L\kern-.8ex\raisebox{.6ex}{\textsc{a}}\kern-.3ex\TeX} \newcommand{\XeLaTeX}{X\kern-.45ex\raisebox{-.5ex}{\reflectbox{E}}\kern-.4ex\LaTeX} \newcommand{\LuaLaTeX}{Lua\LaTeX} \usepackage[default,varnothing]{fontsetup} \usepackage{unicodefonttable,graphicx,wrapfig,xcolor,calc} \newfontfamily\lmboldsans{lmsans10-bold.otf} \newfontfamily\newcmaltendings[CharacterVariant=2]{NewCM10-Book.otf} \newfontfamily\newcmaltk[CharacterVariant=1]{NewCM10-Book.otf} \newfontfamily\newcmdlig[RawFeature=+dlig]{NewCM10-Book.otf} %\newfontfamily\uncial{NewCMUncial10-Book.otf} \newfontfamily\newcmgreekguillemots[CharacterVariant=4]{NewCM10-Book.otf} \newfontfamily\newcmrussianguillemots[CharacterVariant=3]{NewCM10-Book.otf} \newfontfamily\showtiefont[CharacterVariant=5]{NewCM10-Book.otf} \newfontfamily\ipafont[%Renderer = {Harfbuzz}, StylisticSet = {05},ItalicFont=NewCM10-BookItalic]{NewCM10-Book.otf} \newfontfamily\greekalts[StylisticSet=6]{NewCM10-Book.otf} \newfontfamily\middlegreekon[StylisticSet=6,StylisticSet=7]{NewCM10-Book.otf} \newfontfamily\middlegreekonsans[StylisticSet=6,StylisticSet=7]{NewCMSans10-Book.otf} \newfontfamily{\mathastext}{NewCMMath-Book.otf} \newfontfamily{\mathastextnewcm}[StylisticSet=3]{NewCMMath-Book.otf} \newfontfamily{\cyrcmu}[RawFeature=+cmu]{NewCM10-Book.otf} % %%%%%%%%%%%%%%%%%%%%%%%%%%%% Devanagari text %%%% \newfontfamily\hinditext[% Script=Devanagari,% BoldFont=NewCM10Devanagari-Bold.otf, % Renderer=Harfbuzz% Optionally for LuaTeX ]{NewCM10Devanagari-Book.otf} \newfontfamily\marathitext[% Script=Devanagari,% Language=Marathi, % Renderer=Harfbuzz% Optionally for LuaTeX ]{NewCM10Devanagari-Book.otf} \newfontfamily\sanskrittext[% Script=Devanagari,% Language=Sanskrit, % Renderer=Harfbuzz% Optionally for LuaTeX ]{NewCM10Devanagari-Book.otf} \newfontfamily\nepalitext[% Script=Devanagari,% Language=Nepali, % Renderer=Harfbuzz% Optionally for LuaTeX ]{NewCM10Devanagari-Book.otf} \newcommand{\devanagaritext}{\marathitext} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \definecolor{mygray}{gray}{.9} \definecolor{mygrayone}{gray}{.9} \definecolor{mygraytwo}{gray}{.8} \definecolor{mygraythree}{gray}{.78} \definecolor{mygrayfour}{gray}{.75} \definecolor{mygrayfive}{gray}{.65} \definecolor{myred}{RGB}{255,66,32} \newfontfamily\lrgstack[Scale=2.5,Color=myred]{NewCM10-Book.otf} \newfontfamily\lrg[Scale=4,Color=myred]{NewCM10-Book.otf} \newfontfamily\lrgs[Scale=4,Color=myred,StylisticSet=2]{NewCMSans10-Regular.otf} \newfontfamily\lrgsiv[Scale=4,Color=myred,StylisticSet=4]{NewCMSans10-Regular.otf} \newfontfamily\lrgb[Scale=4,Color=myred]{NewCM10-Bold.otf} \newfontfamily\lrgu[Scale=4,Color=myred]{NewCMUncial10-Book.otf} \newfontfamily\grayone[Color=mygrayone,Opacity=0.7,Scale=12]{NewCM10-Book.otf} \newfontfamily\graytwo[Color=mygraytwo,Opacity=0.7,Scale=8]{NewCM10-Book.otf} \newfontfamily\graytwos[Color=mygraytwo,Opacity=0.7,Scale=6]{NewCM10-Book.otf} \newfontfamily\graythree[Color=mygraythree,Opacity=0.7,Scale=12]{NewCM10-Book.otf} \newfontfamily\grayfour[Color=mygrayfour,Opacity=0.7,Scale=10]{NewCM10-Book.otf} \newfontfamily\grayfive[Color=mygrayfive,Opacity=0.7,Scale=12]{NewCM10-Book.otf} \newfontfamily\ugrayone[Color=mygrayone,Opacity=0.7,Scale=9]{NewCMUncial10-Book.otf} \newfontfamily\ugraythree[Color=mygraythree,Opacity=0.7,Scale=12]{NewCMUncial10-Book.otf} \newfontfamily\ugrayfour[Color=mygrayfour,Opacity=0.7,Scale=10]{NewCMUncial10-Book.otf} % \newfontfamily\grayoneb[Color=mygrayone,Opacity=0.7,Scale=12]{NewCM10-Book.otf} \newfontfamily\graytwob[Color=mygraytwo,Opacity=0.7,Scale=10]{NewCM10-Book.otf} \newfontfamily\graythreeb[Color=mygraythree,Opacity=0.7,Scale=12]{NewCM10-Book.otf} \newfontfamily\grayfourb[Color=mygrayfour,Opacity=0.7,Scale=10]{NewCM10-Book.otf} \newfontfamily\grayfiveb[Color=mygrayfive,Opacity=0.7,Scale=12]{NewCM10-Book.otf} \newfontfamily\devgray[Color=mygrayfive,Opacity=0.4,Scale=10,Script=Devanagari]{NewCM10Devanagari-Book.otf} \newfontfamily\devgraytwo[Color=mygrayone,Scale=10,Script=Devanagari,Language=Marathi]{NewCM10Devanagari-Book.otf} \newcommand\leftgrquotes{\char"201C} %{\char"2018} \newcommand\rightgrquotes{\char"201E} %{\char"2019} \newcommand{\acro}{\relax} %%% Start of metadata %%% \newtheorem{theorem}{Θεώρημα}[section] \newtheorem{devtheorem}[theorem]{प्रमेय} %\DeclareSymbolFont{devletters}{\encodingdefault}{NewCMMath-Regular.otf(0)}{}{} %\ExplSyntaxOn %\int_step_inline:nnn { "0900 } { "097F } %{ % \Umathcode #1 = "0 ~ \use:c{ symdevletters } ~ #1 %} %\ExplSyntaxOff \renewcommand{\arraystretch}{1.4} \title{The New Computer Modern FontFamily\\ version 7.1.0} \author{Antonis Tsolomitis} %\address{Department of Mathematics\\ University of the Aegean\\ Karlovassi, 832\,00 Samos\\ Greece} %\netaddress{atsol (at) aegean dot gr} %\personalURL{https://myria.math.aegean.gr/~atsol/} %%% End of metadata %%% \begin{document} \mathversion{bold} \newsavebox{\mathcalscrA} \savebox{\mathcalscrA}{$\symcal A$ $\symbfscr A$} \mathversion{normal} % \rput(-2,-3){\devgray ल}% \rput(10.2,-4){\devgraytwo ल\char"093F\char"0902}% \rput(0,0){\grayone ζ}\rput(1,-0.5){\grayfour β} \rput(0,-5){\grayone ἆ}\rput(1,-5){\graythree ἃ}\rput(2.5,-5){\grayone ἶ}% \rput(3.5,-5){\graythree ῗ}\rput(5,-5){\grayone ᾦ}\rput(6,-5){\graythree ᾓ} \rput(-2,2){\scalebox{1.5}{\graythree γ}} \rput(5,-1.5){\graytwo א}\rput(0,-10){\graytwo ש}\rput(6,-12.5){\graytwo שּׁ} \rput(14,-14){\ugraythree Ε} \rput(1,-14){\ugrayfour Ω}% \rput(4.2,-19.8){\ugraythree t} \rput(3,-21){\ugrayfour M}% \rput(4,-15){\ugraythree D} \rput(5,-14){\ugrayone H} \rput(5,1.5){\grayone π} \rput(3,1.5){\graytwo δ} \rput(2,-11){\graytwos Ꮙ} \rput(3,-12){\graytwo ѽ} \rput(4,-10){\graythree Ψ} \rput(7,-10){\grayone ɮ} \rput(-2,-14){\graytwo ʥ} \rput(0,-17){\ugraythree Δ} \rput(1,-16){\grayone ξ} \rput(5,-18){\grayfour ϋ} \rput(9,-19){\ugrayone Β} \rput(7,-15){\graytwo Ƅ} \rput(10,-2){\grayfive ƴ} \rput(-3.7,-17){\graytwo 𐅴} \rput(6,0){\ugraythree G} \rput(-3,-11){\graytwo ϒ} \rput(-2,-10){\ugraythree \&} \rput(-5,-12){\graytwo Ю} % \rput(0,-12){\graytwos Ꭳ} \rput(8,-13){\graytwos Ⲍ} \rput(9,-12){\graytwos ⲯ} \rput(8,-15){\graytwos Ⲝ} \rput(-2,-17){\graytwos Ꮉ} \rput(-2.5,-20){\ugraythree @} \rput(-1,-19){\grayfour λ} \rput(8,-20){\graytwos Ж} \rput(7,-21){\graytwos Ⳛ} \rput(6,-10){\graytwos 𐅷} \rput(7,-17){\graytwos 𐋣} \rput(3,-18){\graytwos ⠣} \rput(12.0,-16){\lrgstack\color{myred} \xstacked} \rput(10,-10){{\lrgsiv Α} {\lrgs Α}} \rput(10,-12){\lrg a A} \rput(10,-14){\lrg ᾃ ᾍ} \rput(10,-16){\lrg ⲁ Ⲁ} \rput(10,-18){\lrgu a A} \rput(10,-20){\lrg א אּ} \rput(10,-22){\lrg ꭿ Ꭿ} % \thispagestyle{empty} \psline[linewidth=3cm,linecolor=white](-6,-7)(17,-7) \rput(5.5,-6.6){\color{myred}\huge The NewComputerModern FontFamily} \rput(5.5,-7.6){\Large Antonis Tsolomitis\ \textbullet\ University of the Aegean\ \textbullet\ Department of Mathematics} \psline[linewidth=2cm,linecolor=myred](15.9,-7)(17,-7) \psline[linewidth=2cm,linecolor=myred](-6,-7)(-4.8,-7) \newpage \null\thispagestyle{empty} \newpage \maketitle \tableofcontents \section{Introduction} The NewComputerModern FontFamily is a huge extension (``huge'' in terms of the number of additional glyphs) of the \verb|lm| fonts. It is not just a family adding random missing glyphs but it adds support for several more languages and shapes needed for academic (and not only) work. Currently it supports among others, Greek\footnote{from Claudio Beccari's Greek.}, Cyrillic\footnote{from the \texttt{cmu} package.}, Devanagari, Hebrew, Coptic, Cherokee and Canadian Aboriginal. Since it supports diacritics stacking the number of languages that use the Latin alphabet is greatly expanded. Diacritics stacking is also needed for Greek for papyrological work and this is also supported. Version 4.0 adds to the classic design of computer modern new shapes for Latin and Greek, in particular it adds families for Medieval Latin and Uncial Greek matching in style to the main family. In terms of weights and sizes, all of its shapes come in Regular, Book weights at 10 and 8 point sizes and in Bold at 10 points. Mathematics is also supported in Regular and Book weights, currently providing a full coverage of the Unicode Math blocks (with a few more glyphs needed for Mathematics that Unicode has forgotten to encode). \textit{What follows is a sequence of commands and results so as to show how to access all features of the fonts. Character tables are also included}. \textsc{Important:} If you want to provide patches for the fonts please contact me before you create them. The fonts evolve quickly and you may not have the latest development version and your patches may not apply if created for the published version. \section{How to load the fonts} The simpler way to load the fonts is through the \verb|fontsetup| package. The command \verb|\usepackage[default]{fontsetup}| \noindent will load the Book weight of the NewCM family, \verb|\usepackage[olddefault]{fontsetup}| \noindent will load the Regular weight, and \verb|\usepackage[sansdefault]{fontsetup}| \noindent will load the Sans Serif NewCM family. Notice that the Mono family has Italic fonts only for Regular and Book weights but for the Bold it has Oblique. To avoid confusion fontspec files are provided that provide the Oblique shape for Regular and Book using the FakeBold fontspec parameter. Also notice that the fonts support the microtype package for fine typographic tuning. See the documentation of microtype for this. \section{The Latin alphabet} \subsection{Ligatures and stylistic alternatives in Latin} {\newcmaltk The Serif font includes additional ligatures fb ffb ffh ffj ffk fft fh fj ft fk and the same with longs instead of f in the \textit{default} liga table (in addition to the default fi fl ffi ffl ff). It also includes an alternative k (in the cv01 table) and {\newcmdlig sp ch ck ct st il} in the dlig table. Finally it also inludes} ``end'' {\newcmaltk versions for the letters a, e, m, n and r in the cv02 table. } To access the alternative k load the relative font (here the Book weight) with \verb|\setmainfont[CharacterVariant=1]{NewCM10-Book.otf}| To load the same font with the dlig table enabled use \verb|\setmainfont[RawFeature=+dlig]{NewCM10-Book.otf}| and to load the font with endings variations use \verb|\setmainfont[CharacterVariant=2]{NewCM10-Regular.otf}| Of course the above can be mixed separating the optional arguments with comma, or one can define a custom font say by using \verb|\newfontfamily\myfont[]{NewCM10-Book.otf}| \begin{center} \begin{tabular}{c|c|c|c} Book & k & a e m n r & sp ch ck ct st il\\ \hline cv01 & {\newcmaltk k} & & \\ \hline cv02 & & {\newcmaltendings a e m n r} & \\ \hline dlig & & & {\newcmdlig sp ch ck ct st il} \end{tabular} \end{center} \subsection{Oldstyle numbers} Typically oldstyle numbers are available in \verb|onum| Lookup and with the \verb|\textsc| if \verb|fontsetup| is loaded. Also available they are with \verb|\oldstylenums|. There are two series, one is with variable widths and one with fixed width for use in tables. The code \begin{verbatim} \oldstylenums{0123456789}\addfontfeatures{Numbers=Tabular} \textsc{0123456789} \end{verbatim} gives \oldstylenums{0123456789}\addfontfeatures{Numbers=Tabular} \textsc{0123456789}\addfontfeatures{Numbers=Proportional} \medskip \noindent An alternative design is also provided for the number 1 in cv06. The code \begin{verbatim} \oldstylenums{0123456789}\addfontfeatures{CharacterVariant=6} \oldstylenums{0\textcolor{red}{1}23456789} \addfontfeatures{CharacterVariant=6,Numbers=Tabular} \oldstylenums{0\textcolor{red}{1}23456789} \end{verbatim} gives \oldstylenums{0123456789}\addfontfeatures{CharacterVariant=6} \oldstylenums{0\textcolor{red}{1}23456789}\addfontfeatures{CharacterVariant=6,Numbers=Tabular} \oldstylenums{0\textcolor{red}{1}23456789} \subsection{Old Italic} The fonts also fully support the Old Italic Unicode block (U10300--U1032F) in the Sans font. For example, the slots U10307, U10310, U10312, U10314, U1031F and U1032F are {\sffamily\char"10307\char"10310\char"10312\char"10314\char"1031F\char"1032F}. \subsection{Diacritics Stacking} \marginpar{\begin{center} \ \\[-1cm] {\color{red}$\rightarrow$}\ \xstacked\quad{\sffamily\xstacked}\quad{\ttfamily\xstacked}\ {\color{red}$\leftarrow$} \end{center}} Diacritics---the full block U+0300 to U+036F---and diacritics stacking is supported. In the margin you can see an example of stacking on the letter ``x'' in Roman, Sans and Mono. If you need to enter these accents you can use the \verb|\char| command or just copy-paste from the following line (from this pdf file or the provided source \TeX\ file): \begin{center} \textit{Some} of the upper accents\\[1ex] {\Large ̀\quad ́\quad ̂\quad ̃\quad ̄\quad ̅\quad\quad ̆\quad ̇\quad ̈\quad ̉\quad ̊\quad ̋}\\ {\Large ̌\quad ̍\quad ̎\quad ̏\quad ̑\quad ̓\quad ̔\quad ̽\quad ̾\quad ̚\quad ͆\quad ͝\quad ͠\quad ͡}\\ \textit{Some} of the lower accents\\ {\Large ̧\quad ̖\quad ̗\quad ̘\quad ̙\quad ̜\quad ̝\quad ̞\quad ̟\quad ̠\quad ̣\quad ̤\quad ̥\quad ̦}\\ {\Large ̩\quad ̪\quad ̫\quad ̬\quad ̭\quad ̮\quad ̯\quad ̰\quad ̱\quad ̲\quad ̹\quad ̺\quad ̻\quad ̼\quad ͇\quad ͈\quad ͉\quad ͍} \end{center} Please note that stacking is by default supported with xetex. With luatex you have to add the option \texttt{Renderer=Harfbuzz}, say by \noindent\verb|\addfontfeatures{Renderer=Harfbuzz}| Also notice that your text editor may not support stacking. The editor may show the accents one after the other, but the pdf produced by xetex or luatex will have the accents stacked. \subsubsection{Coloring diacritics} If one wants to use color for diacritics, different from the color of the base character this does not work with \XeLaTeX\ (the commands of the \verb|color| package break the stacking mechanism). It works though with \LuaLaTeX\ using the \verb|luacolor| package. However, there is a problem when the base glyph and the first diacritic above exist in the font as a precomposed character. For example, this is the case with aacute (á) (U+00E1). Such characters are treated as one by Lua and they can not be colorized with different colors. A work around is to place the empty character U+034F between ``a'' and acute (U+0301). So the following minimal example produces the result below: \begin{verbatim} \documentclass{article} \usepackage[olddefault]{fontsetup} \usepackage{luacolor} \pagestyle{empty} \newfontfamily{\ncmtest}[Renderer=Harfbuzz]{NewCM10-Regular.otf} \definecolor{orange}{RGB}{255,191,0} \definecolor{colorone}{RGB}{91,0,250} \definecolor{colortwo}{RGB}{250,0,121} \definecolor{colorthree}{RGB}{0,204,250} \definecolor{colorfour}{RGB}{14,250,0} \definecolor{colorfive}{RGB}{255,150,0} \definecolor{colorgray}{gray}{0.8} \newcommand{\emptydiacritic}{\char"034F} \begin{document} \Huge {\ncmtest \color{colorgray}a\color{colorfour}̖\color{colortwo}̗% \emptydiacritic\color{colorthree}́ \color{colorone}̀ \color{colorfive}̐ } \end{document} \end{verbatim} \vspace{-5.5cm} \null \hfill\includegraphics[scale=2]{colored-diacritics.pdf} \vspace{2cm} \section{Greek} The full Unicode Greek block is supported, which is \begin{itemize} \item U0370--U03FF for monotonic, where missing glyphs, such as Heta (Ͱ), Pamphilian digamma (ͷ) etc, have been added. For example, it is now possible to write \centerline{βιϐλίο instead of βιβλίο.} In order to auto select this conversion for middle beta and theta the StylisticSets \verb|ss06| and \verb|ss07| must be enabled with, say, \noindent\verb|\addfontfeatures{StylisticSet=6,StylisticSet=7}| \textit{Important}: if you add font features like the above in the preamble you need to set them with \verb|\AtBeginDocument|. So in the preamble you must have \noindent\verb|\AtBeginDocument{\addfontfeatures{StylisticSet=6,StylisticSet=7}}| To disable this feature you can do \noindent\verb|\addfontfeature{RawFeature={-ss06},RawFeature={-ss07}}| Notice also that the original Beccari fonts for Greek used only the open theta {\greekalts θ}. However, this violates the Unicode standard description for this glyph which proposes the closed theta θ. If you want the original behavior you need to enable \verb|ss06|. \begin{center} \begin{tabular}{|c|c|c|} \hline \texttt{Source} & \texttt{βιβλίο} & \texttt{θυμήθηκα}\\ \hline \texttt{ss06} enabled & {\greekalts βιβλίο} & {\greekalts θυμήθηκα}\\ \hline \texttt{ss06} and \texttt{ss07} enabled & {\middlegreekon βιβλίο}& {\middlegreekon θυμήθηκα}\\ \hline \texttt{ss06} and \texttt{ss07} disabled & βιβλίο & θυμήθηκα \\ \hline \end{tabular} \end{center} \item U1F00--U1FFF for polytonic, and \item U10140--U1018F for ancient Greek numbers. \end{itemize} \begin{theorem}[Πυθαγόρειον] Ἐν τοῖς ὀρθογω\-νί\-οις τριγώνοις τὸ ἀπὸ τῆς τὴν ὀρθὴν γωνίαν ὑπο\-τει\-νού\-σης πλευρᾶς τετράγωνον ἴσον ἐστὶ τοῖς ἀπὸ τῶν τὴν ὀρθὴν\hspace{-1pt} γωνίαν περιεχουσῶν πλευρῶν τετραγώνοις. \end{theorem} Small Caps is included (in Mono font too) and all polytonic accents of Greek. Ypogegrammeni is the default for all characters including Small Caps and prosgegrammeni is offered as an alternative shape in the \texttt{ss01} lookup table: \begin{center} \begin{tabular}{c|c|c} & ypogegrammeni & prosgegrammeni\\ \hline regular & ᾋ ᾟ ᾯ \textsc{ᾳῃῳ} & {\textprosgegrammeni{ᾋ ᾟ ᾯ \textsc{ᾳῃῳ}}}\\ \hline sans &{\sffamily ᾋ ᾟ ᾯ \textsc{ᾳῃῳ}} & {\sffamily{\textprosgegrammeni{ᾋ ᾟ ᾯ \textsc{ᾳῃῳ}}}}\\ \hline mono & {\ttfamily ᾋ ᾟ ᾯ \textsc{ᾳῃῳ}} & {\ttfamily{\textprosgegrammeni{ᾋ ᾟ ᾯ \textsc{ᾳῃῳ}}}} \end{tabular} \end{center} The prosgegrammeni alternates can be accessed with \medskip \verb|\textprosgegrammeni{}| \noindent or the \verb|{\prosgegrammeni }| \medskip \noindent of the \texttt{fontsetup} package. \subsection{Other character variants} Guillemots (left and right) have a different shape for Greek. For this to work the fonts must be loaded with the cv04 character variant. Compare the default guillemots: «» with Greek guillemots: \textlang{greek}{\newcmgreekguillemots «»}. There is a serious problem with Unicode and the Greek anoteleia (U0387); the Greek semicolon. Unicode ``thinks'' that this character is the same with periodcentered (U00B7). This influences the way keyboards are configured by several vendors such as xorg. Anoteleia is a dot written at x-height and not at 1/2 the x-height as the periodcentered. Although Unicode recognizes the problem\footnote{personal communication}, althought they recognize that with their current standard you can not correctly write the Greek language, they refuse to fix it, justifying it by saying the magical words ``backwards compatibility'' (to a \ldots{}mistake, one could add). NewComputerModern can not allow this, as it defies the purpose of its existence, which is to properly write every supported language. So enabling the CharacterVariant 04 (cv04) in addition to correct guillemots for Greek it maps periodcentered (produced by the keyboards (in Greek Linux keyboards by AltGr+q) to proper anoteleia. It also fixes a long standing issue with the Greek apostrophe (᾽)(U1FBD) which is not the same with quoteright (’)(U2019). U1FBD named as ``Greek Koronis'' by Unicode is the proper character. Another problem that has to do with quotes inside quotes. The internal quotes in Greek should be written with the characters quotedblleft and quotedblbase\footnote{Μανόλης Τριανταφυλλίδης, \textit{Νεοελληνική Γραμματική της δημοτικής}, Ανατύπωση της έκδοσης του \textsc{οεσβ 1941} με διορθώσεις, Θεσσαλονίκη \textsc{2002}, σελ.~\textsc{66}, ενότητα~\textsc{133}.}. For example, this is correct for Greek \begin{center} {\newcmgreekguillemots «άλφα \leftgrquotes βήτα\rightgrquotes»} \end{center} But the keyboards only produce quotesingle which is already mapped to apostrophe and it is difficult to remember the names ``quotedblleft'' and ``quotedblbase''. So when enabling cv04 one can define the commands \verb|\newcommand\leftgrquotes{\char"201C}| %{\char"2018} \noindent and \verb|\newcommand\rightgrquotes{\char"201E}| %{\char"2019} \noindent for the rare case one needs quotes inside quotes. The \verb|fontsetup| package does this automatically for Greek if the \verb|xgreek| package has been loaded \textit{before} the \verb|fontsetup| package or when the language is set to Greek by, say, the Babel package. Otherwise, for non-Greek documents with small passages of Greek, the author may enable \verb|cv04| by creating a custom command such as \verb|\newfontfamily\propergreek[CharacterVariant=4]{NewCM10-Book.otf}| A phrase with Greek quotes inside quotes, proper anoteleia, and proper apostrophe is \begin{center} {\newcmgreekguillemots «φώναζε: \leftgrquotes απ' έξω την προπαίδεια\rightgrquotes»· σαν εκδίκηση ακουγόταν\ldots} \end{center} \subsection{Prosodic symbols} In Greek philology and in linguistics it is often needed to stack accent-type symbols above letters, even if they are not vowels. Although rare in writings, it is for example valid to place dieresis over the consonants π, τ and κ of the nasal complexes μπ, ντ, γκ when it is necessary to show that these are pronounced, as written, voiceless, and not voiced. For example, \begin{center} κομπ̈ρέσα, \quad αντιαντ̈αντ̈ικός, \quad ελεγκ̈τής \end{center} (see previous footnote). The fonts support this writing if a combining dieresis is placed after the letter to receive it. The combining dieresis is the character U0308. On Linux desktops this is easily entered pressing Alt+Control+u, release them, and type the sequence 0308 and space. More than that, in linguistics, they need to combine several accents above Greek letters. All this stacking of accents is supported by the fonts. For example, one can write \begin{center} ᾱ῏\quad ε᾿῀\quad Ἀ̆ \quad Ἆ̄ \quad ῼ᾿῀\quad ᾱ΄\quad Χ̆᾿\quad ῑ̈΄ \end{center} by placing the combining accents from the Unicode block U0300--U0362 plus the usual Greek accents \textit{after} the letter. So the above was typed as \begin{center} {\ttfamily α ̄\hspace*{-5pt} ῏\qquad ε\hspace*{-5pt} ᾿ ῀\qquad Ἀ ̆ \quad Ἆ ̄ \qquad ῼ\hspace*{-5pt} ᾿ ῀\qquad α ̄\hspace*{-5pt} ΄\qquad Χ ̆\hspace*{-5pt} ᾿\qquad ι ̄ ̈\hspace*{-5pt} ΄} \end{center} \subsection{Archaic Greek writing} The Sans Serif Regular font provides access to 6th century bce and 4th century bce Greek capitals in ss04 and ss03 lookups. The \texttt{fontsetup} package provides commands such as\begin{center} \verb|\textivbce{}|, \verb|\ivbce|, \verb|\textvibce{}| and \verb|\vibce| \end{center} %to access them if loaded %with the \verb|[default]| or \verb|[olddefault]| option. \begin{center} \begin{tabular}{c} 6th century bce:\\ \hline \textvibce{ΜΗΔΕΙΣ ΑΓΕΩΜΕΤΡΗΤΟΣ ΕΙΣΙΤΩ}\\ \hline\hline 4th century bce:\\ \hline \textivbce{ΜΗΔΕΙΣ ΑΓΕΩΜΕΤΡΗΤΟΣ ΕΙΣΙΤΩ} \end{tabular} \end{center} Moreover, all fonts (except Mono \&\ Math) support Ancient Greek Numerals (the full Unicode block of Greek digits U10140--U1018E is supported), with most symbols designed from scratch (and did not exist in C. Beccari's original fonts). A few of the new symbols: \begin{center} 𐅋𐅌𐅍𐅏𐅯𐅴𐆉 \end{center} The four numerals that already existed in this range (that is U10144--U10147) in Beccari's fonts have been altered to a new design matching the style of cm but also provide some Ancient Greek flair. The new designs in Serifed and SansSerifed are: \begin{center} 𐅄𐅅𐅆𐅇 \quad \textsf{𐅄𐅅𐅆𐅇} \end{center} The \texttt{fontsetup} package provides commands for all of the above symbols. The commands follow the Unicode name of each slot (minus the ``Greek Acrophonic''). So the Unicode slot U1014F named ``Greek Acrophonic Attic Five Staters'' can be accessed with the command \verb|\atticfivestaters| and it gives \atticfivestaters; and the slot u10182 named ``Greek Kyathos Base Sign'' can be accessed with the command \verb|\greekkyathosbasesign| and it gives \greekkyathosbasesign. \subsection{Aegean Numbers} Aegean numbers are supported in the Sans fonts and their slots are defined in \verb|fontsetup| package using commands of the form \verb|\aegeanXXXX| where \verb|XXXX| is the Unicode name of the character (without spaces). A few examples are: \begin{center} \aegeanseven\quad \aegeanfivehundred\quad \aegeanfourthousand\quad \aegeanfiftythousand\quad \aegeanweightbaseunit\quad \aegeanweightfirstsubunit\quad \aegeanweightsecondsubunit\quad \aegeanweightthirdsubunit\quad \aegeanweightfourthsubunit\quad \aegeandrymeasurefirstsubunit\quad \aegeanliquidmeasurefirstsubunit\quad \aegeansecondsubunit\quad \aegeanthirdsubunit \end{center} and the whole table of Aegean Numbers with the commands to access the glyphs is shown on page \pageref{AegeanNumbers}. \subsection{Support for Papyrology} Papyrology needs to declare that a glyph is missing from the papyrus or the papyrus is worn at this point and the papyrologist adds the missing glyph but it is not clear from the papyrus. This is done by adding a dot below the glyph and it is supported for all Greek glyphs in the upright fonts monotonic or polytonic: \begin{center} {\Large Α̣\quad Ἆ̣\quad ᾞ̣\quad ἇ̣\quad ᾦ̣\quad ῥ̣} \end{center} where in the source we just typed the dot below (char U0323) after the glyph. This feature is supported for the 4th bce and 6th bce Greek in Sans: \begin{center} \textvibce{\Large Γ̣Ε̣Ω̣Μ̣Ε̣Τ̣Ρ̣Ι̣Α̣} \quad\quad\textivbce{\Large Γ̣Ε̣Ω̣Μ̣Ε̣Τ̣Ρ̣Ι̣Α̣} \end{center} More support for papyrology is available. Check Section~\ref{phextsupp}. \subsection{Support for Chemistry} It happens often that Greek upright characters are needed in Chemistry. People often have trouble with this (and this is why packages such as \texttt{chemgreek} exist). If Greek keyboard is available then it is easy; you just type in Greek, say \texttt{β-glucan} to get ``β-glucan''. But many writers do not have the Greek keyboard enabled, and they do not need to. Usually they type \verb|$\beta$-glucan| but the result ``$\beta$-glucan'' is not satisfying. One can use the ``up'' versions typing \verb|$\upbeta$-glucan| but still the result ``$\upbeta$-glucan'' looks more Math than Chemistry. To help with this, the \texttt{fontsetup} package provides commands such as \verb|\chemAlpha|, \verb|\chemalpha|, \verb|\chemBeta|, \verb|\chembeta|, etc. So this information essentially would only belong to the \verb|fontsetup| documentation if it was not for kappa and rho. If we type in Greek \texttt{κ-compound} we get ``κ-compound'' which is not satisfying, as kappa is too cursive for this use. So the NewCM family provides an alternative kappa for this reason and this is how \verb|\chemkappa| is defined in \verb|fontsetup|: \verb|\newcommand{\chemkappa}{\textrm{\char"03F0}}|: \begin{center} We write \verb|\chemkappa-compound| and now get ``\chemkappa-compound''. \end{center} (The \verb|\textrm| command in the above definition is there to make the command work in math mode too.) Similar is the situation for \verb|\chemrho| (\chemrho) and \verb|\chemrhoalt| (\chemrhoalt). \section{Cyrillic} Cyrillic is supported using the glyphs from the \verb|cyrillic-modern| (default) and \verb|cmu| package but it has considerable improvements (for example, more glyphs and the quality of the bold sans (see below)). \verb|cmu| design can be enabled with \verb|RawFeature=cmu|. \medskip \noindent\begin{tabular}{l|l} Default Didot style & \verb|cmu| style\\[1ex] \hline ЖЗКЯжзфҗӂ& {\cyrcmu ЖЗКЯжзфҗӂ}\\ \hline & \\[-.5ex] \begin{minipage}{6.5cm} \begin{verse} Я помню чудное мгновенье:\\ Передо мной явилась ты,\\ Как мимолетное виденье,\\ Как гений чистой красоты.\\ \hspace{3cm}(Пушкинъ) \end{verse} \end{minipage} & \begin{minipage}{6.5cm} {\cyrcmu \begin{verse} Я помню чудное мгновенье:\\ Передо мной явилась ты,\\ Как мимолетное виденье,\\ Как гений чистой красоты.\\ \hspace{3cm}(Пушкинъ) \end{verse} }\end{minipage} \end{tabular} \bigskip Again, as in Greek there is a different kind of guillemots for Cyrillic which are available in CharacterVariant 3 (cv03). Compare: \begin{center} Defaults guillemots: «» \quad Cyrillic guillemots: {\newcmrussianguillemots «»}\quad Greek guillemots: {\newcmgreekguillemots «»} \end{center} Same is the situation with Cyrillic emdash which is shorter than the default: \begin{center} \begin{tabular}{rl} Default emdash: & ---\\ Cyrillic emdash: & {\newcmrussianguillemots ---} \end{tabular} \end{center} \section{Hebrew} \noindent The Hebrew blocks U0590--U05FF and Hebrew Presentation forms UFB1D--UFB4F are fully covered. and A few letters from Hebrew: \begin{center} אבגדהושׁשּׂלּצּ \end{center} \section{Coptic and Epact Numbers} \noindent The Coptic language is fully supported. This covers the Coptic blocks in the Greek and Coptic Unicode block (U03E2--U03EF), the full Coptic Unicode block (U2C80--U2CFF) and the Coptic Epact Numbers (U102E0--U102FF). A few letters from Coptic and Epact numbers follow: \begin{center} ⲗⲟⲅⲟⲥ ⲛ̀ⲁⲓⲅⲩⲡⲧⲓⲟⲥ \quad 𐋡 𐋢 𐋣 𐋤 𐋥 \end{center} \section{Cherokee} Both Unicode blocks U13A0--13FF and UAB70--UABBF for Cherokee are supported. % A few letters are: %\begin{center} % ᎣᎤᎹᏊᏐ ꭳꭴꭷꮂꮔꮿ %\end{center} The samples below were kindly provided by Sedi Eastwood: \medskip \noindent Sample 1: \begin{center} \begin{tabular}{ll} \begin{minipage}{5cm} ᎬᏣᎵᏨᏗᏣᏓᏲᎯᏍᏗ ᎢᏤᎮᏍᏗ\\ \textsf{ᎬᏣᎵᏨᏗᏣᏓᏲᎯᏍᏗ ᎢᏤᎮᏍᏗ} \end{minipage} & \begin{minipage}{6cm} Live/exist in a manner that there is never a reason or purpose to let go of one another.\\ (gvjalijvdijadayohisdi ijehesdi\\ \hphantom{(}gvtsalitsvditsadayohisdi itsehesdi) \end{minipage} \end{tabular} \end{center} \medskip \noindent Sample 2: \begin{center} \begin{tabular}{ll} \begin{minipage}{4cm} ᏕᏣᏓᎨᏳᏎᏍᏗ\\ \textsf{ᏕᏣᏓᎨᏳᏎᏍᏗ} \end{minipage} & \begin{minipage}{6cm} Value the existence of one another.\\ (dejadageyusesdi\\ \hphantom{(}detsadageyusesdi) \end{minipage} \end{tabular} \end{center} \medskip \noindent Sample 3: \begin{center} \begin{tabular}{ll} \begin{minipage}{4cm} ᎥᎵᏍᎨᏗ ᏕᏣᏓᏰᎸᏎᏍᏗ\\ \textsf{ᎥᎵᏍᎨᏗ ᏕᏣᏓᏰᎸᏎᏍᏗ} \end{minipage} & \begin{minipage}{6cm} Think of one another as sacred or hold the existence of others sacred.\\ (vlisgedi dejadayelvsesdi) \end{minipage} \end{tabular} \end{center} \section{Canadian Aboriginal Syllabics} \newfontfamily{\textsfca}[BoldFont=NewCMSans10-Bold.otf,% ItalicFont=NewCMSans10-BookOblique.otf]{NewCMSans10-Book.otf} Canadian Aboriginal Syllabics are supported in the sans font. The full Unicode blocks are covered, which are U1400--U167F, U18B0--U18F5, and U11AB0--U11ABF. Some examples in Blackfoot Siksiká: \noindent Blackfoot-speaking real people: {\textsfca ᖹᐟᒧᐧᒣᑯ} Siksiká: {\textsfca ᓱᖽᐧᖿ}\\ Siksikáíʼpowahsin: {\textsfca ᓱᘁᓱᘁᖳᐟᑲᖷᑊᓱᐡ} In bold: {\textsfca\bfseries ᓱᘁᓱᘁᖳᐟᑲᖷᑊᓱᐡ}\\ Niitsipowahsin: {\textsfca ᖹᐨᓱᑲᖷᑊᓱᐡ} In oblique: {\textsfca\itshape ᖹᐨᓱᑲᖷᑊᓱᐡ} \medskip Some more in Cree: \begin{tabular}{l|l} \begin{minipage}{5.5cm} \noindent{\textsfca ᐌᐘᑯ ᐅᒪ ᐊᓯᓂᐏᒣᓂᑲᐣ ᑭᒥᓇᐘᐠ}\\ {\textsfca ᐃᓂᓂᐘᐠ ᒪᓂᑐᐸ ᑲᐊᔭᒋᐠ᙮ ᐁᐘᑿᓂᐠ ᐅᑭ}\\ {\textsfca ᑲᓄᒋᐦᑕᒋᐠ ᐊᓯᓂᐏᐊᑐᐢᑭᐃᓂᓂᐤ ᑲᑭᒥᓂᐦᒋᐠ}\\ {\textsfca ᐅᒣᓂᐤ᙮ ᐊᑿᓂ ᒥᑕᐦᑐᒥᑕᓇᐤ ᐊᐢᑭᐩ ᐊᓴᐩ}\\ {\textsfca ᐁᐊᑐᐢᑫᒋᐠ ᐅᑕ ᒪᓂᑐᐸ᙮} \end{minipage} & \begin{minipage}{4.8cm} {\sffamily The masonry for the wall through time has been given to people of Manitoba by the international union of bricklayers and allied craftsmen local one Manitoba to commemorate 100 years of service, by Manitoba masonry contractors and by Manitoba masonry suppliers.} \end{minipage} \end{tabular} \section{Devanagari} Devanagari script is supported for the serifed font in Regular (10pt/8pt), Book (10pt/8pt), and Bold (10pt). The fonts support Hindi (as the default), Sanskrit, Marathi and Nepali Languages. The optional arguments for the \verb|fontspec| font-selection mechanism must include \noindent \verb|Script=Devanagari, Language=XXXX| where \verb|XXXX| must be replaced with one of \verb|Hindi|, \verb|Sanskrit|, \verb|Marathi|, \verb|Nepali|. If the \verb|Language| parameter is not set then the default is \verb|Hindi|. For \LuaLaTeX\ the parameter \verb|Renderer=Harfbuzz| must also be included. So if say Marathi is needed as the default font document then one can use the following: \begin{verbatim} \usepackage{fontspec} \setmainfont[Script=Devanagari, Language=Marathi,% Renderer=Harfbuzz]{NewCM10Devanagari-Book.otf} \end{verbatim} The Devanagari fonts were developed with the help of {\devanagaritext निरंजन} (Niranjan) whose name appears in the copyright section of the fonts and I also thank him for providing the samples below. It should also be noted that the design is original and based on old handwritten books. In old civilizations, such as the Indian one, it is only natural that the design be affected by how the handwritten books look. Ink creates ``drop''-like serifs on paper that absorbs it, and the tool used to write also affects the look of the script. All these were taken into account. \noindent A Sanskrit sample from {\sanskrittext बृहदारण्यकोपनिषद्} (bṛhadāraṇyakopaniṣad) follows: \begin{center} \fbox{\begin{minipage}{9cm} {\hinditext ॐ पूर्णमदः पूर्णमिदं, पूर्णात्पूर्णमुदच्यते।\\ पूर्णस्य पूर्णमादाय पूर्णमेवावशिष्यते॥ } \medskip That\footnote{the outer world} is complete;\\ this\footnote{the inner world} too is complete.\\ From one complete comes the other. Taking out\\ one complete from the other too results in a complete. \end{minipage}} \end{center} \noindent Next is a beautiful part of a poem in Marathi by {\marathitext तुकाराम} (Tukaram) and its translation: \medskip \hspace*{-3cm}\begin{tabular}{l|l} {\begin{minipage}{\widthof{\marathitext त्यांसि म्हणे जो आपुलें॥ १ ॥}} {\marathitext %\noindent\begin{verse} जें कां रंजलें गांजलें।\\ त्यांसि म्हणे जो आपुलें॥ १ ॥\\ तो चि साधु ओळखावा।\\ देव तेथें चि जाणावा॥ %\end{verse} } \end{minipage}} & \begin{minipage}{12cm} %\begin{verse} Only the one who treats the downtrodden people equally is a sage\footnote{\ ``The wise'' of course, not the plant.}.\\ One may sense the essence of god there.\\ %\end{verse} \end{minipage} \end{tabular} \bigskip Devanagari Unicode letters (range U0900--U097F) are also available as variables (letters) and numbers in the Regular and Book Math fonts. They are available as usually in three weights in the Math fonts so that the color is balanced when in script size (eg in exponents or indices). For this to work a version of \verb|fontsetup| package greater or equal to 1.8 with options \verb|default| or \verb|olddefault| loaded is needed. This is because Devanagari letters are not Math variables in Unicode standard and hence not supported currently as such by the unicode-math package. To show this possibility next is a theorem in Hindi (mixing with Greek): \medskip %प्रमेय (Πυθαγόρας - पिथागोरास)‘’ %\setmathfont[StylisticSet=4]{NewCMMath-Regular.otf} \setmathfont[StylisticSet=4]{NewCMMath-Book.otf} {\hinditext \textbf{प्रमेय}\,(\textrm{Πυθαγόρας} (पिथागोरास)) अगर समकोण त्रिभुज के कर्ण की लंबाई को ‘अ’ और अन्य दो भुजाओं की लंबाई को ‘क’ और ‘ख’ कहते हैं, तो भुजाओं की लम्बाई के वर्गों की जोड़, कर्ण के वर्ग जितनी होती है, अर्थात् $अ^२=क^२+ख^२$। } %\setmathfont{NewCMMath-Regular.otf} \setmathfont{NewCMMath-Book.otf} \bigskip However, if only Devanagari numbers are needed with the source using arabic numerals then one can use the Stylistic Set 04 of the Math font. So the command %\noindent\verb|\setmathfont[StylisticSet=4]{NewCMMath-Regular.otf}| \noindent\verb|\setmathfont[StylisticSet=4]{NewCMMath-Regular.otf}| with source: \begin{verbatim} $$\sum_{n=0}^\infty \frac1{n!}x^n=1+x+\frac{1}{2!}x^2 +\frac1{3!}x^3+\frac1{4!}x^4+\ldots=e^x.$$ $$9!=1\cdot2\cdot3\cdot4\cdot5\cdot6\cdot7\cdot8\cdot9.$$ $$2^{2^2}$$ \end{verbatim} will have the following effect: %\setmathfont[StylisticSet=4]{NewCMMath-Regular.otf} \setmathfont[StylisticSet=4]{NewCMMath-Book.otf} $$\sum_{n=0}^\infty \frac1{n!}x^n=1+x+\frac{1}{2!}x^2+\frac1{3!}x^3+\frac1{4!}x^4+\ldots=e^x.$$ $$9!=1\cdot2\cdot3\cdot4\cdot5\cdot6\cdot7\cdot8\cdot9.$$ $$2^{2^2}$$ \noindent which when the math font is reset to use Arabic numbers with %\noindent\verb|\setmathfont{NewCMMath-Regular.otf}| it gives: \noindent\verb|\setmathfont{NewCMMath-Book.otf}| it gives: %\setmathfont{NewCMMath-Regular.otf} \setmathfont{NewCMMath-Book.otf} $$\sum_{n=0}^\infty \frac1{n!}x^n=1+x+\frac{1}{2!}x^2+\frac1{3!}x^3+\frac1{4!}x^4+\ldots=e^x.$$ $$9!=1\cdot2\cdot3\cdot4\cdot5\cdot6\cdot7\cdot8\cdot9.$$ $$2^{2^2}$$ \section{Medieval Latin and Uncial Greek} The family includes new shapes for medieval and uncial Greek. The \verb|fontsetup| package provides \verb|\textuncial{}| and \verb|{\uncial text}| to use this shape. Let us write a sentence in this shape: \begin{center} \begin{minipage}{9cm} {\uncial The Pythagorean Theorem is one of the most important theorems in Mathematics.}\\ {\uncial Το Πυθαγόρειο Θεώρημα είναι από τα σημαντικότερα θε\-ω\-ρή\-μα\-τα των Mαθηματικών.} \end{minipage} \end{center} Medieval Latin and Uncial Greek fonts will give a lot of ``missing slot'' warnings if the microtype package is loaded. To suppress these warnings use \begin{verbatim} \DeclareMicrotypeAlias{NewCMUncial10-Book.otf}{TU-empty} \end{verbatim} and similarly for the other NewCMUncial fonts. \section{Braille} Braille, both 6dot (uni2801--uni283F) as well as 8dit (uni2840--uni28FF) patterns are included in two versions. The Regular font provides the characters for sighted persons (such as teachers) so they can easily see which dots are on and which off. The Sans font contains the true Braille characters. I decided to have the sighted version in the Regular font since a blind person does not need the real Braille pattern, as those are produced by embossers. The Braille patterns here are meant as fonts to typeset text mainly for sighted persons. \begin{center} \begin{tabular}{c|c|c} & 6dot & 8dot\\ \hline Regular version & ⠅⠆⠇⠝⠞ & ⡂⡃⡄⡚⡛\\ \hline Sans version &{\sffamily ⠅⠆⠇⠝⠞} &{\sffamily ⡂⡃⡄⡚⡛} \end{tabular} \end{center} \section{Ipa symbols} \acro{\textsc{ipa}} symbols are included and following a suggestion of Huanyu Liu the kerning found in \texttt{tipa} package has been added here and further improved. Moreover the letters eth, eng, beta, theta and chi exists in \acro{\textsc{ipa}}-style in the fonts and are accessible in the ss05 lookup table since they are in a different design from the Latin and Greek letters. You can access this lookup table using the \verb|\textipa| command of the fontsetup package. \begin{center} \begin{tabular}{c|c|c} & Non-\acro{\textsc{ipa}} & \acro{\textsc{ipa}}\\ \hline Regular & ð ŋ β θ χ & \textipa{ð ŋ β θ χ}\\ \hline Sans & \textsf{ð ŋ β θ χ} & \textsf{\textipa{ð ŋ β θ χ}} \end{tabular} \end{center} I am grateful to {\devanagaritext निरंजन} (Niranjan) for suggesting and testing all the \textsc{ipa} improvements that follow: The joining of two characters such as t͜s, d͜z, k͡p, t͡ʃ etc is also supported. The low tie is the character U035C and the upper tie is U0361. The t͜s is produced by typing the sequence t then the low tie and then s. Similarly k͡p is produced by typing the sequence k then the upper tie and then p. For t͜ʃ and d͜ʒ the fonts have a contextual chaining substitution table that uses a tie which prints lower so it does not touch ʃ and ʒ. In cases that one wants to show the tie as {\showtiefont x͜y͡z} then one needs to enable the cv5 character variant since the tie characters (U035C and U0361) are marks and not base glyphs. One can do that with a command such as \noindent\verb|\newfontfamily{\showtie}[CharacterVariant=5]{NewCM10-Book.otf}| There is also an older practice that such sequences are joint into a ligature. This is not the modern way of writing but it seems than many people in the linguistics still prefer it. The fonts support this, if one enables the \verb|lipa| table (local ipa) of the fonts. This can be done by adding the \verb|RawFeature=+lipa| to the font specs when loading it and it is done automatically with the commands \verb|\textoldipa{arg}| and \verb|{\oldipatext arg}| of the \verb|fontsetup| package. For example, \verb|\textoldipa{ts, tʃ}| produces \textoldipa{ts, tʃ}. All other symbols of the \verb|tipa| package are supported. Some examples are: \begin{center} p̚, ˈ, ɫ, l̠, ɖ, ɟ, ʂ, e̬, k̥, m̩, t̼, t̺, etc. \end{center} It is worth noting that all of the above is also available in the Mono family: \begin{ttfamily} \begin{center} |t͜s|t͡ʃ|\textoldipa{ts}|p̚|ˈ|ɫ|l̠|ɖ|ɟ|ʂ|e̬|k̥|m̩|t̼|t̺| \end{center} \end{ttfamily} Another issue is that \textsc{ipa} used to use the Italic alternation of ``g'' even in the upright design. This restriction was lifted in \textsc{1949} as can be seen on page \textsc{3} in \cite{2}. % https://doi.org/10.1017\%2FS002510030000476X Even though the normal upright shape is accepted as an alternation, there are linguists who prefer the older (Italic) shape ``{\ipafont g}'' and hence we are making it the default in the stylistic set dedicated for \textsc{ipa} (ss05). Another such case is with the ``a'' shape. It has a different visual form in Italics ``\textit{a}'' which resembles to a distinct symbol of \textsc{ipa} leading to a wrong transcription. In order to avoid this confusion, we have used the slanted version ``{\itshape\ipafont a}'' of ``a'' in ss05. The other vowel symbol (ie, ɑ (U0251)) is also available in the fonts. Next we give a real example of using \acro{\textsc{ipa}} symbols. The quote below is from \textit{A course in phonetics}, {Ladefoged, Peter and Johnson, Keith}, \textsc{(2014)}, {Cengage learning}, pp.~\textsc{285--286}, and the \texttt{StylisticSet=05} has been enabled: \begin{quote} Other examples of this phenomenon have also been mentioned. We saw that before {\ipafont [ŋ]}, English does not distinguish between tense and lax vowels. Consequently, the vowel that occurs in, for example, sing has a quality between that of {\ipafont [i]} and {\ipafont [ɪ]}. Similarly, there is no distinction between tense and lax vowels before {\ipafont [ɹ]}. The vowel in here in most forms of American English is also intermediate between {\ipafont [i]} and {\ipafont [ɪ]}. The principle of maximum perceptual separation also accounts for some of the differences between languages. French has two high rounded vowels, {\ipafont [u]} as in \emph{tout} {\ipafont [t̪u]} ``all,'' and {\ipafont [y]} as in \emph{tu} {\ipafont [t̪y]} ``you.'' \end{quote} \section{All Unicode combining marks} As NewComputerModern has top priority the support of Academic work, all combinig marks are supported in all fonts. Please notice that not all slots in these blocks are filled in with glyphs by Unicode standard. Some slots are empty and reserved for the future. All glyphs described by Unicode are in NewCM. These are the Unicode blocks: \begin{itemize} \item Combining Diacritical Marks U0300--U036F \item Combining Diacritical Marks Extended U1AB0--U1AFF \item Combining Diacritical Marks Supplement U1DC0--U1DFF \item Combining Diacritical Marks for Symbols U20D0--U20FF \item Combining Half Marks UFE20--UFE2F \end{itemize} \textit{All blocks support stacking}. Examples, other than the main diacritical block U0300--U036F, follow in the next subsections. \subsection{Extended and Supplement Combining Diacritical Marks} Both blocks are supported: \begin{description} \item[Extended] U1AB0--U1AFF. These are used to represent fine-grained phonetic, prosodic, and tone features, primarily in linguistics, dialectology, and musicology. They are combining characters, so they attach to a base letter. Example: \begin{center} ma᷄ ma᷅ ma᷆ \textbf{ma᷄ ma᷅ ma᷆}\\ \textsf{ma᷄ ma᷅ ma᷆} \end{center} Used for advanced tone marks and diacritic combinations in phonetics and linguistics (eg, tonal contour notation in African and East Asian languages). For example, Yoruba, Zulu, Mandarin, or reconstructed Proto-Bantu tone patterns. \item[Supplement] U1DC0--U1DFF. Adds additional combining marks used in linguistic fieldwork, \textsc{ipa} transcription, and medieval manuscripts. Example: \begin{center} aᷰn᷽ \textbf{aᷰn᷽} \textsf{aᷰn᷽} \end{center} Supplementary diacritics used in phonetic transcription and historical linguistics, allowing precise representation of speech sounds and manuscript variants. \end{description} Medieval Latin manuscripts often abbreviate -us, -um, per, pro, etc, with special marks that can now be encoded as combining diacritics. \begin{center} In n̄o d̄i nostri Ih̄u xp̄i (\textbf{In n̄o d̄i nostri Ih̄u xp̄i})\\ \textsf{In n̄o d̄i nostri Ih̄u xp̄i} $\longrightarrow$ In nomine domini nostri Iesu Christi \end{center} \subsection{Diacritical Marks for Symbols and Half Marks} Both blocks are supported: \begin{description} \item[Marks for Symbols] U20D0--U20FF. This block is used in Mathematical notation and the symbols are available in the Math fonts. However, there are needs for this block outside Mathematics. So they have also been added in the text fonts. For example, in Linguistics an arrow may mark a rising or a falling tone as in a⃗, a⃖. Another example is in automata theory: a circled state q⃝ or a squared proposition p⃞. Here these symbols are typed as text (this is why they have the metrics of q and p respectively, and consequently the imposed circle does not create addition horizontal space). However, the NewCM Math fonts include the procomposed glyphs for use in mathematics mode (U2460--U24FF). For example, circled p and f are the glyphs U24DF and U24D5 respectively. Commands to access those in math mode, such as \verb|\circledp| are provided by the style file \verb|newcomputermodern.sty| through the \verb|fontsetup| package. The metrics here are different as the circle has its own metrics. Compare text: |p⃝| and |f⃝| with math $|ⓟ|$ and $|ⓕ|$. \item[Half Marks] UFE20--UFE2F. Again constuctions using these symbols are available in Math fonts. They are also added to text fonts for non-math cases. An example is in linguistics for double diacritics over two letters: a︠b︡, double tilde spanning two characters used for nasalization spaning a diphthong or a contour tone that applies to two vowels: o︢u︣. Also used in Medieval and textual criticism. For example, spanning macrons: n︤o︥. Represents n̄o (“no-” from nobis, noster, etc.) But with a macron spanning both letters to indicate the omitted syllable. Scholars of medieval Latin and Greek use exactly this. To give an example that relates to Cyrillic we show the ``titlo'' used in early Cyrillic manuscripts and Old Slavonic: used to mark abbreviations, contractions, sacred names, and numeric values. The FE2E/FE2F pair lets a single titlo be encoded as two combining halves that attach to the leftmost and rightmost letters of the span and visually join into one continuous overline. However, when more than two characters are used, or characters with different heights, there is no provision by Unicode how these characters should join. Necessarily the titlo will break. However, a new command \verb|\titlo| has been introduced in \verb|fontsetup| package (that applies to \verb|newcomputermodern.sty| as well) that produces proper titlos on more than two letters and of unequal heights. I thank David Carlisle for his help with this. Use case: when an editor wants a single titlo covering two or more adjacent Cyrillic letters, they insert the left-half after the first letter and the right-half after the last letter of the span. \begin{itemize} \item Two-letter titlo; Characters: U+043A U+FE2E U+043D U+FE2F: к︮н︯ \item Three-letter titlo with different heights; Characters: U+043A U+FE2E U+0430 U+0431 U+FE2F: к︮аб︯ \item Titlo used with a numeral (titlo often marks numeric use of letters); Characters: U+0432 U+FE2E U+0438 U+FE2F: в︮и︯ \item Corrected output using the \verb|\titlo| command with \verb|\titlo{каб}|: \titlo{Каб}. \end{itemize} \end{description} %%%%%%%% \section{Editorial Marks} NewComputerModern supports a range of combining editorial marks intended for use in scholarly text, critical editions, manuscript transcription, and linguistic annotation. These marks function as textual modifiers applied to arbitrary base characters and are distinct from precomposed mathematical symbols. \subsection{Scope and Intended Use} Editorial marks are used to indicate: \begin{enumerate} \item manuscript witnesses and scribal hands in critical apparatus, \item editorial interventions and conjectural readings, \item layered annotation in palaeography and codicology, \item feature marking and classification in linguistics. \end{enumerate} In these contexts, the mark conveys editorial status, not mathematical meaning. \subsection{Combining Enclosing Marks} The font provides full support for combining enclosing marks, including: \begin{description} \item[U20DD] COMBINING ENCLOSING CIRCLE \item[U20DE] COMBINING ENCLOSING SQUARE \item[U20DF] COMBINING ENCLOSING DIAMOND \end{description} These characters attach to a preceding base glyph. % using mark-to-base and mark-to-mark positioning. The enclosing shape adapts to the base character’s size and style (e.g. italic, small caps, Greek, Cyrillic), enabling consistent use in running text. Example (editorial sigla): \begin{center} a⃝ \hspace*{.6cm} p⃝ \hspace*{.6cm} f⃝ \hspace*{.6cm} γ⃝ \hspace*{.6cm} д⃝ \hspace*{.6cm} \textsc{ω⃝} \end{center} (the last example is in small caps). Editorial marks are positioned using dedicated anchors in the text font. The enclosing shapes are centered optically relative to the base glyph rather than aligned to the mathematical axis. Letters with ascenders or descenders are adjusted to preserve visual balance inside the enclosure. Editorial combining marks should not be confused with precomposed circled letters used in mathematical notation (eg automata theory). Mathematical circled symbols are atomic glyphs provided by math fonts and are accessed via Unicode or math alphabets. Combining enclosing marks in NewComputerModern are intended exclusively for textual and editorial use. \section{Phonetic Extensions and Supplement}\label{phextsupp} The block U1D00--U1D7F contains letters and small capitals used in the \textsc{ipa} and related phonetic alphabets, and the block U1D80--U1DBF adds further small capitals and modifier letters for phonetic and prosodic notation. The small letters here are \textit{not} to be confused with typographical small capitals. The designs here are at the x-height of the font which is smaller than small capitals. Small capitals should still be called with commands such as \verb|\textsc| or similar. Examples: \begin{enumerate} \item[(i)] [ʙ̥ɑɾɪ] \textbf{[ʙ̥ɑɾɪ]} \textsf{[ʙ̥ɑɾɪ]} {\textsf{\bfseries [ʙ̥ɑɾɪ]}} \item[(ii)] [ᴍɑɴ] \textbf{[ᴍɑɴ]} \textsf{[ᴍɑɴ]} {\textsf{\bfseries [ᴍɑɴ мɑи]}}meaning “man” pronounced with a bilabial trill \item[(iii)] [ᶑaᶆa] \textbf{[ᶑaᶆa]} \textsf{[ᶑaᶆa]} {\textsf{\bfseries [ᶑaᶆa]}} could represent a voiced implosive /ɗama/ in a phonetic study. \item[(iv)] tʰa kʷa nʲi lˠa \textbf{tʰa} \textbf{kʷa} \textbf{nʲi} \textbf{lˠa} \textsf{tʰa kʷa nʲi lˠa} aspirated t, labialized k, palatalized n, velarized l \item[(v)] tᶴ dᶷ nᶮ \textbf{tᶴ} \textbf{dᶷ} \textbf{nᶮ} \textsf{tᶴ dᶷ nᶮ} detailed articulatory descriptions and experimental phonetics. \end{enumerate} Editors of medieval and ancient texts sometimes mark uncertain or supplied letters with combining strokes or dots above/below. \begin{center} s᷽an᷎ct᷎us \textbf{s᷽an᷎ct᷎us} \textsf{s᷽an᷎ct᷎us} \end{center} may be used to indicate a word reconstructed or uncertain in a manuscript. \noindent More examples from the block U1D80--U1DBF: \begin{center} \begin{tabular}{|c|c|}\hline Upright & Italic\\ \hline ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ &\textit{ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ}\\ \hline Sans Upright & Sans Oblique\\ \hline \textsf{ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ}& \textsf{\itshape ᶀ ᶂ ᶈ ᶉ ᶋ ᶌ ᶕ ᶔ ᶙ ᶚ ᶛ ᶞ ᶽ ᶿ}\\ \hline \end{tabular} \end{center} Even though these are designed for phonetics, some medievalists and historical linguists use these modifier letters to show reduced vowels, superscripts, or lenited consonants in Old English or Middle English. \begin{center} hᶦs heᶣrᶦng cᶤld \textbf{hᶦs heᶣrᶦng cᶤld} \textsf{hᶦs heᶣrᶦng cᶤld} \end{center} could represent small, superscript-like vowels in ``his'', ``hearing'', ``child'', when reproducing manuscript letter size distinctions or marginal additions. Modifier letters used to reproduce reduced or superscript vowels from early English manuscripts and paleographic editions. \section{Currency Symbols} Support for currency symbols block U20A0--U20C0 in all text fonts (except uncials). \begin{center} \begin{tabular}{rl} Roman:& ₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲₳₴₵₶₷₸₹₺₻₼₽₾₿⃀\\ Sans:& \textsf{₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲₳₴₵₶₷₸₹₺₻₼₽₾₿⃀}\\ Mono:& \texttt{₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲₳₴₵₶₷₸₹₺₻₼₽₾₿⃀} \end{tabular} \end{center} Interesting is the design of Spanish Peseta in the Mono family (seen enlarged in the margin) were we have to fit essentially three letters in the width of the Mono font. \marginpar{\scalebox{2}{\texttt{\huge ₧}}} %\begin{center} %{Roman: \huge ₧}\hspace{1cm}{Mono: \texttt{\huge ₧}} %\end{center} Especially for the Rupee sign (U20B9) the upright serifed non-Devanagari fonts have the ``latinized'' version, but to avoid changing fonts they also provide the Devanagari version in CharacterVariant 7. So the code \begin{verbatim} \begin{LARGE} \begin{center} 100\,₹ \hspace{2cm} {\addfontfeatures{CharacterVariant=7}100\,₹} \end{center} \end{LARGE} \end{verbatim} gives \begin{LARGE} \begin{center} 100\,₹ \hspace{2cm} {\addfontfeatures{CharacterVariant=7}100\,₹} \end{center} \end{LARGE} \section{Bold Sans} \texttt{lm} fonts and \texttt{cmu} fonts do not contain a properly made BoldSans. Their BoldSans is a stroke-extensi\-on of the Sans with rounded corners. NewCM fixes that and provides a true BoldSans: \hspace*{-5ex}\begin{tabular}{c|c} LM & NewCM\\ \hline & \\ \scalebox{6.8}{\lmboldsans XΞ}&\scalebox{6.8}{\textsf{\bfseries XΞЯДЛ}} \end{tabular} \section{Food Allergies} Food allergy symbols have long been proposed to be accepted to Unicode standard but there has not been any progress up to now. The Sans 10 Regular and Book include standard allergy symbols in the Private Use Area. Each glyph is named after what it represents. For example, the soya symbol is named ``soya'' so copying the symbol from a pdf file and pasting elsewhere you will get its name, that is ``soya''. The symbols are in positions U+E033 to U+E040 and can be accessed using the commands of the next table. \begin{sffamily} \newcommand{\fdal}[2]{\begin{minipage}[c]{2.5cm}\begin{center}\ \ \\[1.5ex] \scalebox{4}{\char"#1}\\ \textsc{#2}\\[-1ex] \ \ \end{center}\end{minipage}} % \newcommand\crustaceans{\begin{minipage}[c]{1cm}\begin{center}\scalebox{4}{\char"E033}\\ \textsc{crustaceans}\end{center}\end{minipage}} %\newcommand\eggs{\begin{minipage}[c]{1cm}\scalebox{4}{\char"E034}\\ \textsc{eggs}\end{minipage}} \begin{center} \begin{tabular}{|l|c||l|c|}\hline \verb|\char"E033| & \fdal{E033}{crustaceans} & \verb|\char"E034| & \fdal{E034}{eggs}\\ \hline \verb|\char"E035| & \fdal{E035}{gluten} & \verb|\char"E036| & \fdal{E036}{fish}\\ \hline \verb|\char"E037| & \fdal{E037}{lupin} & \verb|\char"E038| & \fdal{E038}{milk}\\ \hline \verb|\char"E039| & \fdal{E039}{molluscs} & \verb|\char"E03A| & \fdal{E03A}{mustard}\\ \hline \end{tabular} \end{center} \begin{center} \begin{tabular}{|l|c||l|c|}\hline \verb|\char"E03B| & \fdal{E03B}{peanut} & \verb|\char"E03C| & \fdal{E03C}{sesame}\\ \hline \verb|\char"E03D| & \fdal{E03D}{soya} & \verb|\char"E03E| & \fdal{E03E}{treenuts}\\ \hline \verb|\char"E03F| & \fdal{E03F}{celery} & \verb|\char"E040| & \fdal{E040}{SO$_2$}\\ \hline \end{tabular} \end{center} \end{sffamily} \section{Unicode Math coverage and options} NewCM provides full Unicode math support, that is all Mathematics Unicode Slots presented in \url{http://www.unicode.org/charts/} in the Math weights, Regular, Book and Bold. These blocks are: \hspace*{-5em} \begin{description} \item[Mathematical Symbols] \ \\ Arrows (uni2190--uni21FF)\\ Supplemental Arrows-A (uni27F0--uni27FF)\\ Supplemental Arrows-B (uni2900--uni297F)\\ Supplemental Arrows-C (u1F800--u1F8FF)\\ Additional Arrows (uni2B00--uni2BFF)\\ Miscellaneous Symbols and Arrows (uni2B00--uni2BFF) \item[Mathematical Alphanumeric Symbols] \ \\ (u1D400--u1D7FF)\\ Arabic Mathematical Alphabetic Symbols\\ (u1EE00--u1EEFF)\\ Letterlike Symbols (uni2100--uni214F) \item[Mathematical Operators] \ \\ (uni2200--uni22FF)\\ Basic operators: Plus, Factorial\\ (uni0000--uni007F)\\ Division, Multiplication\\ (uni0080--uni00FF)\\ Supplemental Mathematical Operators\\ (uni2A00--uni2AFF)\\ Miscellaneous Mathematical Symbols-A\\ (uni27C0--uni27EF)\\ Miscellaneous Mathematical Symbols-B\\ (uni2980--uni29FF)\\ Floors and Ceilings (uni2308--uni230B)\\ Invisible Operators (uni2061--uni2064) \item[Geometric Shapes (uni25A0--25FF)] \ \\ Additional Shapes (uni2B00--uni2BFF)\\ Box Drawing (uni2500--uni257F)\\ Block Elements (uni2580--uni259F)\\ Geometric Shapes Extended (u1F780--u1F7FF) \end{description} \begin{wrapfigure}[8]{o}{0.08\textwidth}\vspace*{-1\baselineskip} \ \\[2ex] \scalebox{8}{\color{gray}$\char"2BDA$} \end{wrapfigure} Unfortunately, the \texttt{unicode-math} package does not provide commands currently for the hundrends of extra glyphs that have been added in order to fully cover the above Unicode ranges. The user can consult the Unicode charts at the above link and access the required glyph with \verb|\char"#| where \#\ is the Unicode number of the slot the glyph belongs to. For example, \verb|\char"2BDA| will give the Hygeia symbol (uni2BDA) the Rod of Asclepius as shown above (grayed and scaled $\times 8$). The glyph that appeared in TUGboat (see \cite{1}), being more realistic will be moved to a new font in the future with ornaments. \subsection{Bold Math} A complete math font, such as NewCM, contains all alphabetic characters in bold too. These characters are typically accessed using the \verb|\mathbf| command. However, this is not true for bold versions of symbols. This creates difficulties when a user has some math in chapter or section titles, or when a user wants to create a poster with colored background. In the later case the Regular and Book weights look too light (especially with dark backgrounds) and one is in need of a real Bold Math font, that has everything in Bold. NewCM, starting from version 6.0.0 provides an independent Bold Math font for the first time for a Computer Modern font family. Let us compare: Book inline: $\sqrt[3]{x+y\pm 1}=\sum_{n=1}^\infty \int_{K}f_n(x)\,dx$ and the same in display $$\sqrt[3]{x+y\pm 1}=\sum_{n=1}^\infty \int_{K}f_n(x)\,dx.$$ \setmathfont{NewCMMath-Bold.otf} %[version=bold] %\mathversion{bold} \setmathfont[range={\mathscr,\mathbfscr},StylisticSet=1]{NewCMMath-Book.otf} Bold inline: $\sqrt[3]{x+y\pm 1}=\sum_{n=1}^\infty \int_{K}f_n(x)\,dx$ and the same in display $$\sqrt[3]{x+y\pm 1}=\sum_{n=1}^\infty \int_{K}f_n(x)\,dx.$$ Bold Math with colors inverted: \medskip \begin{pspicture}(0,0)(10,2) \psframe[fillstyle=solid,fillcolor=black](1.5,0)(9.5,2) \rput(5.5,1){{\color{white}$\displaystyle\sqrt[3]{x+y\pm 1}=\sum_{n=1}^\infty \int_{K}f_n(x)\,dx.$}} \end{pspicture} In order to use the Bold font for chapter and section titles, when using the \verb|default| or \verb|olddefault| options of the \verb|fontsetup| package, change the math version to bold with \verb|\mathversion{bold}| \textit{before} the commands for chapter and section and switch back to normal with \verb|\mathversion{normal}| \textit{afterwards}. The \verb|unicode-math| package, according to it's documentation has still some troubles with ``versions'' and the \verb|range| options. These seem to affect at least the calligraphic and script math alphabets. In normal version for example the commands \verb|\symcal| and \verb|\symscr| work as expected, but when one switches to the bold version the \verb|\symscr| fails. In this case one can use \verb|\symbfscr|: \usebox{\mathcalscrA} (which was \verb|$\symcal A$ $\symbfscr A$|). %\mathversion{normal} \subsection{Sans Serif Math} \setmathfont{NewCMSansMath-Regular.otf} \newfontfamily{\sansAmSfont}{NewCMSansMath-Regular.otf} \renewcommand{\AmS}{{\sansAmSfont $\symcal A$\kern-.1667em\lower.5ex\hbox{$\symcal M$}\kern-.125em$\symcal S$}} As of version 7.0.0, the family includes a full-featured Math Sans font. Up to now such a font did not exist in the CM family (although partial solutions existed), and it posed a serious problem for scientific writing especially in the preparation of presentations. The font supplied with NewCM covers all Unicode math slots but it also provides some new features. The lowercase Latin alphabet has been completely re-worked so that it really looks as it should when used for Math variables. The letters are $$|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|$$ In Large \begin{Large} $$|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|$$ \end{Large} Moreover the calligraphic capitals have been re-worked to match better with the sans serif style (see subsection~\ref{mathscript} for how to select them) $$\symcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ Same goes for the \verb|\mathbb/\symbb| capital letters. They have been adjusted to match the Sans design, both in style and weight: $$\symbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ It is also worth noticing that the SansSerifed and the Serifed letters have swapped slots in the font. So if using the MathSans font and you write for example \verb|$\symsf{ABCDabcd}$| you will get the Serifed version(!): $\symsf{ABCDabcd}$. This choice facilitates converting a document with Serifed fonts using Sans for emphasis or differentiation to keep these characteristics when changed to Sans. One can see the Sans Serif Math font in action in the provided file \verb|testmath-newcm.pdf| which comes form the \AmS-{\sffamily L\kern-.5ex\raise.5ex\hbox{\textsc{a}}\kern-.2exT\kern-.4ex\lower.6ex\hbox{E}X} bundle (here the logo is written in NewCMSans). \setmathfont{NewCMMath-Book.otf} \subsection{Optical sizes for more glyphs} So far the fonts provided optical sizes for 1st and 2nd order exponents for letters. This was not true though for binary operators and some symbols commonly used in mathematics. For example, the \verb|\perp| symbol ($\perp$) often appears in 2nd order exponents and then it appeared very thin. Some printers could even hardly print its thin lines. Now, such glyphs plus several binary operators, such as $+$, $-$, $\pm$, $\dotplus$ etc are now provided in optical sizes, so that expressions such as $$+^{+^+}\ \perp^{\perp^\perp}\ *^{*^*}\quad\frac{|P_{F^\perp}(K)|}{e^{(x+y)^*}}$$ appear on screen and print properly on printers. Zoom or print and compare with \texttt{lat\-in\-modern-math} font: \begin{center} \includegraphics{opticalmathlm-cropped.pdf} \end{center} \subsection{Math Script}\label{mathscript} Calligraphic letters are accessed as usual with \verb|\mathcal| or \verb|\symcal|, producing $$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ However, mathematicians often need a second level of ``scriptness''. The fonts provide an alternative calligraphic, a script design at StylisticSet 1. For this to work one has to re-set the math font using \noindent\verb|\setmathfont[StylisticSet=1]{NewCMMath-Book.otf}| (or the Regular version). So the following code \begin{verbatim} $$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ \setmathfont[StylisticSet=1]{NewCMMath-Book.otf} $$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$ \mscra\mscrb\mscrc\mscrd\mscre\mscrf\mscrg\mscrh\mscri\mscrj \mscrk\mscrl\mscrm\mscrn\mscro\mscrp\mscrq\mscrr\mscrs\mscrt \mscru\mscrv\mscrw\mscrx\mscry\mscrz $$ \setmathfont{NewCMMath-Book.otf} $$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ \end{verbatim} produces $$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$\setmathfont[StylisticSet=1]{NewCMMath-Book.otf}$$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$ \mscra\mscrb\mscrc\mscrd\mscre\mscrf\mscrg\mscrh\mscri\mscrj\mscrk\mscrl\mscrm\mscrn\mscro\mscrp\mscrq\mscrr\mscrs\mscrt\mscru\mscrv\mscrw\mscrx\mscry\mscrz $$ \setmathfont{NewCMMath-Book.otf}$$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ \subsection{Math Kerning} Math kerning has been added to all NewCM Math fonts. This feature greatly improves Math typesetting, especially for the calligraphic letters but for regular letters as well, such as, $Y$ or $\Gamma$. \begin{center} \includegraphics{mathkern-example.pdf} \end{center} Regular kerning in math mode works with Lua\LaTeX\ but not with \XeLaTeX. The next table shows the effect of kerning in math mode with calligraphic capital letters and capital Latin italic letters with period and comma (look closely). This table is compiled with Lua\LaTeX. \begin{center} \includegraphics{mathkern-example2.pdf} \end{center} Regular kerning in math mode does not work with \XeLaTeX\ as said above. With Lua\LaTeX\ we notice that it works with calligraphic capitals but not with Latin italic capitals. The reason looks to be the fact that these letters have italic correction enabled in the fonts (as they should). Italic correction breaks the application of the kern. Now if italic correction is removed, by say \verb|$H\/.$|, then the engine does not see the characters \verb|H| and period as consecutive characters to apply the kern, and the kern is lost. The code of the table above is as follows: \begin{verbatim} \begin{tabular}{c|c} Before & Current (with Lua)\\ \hline {\setmathfont{latinmodern-math.otf}\Large ${\symcal H.}^{{\symcal H,}^{\symcal H,}}$ ${H\/.}{H.}^{{H\/,}{H,}^{H\/,H,}}$} & {\setmathfont{NewCMMath-Regular.otf}\Large ${\symcal H.}^{{\symcal H,}^{\symcal H,}}$ ${H\/.}{H.}^{{H\/,}{H,}^{H\/,H,}}$} \end{tabular} \end{verbatim} We also notice that \LuaLaTeX\ has a parameter set by the command \noindent\verb|\mathitalicsmode| with default value $0$. If set to $2$ with \verb|\mathitalicsmode=2| then \LuaLaTeX\ uses regular letter kerning in math mode but breaks other things like the endpoints of integrals (see \cite{stackexchangeitcor}). We conclude this subsection realizing that there is no single engine (among \XeLaTeX\ and Lua\LaTeX) that supports all features. \subsection{Blackboard Bold} The fonts contain as default the \textsc{ams} blackboard bold. These are: $$\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathbb{abcdefghijklmnopqrstuvwxyz}$$ $$\mathbb{0123456789\ \pi\gamma\Gamma\Pi\textrm{\mathastext\char"2140}\mitBbbD\mitBbbd\mitBbbe\mitBbbi\mitBbbj}$$ They also contain a blackboard bold that matches the design of Computer Modern but respecting the fact that most users have been used for a long period to the AMS bb design. Compare the default \begin{center}{\LARGE $\textup{R}\in\mathbb R\qquad \textup{Q}\in\mathbb Q$} \end{center} with the new design \setmathfont[StylisticSet=3]{NewCMMath-Book.otf} \begin{center} {\LARGE $\textup{R}\in\mathbb R\qquad \textup{Q}\in\mathbb Q$} \end{center} \setmathfont{NewCMMath-Book.otf} To access this design one needs to load the math font enabling the \verb|ss03| stylistic set using for example \noindent\verb|\setmathfont[StylisticSet=3]{NewCMMath-Book.otf}| Then the above blackboard bold design changes to \setmathfont[StylisticSet=3]{NewCMMath-Book.otf} $$\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathbb{abcdefghijklmnopqrstuvwxyz}$$ $$\mathbb{0123456789\ \pi\gamma\Gamma\Pi\textrm{\mathastextnewcm\char"2140}\mitBbbD\mitBbbd\mitBbbe\mitBbbi\mitBbbj}$$ \setmathfont{NewCMMath-Book.otf} \newsavebox{\emptysetdefault} \savebox{\emptysetdefault}{$\emptyset$} \setmathfont[CharacterVariant=1]{NewCMMath-Book.otf} If using the latest \verb|fontsetup| then you can choose the NewCM blackboard bold with the option \verb|newcmbb|. \subsubsection{Small Caps for Blackboard Bold} It happens one to need Blackboard Bold in Small Caps. For example, this may arise when running heads are in small caps and contain a Blackboard Bold symbol. Consider for example the case when a chapter is named ``The Lebesgue measure on $\mathbb R$''. Then the running head in small caps will look awkward: \begin{center} \textsc{the lebesgue measure on} $\mathbb R$ \end{center} In such cases, a small caps version of the number sets is needed. NewCM provides the needed glyphs in \verb|ss05|. So setting \noindent\verb|\setmathfont[StylisticSet=5]{NewCMMath-Book.otf}| \noindent the above running head becomes: \setmathfont[StylisticSet=5]{NewCMMath-Book.otf} \begin{center} \textsc{the lebesgue measure on} $\mathbb R$ \end{center} \setmathfont{NewCMMath-Book.otf} These glyphs are provided in the CM style (instead of the AMS bb) by enabling \verb|ss03| too. So the command \noindent\verb|\setmathfont[StylisticSet=3,StylisticSet=5]{NewCMMath-Book.otf}| \noindent will produce: \setmathfont[StylisticSet=3,StylisticSet=5]{NewCMMath-Book.otf} \begin{center} \textsc{the lebesgue measure on} $\mathbb R$ \end{center} \setmathfont[CharacterVariant=1]{NewCMMath-Book.otf} The same is true for the Regular and Bold Math fonts. \subsection{Upright and extensible integrals} The Math fonts (both Regular and Book weights) include upright integrals in the ss02 StylisticSet. Use with \medskip \noindent\verb|\setmathfont[StylisticSet=2]{NewCMMath-Book.otf}| \noindent or \noindent\verb|\setmathfont[StylisticSet=2]{NewCMMath-Regular.otf}| \medskip \noindent or use the \verb|upint| option of the \texttt{fontsetup} package with \begin{verbatim} \usepackage[upint,default]{fontsetup} \end{verbatim} for the Book weight, or \begin{verbatim} \usepackage[upint,olddefault]{fontsetup} \end{verbatim} for the regular weight. Moreover, extensible integrals are supported by the fonts but \textit{NOT} by the Unicode TeX engines. The following code is a trick so that extensible integrals can be constructed using \LuaLaTeX. The result is shown at the end of the article. What the code below does, is that it defines the slot uni222B (integral) as a delimiter. And then this is extended as a delimiter with the mechanism that the font provides. \begin{tabular}{l|r} \begin{minipage}[c]{6cm} \begin{verbatim} \documentclass{article} \usepackage[default]{fontsetup} \begin{document} $ \Uleft\Udelimiter 0 0 "222B \begin{pmatrix} 1\\2\\3\\4\\5\\6\\7\\8\\9 \end{pmatrix} \Uright. $ \end{document} \end{verbatim} \end{minipage} & \begin{minipage}[c]{4cm} \begin{center} \includegraphics{integral.pdf} \end{center} \end{minipage} \end{tabular} \subsection{Additional and alternative characters in Math} \subsubsection{Alternative symbol for the empty set} \renewcommand{\emptyset}{\char"2205}\renewcommand{\varnothing}{\char"2300} There is a mismatch between the \TeX\ world for the empty set and the Unicode standard. For \TeX\ the default empty set is $\emptyset$, that is a slashed zero. Unicode suggests that the proper character is $\varnothing$, and suggests the switch to the slashed zero if $\varnothing$ is followed by the Variation Selector UFE00. However, this method is not yet supported by Unicode \TeX\ engines. Since the fonts must comply to the Unicode standard the math fonts follow the Unicode suggestion. To make things work as expected in \TeX, the user must load the Math fonts with CharacterVariant=1. For example, with \medskip \noindent\verb|\setmathfont[CharacterVariant=1]{NewCMMath-Regular.otf}| \medskip \noindent This will map \verb|\emptyset| to $\emptyset$. If CharacterVariant=1 is not loaded the \verb|\emptyset| will give the proper Unicode character, that is $\varnothing$. If the user want to have access to both symbols, $\emptyset$ with \verb|\emptyset| and $\varnothing$ with \verb|\varnothing| in the same document then this can by done with the next four lines. \begin{verbatim} \setmathfont[CharacterVariant=1]{NewCMMath-Regular.otf} \AtBeginDocument{% \renewcommand{\emptyset}{\char"2205}% \renewcommand{\varnothing}{\char"2300}} \end{verbatim} The \verb|fontsetup| package defaults to the \TeX-default empty set ($\emptyset$) and provides the option `\verb|varnothing|' to easily switch to the alternative character. \subsubsection{Additional symbols} %\newcommand{\twoheadhookrightarrow}{\char"E034} %\newcommand{\twoheadhookleftarrow}{\char"E035} It also provides four more arrows that correspond to the commands \medskip \verb|\nrightrightarrows| ($\nrightrightarrows$) \quad \verb|\nleftleftarrows| ($\nleftleftarrows$) \noindent and \verb|\twoheadhookrightarrow| ($\twoheadhookrightarrow$)\quad \verb|\twoheadhookleftarrow| ($\twoheadhookleftarrow$) \medskip \noindent and supported by the \verb|default| and \verb|olddefault| options of the \verb|fontsetup| package. These symbols are not in the Unicode Standard and so they are added in the Private Area of the fonts. \subsubsection{Additional operators} An operator for convolution of functions seems to have long been forgotten from both Unicode and the \TeX\ world. The \verb|default| and \verb|olddefault| options of the \verb|fontsetup| package define a new command \verb|\convolution| which behaves just like the \verb|\sum| and \verb|\int| operators. The convolution of $N$ functions in inline mode: $\convolution_{n=1}^N f_n$ and the same in display mode: $$\convolution_{n=1}^N f_n.$$ \subsubsection{``Smoother'' changing radicals} One more radical size has been added that improves the way radical sizes change. Compare the previous state \setmathfont{latinmodern-math.otf} $$\sqrt{q}\quad\sqrt{q_1^2}\quad\sqrt{q_1^{2^3}}\quad\sqrt{\frac12}$$ with the new one \setmathfont[CharacterVariant=1]{NewCMMath-Book.otf} $$\sqrt{q}\quad\sqrt{q_1^2}\quad\sqrt{q_1^{2^3}}\quad\sqrt{\frac12}.$$ \subsection{Notes on Mathematics} Extensible tildes and hats produce different results with \XeLaTeX\ and \LuaLaTeX\ because these unicode engines treat differently the width of characters. In particular, \XeLaTeX\ handles italic correction as part of the character width but \LuaLaTeX\ does this only if a character follows. This affects how extensible accents like \verb|\widehat| or \verb|\widetilde| select the proper size. With \XeLaTeX, \verb|\widetilde{Y}| \verb|\widetilde{X}| will give the expected result $\widetilde{Y}\widetilde{X}$; but with \LuaLaTeX\ the letter $Y$ is narrower (and its italic correction is not taken into account if it stands alone) and gets the plain tilde size, as in $\tilde{Y}$. To bypass this with \LuaLaTeX\ one has to use a zero width character after a letter such as $Y$ so that \LuaLaTeX\ takes into account the italic correction of $Y$. For example with \begin{center}\verb|\widetilde{Y\Uchar"200D}| \end{center} the result will be correct (U200D is the ``Zero Width Joiner'' in Unicode). I thank Ulrike Fischer for this solution. \section{The Medieval Latin and Uncial Greek glyph complement} \displayfonttable[hex-digits=head+foot, range-end=03CE]{NewCMUncial10-Book.otf}[ExternalLocation=../otf/] \section{The Aegean Numbers glyph complement} \label{AegeanNumbers} \begin{tabular}{|c|c||c|c|}\hline \verb|\aegeanseparator| &\aegeanseparator& \verb|\aegeaneighthundred| &\aegeaneighthundred\\ \hline \verb|\aegeanseparatordot| &\aegeanseparatordot& \verb|\aegeanninehundred| &\aegeanninehundred\\ \hline \verb|\aegeancheckmark| &\aegeancheckmark& \verb|\aegeanonethousand| &\aegeanonethousand\\ \hline \verb|\aegeanone| &\aegeanone& \verb|\aegeantwothousand| &\aegeantwothousand\\ \hline \verb|\aegeantwo| &\aegeantwo& \verb|\aegeanthreethousand| &\aegeanthreethousand\\ \hline \verb|\aegeanthree| &\aegeanthree& \verb|\aegeanfourthousand| &\aegeanfourthousand\\ \hline \verb|\aegeanfour| &\aegeanfour& \verb|\aegeanfivethousand| &\aegeanfivethousand\\ \hline \verb|\aegeanfive| &\aegeanfive& \verb|\aegeansixthousand| &\aegeansixthousand\\ \hline \verb|\aegeansix| &\aegeansix& \verb|\aegeanseventhousand| &\aegeanseventhousand\\ \hline \verb|\aegeanseven| &\aegeanseven& \verb|\aegeaneightthousand| &\aegeaneightthousand\\ \hline \verb|\aegeaneight| &\aegeaneight& \verb|\aegeanninethousand| &\aegeanninethousand\\ \hline \verb|\aegeanine| &\aegeanine& \verb|\aegeantenthousand| &\aegeantenthousand\\ \hline \verb|\aegeanten| &\aegeanten& \verb|\aegeantwentythousand| &\aegeantwentythousand\\ \hline \verb|\aegeantwenty| &\aegeantwenty& \verb|\aegeanthirtythousand| &\aegeanthirtythousand\\ \hline \verb|\aegeanthirty| &\aegeanthirty& \verb|\aegeanfourtythousand| &\aegeanfourtythousand\\ \hline \verb|\aegeanfourty| &\aegeanfourty& \verb|\aegeanfiftythousand| &\aegeanfiftythousand\\ \hline \verb|\aegeanfifty| &\aegeanfifty& \verb|\aegeansixtythousand| &\aegeansixtythousand\\ \hline \verb|\aegeansixty| &\aegeansixty& \verb|\aegeanseventythousand| &\aegeanseventythousand\\ \hline \verb|\aegeanseventy| &\aegeanseventy& \verb|\aegeaneightythousand| &\aegeaneightythousand\\ \hline \verb|\aegeaneighty| &\aegeaneighty& \verb|\aegeanninetythousand| &\aegeanninetythousand\\ \hline \verb|\aegeanninety| &\aegeanninety& \verb|\aegeanweightbaseunit| &\aegeanweightbaseunit\\ \hline \verb|\aegeanonehundred| &\aegeanonehundred& \verb|\aegeanweightfirstsubunit| &\aegeanweightfirstsubunit\\ \hline \verb|\aegeantwohundred| &\aegeantwohundred& \verb|\aegeanweightsecondsubunit| &\aegeanweightsecondsubunit\\ \hline \verb|\aegeanthreehundred| &\aegeanthreehundred& \verb|\aegeanweightthirdsubunit| &\aegeanweightthirdsubunit\\ \hline \verb|\aegeanfourhundred| &\aegeanfourhundred& \verb|\aegeanweightfourthsubunit| &\aegeanweightfourthsubunit\\ \hline \verb|\aegeanfivehundred| &\aegeanfivehundred& \verb|\aegeandrymeasurefirstsubunit| &\aegeandrymeasurefirstsubunit\\ \hline \verb|\aegeansixhundred| &\aegeansixhundred& \verb|\aegeanliquidmeasurefirstsubunit| &\aegeanliquidmeasurefirstsubunit\\ \hline \verb|\aegeansevenhundred| &\aegeansevenhundred& \verb|\aegeansecondsubunit| &\aegeansecondsubunit\\ \hline & & \verb|\aegeanthirdsubunit| &\aegeanthirdsubunit\\ \hline \end{tabular} \begin{thebibliography}{9} \bibitem[\textsc{at}]{1} Antonis Tsolomitis, \textit{The NewComputerModern font family}, \textsc{tug}boat Vol.~\textsc{42}, No.~\textsc{1}, \textsc{2021}. \bibitem[\textsc{ipa}rev]{2} Council actions on revisions of the \textsc{ipa}, Phonetic Representation: b) Revision of the \textsc{ipa}, Journal of the International Phonetic Association, Volume \textsc{23}, Issue \textsc{1}, June \textsc{1993}, pp.~\textsc{32--34}. \bibitem[web1]{stackexchangeitcor} https://tex.stackexchange.com/questions/697498/luatex-unicode-math-and-italic-correction \end{thebibliography} \end{document}