From: Hironori Kitagawa Date: Fri, 30 Dec 2011 07:36:29 +0000 (+0900) Subject: Merge branch 'kmaeda-manual' into kitagawa_test X-Git-Tag: 20120419.0~26 X-Git-Url: http://git.osdn.jp/view?a=commitdiff_plain;ds=sidebyside;h=c3c5bb02c74ec7b6ee0444ea44da7f31d5106df2;p=luatex-ja%2Fluatexja.git Merge branch 'kmaeda-manual' into kitagawa_test --- c3c5bb02c74ec7b6ee0444ea44da7f31d5106df2 diff --cc doc/man-en.pdf index 8cc3876,e0926e9..e65af16 Binary files differ diff --cc doc/man-ja.pdf index e45ade1,544a53d..a683a1c Binary files differ diff --cc doc/manual.dtx index 5902616,a0fa04b..de3b14f --- a/doc/manual.dtx +++ b/doc/manual.dtx @@@ -2139,10 -2347,10 +2347,10 @@@ At the present version, the lowermost b \item[\Param{jatextfont}\,=\{,\}] [\verb+\textfont+ in \TeX] \item[\Param{jascriptfont}\,=\{,\}] [\verb+\scriptfont+ in \TeX] \item[\Param{jascriptscriptfont}\,=\{,\}] [\verb+\scriptscriptfont+ in \TeX] - \item[\Param{yjabaselineshift}\,=$^\ast$]\ + \item[\Param{yjabaselineshift}\,=$^\ast$]\ \item[\Param{yalbaselineshift}\,=$^\ast$] [\verb+\ybaselineshift+] -\item[\Param{jaxspmode}\,=\{,\}] [\verb+\inhibitxspcode+] +\item[\Param{jaxspmode}\,=\{,\}] Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is . The followings are allowed for : diff --cc src/luatexja/jfmglue.lua index 022e6aa,8aec0fd..5163c91 --- a/src/luatexja/jfmglue.lua +++ b/src/luatexja/jfmglue.lua @@@ -246,105 -245,6 +246,106 @@@ local function calc_np_pbox( check_next_ickern() end +local calc_np_auxtable = { + [id_glyph] = function() + Np.first = lp + if lp.font == has_attr(lp, attr_curjfnt) then + Np.id = id_jglyph + else + Np.id = id_glyph + end + Np.first = lp; Np.nuc = lp; set_attr_icflag_processed(lp) + lp = node_next(lp); check_next_ickern(); return true + end, + [id_hlist] = function() + Np.first = lp; Np.last = lp; Np.nuc = lp; + set_attr_icflag_processed(lp) + if lp.shift~=0 then + Np.id = id_box_like + else + Np.id = id_hlist + end + lp = node_next(lp); return true + end, + [id_vlist] = function() + Np.first = lp; Np.nuc = lp; Np.last = lp; + Np.id = id_box_like; set_attr_icflag_processed(lp); + lp = node_next(lp); return true + end, + [id_rule] = function() + Np.first = lp; Np.nuc = lp; Np.last = lp; + Np.id = id_box_like; set_attr_icflag_processed(lp); + lp = node_next(lp); return true + end, + [id_ins] = function() + set_attr_icflag_processed(lp); lp = node_next(lp) + return false + end, + [id_mark] = function() + set_attr_icflag_processed(lp); lp = node_next(lp) + return false + end, + [id_adjust] = function() + set_attr_icflag_processed(lp); lp = node_next(lp) + return false + end, + [id_disc] = function() + Np.first = lp; Np.nuc = lp; set_attr_icflag_processed(lp); + Np.last = lp; Np.id = id_disc; lp = node_next(lp); return true + end, + [id_whatsit] = function() + if lp.subtype==sid_user and lp.user_id==30111 then + local lq = node_next(lp) + head = node_remove(head, lp); node_free(lp); lp = lq; ihb_flag = true + else + set_attr_icflag_processed(lp); lp = node_next(lp) + end + return false + end, + [id_math] = function() + Np.first = lp; Np.nuc = lp; + set_attr_icflag_processed(lp); lp = node_next(lp) + while lp.id~=id_math do + set_attr_icflag_processed(lp); lp = node_next(lp) + end - Np.last = lp; Np.id = id_math; lp = node_next(lp) ++ set_attr_icflag_processed(lp); ++ Np.last = lp; Np.id = id_math; lp = node_next(lp); + return true + end, + [id_glue] = function() + Np.first = lp; Np.nuc = lp; set_attr_icflag_processed(lp); + Np.last = lp; Np.id = id_glue; lp = node_next(lp); return true + end, + [id_kern] = function() + Np.first = lp + if lp.subtype==2 then + set_attr_icflag_processed(lp); lp = node_next(lp) + set_attr_icflag_processed(lp); lp = node_next(lp) + set_attr_icflag_processed(lp); lp = node_next(lp) + set_attr_icflag_processed(lp); Np.nuc = lp + if lp.font == has_attr(lp, attr_curjfnt) then + Np.id = id_jglyph + else + Np.id = id_glyph + end + lp = node_next(lp); check_next_ickern(); + else + Np.id = id_kern; set_attr_icflag_processed(lp); + Np.last = lp; lp = node_next(lp) + end + return true + end, + [id_penalty] = function() + Bp[#Bp+1] = lp; set_attr_icflag_processed(lp); + lp = node_next(lp); return false + end, + [13] = function() + Np.first = lp; Np.nuc = lp; Np.last = lp; + Np.id = id_box_like; set_attr_icflag_processed(lp); + lp = node_next(lp); return true + end, +} + local function calc_np() -- We assume lp = node_next(Np.last) local lpi, lpa, Nr @@@ -877,7 -815,7 +878,7 @@@ local function init_var( last=node.tail(head) else -- the current list is the contents of a hbox: -- -- insert a sentinel ++ -- insert a sentinelEG last=node.tail(head); local g = node_new(id_kern) node_insert_after(head, last, g); last = g end