On Fri, Jun 2, 2017 at 11:39 AM, Mathias Schickel <m...@fa.uni-tuebingen.de> wrote: > Hi Mikael, > > math fonts are a bit different from text fonts. This means that you need > special methods to influence them. Because I once had a similar concern like > you I asked Hans to implement a way to influence kerning in math fonts > between certain glyphs. I have attached an lfg-file that shows how to use it. > > To enable a goodie file like the one attached you have to define your > typescript like > > \starttypescript [\s!math][cambriaown][\s!all] > \loadfontgoodies[cambriaown-math] > \definefontsynonym[\s!MathRoman] [Cambria-Math] > > [\s!features={\s!math\mathsizesuffix},\s!designsize=\s!auto,\s!goodies=cambriaown-math] > \stoptypescript > > I hope this helps! > > Best > Mathias > > > > > >> Am 02.06.2017 um 10:59 schrieb Mikael P. Sundqvist <mic...@gmail.com>: >> >> Hi! >> >> Now that the bug with primes is fixed in ConTeXt, I wonder if there is >> a way to change the kerning between certain characters in mathematics >> (in case one is not happy with the output from the font)? After >> reading in fonts-mkiv.pdf this is what I came up with: >> >> \startluacode >> fonts.handlers.otf.addfeature { >> name = "kerntest", >> type = "kern", >> data = { >> [0x61] = { [0x62] = -150 }, -- a and b in text >> [0x1d44e] = { [0x1d44f] = -150 }, -- mathematical italic small a and b >> [0x02032] = { [0x00028] = -150 }, -- prime and left parenthesis >> } >> } >> \stopluacode >> >> \definefontfeature[kerntest][kerntest=yes] >> >> \definefontfamily[lucidaopentype][rm][Lucida Bright OT] >> \definefontfamily[lucidaopentype][mm][Lucida Bright Math OT] >> >> \setupbodyfont[lucidaopentype,10pt] >> >> >> \startTEXpage[offset=3pt] >> abba $abba f'(x)$ >> >> \addff{kerntest} >> >> abba $abba f'(x)$ >> >> I prefer $f'\mkern-3mu(x)$ >> \stopTEXpage >> >> The output is attached as a png file. As you see the kerning works as >> expected in text mode, but not at all in math mode, even not for the a >> and b (which I hope I entered correctly). >> >> Something like the third line is what I'm after, but not having to use >> \mkern in all places. Is it possible? >> >> /Mikael >> >> PS: This is a cross post of the question >> https://tex.stackexchange.com/q/372857/52406, where I got the >> suggestion to ask on the list. >> <ctx-example20.png>___________________________________________________________________________________ >> 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 >> ___________________________________________________________________________________ > > > ___________________________________________________________________________________ > 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 > ___________________________________________________________________________________
Thank you very much for your reply, Mathias! I'm not sure I get it, though. I find that there is already a file lucida-opentype-math.lfg in the distribution. Just experimenting, I added to this file an entry with kernpairs (see below), to see if I could make a change with a and b (if I cannot manage that, I don't see how I could get the prime and parenthesis case to work). %%% start of my new lucida-opentype-math.lfg ----- kern_250 = { bottomright = { { kern = -250 } }, force = true } return { name = "lucida-opentype-math", version = "1.00", comment = "Goodies that complement lucida opentype.", author = "Hans Hagen", copyright = "ConTeXt development team", mathematics = { alternates = { italic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Lowercase Italic" }, arrow = { feature = 'ss02', value = 1, comment = "Mathematical Alternative Smaller Arrows" }, operator = { feature = 'ss03', value = 1, comment = "Mathematical Alternative Smaller Operators" }, calligraphic = { feature = 'ss04', value = 1, comment = "Mathematical Alternative Calligraphic Characters" }, zero = { feature = 'ss05', value = 1, comment = "Mathematical Alternative Zero" }, partial = { feature = 'ss20', value = 1, comment = "Mathematical Alternative Upright Partial Differential" }, }, -- kerns = { -- [0x1D449] = kern_250, -- -- [0x1D44A] = kern_250, -- 𝑊 -- }, kernpairs = { [0x1D44E] = { -- a [0x1D44F] = -200,} -- b }, dimensions = { default = { -- experimental values [0x2044] = { xoffset = 275, width = 600 }, -- [0x2032] = { yoffset = -10 }, }, }, }, } %%% end of lucida-opentype-math.lfg but in the output of \setupbodyfont[lucidaot,10pt] \startTEXpage[offset=3pt] $ab$ \stopTEXpage I see no changes in the spacing between a and b. Any ideas? /Mikael ___________________________________________________________________________________ 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 ___________________________________________________________________________________