diff options
-rw-r--r-- | src/luaotfload-features.lua | 6 | ||||
-rw-r--r-- | src/luaotfload-parsers.lua | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/luaotfload-features.lua b/src/luaotfload-features.lua index f56213d..285482f 100644 --- a/src/luaotfload-features.lua +++ b/src/luaotfload-features.lua @@ -1340,11 +1340,17 @@ local rot13_specification = { prepend = true, } +local interrolig_specification = { + { type = "ligature", data = { [0x203d] = {0x21, 0x3f}, [0x2e18] = {0xa1, 0xbf}, }, }, + { type = "ligature", data = { [0x203d] = {0x3f, 0x21}, [0x2e18] = {0xbf, 0xa1}, }, }, +} + local autofeatures = { --- always present with Luaotfload; anum for Arabic and Persian is --- predefined in font-otc. { "tlig" , tlig_specification , "tex ligatures and substitutions" }, { "rot13", rot13_specification, "rot13" }, + { "!!??", interrolig_specification, "interrobang substitutions" }, } local add_auto_features = function () diff --git a/src/luaotfload-parsers.lua b/src/luaotfload-parsers.lua index 307c35c..e056460 100644 --- a/src/luaotfload-parsers.lua +++ b/src/luaotfload-parsers.lua @@ -623,7 +623,7 @@ local unprefixed = Cg(fontname, "anon") local path_lookup = lbrk * Cg(C((1-rbrk)^1), "path") * rbrk --- features ---------------------------------------------------------- -local field_char = anum + S"+-." --- sic! +local field_char = anum + S"+-.!?" --- sic! local field = field_char^1 --- assignments are “lhs=rhs” --- or “+lhs=rhs” (Xetex-style) |