From 6c52a85e340761bb03b60564af0b0704d97e31a7 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Mon, 11 Jan 2016 07:03:59 +0100 Subject: [fontloader] sync with Context as of 2016-01-11 --- src/fontloader/misc/fontloader-font-otf.lua | 17 +++++++---------- src/fontloader/misc/fontloader-font-otn.lua | 3 --- src/fontloader/misc/fontloader-l-lpeg.lua | 2 +- src/fontloader/runtime/fontloader-reference.lua | 6 ++++-- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/fontloader/misc/fontloader-font-otf.lua b/src/fontloader/misc/fontloader-font-otf.lua index 0471c17..e90ec73 100644 --- a/src/fontloader/misc/fontloader-font-otf.lua +++ b/src/fontloader/misc/fontloader-font-otf.lua @@ -287,7 +287,6 @@ local ordered_enhancers = { "check glyphs", "check metadata", --- "check extra features", -- after metadata "prepare tounicode", @@ -296,7 +295,6 @@ local ordered_enhancers = { "expand lookups", -- a temp hack awaiting the lua loader ---[[phg-- PATCH: Next line restores font features --phg]]-- "check extra features", -- after metadata and duplicates "cleanup tables", @@ -601,9 +599,6 @@ function otf.load(filename,sub,featurefile) -- second argument (format) is gone applyruntimefixes(filename,data) end enhance("add dimensions",data,filename,nil,false) ---[[phg-- This was hand-patched to restore the fontloader -enhance("check extra features",data,filename) ---phg]]-- if trace_sequences then showfeatureorder(data,filename) end @@ -2955,11 +2950,13 @@ end otf.coverup = { stepkey = "subtables", actions = { - substitution = justset, - alternate = justset, - multiple = justset, - ligature = justset, - kern = justset, + substitution = justset, + alternate = justset, + multiple = justset, + ligature = justset, + kern = justset, + chainsubstitution = justset, + chainposition = justset, }, register = function(coverage,lookuptype,format,feature,n,descriptions,resources) local name = formatters["ctx_%s_%s_%s"](feature,lookuptype,n) -- we can have a mix of types diff --git a/src/fontloader/misc/fontloader-font-otn.lua b/src/fontloader/misc/fontloader-font-otn.lua index b48aea7..8df01bd 100644 --- a/src/fontloader/misc/fontloader-font-otn.lua +++ b/src/fontloader/misc/fontloader-font-otn.lua @@ -3894,10 +3894,7 @@ local function prepare_contextchains(tfmdata) sequence[nofsequences] = after[n] end end ---[[phg-- Hard patch: This crashes, see https://github.com/lualatex/luaotfload/issues/303 if sequence[1] then ---phg]]-- - if sequence[start] then -- Replacements only happen with reverse lookups as they are single only. We -- could pack them into current (replacement value instead of true) and then -- use sequence[start] instead but it's somewhat ugly. diff --git a/src/fontloader/misc/fontloader-l-lpeg.lua b/src/fontloader/misc/fontloader-l-lpeg.lua index 5be1246..959ca55 100644 --- a/src/fontloader/misc/fontloader-l-lpeg.lua +++ b/src/fontloader/misc/fontloader-l-lpeg.lua @@ -110,7 +110,7 @@ local underscore = P("_") local hexdigit = digit + lowercase + uppercase local cr, lf, crlf = P("\r"), P("\n"), P("\r\n") ----- newline = crlf + S("\r\n") -- cr + lf -local newline = P("\r") * (P("\n") + P(true)) + P("\n") +local newline = P("\r") * (P("\n") + P(true)) + P("\n") -- P("\r")^-1 * P("\n")^-1 local escaped = P("\\") * anything local squote = P("'") local dquote = P('"') diff --git a/src/fontloader/runtime/fontloader-reference.lua b/src/fontloader/runtime/fontloader-reference.lua index 9208e52..b135c44 100644 --- a/src/fontloader/runtime/fontloader-reference.lua +++ b/src/fontloader/runtime/fontloader-reference.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 12/22/15 10:50:54 +-- merge date : 01/08/16 19:09:31 do -- begin closure to overcome local limits and interference @@ -144,7 +144,7 @@ local uppercase=R("AZ") local underscore=P("_") local hexdigit=digit+lowercase+uppercase local cr,lf,crlf=P("\r"),P("\n"),P("\r\n") -local newline=P("\r")*(P("\n")+P(true))+P("\n") +local newline=P("\r")*(P("\n")+P(true))+P("\n") local escaped=P("\\")*anything local squote=P("'") local dquote=P('"') @@ -9571,6 +9571,8 @@ otf.coverup={ multiple=justset, ligature=justset, kern=justset, + chainsubstitution=justset, + chainposition=justset, }, register=function(coverage,lookuptype,format,feature,n,descriptions,resources) local name=formatters["ctx_%s_%s_%s"](feature,lookuptype,n) -- cgit v1.2.3