On Wed, Jan 16, 2019 at 6:29 PM User 19087 <se.user19...@gmail.com> wrote: >> Or I use {\switchtobodyfont[...]\symbol[ShortForty]} in the document. >> At that point the body font may have been switched to a size whose >> environment defines different values for 'x' and 'xx'. Or perhaps the >> current or default body font, via \definebodyfont, overrides the 'x' >> and 'xx' sizes. In either case it would be more flexible to query the >> current values of 'x' and 'xx' rather than hardcoding the values of >> 'n' and 'm'.
On Fri, Jan 18, 2019 at 6:47 AM Wolfgang Schuster <wolfgang.schuster.li...@gmail.com> wrote: > The default sizes (12pt, 14.4pt etc,) set the x and xx sizes to a fixed > size which leads > to differences and the scale factor. That's yet another reason to avoiding fixing the values of the 'm' and 'n' sizes. As of now, you have to first decide your font size, lookup the 'x' and 'xx' sizes in font-pre.mkiv and do a little math... every time you switch fonts. Instead I've come up with a function that doesn't depend on hardcoded globals: \define[2]\tosize{% \setbox0=\hbox{\tf x}% \setbox1=\hbox{#1 x}% \startluacode tex.dimen[2] = tex.getdimen("bodyfontsize") * tex.box[1].height / tex.box[0].height \stopluacode% {\switchtobodyfont[\the\dimen2]#2}% } \tosize{\tfx}{\symbol[ShortForty]} However I worry that measuring individual letter sizes to deduce the actual font size may not be foolproof, especially with optical sizes and so on. There must be some other method (at least via luatex) to obtain the 'x' and 'xx' sizes as workable dimensions. thanks, ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________