From 8e5c104f9dd76f86ca2ec12abcf854694bb5ed1d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 22 Sep 2015 22:28:45 +0000 Subject: luatexja (22sep15) git-svn-id: svn://tug.org/texlive/trunk@38440 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/luatex/luatexja/lltjext.sty | 9 +-- .../texmf-dist/tex/luatex/luatexja/ltj-jfont.lua | 7 ++- .../texmf-dist/tex/luatex/luatexja/ltj-latex.sty | 2 +- .../texmf-dist/tex/luatex/luatexja/ltj-plain.sty | 2 +- Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua | 53 ++++++++++-------- Master/texmf-dist/tex/luatex/luatexja/luatexja.sty | 2 +- .../tex/luatex/luatexja/patches/lltjp-listings.sty | 65 ++++++++++++++++------ 7 files changed, 91 insertions(+), 49 deletions(-) (limited to 'Master/texmf-dist/tex/luatex/luatexja') diff --git a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty index 572863c70ff..58451214e33 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/lltjext.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjext}[2014/10/15 v1.2-ltj-3 Macros for vertical writing] +\ProvidesPackage{lltjext}[2015/09/18 v1.2-ltj-4 Macros for vertical writing] \RequirePackage{luatexja} \let\ltj@lltjext@orig@tabular=\tabular @@ -21,7 +21,8 @@ \def\X@tabular{\@ifnextchar<%> {\p@tabular}{\p@tabular}} \def\@stabular<#1>#2{\def\@halignto{to#2}\p@tabular<#1>} -\def\p@tabular<#1>{\leavevmode \hbox \bgroup $\let\@acol\@tabacol +\def\p@tabular<#1>{\leavevmode \hbox \bgroup + \count@=\ltjgetparameter{direction}$\let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr\p@tabarray<#1>} \def\p@tabarray<#1>{\m@th\@ifnextchar[%] @@ -45,7 +46,7 @@ \fi\fi\fi\fi \fi \ifx\box@dir\relax - \ifcase\ltjgetparameter{direction} + \ifcase\count@ \or \let\box@dir\dtou\@tempcnta=\dstrutbox% dtou \or\or\let\box@dir\tate\@tempcnta=\tstrutbox% tate \or \let\box@dir\yoko\@tempcnta=\strutbox% yoko @@ -757,4 +758,4 @@ } -\endinput \ No newline at end of file +\endinput diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua index 62b0e329c3a..394e83b1148 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.jfont', - date = '2015/05/03', + date = '2015/09/19', description = 'Loader for Japanese fonts', }) module('luatexja.jfont', package.seeall) @@ -678,7 +678,10 @@ do local sort = table.sort local function add_fl_table(dest, glyphs, unitable, asc_des, units) - local tg, glyphmin, glyphmax = glyphs.glyphs, glyphs.glyphmin or 0, glyphs.glyphmax + local tg, glyphmin, glyphmax = glyphs.glyphs, 0, glyphs.glyphmax + for _,v in pairs(fields(glyphs)) do + if v=='glyphmin' then glyphmin = glyphs.glyphmin; break end + end for i = glyphmin, glyphmax-1 do local gv = tg[i] if gv then diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty index 6b9c643ef7f..eaa55d1fd34 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-latex.sty @@ -12,7 +12,7 @@ \def\luatexjalatexLoaded{\endinput} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ltj-latex}[2015/03/17 LaTeX support of LuaTeX-ja] +\ProvidesPackage{ltj-latex}[2015/09/21 LaTeX support of LuaTeX-ja] % cleanup at end of the document %\let\ltj@@orig@end=\@@end diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty b/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty index ad2c4ad6563..a4f8fad8337 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-plain.sty @@ -14,7 +14,7 @@ \ifltj@in@latex %<*LaTeX> \NeedsTeXFormat{LaTeX2e} \PackageWarning{ltj-plain}{Don't load this package directly; load luatexja.sty instead.} - \ProvidesPackage{ltj-plain}[2015/08/29] + \ProvidesPackage{ltj-plain}[2015/09/21] \fi % %%------------------ diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua index 57686fead2f..da638f5486d 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-ruby.lua @@ -3,7 +3,7 @@ -- luatexbase.provides_module({ name = 'luatexja.ruby', - date = '2015/01/14', + date = '2015/09/18', description = 'Ruby annotation', }) module('luatexja.ruby', package.seeall) @@ -12,7 +12,6 @@ local err, warn, info, log = luatexbase.errwarinf(_NAME) luatexja.load_module('stack'); local ltjs = luatexja.stack local Dnode = node.direct or node - local nullfunc = function(n) return n end local to_node = (Dnode ~= node) and Dnode.tonode or nullfunc local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc @@ -146,29 +145,37 @@ end -- concatenation of boxes: reusing nodes -- ルビ組版が行われている段落/hboxでの設定が使われる. -- ルビ文字を格納しているボックスでの設定ではない! -local function concat(f, b) - if f then - if b then - local h = getlist(f) - setfield(node_tail(h), 'next', getlist(b)) - setfield(f, 'head', nil); node_free(f) - setfield(b, 'head', nil); node_free(b) - return Dnode.hpack(luatexja.jfmglue.main(h,false)) +local concat +do + local node_prev = (Dnode ~= node) and Dnode.getprev or node.prev + function concat(f, b) + if f then + if b then + local h, nh = getlist(f), getlist(b) + if getid(nh)==id_whatsit and getsubtype(nh)==sid_user then + nh=node_next(nh); node_free(node_prev(nh)) + end + setfield(node_tail(h), 'next', nh) + setfield(f, 'head', nil); node_free(f) + setfield(b, 'head', nil); node_free(b) + local g = luatexja.jfmglue.main(h,false) + return Dnode.hpack(g) + else + return f + end + elseif b then + return b else - return f + local h = node_new(id_hlist) + setfield(h, 'subtype', 0) + setfield(h, 'width', 0) + setfield(h, 'height', 0) + setfield(h, 'depth', 0) + setfield(h, 'glue_set', 0) + setfield(h, 'glue_order', 0) + setfield(h, 'head', nil) + return h end - elseif b then - return b - else - local h = node_new(id_hlist) - setfield(h, 'subtype', 0) - setfield(h, 'width', 0) - setfield(h, 'height', 0) - setfield(h, 'depth', 0) - setfield(h, 'glue_set', 0) - setfield(h, 'glue_order', 0) - setfield(h, 'head', nil) - return h end end diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty index 496e28facd3..5e1ff328f6a 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty @@ -34,7 +34,7 @@ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname \csname iftrue\endcsname \NeedsTeXFormat{LaTeX2e} - \ProvidesPackage{luatexja}[2015/08/27 Japanese Typesetting with LuaTeX] + \ProvidesPackage{luatexja}[2015/09/21 Japanese Typesetting with LuaTeX] \fi % \directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty index f2fc58a2335..dfd97ca054d 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-listings.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjp-listings}[2015/01/08 Patch to listings for LuaTeX-ja] +\ProvidesPackage{lltjp-listings}[2015/09/10 Patch to listings for LuaTeX-ja] \RequirePackage{listings,luatexbase-cctb} %%%%%%%%%%%%%%%% Japanese support @@ -252,22 +252,53 @@ % 白線対策 -\def\lst@OutputToken{% - \lst@TrackNewLines \lst@OutputLostSpace - \lst@ifgobbledws - \lst@gobbledwhitespacefalse - \lst@@discretionary +\newif\ifltj@lst@frame@top +\newdimen\ltj@lst@frame@lslimit +\gdef\lst@frameInit{% + \ltj@lst@frame@toptrue + \ifx\lst@framelshape\@empty \let\lst@frameL\@empty \fi + \ifx\lst@framershape\@empty \let\lst@frameR\@empty \fi + \def\lst@framevrule{\vrule\@width\lst@framerulewidth\relax}% + \lst@ifframeround + \lst@frameCalcDimA\z@ \@getcirc\@tempdima + \@tempdimb\@tempdima \divide\@tempdimb\tw@ + \advance\@tempdimb -\@wholewidth + \edef\lst@frametextsep{\the\@tempdimb}% + \edef\lst@framerulewidth{\the\@wholewidth}% + \lst@frameCalcDimA\@ne \@getcirc\@tempdima + \@tempdimb\@tempdima \divide\@tempdimb\tw@ + \advance\@tempdimb -\tw@\@wholewidth + \advance\@tempdimb -\lst@frametextsep + \edef\lst@rulesep{\the\@tempdimb}% \fi - \lst@CheckMerge - {\lst@thestyle{\lst@FontAdjust - \setbox\@tempboxa\lst@hbox - {\lsthk@OutputBox - \lst@lefthss - \expandafter\lst@FillOutputBox\the\lst@token\@empty - \lst@righthss}% - \ht\@tempboxa=0pt\dp\@tempboxa=0pt - \lst@CalcLostSpaceAndOutput}}% - \lst@ResetToken} + \lst@frameMakeBoxV\lst@framebox{\ht\strutbox}{\dp\strutbox}% + %%%% ここから + \@tempdima\z@ + \ifdim\ht\strutbox<\cht\@tempdima=\dimexpr\cht-\ht\strutbox\relax\fi + \ifdim\dp\strutbox<\cdp\advance\@tempdima=\dimexpr\cdp-\dp\strutbox\relax\fi + \ltj@lst@frame@lslimit=-\@tempdima + \def\lst@framelr{% + \ifltj@lst@frame@top\ltj@lst@frame@topfalse\else\lineskiplimit\ltj@lst@frame@lslimit\fi + \copy\lst@framebox}% + %%%% ここまで + \ifx\lst@frametshape\@empty\else + \lst@frameH T\lst@frametshape + \ifvoid\z@\else + \par\lst@parshape + \@tempdima-\baselineskip \advance\@tempdima\ht\z@ + \ifdim\prevdepth<\@cclvi\p@\else + \advance\@tempdima\prevdepth + \fi + \ifdim\@tempdima<\z@ + \vskip\@tempdima\vskip\lineskip + \fi + \noindent\box\z@\par + \lineskiplimit\maxdimen \lineskip\z@ + \fi + \lst@frameSpreadV\lst@framextopmargin + \fi} + + %%%%%%%%%%%%%%%% escape to \LaTeX \lstloadaspects{escape} @@ -329,4 +360,4 @@ \def\lstlistingname{ソースコード} \def\lstlistlistingname{ソースコード目次} % \end{修正事項} -\endinput \ No newline at end of file +\endinput -- cgit v1.2.3