summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
index 6f72256d05e..f8eed907d45 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-pretreat.lua
@@ -4,6 +4,7 @@
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
luatexja.load_module('stack'); local ltjs = luatexja.stack
+luatexja.load_module('jfont'); local ltjf = luatexja.jfont
local floor = math.floor
local has_attr = node.has_attribute
@@ -24,6 +25,7 @@ local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
local attr_icflag = luatexbase.attributes['ltj@icflag']
local ltjc_is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char
+local ltjf_replace_altfont = ltjf.replace_altfont
local attr_orig_char = luatexbase.attributes['ltj@origchar']
local STCK = luatexja.userid_table.STCK
@@ -39,9 +41,11 @@ local function suppress_hyphenate_ja(head)
local pid = p.id
if pid == id_glyph then
if (has_attr(p, attr_icflag) or 0)<=0 and ltjc_is_ucs_in_japanese_char(p) then
- p.font = has_attr(p, attr_curjfnt) or p.font
+ local pc = p.char
+ local pf = ltjf_replace_altfont(has_attr(p, attr_curjfnt) or p.font, pc)
+ p.font = pf; set_attr(p, attr_curjfnt, pf)
p.subtype = floor(p.subtype*0.5)*2
- set_attr(p, attr_orig_char, p.char)
+ set_attr(p, attr_orig_char, pc)
end
elseif pid == id_math then
p = node_next(p) -- skip math on