From d091a10cf3c159a68967e4b50795481a223e652b Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 14 Jul 2014 19:25:00 +0200 Subject: beta 2014.07.14 19:25 --- doc/context/manuals/allkind/mkiv-publications.pdf | Bin 411806 -> 410959 bytes tex/context/base/back-exp-div.lua | 2 +- tex/context/base/back-exp.lua | 10 ++++++---- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4436 -> 4434 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/font-mis.lua | 2 +- tex/context/base/font-otf.lua | 18 +++++++++++++++--- tex/context/base/status-files.pdf | Bin 24987 -> 24925 bytes tex/context/base/status-lua.pdf | Bin 326325 -> 326318 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 16 ++++++++++++---- 11 files changed, 37 insertions(+), 15 deletions(-) diff --git a/doc/context/manuals/allkind/mkiv-publications.pdf b/doc/context/manuals/allkind/mkiv-publications.pdf index 64a0b702b..bcb5af97f 100644 Binary files a/doc/context/manuals/allkind/mkiv-publications.pdf and b/doc/context/manuals/allkind/mkiv-publications.pdf differ diff --git a/tex/context/base/back-exp-div.lua b/tex/context/base/back-exp-div.lua index 4e67d7615..3a7b49cd4 100644 --- a/tex/context/base/back-exp-div.lua +++ b/tex/context/base/back-exp-div.lua @@ -7,7 +7,7 @@ return { suffix = "html", remapping = { { - pattern = "*", + pattern = "!m:*", element = "div", extras = { namespace = true, -- okay as we have no attributes with that name diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua index d17fce135..b82ba78c4 100644 --- a/tex/context/base/back-exp.lua +++ b/tex/context/base/back-exp.lua @@ -140,6 +140,7 @@ local stoptiming = statistics.stoptiming -- todo: more locals (and optimize) local exportversion = "0.31" +local mathmlns = "http://www.w3.org/1998/Math/MathML" local nofcurrentcontent = 0 -- so we don't free (less garbage collection) local currentcontent = { } @@ -524,7 +525,7 @@ do result[#result+1] = f_attribute("date",os.date()) result[#result+1] = f_attribute("context",environment.version) result[#result+1] = f_attribute("version",exportversion) - result[#result+1] = f_attribute("xmlns:m","http://www.w3.org/1998/Math/MathML") + result[#result+1] = f_attribute("xmlns:m",mathmlns) local identity = interactions.general.getidentity() for i=1,#fields do local key = fields[i] @@ -543,8 +544,8 @@ do local itemgroups = { } - local f_symbol = formatters[" symbol='%s'"] - local s_packed = " packed='yes'" + local f_symbol = formatters[" symbol='%s'"] + local s_packed = " packed='yes'" function structurestags.setitemgroup(current,packed,symbol) itemgroups[detailedtag("itemgroup",current)] = { @@ -1194,7 +1195,8 @@ do local hash = attributehash[di.fulltag] local mode = (hash and hash.mode) == "display" and "block" or "inline" di.attributes = { - display = mode + ["display"] = mode, + ["xmlns:m"] = mathmlns, } -- can be option if needed: if mode == "inline" then diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index b66665f19..71b4c6066 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{2014.07.14 12:38} +\newcontextversion{2014.07.14 19:25} %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 dce512206..6ba007d52 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 5026eabe4..e318bdea9 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.07.14 12:38} +\edef\contextversion{2014.07.14 19:25} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/font-mis.lua b/tex/context/base/font-mis.lua index de43c08a9..077baeaba 100644 --- a/tex/context/base/font-mis.lua +++ b/tex/context/base/font-mis.lua @@ -22,7 +22,7 @@ local handlers = fonts.handlers handlers.otf = handlers.otf or { } local otf = handlers.otf -otf.version = otf.version or 2.757 +otf.version = otf.version or 2.758 otf.cache = otf.cache or containers.define("fonts", "otf", otf.version, true) function otf.loadcached(filename,format,sub) diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua index 4eeea2133..430f18a2f 100644 --- a/tex/context/base/font-otf.lua +++ b/tex/context/base/font-otf.lua @@ -48,7 +48,7 @@ local otf = fonts.handlers.otf otf.glists = { "gsub", "gpos" } -otf.version = 2.757 -- beware: also sync font-mis.lua +otf.version = 2.758 -- beware: also sync font-mis.lua otf.cache = containers.define("fonts", "otf", otf.version, true) local fontdata = fonts.hashes.identifiers @@ -774,20 +774,32 @@ end end private = private + 1 else - unicodes[name] = unicode + -- We have a font that uses and exposes the private area. As this is rather unreliable it's + -- advised no to trust slots here (better use glyphnames). Anyway, we need a double check: + -- we need to move already moved entries and we also need to bump the next private to after + -- the (currently) last slot. This could leave us with a hole but we have holes anyway. if unicode > criterium then -- \definedfont[file:HANBatang-LVT.ttf] \fontchar{uF0135} \char"F0135 local taken = descriptions[unicode] if taken then - private = private + 1 + if unicode >= private then + private = unicode + 1 -- restart private (so we can have mixed now) + else + private = private + 1 -- move on + end descriptions[private] = taken unicodes[taken.name] = private indices[taken.index] = private if trace_private then report_otf("slot %U is moved to %U due to private in font",unicode) end + else + if unicode >= private then + private = unicode + 1 -- restart (so we can have mixed now) + end end end + unicodes[name] = unicode end indices[index] = unicode -- if not name then diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 15032953f..8cd6959c3 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 6d2526742..75bf20d23 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 3faa9ff54..09582f980 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 : 07/14/14 12:38:06 +-- merge date : 07/14/14 19:25:59 do -- begin closure to overcome local limits and interference @@ -6681,7 +6681,7 @@ local report_otf=logs.reporter("fonts","otf loading") local fonts=fonts local otf=fonts.handlers.otf otf.glists={ "gsub","gpos" } -otf.version=2.757 +otf.version=2.758 otf.cache=containers.define("fonts","otf",otf.version,true) local fontdata=fonts.hashes.identifiers local chardata=characters and characters.data @@ -7293,19 +7293,27 @@ end end private=private+1 else - unicodes[name]=unicode if unicode>criterium then local taken=descriptions[unicode] if taken then - private=private+1 + if unicode>=private then + private=unicode+1 + else + private=private+1 + end descriptions[private]=taken unicodes[taken.name]=private indices[taken.index]=private if trace_private then report_otf("slot %U is moved to %U due to private in font",unicode) end + else + if unicode>=private then + private=unicode+1 + end end end + unicodes[name]=unicode end indices[index]=unicode descriptions[unicode]={ -- cgit v1.2.3