From af51fb74b7fbcbe01790309a117b5991277a5dd1 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Mon, 14 Jul 2014 23:57:43 +0200 Subject: [fontloader] sync with Context as of 2014-07-14 --- src/luaotfload-fontloader.lua | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'src') 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 -- cgit v1.2.3 From 1fdc7b6792199cfc37bdb43948b82523a8b8f91a Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Wed, 16 Jul 2014 07:24:13 +0200 Subject: [log,db] fix options to os.date() on non-posix systems Fixes https://github.com/lualatex/luaotfload/issues/233 On non-POSIX systems, the Lua interpeter is compiled with a reduced set of options accepted by ``os.date()`` [0]. [0] http://www.lua.org/source/5.2/loslib.c.html#LUA_STRFTIMEOPTIONS --- src/luaotfload-database.lua | 2 +- src/luaotfload-log.lua | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src') 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-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 -- cgit v1.2.3