summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2016-01-11 07:03:59 +0100
committerPhilipp Gesang <phg@phi-gamma.net>2016-01-11 07:03:59 +0100
commit6c52a85e340761bb03b60564af0b0704d97e31a7 (patch)
tree391e89a68ae6f7fcf64534d5628671fd552c0dab
parente5e4c3b8172c826511e73989a7d93831acc85fc9 (diff)
downloadluaotfload-6c52a85e340761bb03b60564af0b0704d97e31a7.tar.gz
[fontloader] sync with Context as of 2016-01-11
-rw-r--r--src/fontloader/misc/fontloader-font-otf.lua17
-rw-r--r--src/fontloader/misc/fontloader-font-otn.lua3
-rw-r--r--src/fontloader/misc/fontloader-l-lpeg.lua2
-rw-r--r--src/fontloader/runtime/fontloader-reference.lua6
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)