From 5842399ccc8311f6e77c3139efc42994dc9a07af Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 2 Mar 2012 22:35:00 +0100 Subject: beta 2012.03.02 22:35 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4069 -> 4071 bytes tex/context/base/context-version.png | Bin 104970 -> 104790 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/font-gds.lua | 37 +++++++++++++++++---- tex/context/base/status-files.pdf | Bin 24329 -> 24315 bytes tex/context/base/status-lua.pdf | Bin 172399 -> 172402 bytes tex/context/fonts/demo.lfg | 16 +++++++-- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 11 files changed, 50 insertions(+), 13 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 2bc4ad186..1d46b2d66 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.03.02 21:28} +\newcontextversion{2012.03.02 22:35} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 4018f3ed1..46577655e 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{2012.03.02 21:28} +\newcontextversion{2012.03.02 22:35} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index b59ef7b95..858f0aea3 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-version.png b/tex/context/base/context-version.png index 2c6a907e9..54190b7e5 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index b034bb731..5436ad448 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2012.03.02 21:28} +\edef\contextversion{2012.03.02 22:35} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 1ec714575..b77c94bea 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -23,7 +23,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2012.03.02 21:28} +\edef\contextversion{2012.03.02 22:35} %D For those who want to use this: diff --git a/tex/context/base/font-gds.lua b/tex/context/base/font-gds.lua index 97e97a640..3b87e4c77 100644 --- a/tex/context/base/font-gds.lua +++ b/tex/context/base/font-gds.lua @@ -9,7 +9,7 @@ if not modules then modules = { } end modules ['font-gds'] = { -- depends on ctx local type, next = type, next -local gmatch, format, lower = string.gmatch, string.format, string.lower +local gmatch, format, lower, find, splitup = string.gmatch, string.format, string.lower, string.find, string.splitup local texsp = tex.sp local fonts, nodes, attributes, node = fonts, nodes, attributes, node @@ -251,17 +251,42 @@ local function setcolorscheme(tfmdata,scheme) local g = goodies[i] what = (g.colorschemes and g.colorschemes[scheme]) or what end - if what then + if type(what) == "table" then -- this is font bound but we can share them if needed -- just as we could hash the conversions (per font) - local hash, reverse = tfmdata.resources.unicodes, { } + local hash = tfmdata.resources.unicodes + local reverse = { } + local characters = tfmdata.characters for i=1,#what do local w = what[i] for j=1,#w do local name = w[j] - local unicode = hash[name] - if unicode then - reverse[unicode] = i + if name == "*" then + -- inefficient but only used for tracing anyway + for _, unicode in next, hash do + reverse[unicode] = i + end + elseif type(name) == "number" then + reverse[name] = i + elseif find(name,":") then + local start, stop = splitup(name,":") + start = tonumber(start) + stop = tonumber(stop) + if start and stop then + -- limited usage: we only deal with non reassigned + -- maybe some day I'll also support the ones with a + -- tounicode in this range + for unicode=start,stop do + if characters[unicode] then + reverse[unicode] = i + end + end + end + else + local unicode = hash[name] + if unicode then + reverse[unicode] = i + end end end end diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 84c6d6a7c..25becac6d 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 fb3f6b267..b27c6d963 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/fonts/demo.lfg b/tex/context/fonts/demo.lfg index 6e332cde9..00ca3ee6e 100644 --- a/tex/context/fonts/demo.lfg +++ b/tex/context/fonts/demo.lfg @@ -1,3 +1,5 @@ +-- see test suite: goodies-002.tex + local yes = "yes" local default = { @@ -24,7 +26,7 @@ end return { name = "demo", - version = "1.00", + version = "1.01", comment = "An example of goodies.", author = "Hans Hagen", featuresets = { @@ -43,7 +45,17 @@ return { [2] = { "two", "four", "six", "eight", "ten", }, - } + }, + all = { + [1] = { + "*", + }, + }, + some = { + [1] = { + "0x0030:0x0035", + }, + }, }, postprocessors = { statistics = statistics, diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index e6a055804..bb47b946c 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 : 03/02/12 21:28:05 +-- merge date : 03/02/12 22:35:34 do -- begin closure to overcome local limits and interference -- cgit v1.2.3