Dear list,

this is a follow-up on Ulrike's post, so I'm just hijacking the thread.

How can I use the Lua fonts in Plain? It works fine if I just remove ConTeXt-specific actualtext bits but as soon as I add features to the font, the name resolution fails with something like

! Font \mainfont=file:fonts-demo-rule.lua:original=file:texgyrepagella-regular.
otf not loadable: metric data not found or bad.

MWE is below as always.

Cheers, Henri

----------- test.tex -----------

\input luaotfload.sty

\font\mainfont="file:fonts-demo-rule.lua":original=file:texgyrepagella-regular.otf
\mainfont

This code is stored in fonts-demo-rule.lua and we can load that font in the usual way,
by specifying a filename.

\bye

----------- fonts-demo-rule.lua -----------

return function(specification)
    local features = specification.features.normal
    local name = features.original or "dejavu-serif"
    local option = features.option -- we only support "line"
    local size = specification.size -- always set
    local detail = specification.detail -- e.g. default
    if detail then
        name = name .. "*" .. detail
    end
    local f, id = fonts.constructors.readanddefine(name,size)
    if f then
        f.properties.name = specification.name
        f.properties.virtualized = true
        f.fonts = {
            { id = id },
        }
        for s in string.gmatch("aeuioy",".") do
            local n = utf.byte(s)
            local c = f.characters[n]
            if c then
                local w = c.width or 0
                local h = c.height or 0
                local d = c.depth or 0
                if option == "line" then
                    f.characters[n].commands = {
                        { "rule", option == "line" and size/10, w },
                    }
                else
                    f.characters[n].commands = {
                        { "down", d },
                        { "rule", h + d, w },
                    }
                end
            else
                -- probably a real bad font
            end
        end
    end
    return f
end

On 04/05/18 06:26, Ulrike Fischer wrote:
I'm trying to run one of the examples of fonts-mkiv.pdf

I copied the code from 4.5 Lua fonts to a file
"fonts-demo-rule.lua". This lua file is in the same directory as my
test file.

Then I tried

\definefont
[MyRuleFont]
[file:fonts-demo-rule.lua*default sa 1]

\starttext

{\MyRuleFont So when we use it we get text }

\stoptext

but I get in the log

fonts > defining > forced type 'lua' of 'fonts-demo-rule' not found
fonts > defining > font with asked name 'fonts-demo-rule' is not
found using lookup 'file'
fonts > defining > unknown font 'fonts-demo-rule', loading aborted
fonts > defining > unable to define 'fonts-demo-rule.lua' as
'MyRuleFont--0'

The file itself is found (I can see its path later on). What is
going on here?

___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to