* Adjust kern for one character
@ 2019-12-22 21:19 Rik Kabel
2019-12-22 21:28 ` Henri Menke
2019-12-22 22:40 ` mf
0 siblings, 2 replies; 12+ messages in thread
From: Rik Kabel @ 2019-12-22 21:19 UTC (permalink / raw)
To: mailing list for ConTeXt users
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.)
--
Rik
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-22 21:19 Adjust kern for one character Rik Kabel
@ 2019-12-22 21:28 ` Henri Menke
2019-12-23 9:13 ` Mojca Miklavec
2019-12-22 22:40 ` mf
1 sibling, 1 reply; 12+ messages in thread
From: Henri Menke @ 2019-12-22 21:28 UTC (permalink / raw)
To: ntg-context
On 12/23/19 10:19 AM, Rik Kabel wrote:
> List,
>
> Is there a way in ConTeXt to adjust the left-side kern for one
> character?
No, kerns always come in pairs.
> 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.)
>
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-22 21:19 Adjust kern for one character Rik Kabel
2019-12-22 21:28 ` Henri Menke
@ 2019-12-22 22:40 ` mf
2019-12-23 1:30 ` Rik Kabel
1 sibling, 1 reply; 12+ messages in thread
From: mf @ 2019-12-22 22:40 UTC (permalink / raw)
To: ntg-context
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
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-22 22:40 ` mf
@ 2019-12-23 1:30 ` Rik Kabel
2019-12-23 2:33 ` Henri Menke
0 siblings, 1 reply; 12+ messages in thread
From: Rik Kabel @ 2019-12-23 1:30 UTC (permalink / raw)
To: ntg-context
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.
--
Rik
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-23 1:30 ` Rik Kabel
@ 2019-12-23 2:33 ` Henri Menke
2019-12-23 2:34 ` Henri Menke
0 siblings, 1 reply; 12+ messages in thread
From: Henri Menke @ 2019-12-23 2:33 UTC (permalink / raw)
To: ntg-context
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
}
}
}
\stopluacode
\setupbodyfont[modern] % have to reload the font
\starttext
No Jokes!
\stoptext
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-23 2:33 ` Henri Menke
@ 2019-12-23 2:34 ` Henri Menke
2019-12-23 23:45 ` Rik Kabel
0 siblings, 1 reply; 12+ messages in thread
From: Henri Menke @ 2019-12-23 2:34 UTC (permalink / raw)
To: ntg-context
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
>
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-22 21:28 ` Henri Menke
@ 2019-12-23 9:13 ` Mojca Miklavec
2019-12-23 9:31 ` Hans Hagen
0 siblings, 1 reply; 12+ messages in thread
From: Mojca Miklavec @ 2019-12-23 9:13 UTC (permalink / raw)
To: mailing list for ConTeXt users
On Sun, 22 Dec 2019 at 22:28, Henri Menke wrote:
> On 12/23/19 10:19 AM, Rik Kabel wrote:
> > List,
> >
> > Is there a way in ConTeXt to adjust the left-side kern for one
> > character?
>
> No, kerns always come in pairs.
Bounding boxes come per-character, though ;)
I'm not familiar with details, but I would guess that it might be
possible to change the bounding box of a character on the fly.
Mojca
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-23 9:13 ` Mojca Miklavec
@ 2019-12-23 9:31 ` Hans Hagen
0 siblings, 0 replies; 12+ messages in thread
From: Hans Hagen @ 2019-12-23 9:31 UTC (permalink / raw)
To: mailing list for ConTeXt users, Mojca Miklavec
On 12/23/2019 10:13 AM, Mojca Miklavec wrote:
> On Sun, 22 Dec 2019 at 22:28, Henri Menke wrote:
>> On 12/23/19 10:19 AM, Rik Kabel wrote:
>>> List,
>>>
>>> Is there a way in ConTeXt to adjust the left-side kern for one
>>> character?
>>
>> No, kerns always come in pairs.
>
> Bounding boxes come per-character, though ;)
> I'm not familiar with details, but I would guess that it might be
> possible to change the bounding box of a character on the fly.
you can tweak the width when you load, boundingboxes can only be used
for height and depth guessing (fonts provide width information)
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://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-23 2:34 ` Henri Menke
@ 2019-12-23 23:45 ` Rik Kabel
2019-12-26 12:41 ` Rik Kabel
0 siblings, 1 reply; 12+ messages in thread
From: Rik Kabel @ 2019-12-23 23:45 UTC (permalink / raw)
To: ntg-context
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
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-23 23:45 ` Rik Kabel
@ 2019-12-26 12:41 ` Rik Kabel
2019-12-26 13:40 ` Hans Hagen
0 siblings, 1 reply; 12+ messages in thread
From: Rik Kabel @ 2019-12-26 12:41 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1.1: Type: text/plain, Size: 4912 bytes --]
On 12/23/2019 18:45, Rik Kabel wrote:
>
> 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.
>
Okay, I have progressed further but have run into something (else) I
cannot understand. Consider the following example:
\definefontfeature [myserif] [mode=node,kern=yes,xkern=yes]
\definefontfeature [mysans] [mode=node,kern=yes,xkern=no]
\definefontfeature [none] [mode=node]
\definefontfamily [mykerns] [serif] [Baskervaldx] [features=myserif]
\definefontfamily [mykerns] [sans] [Dejavusans] [features=mysans]
\definefontfamily [default] [serif] [Baskervaldx] [features=default]
\definefontfamily [default] [sans] [Dejavusans] [features=default]
\definefontfamily [nokerns] [serif] [Baskervaldx] [features=none]
\definefontfamily [nokerns] [sans] [Dejavusans] [features=none]
\definefontfamily [legends] [mono] [Dejavusansmono] [features=default]
\startluacode
fonts.handlers.otf.addfeature {
name = "kern",
type = "kern",
data = {
["x"] = { ["x"] = -300 },
[" "] = { ["A"] = 1000 }
}
}
fonts.handlers.otf.addfeature {
name = "xkern",
type = "kern",
data = {
["x"] = { ["x"] = 500 },
[" "] = { ["J"] = 500 }
}
}
\stopluacode
\startbuffer[Sample]
g, Jaxxb AJon
\stopbuffer
\define[2]\Test{
{\switchtobodyfont[#1]#2\getbuffer[Sample]}}
\setupbodyfont[legends]
\starttext
\starttabulate[|l|l|l|]
\NC test \NC Serif \NC Sans \NC \NR
\NC nokerns \NC \Test{nokerns}{\tf} \NC \Test{nokerns}{\ss} \NC \NR
\NC default \NC \Test{default}{\tf} \NC \Test{default}{\ss} \NC \NR
\NC mykerns \NC \Test{mykerns}{\tf} \NC \Test{mykerns}{\ss} \NC \NR
\stoptabulate
\stoptext
It shows, as far as I see, that the kern feature type supports " ", but
only when it is named kern. When it is named xkern, as here, it does not
support spaces, but does support other characters.
If I can get support for a separate feature name, I can easily apply
this corrective kern to the single problematic font.
I also tried a goodie file, but it, too, did not support the " ".
--
Rik
[-- Attachment #1.2: Type: text/html, Size: 6440 bytes --]
[-- Attachment #2: Type: text/plain, Size: 493 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-26 12:41 ` Rik Kabel
@ 2019-12-26 13:40 ` Hans Hagen
2019-12-26 14:34 ` Rik Kabel
0 siblings, 1 reply; 12+ messages in thread
From: Hans Hagen @ 2019-12-26 13:40 UTC (permalink / raw)
To: mailing list for ConTeXt users, Rik Kabel
On 12/26/2019 1:41 PM, Rik Kabel wrote:
> Okay, I have progressed further but have run into something (else) I
> cannot understand. Consider the following example:
>
> \definefontfeature [myserif] [mode=node,kern=yes,xkern=yes]
> \definefontfeature [mysans] [mode=node,kern=yes,xkern=no]
> \definefontfeature [none] [mode=node]
> \definefontfamily [mykerns] [serif] [Baskervaldx] [features=myserif]
> \definefontfamily [mykerns] [sans] [Dejavusans] [features=mysans]
> \definefontfamily [default] [serif] [Baskervaldx] [features=default]
> \definefontfamily [default] [sans] [Dejavusans] [features=default]
> \definefontfamily [nokerns] [serif] [Baskervaldx] [features=none]
> \definefontfamily [nokerns] [sans] [Dejavusans] [features=none]
> \definefontfamily [legends] [mono] [Dejavusansmono] [features=default]
>
> \startluacode
> fonts.handlers.otf.addfeature {
> name = "kern",
> type = "kern",
> data = {
> ["x"] = { ["x"] = -300 },
> [" "] = { ["A"] = 1000 }
> }
> }
> fonts.handlers.otf.addfeature {
> name = "xkern",
> type = "kern",
> data = {
> ["x"] = { ["x"] = 500 },
> [" "] = { ["J"] = 500 }
> }
> }
> \stopluacode
>
> \startbuffer[Sample]
> g, Jaxxb AJon
> \stopbuffer
>
> \define[2]\Test{
> {\switchtobodyfont[#1]#2\getbuffer[Sample]}}
>
> \setupbodyfont[legends]
>
> \starttext
> \starttabulate[|l|l|l|]
> \NC test \NC Serif \NC Sans \NC \NR
> \NC nokerns \NC \Test{nokerns}{\tf} \NC \Test{nokerns}{\ss} \NC \NR
> \NC default \NC \Test{default}{\tf} \NC \Test{default}{\ss} \NC \NR
> \NC mykerns \NC \Test{mykerns}{\tf} \NC \Test{mykerns}{\ss} \NC \NR
> \stoptabulate
> \stoptext
>
> It shows, as far as I see, that the kern feature type supports " ", but
> only when it is named kern. When it is named xkern, as here, it does not
> support spaces, but does support other characters.
Indeed it's currently bound to 'kern' (mostly for convenience and a
little for performance) but it's not that hard to make it a bit more
flexible (but not today).
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://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Adjust kern for one character
2019-12-26 13:40 ` Hans Hagen
@ 2019-12-26 14:34 ` Rik Kabel
0 siblings, 0 replies; 12+ messages in thread
From: Rik Kabel @ 2019-12-26 14:34 UTC (permalink / raw)
To: Hans Hagen, mailing list for ConTeXt users
On 12/26/2019 08:40, Hans Hagen wrote:
> On 12/26/2019 1:41 PM, Rik Kabel wrote:
>
>> Okay, I have progressed further but have run into something (else) I
>> cannot understand. Consider the following example:
>>
>> \definefontfeature [myserif] [mode=node,kern=yes,xkern=yes]
>> \definefontfeature [mysans] [mode=node,kern=yes,xkern=no]
>> \definefontfeature [none] [mode=node]
>> \definefontfamily [mykerns] [serif] [Baskervaldx]
>> [features=myserif]
>> \definefontfamily [mykerns] [sans] [Dejavusans]
>> [features=mysans]
>> \definefontfamily [default] [serif] [Baskervaldx]
>> [features=default]
>> \definefontfamily [default] [sans] [Dejavusans]
>> [features=default]
>> \definefontfamily [nokerns] [serif] [Baskervaldx] [features=none]
>> \definefontfamily [nokerns] [sans] [Dejavusans] [features=none]
>> \definefontfamily [legends] [mono] [Dejavusansmono]
>> [features=default]
>>
>> \startluacode
>> fonts.handlers.otf.addfeature {
>> name = "kern",
>> type = "kern",
>> data = {
>> ["x"] = { ["x"] = -300 },
>> [" "] = { ["A"] = 1000 }
>> }
>> }
>> fonts.handlers.otf.addfeature {
>> name = "xkern",
>> type = "kern",
>> data = {
>> ["x"] = { ["x"] = 500 },
>> [" "] = { ["J"] = 500 }
>> }
>> }
>> \stopluacode
>>
>> \startbuffer[Sample]
>> g, Jaxxb AJon
>> \stopbuffer
>>
>> \define[2]\Test{
>> {\switchtobodyfont[#1]#2\getbuffer[Sample]}}
>>
>> \setupbodyfont[legends]
>>
>> \starttext
>> \starttabulate[|l|l|l|]
>> \NC test \NC Serif \NC Sans
>> \NC \NR
>> \NC nokerns \NC \Test{nokerns}{\tf} \NC \Test{nokerns}{\ss}
>> \NC \NR
>> \NC default \NC \Test{default}{\tf} \NC \Test{default}{\ss}
>> \NC \NR
>> \NC mykerns \NC \Test{mykerns}{\tf} \NC \Test{mykerns}{\ss}
>> \NC \NR
>> \stoptabulate
>> \stoptext
>>
>> It shows, as far as I see, that the kern feature type supports " ",
>> but only when it is named kern. When it is named xkern, as here, it
>> does not support spaces, but does support other characters.
> Indeed it's currently bound to 'kern' (mostly for convenience and a
> little for performance) but it's not that hard to make it a bit more
> flexible (but not today).
>
> Hans
>
Thank you for the confirmation. I look forward to the update.
--
Rik
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-12-26 14:34 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-22 21:19 Adjust kern for one character Rik Kabel
2019-12-22 21:28 ` Henri Menke
2019-12-23 9:13 ` Mojca Miklavec
2019-12-23 9:31 ` Hans Hagen
2019-12-22 22:40 ` mf
2019-12-23 1:30 ` Rik Kabel
2019-12-23 2:33 ` Henri Menke
2019-12-23 2:34 ` Henri Menke
2019-12-23 23:45 ` Rik Kabel
2019-12-26 12:41 ` Rik Kabel
2019-12-26 13:40 ` Hans Hagen
2019-12-26 14:34 ` Rik Kabel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).