On Fri, Jun 2, 2017 at 1:39 PM, Mikael P. Sundqvist <mic...@gmail.com> wrote: > 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 I change the dimensions tag in the lucida-opentype-math.lfg into dimensions = { default = { -- experimental values [0x2044] = { xoffset = 275, width = 600 }, [0x2032] = { xoffset = 40, width = 290 }, -- prime [0x2033] = { xoffset = 40, width = 690 }, -- double prime [0x2034] = { xoffset = 40, width = 1090 }, -- triple prime [0x2057] = { xoffset = 40, width = 1490 }, -- quadruple prime -- [0x2032] = { yoffset = -10 }, }, I get something that looks better (look at the attached pdf file). But I don't know the side-effects of changing the offset and with of glyphs like that. It might break something at some other place, I guess. Hans, is there a way to work only on the pair between the prime and the parenthesis? /Mikael
ctx-example21.pdf
Description: Adobe PDF document
___________________________________________________________________________________ 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 ___________________________________________________________________________________