On Wed, Aug 10, 2016 at 11:03 AM, Hans Hagen <pragma@wxs.nl> wrote:
On 8/9/2016 10:41 PM, Mohammad Hossein Bateni wrote:
Hello,

I have a bunch of simple fonts for Arabic/Persian.  These fonts lack
Latin characters, etc., so I use fallbacks to work with them.

I just noticed that \high does not work with them, and have not been
able to pinpoint the issue.  See the MWE below.


\starttypescript [serif][samim][name]
  \definefontsynonym[Serif][Samim]
\stoptypescript

\definetypeface [myfont][rm] [serif][samim][default]
\setupbodyfont [myfont]

\starttext
%\definedfont[Samim*arabic]
۱۲۳\high{۴}۵۶.
\stoptext


I am using Persian digits because the font lacks Latin digits as I
mentioned.  If I use the \definedfont approach, I don't see the
character ۴ (argument of \high) at all.  With the typescript approach,
the same character /is/ typeset but is /not/ raised; it appears on the
baseline but with smaller size.

Any ideas why this is happening?  Could it be that some parameters, for
instance, \exheight are not properly set/read for this font?  Actually,
I looked at the non-math fontdimens in syst-fnt.mkiv, and everything
except \slantperpoint (expected) and \exheight (awkward) is non-zero.  I
don't know where \exheight comes from—perhaps from the height of glyph
for 'x', which the font lacks—however, \emheight is 12pt, although the
font also lacks a glyph for 'm'.

I am also attaching the font in case that helps.

Normally one sets up a proper bodyfont (and environment if needed) while you use just a simple font switch and that one is unrelated to any other font setting.

Thanks!  But what does a `proper' bodyfont contain beside defining rm, ss, tt and mm for 'myfont' above (with regular, bold, italic, and bolditalic)?  The above was a MWE but in my real example I am setting up these things that I mentioned in a larger typescript.  How can I modify the font or the typescript definitions (or the environment) to get \exheight right?
 

I'll add two new commands: \sx and \sxx so that you can say:

    \setuplow [style=\sx]
    \setuphigh[style=\sx]

 If I do this, this will not get attached to the font; right?  For instance, if I define two bodyfonts 'myfonta' and 'myfontb', and switch between them in the document, then I have to stick to these two setups if one font, say 'myfonta', is problematic.  Is that correct?

for such cases. However, as these are derived relative scales they are normally not compatible with \tx and txx sizes.

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________