On 12/22/2019 21:34, Henri Menke wrote:
On 12/23/19 3:33 PM, Henri Menke wrote:
On 12/23/19 2:30 PM, Rik Kabel wrote:
On 12/22/2019 17:40, mf wrote:
Il 22/12/19 22:19, Rik Kabel ha scritto:
List,
Is there a way in ConTeXt to adjust the left-side kern for one character? The cap J in the font I am using is being set too close to the preceding characters and I would rather not insert a thinspace before each. (Inserting a thinspace is sufficient, but finer control is welcome.)
\definecharacterspacing[distantJ] \setupcharacterspacing[distantJ]["004A][left=.15,alternative=1] % 004A is the unicode hex index of letter J \starttext normal: AJB\par \setcharacterspacing[distantJ] more space on the left: AJB\par \resetcharacterspacing normal again: AJB\par \stoptext
Thank you for that, Massi.
Unfortunately, that is too blunt an instrument in this case -- in addition to the body font where the problem exists, it works on the heading and titling font, which does not share the problem.
As Henri's answer hints, I was a bit unclear in my request. It is a kern between a word space and the cap J that is the issue. Perhaps a font feature file is the place to do such a thing.
\startluacode fonts.handlers.otf.addfeature { name = "kern", type = "kern", data = { [" "] = { ["J"] = 1000 % exaggerated value
Should of course be a Lua comment
["J"] = 1000 -- exaggerated value
} } } \stopluacode
\setupbodyfont[modern] % have to reload the font
\starttext
No Jokes!
\stoptext
Henri, This looks very promising. It works, mostly. That is, all fonts that use default fontfeatures pick up the change. So, for example, the companion sansserif for my body font also gets it even though that is not what I want. I can remove kerning from the default fontfeatures and add it back just for the problematic font, but that means no kerning for the sans font. Is there a way to apply this to one font only (serif upright, bold, italic, ...) or even a single face (upright), perhaps by giving it a unique name? I have tried a few variations but had no success. The fonts-mkiv manual has very little on this, and the cld manual nothing. -- Rik