From 726a663be481042003566d4614266b940b5a0c91 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Fri, 9 Oct 2015 22:15:06 +0200 Subject: 2015-10-09 21:30:00 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4192 -> 4188 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/font-def.lua | 6 ++- tex/context/base/font-otl.lua | 45 +++++++++++---------- tex/context/base/font-otr.lua | 5 ++- tex/context/base/font-syn.lua | 2 +- tex/context/base/status-files.pdf | Bin 24436 -> 24435 bytes tex/context/base/status-lua.pdf | Bin 256385 -> 256381 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 8 ++-- 10 files changed, 38 insertions(+), 32 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index a4160e8ba..63952c8b0 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2015.10.09 19:42} +\newcontextversion{2015.10.09 21:28} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index 18bff259a..1d43fe81a 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index e034fdc19..0edbe084b 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.10.09 19:42} +\edef\contextversion{2015.10.09 21:28} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/font-def.lua b/tex/context/base/font-def.lua index fdded3c36..add42ee38 100644 --- a/tex/context/base/font-def.lua +++ b/tex/context/base/font-def.lua @@ -183,10 +183,11 @@ end function resolvers.name(specification) local resolve = fonts.names.resolve if resolve then - local resolved, sub = resolve(specification.name,specification.sub,specification) -- we pass specification for overloaded versions + local resolved, sub, subindex = resolve(specification.name,specification.sub,specification) -- we pass specification for overloaded versions if resolved then specification.resolved = resolved specification.sub = sub + specification.subindex = subindex local suffix = lower(suffixonly(resolved)) if fonts.formats[suffix] then specification.forced = suffix @@ -204,10 +205,11 @@ end function resolvers.spec(specification) local resolvespec = fonts.names.resolvespec if resolvespec then - local resolved, sub = resolvespec(specification.name,specification.sub,specification) -- we pass specification for overloaded versions + local resolved, sub, subindex = resolvespec(specification.name,specification.sub,specification) -- we pass specification for overloaded versions if resolved then specification.resolved = resolved specification.sub = sub + specification.subindex = subindex specification.forced = lower(suffixonly(resolved)) specification.forcedname = resolved specification.name = removesuffix(resolved) diff --git a/tex/context/base/font-otl.lua b/tex/context/base/font-otl.lua index 9058f78c2..c1df8d084 100644 --- a/tex/context/base/font-otl.lua +++ b/tex/context/base/font-otl.lua @@ -194,7 +194,7 @@ function otf.load(filename,sub,featurefile) -- second argument (format) is gone if featurefile then name = name .. "@" .. file.removesuffix(file.basename(featurefile)) end - -- or: sub = tonumber(sub) + -- sub can be number of string if sub == "" then sub = false end @@ -229,27 +229,27 @@ function otf.load(filename,sub,featurefile) -- second argument (format) is gone report_otf("forced reload of %a due to hard coded flag",filename) reload = true end - if not reload then - local featuredata = data.featuredata - if featurefiles then - if not featuredata or #featuredata ~= #featurefiles then - reload = true - else - for i=1,#featurefiles do - local fi, fd = featurefiles[i], featuredata[i] - if fi.name ~= fd.name or fi.size ~= fd.size or fi.time ~= fd.time then - reload = true - break - end - end - end - elseif featuredata then - reload = true - end - if reload then - report_otf("loading: forced reload due to changed featurefile specification %a",featurefile) - end - end + -- if not reload then + -- local featuredata = data.featuredata + -- if featurefiles then + -- if not featuredata or #featuredata ~= #featurefiles then + -- reload = true + -- else + -- for i=1,#featurefiles do + -- local fi, fd = featurefiles[i], featuredata[i] + -- if fi.name ~= fd.name or fi.size ~= fd.size or fi.time ~= fd.time then + -- reload = true + -- break + -- end + -- end + -- end + -- elseif featuredata then + -- reload = true + -- end + -- if reload then + -- report_otf("loading: forced reload due to changed featurefile specification %a",featurefile) + -- end + -- end if reload then report_otf("loading %a, hash %a",filename,hash) -- @@ -548,6 +548,7 @@ local function otftotfm(specification) if not tfmdata then local name = specification.name local sub = specification.sub + local subindex = specification.subindex local filename = specification.filename local features = specification.features.normal local rawdata = otf.load(filename,sub,features and features.featurefile) diff --git a/tex/context/base/font-otr.lua b/tex/context/base/font-otr.lua index 49b4565c6..9d46d654b 100644 --- a/tex/context/base/font-otr.lua +++ b/tex/context/base/font-otr.lua @@ -1749,8 +1749,9 @@ local function readdata(f,offset,specification) -- local askedname = specification.askedname if askedname then - local cleanname = gsub(askedname,"[^azAZ09]","") - local foundname = gsub(getname(fontdata,"fullname") or "","[^azAZ09]","") + local fullname = getname(fontdata,"fullname") or "" + local cleanname = gsub(askedname,"[^a-zA-Z0-9]","") + local foundname = gsub(fullname,"[^a-zA-Z0-9]","") if lower(cleanname) ~= lower(foundname) then return -- keep searching end diff --git a/tex/context/base/font-syn.lua b/tex/context/base/font-syn.lua index 1e9ed9076..5e2d3a1ef 100644 --- a/tex/context/base/font-syn.lua +++ b/tex/context/base/font-syn.lua @@ -1392,7 +1392,7 @@ end function names.resolve(askedname,sub) local found = names.resolvedspecification(askedname,sub) if found then - return found.filename, found.subfont and found.rawname + return found.filename, found.subfont and found.rawname, found.subfont end end diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index d685bf247..d29a9995e 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index dba51e562..fcfe7bae1 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 613fdee46..a2a598b2d 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 10/09/15 19:42:14 +-- merge date : 10/09/15 21:28:28 do -- begin closure to overcome local limits and interference @@ -15769,10 +15769,11 @@ end function resolvers.name(specification) local resolve=fonts.names.resolve if resolve then - local resolved,sub=resolve(specification.name,specification.sub,specification) + local resolved,sub,subindex=resolve(specification.name,specification.sub,specification) if resolved then specification.resolved=resolved specification.sub=sub + specification.subindex=subindex local suffix=lower(suffixonly(resolved)) if fonts.formats[suffix] then specification.forced=suffix @@ -15789,10 +15790,11 @@ end function resolvers.spec(specification) local resolvespec=fonts.names.resolvespec if resolvespec then - local resolved,sub=resolvespec(specification.name,specification.sub,specification) + local resolved,sub,subindex=resolvespec(specification.name,specification.sub,specification) if resolved then specification.resolved=resolved specification.sub=sub + specification.subindex=subindex specification.forced=lower(suffixonly(resolved)) specification.forcedname=resolved specification.name=removesuffix(resolved) -- cgit v1.2.3