X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-adjust.lua;h=7131bbc7b773d564050baebff2210d78db27e278;hb=e5b953c545302a9d701e83d4b796243ed43cb887;hp=151b00b8c38f4e139fcaf0d07761ba316c84a803;hpb=9580b55d7e22fe3b6c364c14f522372ef4693f4f;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-adjust.lua b/src/ltj-adjust.lua index 151b00b..7131bbc 100644 --- a/src/ltj-adjust.lua +++ b/src/ltj-adjust.lua @@ -59,35 +59,41 @@ end local priority_num = { 0, 0 } local at2pr = { {}, {} } +local at2pr_st, at2pr_sh = at2pr[1], at2pr[2] do + local priority_table = {{},{}} + luatexja.adjust.priority_table = priority_table local tmp = {} local function cmp(a,b) return a[1]>b[1] end -- 大きいほうが先! - local function make_priority_table(glue_sign, xsk, ksk, others) + local function make_priority_table(glue_sign) for i,_ in pairs(tmp) do tmp[i]=nil end - for i=-2,2 do tmp[#tmp+1] = { i, FROM_JFM+i } end - tmp[#tmp+1] = { xsk, XKANJI_SKIP } - tmp[#tmp+1] = { xsk, XKANJI_SKIP_JFM } - tmp[#tmp+1] = { ksk, KANJI_SKIP } - tmp[#tmp+1] = { ksk, KANJI_SKIP_JFM } - tmp[#tmp+1] = { others, -1 } + if glue_sign==2 then -- shrink + for i=0,63 do tmp[#tmp+1] = { (i%8)-4, FROM_JFM+i } end + else -- stretch + for i=0,63 do tmp[#tmp+1] = { math.floor(i/8)-4, FROM_JFM+i } end + end + local pt = priority_table[glue_sign] + tmp[#tmp+1] = { pt[2]/10, XKANJI_SKIP } + tmp[#tmp+1] = { pt[2]/10, XKANJI_SKIP_JFM } + tmp[#tmp+1] = { pt[1]/10, KANJI_SKIP } + tmp[#tmp+1] = { pt[1]/10, KANJI_SKIP_JFM } + tmp[#tmp+1] = { pt[3]/10, -1 } table.sort(tmp, cmp) local a, m, n = at2pr[glue_sign], 10000000, 0 for i=1,#tmp do if tmp[i][1]