summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4410 -> 4391 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-cid.lua25
-rw-r--r--tex/context/base/font-mis.lua2
-rw-r--r--tex/context/base/font-otf.lua13
-rw-r--r--tex/context/base/status-files.pdfbin24740 -> 24767 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin325266 -> 325265 bytes
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua29
9 files changed, 49 insertions, 24 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index ae689a6b5..0083e7aee 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.09.27 12:07}
+\newcontextversion{2014.09.27 14:46}
%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 9598b84f1..ae0441b81 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 47186fe92..6e183c88b 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.09.27 12:07}
+\edef\contextversion{2014.09.27 14:46}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/font-cid.lua b/tex/context/base/font-cid.lua
index e4b565313..0eaacdfbd 100644
--- a/tex/context/base/font-cid.lua
+++ b/tex/context/base/font-cid.lua
@@ -74,7 +74,7 @@ local function loadcidfile(filename)
ordering = ordering,
filename = filename,
unicodes = unicodes,
- names = names
+ names = names,
}
end
end
@@ -112,15 +112,28 @@ function cid.getmap(specification)
report_otf("invalid cidinfo specification, table expected")
return
end
- local registry = specification.registry
- local ordering = specification.ordering
+ local registry = specification.registry
+ local ordering = specification.ordering
local supplement = specification.supplement
- -- check for already loaded file
- local filename = format(registry,ordering,supplement)
- local found = cidmap[lower(filename)]
+ local filename = format(registry,ordering,supplement)
+ local lowername = lower(filename)
+ local found = cidmap[lowername]
if found then
return found
end
+ if ordering == "Identity" then
+ local found = {
+ supplement = supplement,
+ registry = registry,
+ ordering = ordering,
+ filename = filename,
+ unicodes = { },
+ names = { },
+ }
+ cidmap[lowername] = found
+ return found
+ end
+ -- check for already loaded file
if trace_loading then
report_otf("cidmap needed, registry %a, ordering %a, supplement %a",registry,ordering,supplement)
end
diff --git a/tex/context/base/font-mis.lua b/tex/context/base/font-mis.lua
index d848bdca8..b934837f4 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.761
+otf.version = otf.version or 2.762
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 8a8d36586..c1bb4419c 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.761 -- beware: also sync font-mis.lua
+otf.version = 2.762 -- beware: also sync font-mis.lua
otf.cache = containers.define("fonts", "otf", otf.version, true)
local fontdata = fonts.hashes.identifiers
@@ -686,17 +686,18 @@ actions["prepare glyphs"] = function(data,filename,raw)
if includesubfonts then
metadata.subfonts[cidindex] = somecopy(subfont)
end
+ -- we have delayed loading so we cannot use next
for index=0,subfont.glyphcnt-1 do -- we could take the previous glyphcnt instead of 0
local glyph = cidglyphs[index]
if glyph then
local unicode = glyph.unicode
-if unicode >= 0x00E000 and unicode <= 0x00F8FF then
+ if unicode >= 0x00E000 and unicode <= 0x00F8FF then
unicode = -1
-elseif unicode >= 0x0F0000 and unicode <= 0x0FFFFD then
+ elseif unicode >= 0x0F0000 and unicode <= 0x0FFFFD then
unicode = -1
-elseif unicode >= 0x100000 and unicode <= 0x10FFFD then
+ elseif unicode >= 0x100000 and unicode <= 0x10FFFD then
unicode = -1
-end
+ end
local name = glyph.name or cidnames[index]
if not unicode or unicode == -1 then -- or unicode >= criterium then
unicode = cidunicodes[index]
@@ -738,7 +739,6 @@ end
nofunicodes = nofunicodes + 1
end
indices[index] = unicode -- each index is unique (at least now)
-
local description = {
-- width = glyph.width,
boundingbox = glyph.boundingbox,
@@ -747,7 +747,6 @@ end
index = index,
glyph = glyph,
}
-
descriptions[unicode] = description
else
-- report_otf("potential problem: glyph %U is used but empty",index)
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 757ccb567..540ac5255 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 64cb4931b..0b92a158c 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 79f7a1b88..98e98d806 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 : 09/27/14 12:07:56
+-- merge date : 09/27/14 14:46:07
do -- begin closure to overcome local limits and interference
@@ -5045,7 +5045,7 @@ local function loadcidfile(filename)
ordering=ordering,
filename=filename,
unicodes=unicodes,
- names=names
+ names=names,
}
end
end
@@ -5082,10 +5082,23 @@ function cid.getmap(specification)
local ordering=specification.ordering
local supplement=specification.supplement
local filename=format(registry,ordering,supplement)
- local found=cidmap[lower(filename)]
+ local lowername=lower(filename)
+ local found=cidmap[lowername]
if found then
return found
end
+ if ordering=="Identity" then
+ local found={
+ supplement=supplement,
+ registry=registry,
+ ordering=ordering,
+ filename=filename,
+ unicodes={},
+ names={},
+ }
+ cidmap[lowername]=found
+ return found
+ end
if trace_loading then
report_otf("cidmap needed, registry %a, ordering %a, supplement %a",registry,ordering,supplement)
end
@@ -6825,7 +6838,7 @@ local report_otf=logs.reporter("fonts","otf loading")
local fonts=fonts
local otf=fonts.handlers.otf
otf.glists={ "gsub","gpos" }
-otf.version=2.761
+otf.version=2.762
otf.cache=containers.define("fonts","otf",otf.version,true)
local fontdata=fonts.hashes.identifiers
local chardata=characters and characters.data
@@ -7368,13 +7381,13 @@ actions["prepare glyphs"]=function(data,filename,raw)
local glyph=cidglyphs[index]
if glyph then
local unicode=glyph.unicode
-if unicode>=0x00E000 and unicode<=0x00F8FF then
+ if unicode>=0x00E000 and unicode<=0x00F8FF then
unicode=-1
-elseif unicode>=0x0F0000 and unicode<=0x0FFFFD then
+ elseif unicode>=0x0F0000 and unicode<=0x0FFFFD then
unicode=-1
-elseif unicode>=0x100000 and unicode<=0x10FFFD then
+ elseif unicode>=0x100000 and unicode<=0x10FFFD then
unicode=-1
-end
+ end
local name=glyph.name or cidnames[index]
if not unicode or unicode==-1 then
unicode=cidunicodes[index]