On Thu, Jun 10, 2021 at 11:35 PM Hans Hagen
Hi,
I played a bit with these newcomputermodern fonts. They are extended versions of latin modern and come in:
- 10pt (serif, sane, mono, math) - book (serif, sane, mono, math) - 8pt (partial)
I made a typescript for the 10pt regular and book (as I see no reason to configure 8pt). So, assuming that one installs these fonts:
\setupbodyfont[newcomputermodern-book] \setupbodyfont[newcomputermodern]
should work ok. The book variant is quite nice. I didn't look into the provided math alternates (context supports that but I didn't define them for this font ... input from math lovers is welcome).
Now, this font also implements, as cambria does, upright integrals and as that has comes on my radar every year when I ponder these integrals I decided that it was about tiem to deal with it properly. It is no big deal to implement them gropwing (after all one can see them as left delimiter) but the main issue are these super and subscripts.
\setupbodyfont[newcomputermodern-book] % \setupbodyfont[cambria]
\starttext
\startformula x = \integral^1_2 \mathinner{\vrule height 10mm depth 10mm width 5mm} = x = \integral^1_2 \mathinner{\vrule height 20mm depth 20mm width 5mm} = x = \integral^1_2 \mathinner{\vrule height 30mm depth 30mm width 5mm} = x = \integral^1_2 \mathinner{x} = x = \integral^1_2 x \stopformula
\startformula x = \int\Umathadaptsize^1_2 \mathinner{\vrule height 10mm depth 10mm width 5mm} = x = \int\Umathadaptsize^1_2 \mathinner{\vrule height 20mm depth 20mm width 5mm} = x = \int\Umathadaptsize^1_2 \mathinner{\vrule height 30mm depth 30mm width 5mm} = x = \int\Umathadaptsize^1_2 \mathinner{x} = x = \int\Umathadaptsize^1_2 x \stopformula
\def\rab{\Umathchar"1"00"007C }
$ x = \int\Umathadaptsize^1_2 \mathinner{\vrule height 10mm depth 10mm width 5mm} = x = \int\Umathadaptsize^1_2 \mathinner{\vrule height 20mm depth 20mm width 5mm} = x = \int\Umathadaptsize^1_2 \mathinner{\vrule height 30mm depth 30mm width 5mm} = x = \int\Umathadaptsize^1_2 x = x = \rab\Umathadaptsize^1_2^^1__2 \mathinner{\vrule height 30mm depth 30mm width 5mm} $
\stoptext
After playing with several solutions (delimiters, fences, radicals etc) I just settled for a few line extension to the engine (there was already plenty in place in luametatex for that anyway) and it seem to work ok.
This \Umathadaptsize is a bit like the limits related suffixes (and uses the same scanner logic). It basically flags an operator as something that should grow cf what follows. I can add some fine tuning if needed (can also be dealt with at the macro end, as with other mechanisms, but this is just a first test of useability).
(I might also extend another mechanism to deal with it but putting scripts on top or after is already handles pretty well by regular mechanisms, so ...)
Of course only a few fonts provide these upright growing integrals (makes me wonder about summation and product).
Concerning the newcm fonts: for some reason the book variants (otf files) are about twice as large (in filesize) but what we use (cached) is the same size (only bboxes differ) so there is something fishy in the otf. I can imagine that at some point we add the 10pt/book ones to the standard mkiv distribution and maybe only the subset to the lmtx distribution but for now these book ones are too big for that, but it all depende on them being used.
Happy testing (hopefully there are no side effects).
Hans
Hi! The book version looks nice, indeed! (I am one of those who still use the MetaFont version of computer modern (in LaTeX), with some parameters set so that it becomes less thin. Looks very nice when printed. I guess this book version will also look better, and replace the MetaFont setup!) Is there an option available to always get upright integrals? /Mikael