summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/luaotfload-database.lua2
-rw-r--r--src/luaotfload-fontloader.lua35
-rw-r--r--src/luaotfload-log.lua6
3 files changed, 32 insertions, 11 deletions
diff --git a/src/luaotfload-database.lua b/src/luaotfload-database.lua
index 7a01ca6..4c5522e 100644
--- a/src/luaotfload-database.lua
+++ b/src/luaotfload-database.lua
@@ -357,7 +357,7 @@ mtx-fonts has in names.tma:
--- string list -> string option -> dbobj
local initialize_namedata = function (formats, created)
- local now = os.date "%F %T"
+ local now = os.date "%Y-%m-%d %H:%M:%S" --- i. e. "%F %T" on POSIX systems
return {
--families = { },
status = { }, -- was: status; map abspath -> mapping
diff --git a/src/luaotfload-fontloader.lua b/src/luaotfload-fontloader.lua
index 2f26be7..09582f9 100644
--- a/src/luaotfload-fontloader.lua
+++ b/src/luaotfload-fontloader.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 07/06/14 22:50:12
+-- 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.756
+otf.version=2.758
otf.cache=containers.define("fonts","otf",otf.version,true)
local fontdata=fonts.hashes.identifiers
local chardata=characters and characters.data
@@ -7241,7 +7241,7 @@ end
end
if not unicode or unicode==-1 then
if not name then
- name=format("u%06X",private)
+ name=format("u%06X.ctx",private)
end
unicode=private
unicodes[name]=private
@@ -7252,7 +7252,7 @@ end
nofnames=nofnames+1
else
if not name then
- name=format("u%06X",unicode)
+ name=format("u%06X.ctx",unicode)
end
unicodes[name]=unicode
nofunicodes=nofunicodes+1
@@ -7293,12 +7293,29 @@ end
end
private=private+1
else
+ if unicode>criterium then
+ local taken=descriptions[unicode]
+ if taken then
+ 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
- if not name then
- name=format("u%06X",unicode)
- end
descriptions[unicode]={
boundingbox=glyph.boundingbox,
name=name,
@@ -7909,7 +7926,9 @@ local function check_variants(unicode,the_variants,splitter,unicodes)
for i=1,#glyphs do
local g=glyphs[i]
if done[g] then
- report_otf("skipping cyclic reference %U in math variant %U",g,unicode)
+ if i>1 then
+ report_otf("skipping cyclic reference %U in math variant %U",g,unicode)
+ end
else
if n==0 then
n=1
diff --git a/src/luaotfload-log.lua b/src/luaotfload-log.lua
index 5698c84..a0e78bd 100644
--- a/src/luaotfload-log.lua
+++ b/src/luaotfload-log.lua
@@ -91,7 +91,8 @@ local set_logout = function (s, finalizers)
logout = "redirect"
local chan = choose_logfile ()
chan:write (stringformat ("logging initiated at %s",
- osdate ("%F %T", ostime ())))
+ osdate ("%Y-%m-%d %h:%m:%s", --- i. e. osdate "%F %T"
+ ostime ())))
local writefile = function (...)
if select ("#", ...) == 2 then
chan:write (select (2, ...))
@@ -117,7 +118,8 @@ local set_logout = function (s, finalizers)
finalizers[#finalizers+1] = function ()
chan:write (stringformat ("\nlogging finished at %s\n",
- osdate ("%F %T", ostime ())))
+ osdate ("%Y-%m-%d %h:%m:%s", --- i. e. osdate "%F %T"
+ ostime ())))
chan:close ()
texiowrite = texio.write
texiowrite_nl = texio.write_nl