Am Sun, 10 Jun 2018 13:24:40 +0200 schrieb Hans Hagen:
> i changed the parser for generic a bit so you need to check careful next
> beta as i'm only testing some basic plain loading
It broke ;-(
luaotfload complained about a missing registersplit,
then about a missing addspecifier, so I reinserted from the previous
version (from UF to /UF) (around line 32865)
local resolvefile=fontgoodies and fontgoodies.filenames and
fontgoodies.filenames.resolve or function(s) return s end
-- UF
local splitter,splitspecifiers=nil,""
local P,C,S,Cc,Cs=lpeg.P,lpeg.C,lpeg.S,lpeg.Cc,lpeg.Cs
local left=P("(")
local right=P(")")
local colon=P(":")
local space=P(" ")
local lbrace=P("{")
local rbrace=P("}")
definers.defaultlookup="file"
local prefixpattern=P(false)
local function addspecifier(symbol)
splitspecifiers=splitspecifiers..symbol
local method=S(splitspecifiers)
local lookup=C(prefixpattern)*colon
local sub=left*C(P(1-left-right-method)^1)*right
local specification=C(method)*C(P(1)^1)
local
name=Cs((lbrace/"")*(1-rbrace)^1*(rbrace/"")+(1-sub-specification)^1)
splitter=P((lookup+Cc(""))*name*(sub+Cc(""))*(specification+Cc("")))
end
local function addlookup(str,default)
prefixpattern=prefixpattern+P(str)
end
definers.addlookup=addlookup
addlookup("file")
addlookup("name")
addlookup("spec")
local function getspecification(str)
return lpegmatch(splitter,str or "")
end
definers.getspecification=getspecification
function definers.registersplit(symbol,action,verbosename)
addspecifier(symbol)
variants[symbol]=action
if verbosename then
variants[verbosename]=action
end
end
-- /UF
Then it complained about a missing upvalue getthreshold so I
reinserted:
local getthreshold
--UF
injections.threshold=0
getthreshold=function(font)
local p=fontdata[font].parameters
local f=p.factor
local s=p.spacing
local t=injections.threshold*(s and s.width or p.space or 0)-2
return t>0 and t or 0,f
end
--/UF
Now it works again and also the "unknown option" warning is gone.
> i have no clue how otfload locates files but maybe you need to add an
> entry to
>
> local remapper = {
> otf = "opentype fonts",
> ttf = "truetype fonts",
> ttc = "truetype fonts",
> cid = "cid maps",
> cidmap = "cid maps",
> -- fea = "font feature files", -- no longer supported
> pfb = "type1 fonts", -- needed for vector loading
> afm = "afm",
> enc = "enc files",
> lua = "tex", -- LIKE THIS
> }
lua = "misc fonts",
would be better (then one can put the fonts in fonts/misc.
But it doesn't help with the main problem that luaotfload calls
resolvers.findfile first for "basename + otf, tfm, ofm", then
triggers a rebuild of the database and only then calls
resolvers.findfile again with the fullname.
Also I really want to avoid to patch the merged code. I'm regularly
getting the newest version from context and try out if it still
works and prefer if I can use them unchanged.
--
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 : [email protected] / 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
___________________________________________________________________________________