summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/luatexja.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/luatexja.lua30
1 files changed, 21 insertions, 9 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
index 2cf00758fcf..a85e089eb54 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
@@ -30,6 +30,15 @@ do
setfield(g,'stretch_order',sto or 0)
setfield(g,'shrink_order', sho or 0)
end
+ local getfield = node.direct.getfield
+ luatexja.getglue = node.direct.getglue or
+ function(g)
+ return getfield(g,'width'),
+ getfield(g,'stretch'),
+ getfield(g,'shrink'),
+ getfield(g,'stretch_order'),
+ getfield(g,'shrink_order')
+ end
end
--- 以下は全ファイルで共有される定数
@@ -38,17 +47,18 @@ luatexja.icflag_table = icflag_table
icflag_table.ITALIC = 1
icflag_table.PACKED = 2
icflag_table.KINSOKU = 3
-icflag_table.FROM_JFM = 6
+icflag_table.FROM_JFM = 4
-- FROM_JFM: 4, 5, 6, 7, 8 →優先度高(伸びやすく,縮みやすい)
-- 6 が標準
-icflag_table.KANJI_SKIP = 9
-icflag_table.KANJI_SKIP_JFM = 10
-icflag_table.XKANJI_SKIP = 11
-icflag_table.XKANJI_SKIP_JFM = 12
-icflag_table.PROCESSED = 13
-icflag_table.IC_PROCESSED = 14
-icflag_table.BOXBDD = 15
-icflag_table.PROCESSED_BEGIN_FLAG = 128
+icflag_table.KANJI_SKIP = 68 -- = 4+64
+icflag_table.KANJI_SKIP_JFM = 69
+icflag_table.XKANJI_SKIP = 70
+icflag_table.XKANJI_SKIP_JFM = 71
+icflag_table.LINEEND = 72
+icflag_table.PROCESSED = 73
+icflag_table.IC_PROCESSED = 74
+icflag_table.BOXBDD = 75
+icflag_table.PROCESSED_BEGIN_FLAG = 4096 -- sufficiently large power of 2
local stack_table_index = {}
luatexja.stack_table_index = stack_table_index
@@ -462,6 +472,8 @@ local function debug_show_node_X(p,print_fn, limit)
s = s .. ' (for accent)'
elseif get_attr_icflag(p)==icflag_table.IC_PROCESSED then
s = s .. ' (italic correction)'
+ elseif get_attr_icflag(p)==icflag_table.LINEEND then
+ s = s .. ' (end-of-line)'
-- elseif get_attr_icflag(p)==ITALIC then
-- s = s .. ' (italic correction)'
elseif get_attr_icflag(p)>icflag_table.KINSOKU