summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2016-09-27 23:39:58 +0200
committerGitHub <noreply@github.com>2016-09-27 23:39:58 +0200
commite43a2bac48edbd4af2892c4161d0036fc642e528 (patch)
treed5e986a0f42ab12cfc78b381b80e08d772511144
parent9bac31c4ff154a7af6156156891754d0c44dd383 (diff)
parent7ca84d412dde2a7a67cca513ba668687e3e34260 (diff)
downloadluaotfload-e43a2bac48edbd4af2892c4161d0036fc642e528.tar.gz
Merge pull request #383 from phi-gamma/master
[features,parsers] add extremely important feature
-rw-r--r--src/luaotfload-features.lua6
-rw-r--r--src/luaotfload-parsers.lua2
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)