* generic font loader + luaotfload: 'nodepool' (a nil value)"
@ 2017-07-14 14:39 Ulrike Fischer
2017-07-14 17:20 ` Hans Hagen
0 siblings, 1 reply; 6+ messages in thread
From: Ulrike Fischer @ 2017-07-14 14:39 UTC (permalink / raw)
To: ntg-context
I have been trying to use the newest generic font loader
(luatex-fonts-merged.lua) in the context minimals with luaotfload
in latex.
This mostly worked with one exception: luaotfload-letterspace.lua
reference a value that no longer exists:
"...mf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua:73:
attempt to index local 'nodepool' (a nil value)".
luaotfload does
local nodedirect = nodes.nuts
local nodepool = nodedirect.pool
local new_kern = nodepool.kern
and uses new_kern here
local kern_injector = function (fillup, kern)
if fillup then
local g = new_glue(kern)
local s = getfield(g, "spec")
setfield(s, "stretch", kern)
setfield(s, "stretch_order", 1)
return g
end
return new_kern(kern)
end
The error goes away when I add this to the fontloader (from an older
version):
nuts.new=direct.new
-- new UF
nuts.pool={}
function nuts.pool.kern(k)
local n=nuts.new("kern",1)
setfield(n,"kern",k)
return n
end
-- end UF
nuts.getprop=nuts.getattr
But I would prefer to change luaotfload-letterspace.lua to use
whatever should be used to get the correct effect. Can someone tell
me how to do it??
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
___________________________________________________________________________________
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] 6+ messages in thread
* Re: generic font loader + luaotfload: 'nodepool' (a nil value)"
2017-07-14 14:39 generic font loader + luaotfload: 'nodepool' (a nil value)" Ulrike Fischer
@ 2017-07-14 17:20 ` Hans Hagen
2017-07-14 18:26 ` Ulrike Fischer
0 siblings, 1 reply; 6+ messages in thread
From: Hans Hagen @ 2017-07-14 17:20 UTC (permalink / raw)
To: news3, mailing list for ConTeXt users
On 7/14/2017 4:39 PM, Ulrike Fischer wrote:
> I have been trying to use the newest generic font loader
> (luatex-fonts-merged.lua) in the context minimals with luaotfload
> in latex.
>
> This mostly worked with one exception: luaotfload-letterspace.lua
> reference a value that no longer exists:
>
> "...mf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua:73:
> attempt to index local 'nodepool' (a nil value)".
>
> luaotfload does
>
> local nodedirect = nodes.nuts
> local nodepool = nodedirect.pool
> local new_kern = nodepool.kern
>
> and uses new_kern here
>
> local kern_injector = function (fillup, kern)
> if fillup then
> local g = new_glue(kern)
> local s = getfield(g, "spec")
> setfield(s, "stretch", kern)
> setfield(s, "stretch_order", 1)
> return g
> end
> return new_kern(kern)
> end
yes, i decided to limit the dependencies ... (also because the kern
allocator was a plug outside context)
you can use:
local new = node.direct.new
local g = new("glue")
setfield(g, "stretch", kern)
setfield(g, "stretch_order", 1)
and forget about the spec subnode which is gone for a while now (but
still faked)
> The error goes away when I add this to the fontloader (from an older
> version):
>
> nuts.new=direct.new
> -- new UF
> nuts.pool={}
> function nuts.pool.kern(k)
> local n=nuts.new("kern",1)
> setfield(n,"kern",k)
> return n
> end
> -- end UF
> nuts.getprop=nuts.getattr
>
> But I would prefer to change luaotfload-letterspace.lua to use
> whatever should be used to get the correct effect. Can someone tell
> me how to do it??
>
>
>
--
-----------------------------------------------------------------
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] 6+ messages in thread
* Re: generic font loader + luaotfload: 'nodepool' (a nil value)"
2017-07-14 17:20 ` Hans Hagen
@ 2017-07-14 18:26 ` Ulrike Fischer
2017-07-14 18:56 ` Hans Hagen
0 siblings, 1 reply; 6+ messages in thread
From: Ulrike Fischer @ 2017-07-14 18:26 UTC (permalink / raw)
To: ntg-context
Am Fri, 14 Jul 2017 19:20:38 +0200 schrieb Hans Hagen:
>>
>> local kern_injector = function (fillup, kern)
>> if fillup then
>> local g = new_glue(kern)
>> local s = getfield(g, "spec")
>> setfield(s, "stretch", kern)
>> setfield(s, "stretch_order", 1)
>> return g
>> end
>> return new_kern(kern)
>> end
>
> yes, i decided to limit the dependencies ... (also because the kern
> allocator was a plug outside context)
>
> you can use:
>
> local new = node.direct.new
>
> local g = new("glue")
> setfield(g, "stretch", kern)
> setfield(g, "stretch_order", 1)
And what I should do about the "return new_kern(kern)"?
I tried various variants and got results from no letterspacing to
"invalid node type id" to " This can't happen (invalid node found in
discretionary)." to a luatex crash:
-- UF changed 2017-07-14
local new = node.direct.new
local kern_injector = function (fillup, kern)
if fillup then
local g = new("glue")
setfield(g, "stretch", kern)
setfield(g, "stretch_order", 1)
return g
end
--return new_kern(kern) --??
--
end
--
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
___________________________________________________________________________________
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] 6+ messages in thread
* Re: generic font loader + luaotfload: 'nodepool' (a nil value)"
2017-07-14 18:26 ` Ulrike Fischer
@ 2017-07-14 18:56 ` Hans Hagen
2017-07-14 22:56 ` Ulrike Fischer
0 siblings, 1 reply; 6+ messages in thread
From: Hans Hagen @ 2017-07-14 18:56 UTC (permalink / raw)
To: ntg-context
On 7/14/2017 8:26 PM, Ulrike Fischer wrote:
> Am Fri, 14 Jul 2017 19:20:38 +0200 schrieb Hans Hagen:
>
>>>
>>> local kern_injector = function (fillup, kern)
>>> if fillup then
>>> local g = new_glue(kern)
>>> local s = getfield(g, "spec")
>>> setfield(s, "stretch", kern)
>>> setfield(s, "stretch_order", 1)
>>> return g
>>> end
>>> return new_kern(kern)
>>> end
>>
>> yes, i decided to limit the dependencies ... (also because the kern
>> allocator was a plug outside context)
>>
>> you can use:
>>
>> local new = node.direct.new
>>
>> local g = new("glue")
>> setfield(g, "stretch", kern)
>> setfield(g, "stretch_order", 1)
>
> And what I should do about the "return new_kern(kern)"?
local g = new("kern")
setfield(g,"kern",kern)
> I tried various variants and got results from no letterspacing to
> "invalid node type id" to " This can't happen (invalid node found in
> discretionary)." to a luatex crash:
you can't put glue in discs so your letterspacing code should use kerns,
not glue
> -- UF changed 2017-07-14
> local new = node.direct.new
>
> local kern_injector = function (fillup, kern)
> if fillup then
> local g = new("glue")
> setfield(g, "stretch", kern)
> setfield(g, "stretch_order", 1)
> return g
> end
> --return new_kern(kern) --??
> --
> end
> --
>
>
--
-----------------------------------------------------------------
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] 6+ messages in thread
* Re: generic font loader + luaotfload: 'nodepool' (a nil value)"
2017-07-14 18:56 ` Hans Hagen
@ 2017-07-14 22:56 ` Ulrike Fischer
2017-07-15 7:50 ` Hans Hagen
0 siblings, 1 reply; 6+ messages in thread
From: Ulrike Fischer @ 2017-07-14 22:56 UTC (permalink / raw)
To: ntg-context
Am Fri, 14 Jul 2017 20:56:15 +0200 schrieb Hans Hagen:
>> And what I should do about the "return new_kern(kern)"?
>
> local g = new("kern")
> setfield(g,"kern",kern)
Ah. This here now worked
-- UF changed 2017-07-14
local newUF = node.direct.new
local kern_injector = function (fillup, kern)
if fillup then
local g = newUF("glue")
setfield(g, "stretch", kern)
setfield(g, "stretch_order", 1)
return g
end
local g = newUF("kern")
setfield(g,"kern",kern)
-- return g
end
-- /UF
Is is correct? (I'm wondering if there should be return value at the
end, it worked with and without and I have no idea if it makes a
difference).
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
___________________________________________________________________________________
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] 6+ messages in thread
* Re: generic font loader + luaotfload: 'nodepool' (a nil value)"
2017-07-14 22:56 ` Ulrike Fischer
@ 2017-07-15 7:50 ` Hans Hagen
0 siblings, 0 replies; 6+ messages in thread
From: Hans Hagen @ 2017-07-15 7:50 UTC (permalink / raw)
To: news3, mailing list for ConTeXt users
On 7/15/2017 12:56 AM, Ulrike Fischer wrote:
> Am Fri, 14 Jul 2017 20:56:15 +0200 schrieb Hans Hagen:
>
>>> And what I should do about the "return new_kern(kern)"?
>>
>> local g = new("kern")
>> setfield(g,"kern",kern)
>
> Ah. This here now worked
>
> -- UF changed 2017-07-14
> local newUF = node.direct.new
>
> local kern_injector = function (fillup, kern)
> if fillup then
> local g = newUF("glue")
> setfield(g, "stretch", kern)
> setfield(g, "stretch_order", 1)
> return g
> end
> local g = newUF("kern")
> setfield(g,"kern",kern)
> -- return g
> end
> -- /UF
>
> Is is correct? (I'm wondering if there should be return value at the
> end, it worked with and without and I have no idea if it makes a
> difference).
the return probably has to be there because (i assume) that kern or glue
is injected
-----------------------------------------------------------------
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] 6+ messages in thread
end of thread, other threads:[~2017-07-15 7:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-14 14:39 generic font loader + luaotfload: 'nodepool' (a nil value)" Ulrike Fischer
2017-07-14 17:20 ` Hans Hagen
2017-07-14 18:26 ` Ulrike Fischer
2017-07-14 18:56 ` Hans Hagen
2017-07-14 22:56 ` Ulrike Fischer
2017-07-15 7:50 ` Hans Hagen
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).