summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4192 -> 4188 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-def.lua6
-rw-r--r--tex/context/base/font-otl.lua45
-rw-r--r--tex/context/base/font-otr.lua5
-rw-r--r--tex/context/base/font-syn.lua2
-rw-r--r--tex/context/base/status-files.pdfbin24436 -> 24435 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin256385 -> 256381 bytes
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua8
10 files changed, 38 insertions, 32 deletions
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
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files 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
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index dba51e562..fcfe7bae1 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files 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)