summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-05-05 22:19:33 +0000
committerKarl Berry <karl@freefriends.org>2016-05-05 22:19:33 +0000
commit166ecf8f4ada7e344bb8d198de16259aed65f7ee (patch)
treeaea5501297dcb4af6e36eda6db597171cede4fbb /Master/texmf-dist/tex/luatex/luatexja
parent4a55f10229652978387f3ed0ff6e1de158644a22 (diff)
luatexja (5may2016)
git-svn-id: svn://tug.org/texlive/trunk@40904 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua49
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua1033
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua29
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty41
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty7
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty5
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty140
7 files changed, 178 insertions, 1126 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
index 16ba9d93a5b..87635b95aae 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
@@ -683,11 +683,10 @@ do
local sort = table.sort
local function add_fl_table(dest, glyphs, unitable, asc_des, units)
- local tg, glyphmin, glyphmax = glyphs.glyphs, 0, glyphs.glyphmax
- for _,v in pairs(fields(glyphs)) do
- if v=='glyphmin' then glyphmin, glyphmax = glyphs.glyphmin, glyphmax+1; break end
- end
- for i = glyphmin, glyphmax-1 do
+ local glyphmin, glyphmax = glyphs.glyphmin, glyphs.glyphmax
+ if glyphmax < 0 then return dest end
+ local tg = glyphs.glyphs
+ for i = glyphmin, glyphmax do
local gv = tg[i]
if gv then
if gv.altuni then
@@ -695,12 +694,14 @@ do
local bu, vsel = at.unicode, at.variant
if vsel then
if vsel>=0xE0100 then vsel = vsel - 0xE0100 end
- dest = dest or {}; dest[bu] = dest[bu] or {}
local uniq_flag = true
- for i,_ in pairs(dest[bu]) do
- if i==vs then uniq_flag = false; break end
- end
+ if dest and dest[bu] then
+ for i,_ in pairs(dest[bu]) do
+ if i==vsel then uniq_flag = false; break end
+ end
+ end
if uniq_flag then
+ dest = dest or {}; dest[bu] = dest[bu] or {}
dest[bu][vsel] = unitable[gv.name]
end
end
@@ -708,7 +709,7 @@ do
end
-- vertical metric
local vw, tsb, vk = glyph_vmetric(gv)
- local gi = unitable[gv.name]
+ local gi = unitable[i]
if gi and vw and vw~=asc_des then
-- We do not use tsidebearing, since (1) fontloader does not read VORG table
-- and (2) 'tsidebearing' doea not appear in the returned table by fontloader.fields.
@@ -744,19 +745,37 @@ do
end
prepare_fl_data = function (dest, id)
local fl = fontloader.open(id.filename)
- local unicodes = id.resources.unicodes
+ local ind_to_uni, unicodes = {}, {}
+ for i,v in pairs(id.characters) do
+ ind_to_uni[v.index] = i
+ end
if fl.glyphs then
+ local tg, glyphmin, glyphmax = fl.glyphs, fl.glyphmin, fl.glyphmax
+ if 0 <= glyphmax then
+ for i = glyphmin, glyphmax do
+ if tg[i] and tg[i].name then unicodes[tg[i].name] = ind_to_uni[i] end
+ end
+ end
dest = add_fl_table(dest, fl, unicodes,
fl.ascent + fl.descent, fl.units_per_em)
end
if fl.subfonts then
for _,v in pairs(fl.subfonts) do
+ local tg, glyphmin, glyphmax = v.glyphs, v.glyphmin, v.glyphmax
+ if 0 <= glyphmax then
+ for i = glyphmin, glyphmax do
+ if tg[i] and tg[i].name then unicodes[tg[i].name] = ind_to_uni[i] end
+ end
+ end
+ end
+ for _,v in pairs(fl.subfonts) do
dest = add_fl_table(dest, v, unicodes,
fl.ascent + fl.descent, fl.units_per_em)
end
- end
- fontloader.close(fl); collectgarbage("collect")
- return dest
+ end
+ if dest then dest.unicodes = unicodes end
+ fontloader.close(fl); collectgarbage("collect")
+ return dest
end
-- supply vkern table
supply_vkern_table = function(id, bname)
@@ -777,7 +796,7 @@ end
--
do
- local cache_ver = 6
+ local cache_ver = 9
local checksum = file.checksum
local function prepare_extra_data_base(id)
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua
deleted file mode 100644
index 7204c11c820..00000000000
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-kinsoku.lua
+++ /dev/null
@@ -1,1033 +0,0 @@
-return {
- [0]=500,
- {
- ["shrink"]=26214,
- ["shrink_order"]=0,
- ["stretch"]=26214,
- ["stretch_order"]=0,
- ["width"]=0,
- },
- {
- ["shrink"]=65536,
- ["shrink_order"]=0,
- ["stretch"]=65536,
- ["stretch_order"]=0,
- ["width"]=157649,
- },
- [256]=51,
- [512]=52,
- [768]=53,
- [1024]=12295,
- [1025]=19968,
- [1026]=20108,
- [1027]=19977,
- [1028]=22235,
- [1029]=20116,
- [1030]=20845,
- [1031]=19971,
- [1032]=20843,
- [1033]=20061,
- [2097185]=10000,
- [2097186]=10000,
- [2097191]=10000,
- [2097193]=10000,
- [2097194]=500,
- [2097195]=500,
- [2097197]=10000,
- [2097198]=10000,
- [2097199]=500,
- [2097210]=10000,
- [2097211]=10000,
- [2097215]=10000,
- [2097245]=10000,
- [2097322]=10000,
- [2097330]=10000,
- [2097331]=10000,
- [2097332]=10000,
- [2097337]=10000,
- [2097338]=10000,
- [2097339]=10000,
- [2097872]=10000,
- [2105369]=10000,
- [2105373]=10000,
- [2105381]=250,
- [2105382]=250,
- [2105404]=10000,
- [2105415]=10000,
- [2105416]=10000,
- [2105417]=10000,
- [2105634]=10000,
- [2105874]=200,
- [2107782]=10000,
- [2109441]=10000,
- [2109442]=10000,
- [2109445]=10000,
- [2109449]=10000,
- [2109451]=10000,
- [2109453]=10000,
- [2109455]=10000,
- [2109457]=10000,
- [2109461]=10000,
- [2109463]=10000,
- [2109465]=10000,
- [2109471]=10000,
- [2109491]=10000,
- [2109492]=10000,
- [2109493]=10000,
- [2109499]=10000,
- [2109505]=150,
- [2109507]=150,
- [2109509]=150,
- [2109511]=150,
- [2109513]=150,
- [2109539]=150,
- [2109571]=150,
- [2109573]=150,
- [2109575]=150,
- [2109582]=150,
- [2109589]=150,
- [2109590]=150,
- [2109595]=10000,
- [2109596]=10000,
- [2109597]=10000,
- [2109598]=10000,
- [2109601]=150,
- [2109603]=150,
- [2109605]=150,
- [2109607]=150,
- [2109609]=150,
- [2109635]=150,
- [2109667]=150,
- [2109669]=150,
- [2109671]=150,
- [2109678]=150,
- [2109685]=150,
- [2109686]=150,
- [2109691]=10000,
- [2109692]=10000,
- [2109693]=10000,
- [2109694]=10000,
- [2109936]=150,
- [2109937]=150,
- [2109938]=150,
- [2109939]=150,
- [2109940]=150,
- [2109941]=150,
- [2109942]=150,
- [2109943]=150,
- [2109944]=150,
- [2109945]=150,
- [2109946]=150,
- [2109947]=150,
- [2109948]=150,
- [2109949]=150,
- [2109950]=150,
- [2109951]=150,
- [2162433]=10000,
- [2162441]=10000,
- [2162443]=200,
- [2162444]=10000,
- [2162445]=200,
- [2162446]=10000,
- [2162458]=10000,
- [2162459]=10000,
- [2162461]=200,
- [2162463]=10000,
- [2162493]=10000,
- [2162525]=10000,
- [2162528]=10000,
- [2162529]=10000,
- [2162531]=10000,
- [2162532]=10000,
- [2162590]=10000,
- [2162591]=10000,
- [4194339]=500,
- [4194340]=500,
- [4194341]=500,
- [4194342]=500,
- [4194344]=10000,
- [4194395]=10000,
- [4194400]=10000,
- [4194465]=10000,
- [4194475]=10000,
- [4194495]=10000,
- [4202520]=10000,
- [4202524]=10000,
- [4202668]=10000,
- [4204933]=10000,
- [4206600]=10000,
- [4206602]=10000,
- [4206604]=10000,
- [4206606]=10000,
- [4206608]=10000,
- [4206612]=10000,
- [4206614]=10000,
- [4206616]=10000,
- [4206621]=10000,
- [4259587]=200,
- [4259588]=200,
- [4259589]=200,
- [4259590]=200,
- [4259592]=10000,
- [4259643]=10000,
- [4259648]=10000,
- [4259675]=10000,
- [4259679]=10000,
- [4259682]=10000,
- [6299648]=1,
- [6299649]=1,
- [6299650]=1,
- [6299651]=1,
- [6299652]=1,
- [6299653]=1,
- [6299654]=1,
- [6299655]=1,
- [6299656]=1,
- [6299657]=1,
- [6299658]=1,
- [6299659]=1,
- [6299660]=1,
- [6299661]=1,
- [6299662]=1,
- [6299663]=1,
- [6299664]=1,
- [6299665]=1,
- [6299666]=1,
- [6299667]=1,
- [6299668]=1,
- [6299669]=1,
- [6299670]=1,
- [6299671]=1,
- [6299672]=1,
- [6299673]=1,
- [6299674]=1,
- [6299675]=1,
- [6299676]=1,
- [6299677]=1,
- [6299678]=1,
- [6299679]=1,
- [6299680]=1,
- [6299681]=1,
- [6299682]=1,
- [6299683]=1,
- [6299684]=1,
- [6299685]=1,
- [6299686]=1,
- [6299687]=1,
- [6299688]=1,
- [6299689]=1,
- [6299690]=1,
- [6299691]=1,
- [6299692]=1,
- [6299693]=1,
- [6299694]=1,
- [6299695]=1,
- [6299696]=1,
- [6299697]=1,
- [6299698]=1,
- [6299699]=1,
- [6299700]=1,
- [6299701]=1,
- [6299702]=1,
- [6299703]=1,
- [6299704]=1,
- [6299705]=1,
- [6299706]=1,
- [6299707]=1,
- [6299708]=1,
- [6299709]=1,
- [6299710]=1,
- [6299711]=1,
- [6299712]=1,
- [6299713]=1,
- [6299714]=1,
- [6299715]=1,
- [6299716]=1,
- [6299717]=1,
- [6299718]=1,
- [6299719]=1,
- [6299720]=1,
- [6299721]=1,
- [6299722]=1,
- [6299723]=1,
- [6299724]=1,
- [6299725]=1,
- [6299726]=1,
- [6299727]=1,
- [6299728]=1,
- [6299729]=1,
- [6299730]=1,
- [6299731]=1,
- [6299732]=1,
- [6299733]=1,
- [6299734]=1,
- [6299735]=1,
- [6299736]=1,
- [6299737]=1,
- [6299738]=1,
- [6299739]=1,
- [6299740]=1,
- [6299741]=1,
- [6299742]=1,
- [6299743]=1,
- [6299744]=1,
- [6299745]=1,
- [6299746]=1,
- [6299747]=1,
- [6299748]=1,
- [6299749]=1,
- [6299750]=1,
- [6299751]=1,
- [6299752]=1,
- [6299753]=1,
- [6299754]=1,
- [6299755]=1,
- [6299756]=1,
- [6299757]=1,
- [6299758]=1,
- [6299759]=1,
- [6303744]=1,
- [6303745]=1,
- [6303746]=1,
- [6303747]=1,
- [6303748]=1,
- [6303749]=1,
- [6303750]=1,
- [6303751]=1,
- [6303752]=1,
- [6303753]=1,
- [6303754]=1,
- [6303755]=1,
- [6303756]=1,
- [6303757]=1,
- [6303758]=1,
- [6303759]=1,
- [6303760]=1,
- [6303761]=1,
- [6303762]=1,
- [6303763]=1,
- [6303764]=1,
- [6303765]=1,
- [6303766]=1,
- [6303767]=1,
- [6303768]=1,
- [6303769]=1,
- [6303770]=1,
- [6303771]=1,
- [6303772]=1,
- [6303773]=1,
- [6303774]=1,
- [6303775]=1,
- [6303776]=1,
- [6303777]=1,
- [6303778]=1,
- [6303779]=1,
- [6303780]=1,
- [6303781]=1,
- [6303782]=1,
- [6303783]=1,
- [6303784]=1,
- [6303785]=1,
- [6303786]=1,
- [6303787]=1,
- [6303788]=1,
- [6303789]=1,
- [6303790]=1,
- [6303791]=1,
- [6303792]=1,
- [6303793]=1,
- [6303794]=1,
- [6303795]=1,
- [6303796]=1,
- [6303797]=1,
- [6303798]=1,
- [6303799]=1,
- [6303800]=1,
- [6303801]=1,
- [6303802]=1,
- [6303803]=1,
- [6303804]=1,
- [6303805]=1,
- [6303806]=1,
- [6303807]=1,
- [6356736]=1,
- [6356737]=1,
- [6356738]=1,
- [6356739]=1,
- [6356740]=1,
- [6356741]=1,
- [6356742]=1,
- [6356743]=1,
- [6356744]=1,
- [6356745]=1,
- [6356746]=1,
- [6356747]=1,
- [6356748]=1,
- [6356749]=1,
- [6356750]=1,
- [6356751]=1,
- [6356752]=1,
- [6356753]=1,
- [6356754]=1,
- [6356755]=1,
- [6356756]=1,
- [6356757]=1,
- [6356758]=1,
- [6356759]=1,
- [6356760]=1,
- [6356761]=1,
- [6356762]=1,
- [6356763]=1,
- [6356764]=1,
- [6356765]=1,
- [6356766]=1,
- [6356767]=1,
- [6356768]=1,
- [6356769]=1,
- [6356770]=1,
- [6356771]=1,
- [6356772]=1,
- [6356773]=1,
- [6356774]=1,
- [6356775]=1,
- [6356776]=1,
- [6356777]=1,
- [6356778]=1,
- [6356779]=1,
- [6356780]=1,
- [6356781]=1,
- [6356782]=1,
- [6356783]=1,
- [6356784]=1,
- [6356785]=1,
- [6356786]=1,
- [6356787]=1,
- [6356788]=1,
- [6356789]=1,
- [6356790]=1,
- [6356791]=1,
- [6356792]=1,
- [6356793]=1,
- [6356794]=1,
- [6356795]=1,
- [6356796]=1,
- [6356797]=1,
- [6356798]=1,
- [6356799]=1,
- [6356800]=1,
- [6356801]=1,
- [6356802]=1,
- [6356803]=1,
- [6356804]=1,
- [6356805]=1,
- [6356806]=1,
- [6356807]=1,
- [6356808]=1,
- [6356809]=1,
- [6356810]=1,
- [6356811]=1,
- [6356812]=1,
- [6356813]=1,
- [6356814]=1,
- [6356815]=1,
- [6356816]=1,
- [6356817]=1,
- [6356818]=1,
- [6356819]=1,
- [6356820]=1,
- [6356821]=1,
- [6356822]=1,
- [6356823]=1,
- [6356824]=1,
- [6356825]=1,
- [6356826]=1,
- [6356827]=1,
- [6356828]=1,
- [6356829]=1,
- [6356830]=1,
- [6356831]=1,
- [6356832]=1,
- [6356833]=1,
- [6356834]=1,
- [6356835]=1,
- [6356836]=1,
- [6356837]=1,
- [6356838]=1,
- [6356839]=1,
- [6356840]=1,
- [6356841]=1,
- [6356842]=1,
- [6356843]=1,
- [6356844]=1,
- [6356845]=1,
- [6356846]=1,
- [6356847]=1,
- [6356848]=1,
- [6356849]=1,
- [6356850]=1,
- [6356851]=1,
- [6356852]=1,
- [6356853]=1,
- [6356854]=1,
- [6356855]=1,
- [6356856]=1,
- [6356857]=1,
- [6356858]=1,
- [6356859]=1,
- [6356860]=1,
- [6356861]=1,
- [6356862]=1,
- [6356863]=1,
- [6356864]=1,
- [6356865]=1,
- [6356866]=1,
- [6356867]=1,
- [6356868]=1,
- [6356869]=1,
- [6356870]=1,
- [6356871]=1,
- [6356872]=1,
- [6356873]=1,
- [6356874]=1,
- [6356875]=1,
- [6356876]=1,
- [6356877]=1,
- [6356878]=1,
- [6356879]=1,
- [6356880]=1,
- [6356881]=1,
- [6356882]=1,
- [6356883]=1,
- [6356884]=1,
- [6356885]=1,
- [6356886]=1,
- [6356887]=1,
- [6356888]=1,
- [6356889]=1,
- [6356890]=1,
- [6356891]=1,
- [6356892]=1,
- [6356893]=1,
- [6356894]=1,
- [6356895]=1,
- [6356896]=1,
- [6356897]=1,
- [6356898]=1,
- [6356899]=1,
- [6356900]=1,
- [6356901]=1,
- [6356902]=1,
- [6356903]=1,
- [6356904]=1,
- [6356905]=1,
- [6356906]=1,
- [6356907]=1,
- [6356908]=1,
- [6356909]=1,
- [6356910]=1,
- [6356911]=1,
- [6356912]=1,
- [6356913]=1,
- [6356914]=1,
- [6356915]=1,
- [6356916]=1,
- [6356917]=1,
- [6356918]=1,
- [6356919]=1,
- [6356920]=1,
- [6356921]=1,
- [6356922]=1,
- [6356923]=1,
- [6356924]=1,
- [6356925]=1,
- [6356926]=1,
- [6356927]=1,
- [6356928]=1,
- [6356929]=1,
- [6356930]=1,
- [6356931]=1,
- [6356932]=1,
- [6356933]=1,
- [6356934]=1,
- [6356935]=1,
- [6356936]=1,
- [6356937]=1,
- [6356938]=1,
- [6356939]=1,
- [6356940]=1,
- [6356941]=1,
- [6356942]=1,
- [6356943]=1,
- [6356944]=1,
- [6356945]=1,
- [6356946]=1,
- [6356947]=1,
- [6356948]=1,
- [6356949]=1,
- [6356950]=1,
- [6356951]=1,
- [6356952]=1,
- [6356953]=1,
- [6356954]=1,
- [6356955]=1,
- [6356956]=1,
- [6356957]=1,
- [6356958]=1,
- [6356959]=1,
- [6356960]=1,
- [6356961]=1,
- [6356962]=1,
- [6356963]=1,
- [6356964]=1,
- [6356965]=1,
- [6356966]=1,
- [6356967]=1,
- [6356968]=1,
- [6356969]=1,
- [6356970]=1,
- [6356971]=1,
- [6356972]=1,
- [6356973]=1,
- [6356974]=1,
- [6356975]=1,
- [8388608]=0,
- [8388609]=0,
- [8388610]=0,
- [8388611]=0,
- [8388612]=0,
- [8388613]=0,
- [8388614]=0,
- [8388615]=0,
- [8388616]=0,
- [8388617]=0,
- [8388618]=0,
- [8388619]=0,
- [8388620]=0,
- [8388621]=0,
- [8388622]=0,
- [8388623]=0,
- [8388624]=0,
- [8388625]=0,
- [8388626]=0,
- [8388627]=0,
- [8388628]=0,
- [8388629]=0,
- [8388630]=0,
- [8388631]=0,
- [8388632]=0,
- [8388633]=0,
- [8388634]=0,
- [8388635]=0,
- [8388636]=0,
- [8388637]=0,
- [8388638]=0,
- [8388639]=0,
- [8388640]=0,
- [8388641]=0,
- [8388642]=0,
- [8388643]=0,
- [8388644]=0,
- [8388645]=0,
- [8388646]=0,
- [8388647]=2,
- [8388648]=1,
- [8388649]=2,
- [8388650]=0,
- [8388651]=0,
- [8388652]=2,
- [8388653]=0,
- [8388654]=2,
- [8388655]=0,
- [8388656]=3,
- [8388657]=3,
- [8388658]=3,
- [8388659]=3,
- [8388660]=3,
- [8388661]=3,
- [8388662]=3,
- [8388663]=3,
- [8388664]=3,
- [8388665]=3,
- [8388666]=0,
- [8388667]=2,
- [8388668]=0,
- [8388669]=0,
- [8388670]=0,
- [8388671]=0,
- [8388672]=0,
- [8388673]=3,
- [8388674]=3,
- [8388675]=3,
- [8388676]=3,
- [8388677]=3,
- [8388678]=3,
- [8388679]=3,
- [8388680]=3,
- [8388681]=3,
- [8388682]=3,
- [8388683]=3,
- [8388684]=3,
- [8388685]=3,
- [8388686]=3,
- [8388687]=3,
- [8388688]=3,
- [8388689]=3,
- [8388690]=3,
- [8388691]=3,
- [8388692]=3,
- [8388693]=3,
- [8388694]=3,
- [8388695]=3,
- [8388696]=3,
- [8388697]=3,
- [8388698]=3,
- [8388699]=1,
- [8388700]=0,
- [8388701]=2,
- [8388702]=0,
- [8388703]=0,
- [8388704]=1,
- [8388705]=3,
- [8388706]=3,
- [8388707]=3,
- [8388708]=3,
- [8388709]=3,
- [8388710]=3,
- [8388711]=3,
- [8388712]=3,
- [8388713]=3,
- [8388714]=3,
- [8388715]=3,
- [8388716]=3,
- [8388717]=3,
- [8388718]=3,
- [8388719]=3,
- [8388720]=3,
- [8388721]=3,
- [8388722]=3,
- [8388723]=3,
- [8388724]=3,
- [8388725]=3,
- [8388726]=3,
- [8388727]=3,
- [8388728]=3,
- [8388729]=3,
- [8388730]=3,
- [8388731]=0,
- [8388732]=0,
- [8388733]=0,
- [8388734]=0,
- [8388735]=0,
- [8388736]=3,
- [8388737]=3,
- [8388738]=3,
- [8388739]=3,
- [8388740]=3,
- [8388741]=3,
- [8388742]=3,
- [8388743]=3,
- [8388744]=3,
- [8388745]=3,
- [8388746]=3,
- [8388747]=3,
- [8388748]=3,
- [8388749]=3,
- [8388750]=3,
- [8388751]=3,
- [8388752]=3,
- [8388753]=3,
- [8388754]=3,
- [8388755]=3,
- [8388756]=3,
- [8388757]=3,
- [8388758]=3,
- [8388759]=3,
- [8388760]=3,
- [8388761]=3,
- [8388762]=3,
- [8388763]=3,
- [8388764]=3,
- [8388765]=3,
- [8388766]=3,
- [8388767]=3,
- [8388768]=3,
- [8388769]=1,
- [8388770]=3,
- [8388771]=3,
- [8388772]=3,
- [8388773]=0,
- [8388774]=3,
- [8388775]=3,
- [8388776]=3,
- [8388777]=3,
- [8388778]=2,
- [8388779]=1,
- [8388780]=3,
- [8388781]=3,
- [8388782]=3,
- [8388783]=3,
- [8388784]=2,
- [8388785]=3,
- [8388786]=2,
- [8388787]=2,
- [8388788]=3,
- [8388789]=3,
- [8388790]=3,
- [8388791]=3,
- [8388792]=3,
- [8388793]=2,
- [8388794]=2,
- [8388795]=2,
- [8388796]=3,
- [8388797]=3,
- [8388798]=3,
- [8388799]=1,
- [8388800]=3,
- [8388801]=3,
- [8388802]=3,
- [8388803]=3,
- [8388804]=3,
- [8388805]=3,
- [8388806]=3,
- [8388807]=3,
- [8388808]=3,
- [8388809]=3,
- [8388810]=3,
- [8388811]=3,
- [8388812]=3,
- [8388813]=3,
- [8388814]=3,
- [8388815]=3,
- [8388816]=3,
- [8388817]=3,
- [8388818]=3,
- [8388819]=3,
- [8388820]=3,
- [8388821]=3,
- [8388822]=3,
- [8388823]=3,
- [8388824]=3,
- [8388825]=3,
- [8388826]=3,
- [8388827]=3,
- [8388828]=3,
- [8388829]=3,
- [8388830]=3,
- [8388831]=3,
- [8388832]=3,
- [8388833]=3,
- [8388834]=3,
- [8388835]=3,
- [8388836]=3,
- [8388837]=3,
- [8388838]=3,
- [8388839]=3,
- [8388840]=3,
- [8388841]=3,
- [8388842]=3,
- [8388843]=3,
- [8388844]=3,
- [8388845]=3,
- [8388846]=3,
- [8388847]=3,
- [8388848]=3,
- [8388849]=3,
- [8388850]=3,
- [8388851]=3,
- [8388852]=3,
- [8388853]=3,
- [8388854]=3,
- [8388855]=3,
- [8388856]=3,
- [8388857]=3,
- [8388858]=3,
- [8388859]=3,
- [8388860]=3,
- [8388861]=3,
- [8388862]=3,
- [8388863]=3,
- [8396820]=0,
- [8396821]=0,
- [8396824]=1,
- [8396825]=2,
- [8396828]=1,
- [8396829]=2,
- [8396838]=0,
- [8396850]=2,
- [8396851]=2,
- [8396860]=2,
- [8396871]=2,
- [8396872]=2,
- [8396873]=2,
- [8396972]=1,
- [8397090]=2,
- [8398080]=0,
- [8398081]=0,
- [8398082]=0,
- [8398083]=0,
- [8398084]=0,
- [8398085]=0,
- [8398086]=0,
- [8398087]=0,
- [8398088]=0,
- [8398089]=0,
- [8398090]=0,
- [8398091]=0,
- [8398092]=0,
- [8398093]=0,
- [8398094]=0,
- [8398095]=0,
- [8398096]=0,
- [8398097]=0,
- [8398098]=0,
- [8398099]=0,
- [8398100]=0,
- [8398101]=0,
- [8398102]=0,
- [8398103]=0,
- [8398104]=0,
- [8398105]=0,
- [8398106]=0,
- [8398107]=0,
- [8398108]=0,
- [8398109]=0,
- [8398110]=0,
- [8398111]=0,
- [8398112]=0,
- [8398113]=0,
- [8398114]=0,
- [8398115]=0,
- [8398116]=0,
- [8398117]=0,
- [8398118]=0,
- [8398119]=0,
- [8398120]=0,
- [8398121]=0,
- [8398122]=0,
- [8398123]=0,
- [8398124]=0,
- [8398125]=0,
- [8398126]=0,
- [8398127]=0,
- [8398128]=0,
- [8398129]=0,
- [8398130]=0,
- [8398131]=0,
- [8398132]=0,
- [8398133]=0,
- [8398134]=0,
- [8398135]=0,
- [8398136]=0,
- [8398137]=0,
- [8398138]=0,
- [8398139]=0,
- [8398140]=0,
- [8398141]=0,
- [8398142]=0,
- [8398143]=0,
- [8398144]=0,
- [8398145]=0,
- [8398146]=0,
- [8398147]=0,
- [8398148]=0,
- [8398149]=0,
- [8398150]=0,
- [8398151]=0,
- [8398152]=0,
- [8398153]=0,
- [8398154]=0,
- [8398155]=0,
- [8398156]=0,
- [8398157]=0,
- [8398158]=0,
- [8398159]=0,
- [8398160]=0,
- [8398161]=0,
- [8398162]=0,
- [8398163]=0,
- [8398164]=0,
- [8398165]=0,
- [8398166]=0,
- [8398167]=0,
- [8398168]=0,
- [8398169]=0,
- [8398170]=0,
- [8398171]=0,
- [8398172]=0,
- [8398173]=0,
- [8398174]=0,
- [8398175]=0,
- [8398176]=0,
- [8398177]=0,
- [8398178]=0,
- [8398179]=0,
- [8398180]=0,
- [8398181]=0,
- [8398182]=0,
- [8398183]=0,
- [8398184]=0,
- [8398185]=0,
- [8398186]=0,
- [8398187]=0,
- [8398188]=0,
- [8398189]=0,
- [8398190]=0,
- [8398191]=0,
- [8398192]=0,
- [8398193]=0,
- [8398194]=0,
- [8398195]=0,
- [8398196]=0,
- [8398197]=0,
- [8398198]=0,
- [8398199]=0,
- [8398200]=0,
- [8398201]=0,
- [8398202]=0,
- [8398203]=0,
- [8398204]=0,
- [8398205]=0,
- [8398206]=0,
- [8398207]=0,
- [8399237]=1,
- [8399238]=2,
- [8400897]=2,
- [8400898]=2,
- [8400904]=1,
- [8400905]=2,
- [8400906]=1,
- [8400907]=2,
- [8400908]=1,
- [8400909]=2,
- [8400910]=1,
- [8400911]=2,
- [8400912]=1,
- [8400913]=2,
- [8400916]=1,
- [8400917]=2,
- [8400918]=1,
- [8400919]=2,
- [8400920]=1,
- [8400921]=2,
- [8400924]=0,
- [8400925]=1,
- [8400927]=2,
- [8453896]=1,
- [8453897]=2,
- [8453900]=2,
- [8453902]=2,
- [8453915]=2,
- [8453919]=2,
- [8453947]=1,
- [8453949]=2,
- [8453979]=1,
- [8453981]=2,
- [8453982]=0,
- [8453983]=1,
- [8453984]=2,
- [8453985]=2,
- [8453986]=1,
- [8453987]=2,
- [8453988]=2,
- [8454117]=0,
-}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
index d13cff277b4..6a1447aebf6 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-otf.lua
@@ -96,19 +96,24 @@ do
local tex_get_attr = tex.getattribute
cid = function (key)
if key==0 then return append_jglyph(char) end
- local curjfnt = identifiers[tex_get_attr((ltjd_get_dir_count()==dir_tate)
- and attr_curtfnt or attr_curjfnt)]
- if not curjfnt.cidinfo or
- curjfnt.cidinfo.ordering ~= "Japan1" and
- curjfnt.cidinfo.ordering ~= "GB1" and
- curjfnt.cidinfo.ordering ~= "CNS1" and
- curjfnt.cidinfo.ordering ~= "Korea1" then
+ local curjfnt_num = tex_get_attr((ltjd_get_dir_count()==dir_tate)
+ and attr_curtfnt or attr_curjfnt)
+ local curjfnt = identifiers[curjfnt_num]
+ local cidinfo = curjfnt.resources.cidinfo
+ if not cidinfo or
+ cidinfo.ordering ~= "Japan1" and
+ cidinfo.ordering ~= "GB1" and
+ cidinfo.ordering ~= "CNS1" and
+ cidinfo.ordering ~= "Korea1" then
-- ltjb.package_warning('luatexja-otf',
-- 'Current Japanese font (or other CJK font) "'
-- ..curjfnt.psname..'" is not a CID-Keyed font (Adobe-Japan1 etc.)')
return append_jglyph(get_ucs_from_rmlgbm(key))
end
- local char = curjfnt.resources.unicodes[curjfnt.cidinfo.ordering..'.'..tostring(key)]
+ local fe, char = ltjf_font_extra_info[curjfnt_num], nil
+ if fe and fe.unicodes then
+ char = fe.unicodes[cidinfo.ordering..'.'..tostring(key)]
+ end
if not char then
ltjb.package_warning('luatexja-otf',
'Current Japanese font (or other CJK font) "'
@@ -167,11 +172,13 @@ ltjb.add_to_callback('pre_linebreak_filter', extract,'ltj.otf',
-- 和文フォント読み込み時に,CID -> unicode 対応をとっておく.
local function cid_to_char(fmtable, fn)
local fi = identifiers[fn]
- if fi.cidinfo and fi.cidinfo.ordering == "Japan1" then
+ local fe = ltjf_font_extra_info[fn]
+ if (fi.resources and fi.resources.cidinfo and fi.resources.cidinfo.ordering == "Japan1" )
+ and (fe and fe.unicodes) then
for i, v in pairs(fmtable.chars) do
local j = string.match(i, "^AJ1%-([0-9]*)")
if j then
- j = tonumber(fi.resources.unicodes['Japan1.'..tostring(j)])
+ j = tonumber(fe.unicodes['Japan1.'..tostring(j)])
if j then
fmtable.cid_char_type = fmtable.cid_char_type or {}
fmtable.cid_char_type[j] = v
@@ -230,7 +237,7 @@ do
if qc>=0xE0100 then qc = qc - 0xE0100 end
local pf = getfont(p)
local pt = ltjf_font_extra_info[pf]
- pt = pt and pt[getchar(p)]; pt = pt and pt[qc]
+ pt = pt and pt[getchar(p)]; pt = pt and pt[qc]
head, r = node_remove(head,q)
node_free(q)
if pt then
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
index f3587288721..2d577fc687a 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty
@@ -1,10 +1,10 @@
%
% lltjcore.sty: derived from plcore.dtx in pLaTeX.
% This file does not include the code relating to "tategaki".
-%
+%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2016/04/01 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2016/05/05 Patch to LaTeX2e Kernel for LuaTeX-ja]
\def\cleardoublepage{\clearpage\if@twoside
\ifodd\c@page
@@ -165,10 +165,12 @@
\stepcounter{page}%
\let\firstmark\botmark
}
-\renewcommand\@makefnmark{\hbox{%
+
+%%% Remove extra xkanjiskip
+\renewcommand\@makefnmark{%
\unless\ifnum\ltjgetparameter{direction}=3
- \@textsuperscript{\normalfont\@thefnmark}%
- \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}}
+ \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
+ \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
\def\@footnotemark{\leavevmode
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
\unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark
@@ -198,6 +200,35 @@
\gdef\@stopfield{\null\color@endgroup\egroup}
\newcount\hour
\newcount\minute
+%%% etoolbox is loaded by everyhook
+\ifltj@everyhook@avail
+ \patchcmd{\@tabular}{\leavevmode}{\leavevmode\null}{}{}
+ \apptocmd{\endtabular}{\null}{}{}
+ \expandafter \let \csname endtabular*\endcsname = \endtabular
+\fi
+\let\@parboxto\@empty
+\long\def\@iiiparbox#1#2[#3]#4#5{%
+ \leavevmode
+ \@pboxswfalse
+ \setlength\@tempdima{#4}%
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \ifx\relax#2\else
+ \setlength\@tempdimb{#2}%
+ \edef\@parboxto{to\the\@tempdimb}%
+ \fi
+ \if#1b\vbox
+ \else\if #1t\vtop
+ \else\ifmmode\vcenter
+ \else\@pboxswtrue\null$\vcenter% !!!
+ \fi\fi\fi
+ \@parboxto{\let\hss\vss\let\unhbox\unvbox
+ \csname bm@#3\endcsname}%
+ \if@pboxsw \m@th$\null\fi% !!!
+ \@end@tempboxa}
+\def\underline#1{%
+ \relax
+ \ifmmode\@@underline{#1}%
+ \else \leavevmode\null$\@@underline{\hbox{#1}}\m@th$\null\relax\fi}
%%% AtBeginDvi
\def \AtBeginDvi #1{%
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
index 466e9c7666b..3f39654b7ed 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2016/01/30 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2016/05/05 Default font settings of LuaTeX-ja]
\def\ltj@stdmcfont{IPAExMincho}
\def\ltj@stdgtfont{IPAExGothic}
@@ -69,6 +69,11 @@
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault
\if@ltj@match@family\kanjifamily\jttdefault\fi\selectfont}
+%%% \eminnershape
+\DeclareRobustCommand\em
+ {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+ \eminnershape \else \gtfamily \itshape \fi}
+\def\eminnershape{\mcfamily \upshape}
\ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF}
\ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF}
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty
index d1e894e3716..b679d5a436e 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty
@@ -65,5 +65,10 @@
\ltj_orig_fontspec_setup_maths:
\group_end:
}
+
+%%%%%%%% shapes in \em
+\cs_set:Npn \emshape { \gtfamily \itshape }
+\cs_set:Npn \eminnershape { \mcfamily \upshape }
+
\ExplSyntaxOff
\endinput
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty
index 4f03d1ff751..abe7d23c29f 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-tascmac.sty
@@ -1,97 +1,115 @@
%
% lltjp-tascmac.sty
+% based on tascmac.sty [2016/04/15 v2.0b (community edition)]
% \tbaselineshift=\z@ ==> \ltj@tablshift=\z@
+% \ybaselineshift=\z@ ==> \ltj@yablshift=\z@
% \dimen...=\tbaselineshift ==> \dimen...=\ltj@tablshift sp
+% \dimen...=\ybaselineshift ==> \dimen...=\ltj@yablshift sp
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-tascmac}[2014/12/18 Patch to (t)ascmac for LuaTeX-ja]
+\ProvidesPackage{lltjp-tascmac}[2016/05/05 Patch to (t)ascmac for LuaTeX-ja]
\RequirePackage{tascmac,luatexja}
%% use Type1 font for ascgrp
-\ifdefined\pdfmapline
- \pdfmapline{+ascgrp <ascgrp.pfb}
-\fi
+\pdfextension mapline{+ascgrp <ascgrp.pfb}
%% boxnote environment
-\def\boxnote{\par\vspace{\baselineskip}
-\@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
-\setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
-\@whiledim \wd\@nbox<\hsize \do{
-\setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
-\setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
-\vrule width1.08pt depth35pt}
-\@bw=\wd\@nbox\advance\@bw -40pt
-\begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
- \ltj@tablshift\@savetbaselineshift}%
+\def\boxnote{\par\vspace{.3\baselineskip}%
+ \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
+ \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+ \setbox\@nbox=\hbox{\@ascgrp\vrule width1.08pt depth35pt b\hss a\hss b}
+ \@whiledim \wd\@nbox<\hsize \do{
+ \setbox\@nbox=\hbox{\@ascgrp\unhbox\@nbox \hss a\hss b}}
+ \setbox\@nbox=\hbox to\hsize{\@ascgrp\unhbox\@nbox \hss a\hss b%
+ \vrule width1.08pt depth35pt}
+ \@bw=\wd\@nbox\advance\@bw -40pt
+ \begin{lrbox}{\@nbody}\begin{minipage}{\@bw}% (KN:1998/02/27)
+ \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}%
%% screen environment
\def\screen{%
-\@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
-\@ifnextchar[{\@screen}{\@screen[0]}}
+ \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
+ \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+ \@ifnextchar[{\@screen}{\@screen[0]}}
\def\@screen[#1]{\ifcase#1\def\@r{20}\def\@s{9.8pt}\def\@sx{10pt}\or
-\def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
-\def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
-\def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
-\def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
-\def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
-\def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
-\def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
-\def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
-\par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
-\setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
- \ltj@tablshift\@savetbaselineshift}%
+ \def\@r{18}\def\@s{8.8pt}\def\@sx{9pt}\or
+ \def\@r{16}\def\@s{7.8pt}\def\@sx{8pt}\or
+ \def\@r{14}\def\@s{6.8pt}\def\@sx{7pt}\or
+ \def\@r{12}\def\@s{5.8pt}\def\@sx{6pt}\or
+ \def\@r{10}\def\@s{4.8pt}\def\@sx{5pt}\or
+ \def\@r{8}\def\@s{3.8pt}\def\@sx{4pt}\or
+ \def\@r{6}\def\@s{2.8pt}\def\@sx{3pt}\else
+ \def\@r{4}\def\@s{1.8pt}\def\@sx{2pt}\fi
+ \par\vspace{.3\baselineskip}\@scw\linewidth \advance\@scw -\@r pt
+ \setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}% (KN:1998/02/27)
+ \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}%
%% itembox environment
\def\@itembox[#1]#2{%
- \par\vspace{.3\baselineskip}%
- \setbox\@iboxstr=\hbox{#2}%
+ \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
\@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+ \par\vspace{.3\baselineskip}%
+ \setbox\@iboxstr=\hbox{%
+ \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift #2}%
\@itemh\ht\@iboxstr\advance\@itemh\dp\@iboxstr
\vspace{.5\@itemh}\bgroup\@scw\linewidth
\advance\@scw-20pt\@iboxpos={#1}%
\setbox\scb@x=\hbox to\@scw\bgroup\begin{minipage}{\@scw}%
+ \ltj@yablshift\@saveybaselineshift
\ltj@tablshift\@savetbaselineshift
\vspace*{.5\@itemh}}%
%% \keytop
\def\@keytop[#1]#2{%
-{\setbox0=\hbox{\shortstack{#2}}\ltj@tablshift\z@%
-\dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
-\setbox\scscb@x=\hbox to\dimen0{%
-\@scw\wd0\hfil\vtop{\offinterlineskip
-\thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
-\kern-2.4pt\box0\@hobox{bl}{br}5\kern-.25pt\hrule}\hfil}\dimen0=\dp\scscb@x%
-\setbox0=\vbox{\hbox{\hbox to0pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}%
-\box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.5pt}{.4pt}}}}}%
-\if #1c $\vcenter{\box0}$ \else \if #1t\else\if #1b\boxmaxdepth=0pt\else
-\boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
+ {\setbox0=\hbox{\shortstack{#2}}\ltj@yablshift\z@\ltj@tablshift\z@%
+ \dimen0=\wd0\advance\dimen0 5pt\dimen1=\dp0\advance\dimen1 2.5pt%
+ \setbox\scscb@x=\hbox to\dimen0{%
+ \@scw\wd0\hfil\vtop{\offinterlineskip
+ \thinlines\setlength{\unitlength}{1pt}\hrule\kern2.3pt\@hobox{tl}{tr}5%
+ \kern-2.4pt\box0\@hobox{bl}{br}5\kern-.4pt\hrule}\hfil}%
+ \dimen0=\dp\scscb@x\advance\dimen0 -.4pt
+ \setbox0=\vbox{\hbox{\hbox to.2pt{\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}\hss}%
+ \box\scscb@x\hbox to.2pt{\hss\vtop to\dimen0{\@vrf@{2.3pt}{.4pt}}}}}%
+ \if #1c\mbox{}$\vcenter{\box0}$\mbox{}\else
+ \if #1t\else\if #1b\boxmaxdepth=0pt\else
+ \boxmaxdepth=\dimen1\fi\fi \mbox{}\vbox{\box0}\fi}}
%% \mask
-\def\mask#1#2{%
-{\setbox\@bwsp=\hbox{#1}\ltj@tablshift\z@\setbox0=\hbox{\@ascgrp#2}%
-\dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
-\setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
-\setbox\@@bwsp=\hbox to\dimen0{\leaders
-\vtop to\dimen1{\leaders\hbox{\@ascgrp#2}\vfil}\hfil}%
-\advance\dimen2\dp\@@bwsp\divide\dimen2 2
-\advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
-\setbox\@@bwsp=\vbox{\box\@@bwsp}%
-\mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
+\def\mask#1#2{{\setbox\@bwsp=\hbox{#1}%
+ \setbox0=\hbox{\ltj@yablshift\z@\ltj@tablshift\z@ \@ascgrp#2}%
+ \dimen0=\wd\@bwsp\dimen1=\ht\@bwsp\advance\dimen1\dp\@bwsp\dimen2=-\dimen1
+ \setdim@{\dimen0}{\wd0}\setdim@{\dimen1}{\ht0}%
+ \setbox\@@bwsp=\hbox to\dimen0{\leaders
+ \vtop to\dimen1{\leaders\box0\vfil}\hfil}%
+ \advance\dimen2\dp\@@bwsp\divide\dimen2 2
+ \advance\dimen2\dp\@bwsp\boxmaxdepth=\dimen2
+ \setbox\@@bwsp=\vbox{\box\@@bwsp}%
+ \mbox{}\hbox to\wd\@@bwsp{\hbox to0pt{\box\@@bwsp\hss}\hss\unhbox\@bwsp\hss}}}
%% \maskbox
-\def\Maskbox#1#2#3#4#5#6{{\setbox2=\hbox{#6}\ltj@tablshift\z@
-\setbox0=\hbox{\@ascgrp#3}%
-\dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
-\ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
-\ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
-\ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
-\hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
-\hbox{\@ascgrp#3}\vfil}\hfil}\hss}%
-\vrule width#5\vbox to\dimen1{\hrule height#5\vfil
-\dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
-\hbox to\dimen0{\hskip\skip0\box2\hskip\skip1}%
-\vfil\hrule height#5}\vrule width#5}}}
+\def\Maskbox#1#2#3#4#5#6{{%
+ \setbox0=\hbox{\ltj@yablshift\z@\ltj@tablshift\z@ \@ascgrp#3}%
+ \dimen0=#1\@setdim{\dimen0}{\wd0}\dimen1=#2\@setdim{\dimen1}{\ht0}%
+ \ifx#4c\skip0=0pt plus1fil\skip1=\skip0\fi
+ \ifx#4r\skip0=0pt plus1fil\skip1=0pt\fi
+ \ifx#4l\skip1=0pt plus1fil\skip0=0pt\fi
+ \leavevmode
+ \hbox{\hbox to0pt{\hbox to\dimen0{\leaders\vbox to\dimen1{\leaders
+ \box0\vfil}\hfil}\hss}%
+ \vrule width#5\vbox to\dimen1{\hrule height#5\vfil
+ \dimen3=#5\advance\dimen0-2\dimen3\advance\dimen0 .15pt
+ \hbox to\dimen0{\hskip\skip0\relax#6\hskip\skip1}%
+ \vfil\hrule height#5}\vrule width#5}}}
+
+%% shadebox environment
+\def\shadebox{\par\vspace{.3\baselineskip}%
+ \@saveybaselineshift\ltj@yablshift sp\ltj@yablshift\z@
+ \@savetbaselineshift\ltj@tablshift sp\ltj@tablshift\z@
+ \dimen0\linewidth \advance\dimen0-20pt
+ \advance\dimen0-2\fboxrule \advance\dimen0-\shaderule
+ \setbox\@tempboxa=\hbox\bgroup\minipage{\dimen0}%
+ \ltj@yablshift\@saveybaselineshift \ltj@tablshift\@savetbaselineshift}
%% \yen
%