summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fontloader/misc/fontloader-font-ots.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/fontloader/misc/fontloader-font-ots.lua b/src/fontloader/misc/fontloader-font-ots.lua
index c3e1f48..0a438d5 100644
--- a/src/fontloader/misc/fontloader-font-ots.lua
+++ b/src/fontloader/misc/fontloader-font-ots.lua
@@ -756,8 +756,14 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature)
-- kind of weird
break
elseif id == disc_code then
- lastdisc = current
- current = getnext(current)
+ if getfield(current,"replace") then
+ -- this only happens when we didn't normalize ... in a future version we will
+ -- assume normalization of disc nodes
+ break
+ else
+ lastdisc=current
+ current=getnext(current)
+ end
else
break
end