From f70b06da25c665c72900ba23f10ca1bc8dbadd79 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 24 Mar 2014 20:42:07 +0000 Subject: luatexja (24mar14) git-svn-id: svn://tug.org/texlive/trunk@33277 c570f23f-e606-0410-a88d-b1316a301751 --- .../luatex/luatexja/addons/luatexja-fontspec.sty | 7 ++++--- .../tex/luatex/luatexja/addons/luatexja-preset.sty | 2 +- Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua | 13 +++++++------ .../texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua | 3 ++- .../texmf-dist/tex/luatex/luatexja/ltj-jfont.lua | 4 ++-- .../tex/luatex/luatexja/ltj-setwidth.lua | 9 ++------- .../texmf-dist/tex/luatex/luatexja/ltjsarticle.cls | 22 +++++++++++++++++++++- Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls | 22 +++++++++++++++++++++- .../texmf-dist/tex/luatex/luatexja/ltjskiyou.cls | 22 +++++++++++++++++++++- Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls | 22 +++++++++++++++++++++- Master/texmf-dist/tex/luatex/luatexja/luatexja.lua | 15 ++++++++++++++- .../tex/luatex/luatexja/patches/lltjdefs.sty | 2 +- .../tex/luatex/luatexja/patches/lltjfont.sty | 14 ++++++++------ 13 files changed, 125 insertions(+), 32 deletions(-) (limited to 'Master/texmf-dist/tex/luatex') diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty index 597e53303ff..9fa1ec4867e 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-fontspec.sty @@ -187,9 +187,10 @@ \ifin@\edef\k@family{#1}\else% \directlua{luatexja.jfont.is_Nffam(\tmp@enc, \tmp@item)}% \ifin@\@notffamtrue\else% - \def\@temp##1+{\lowercase{\def\@@temp{##1#1.fd}}}\expandafter\@temp\f@encoding+% - \message{(I search kanjifont definition file: \@@temp)}% - \IfFileExists{\@@temp#1.fd}{\@tempswztrue}{\@tempswzfalse}% + % filename of font definition file is always lowercase + \edef\@temp{\lowercase{\noexpand\IfFileExists{\f@encoding#1.fd}}}% + \message{(I search font definition file)}% + \@temp{\@tempswztrue}{\@tempswzfalse}% \if@tempswz \directlua{luatexja.jfont.add_ffam_list(\tmp@enc, \tmp@item)}% \edef\f@family{#1}% diff --git a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty index 7bf54a2081e..6f8ad23509a 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/addons/luatexja-preset.sty @@ -140,7 +140,7 @@ A-OTF-RyuminPr6N-Light.otf , A-OTF-FutoMinA101Pr6N-Bold.otf , % mc/m, mc/bx A-OTF-GothicBBBPr6N-Medium.otf , A-OTF-FutoGoB101Pr6N-Bold.otf , % gt/m, gt/bx (multiweight)) A-OTF-GothicBBBPr6N-Medium.otf , A-OTF-MidashiGoPr6N-MB31.otf , % gt/m (uni), gt/eb - A-OTF-Jun101Pr6N-Light.otf % mg/m + A-OTF-ShinMGoPr6N-Light.otf % mg/m } } diff --git a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua index f64080e02ed..d957a2d61c6 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/jfm-ujis.lua @@ -3,19 +3,20 @@ -- based on upnmlminr-h.tfm (a metric in UTF/OTF package used by upTeX). -- JIS X 4051:2004 では,行末の句読点や中点はベタなのでそれに従う --- kanjiskip: 0pt plus .25zw minus 0pt +-- kanjiskip: 0pt plus .25zw minus 0pt -- xkanjiskip: .25zw plus .25zw (or .0833zw) minus .125zw luatexja.jfont.define_jfm { dir = 'yoko', zw = 1.0, zh = 1.0, - kanjiskip = {0.0, 0.05, 0}, + kanjiskip = {0.0, 0.25, 0}, xkanjiskip = {0.25, 0.25, .125}, [0] = { align = 'left', left = 0.0, down = 0.0, width = 1.0, height = 0.88, depth = 0.12, italic=0.0, glue = { + -- [index] = { width, stretch, shrink, [priority, [ratio]] } [1] = { 0.5 , 0.0, 0.5, 0, 1 }, [2] = {0, 0, 0}, [3] = { 0.25, 0.0, 0.25, 1, 1 }, @@ -130,13 +131,13 @@ luatexja.jfont.define_jfm { align = 'left', left = 0.0, down = 0.0, width = 1.0, height = 0.88, depth = 0.12, italic=0.0, glue = { - [0] = {0, 0, 0}, + [0] = { 0.5 , 0.0, 0.5, 0, 1 }, [1] = { 0.5 , 0.0, 0.5, 0, 1 }, [2] = {0, 0, 0}, - [3] = { 0.25, 0.0, 0.25, 1, 1 }, + [3] = { 0.75, 0.0, 0.25, 1, 1 }, [4] = {0, 0, 0}, [6] = {0, 0, 0}, - [7] = {0, 0, 0}, + [7] = { 0.5 , 0.0, 0.5, 0, 1 }, [8] = {0, 0, 0}, [9] = {0, 0, 0}, }, @@ -243,4 +244,4 @@ luatexja.jfont.define_jfm { } }, -} \ No newline at end of file +} diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua index 3678027dafc..99fcd66069f 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua @@ -420,7 +420,8 @@ local calc_np = calc_np -- We think that "Np is a Japanese character" if Np.met~=nil, -- "Np is an alphabetic character" if Np.pre~=nil, -- "Np is not a character" otherwise. -local after_hlist, after_alchar, extract_np +after_hlist = nil -- global +local after_alchar, extract_np do local PRE = luatexja.stack_table_index.PRE local POST = luatexja.stack_table_index.POST diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua index c3ffb6a57e4..45bf490b1c5 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua @@ -383,7 +383,7 @@ function set_alt_font(b,e,ind,bfnt) -- ind: 新フォント, bfnt: 基底フォント if b>e then b, e = e, b end if b*e<=0 then - ltjb.package_eror('luatexja', + ltjb.package_error('luatexja', 'bad character range ([' .. b .. ',' .. e .. ']). ' .. 'I take the intersection with [0x80, 0x10ffff].') b, e = math.max(0x80,b),math.min(ucs_out-1,e) @@ -443,7 +443,7 @@ function set_alt_font_latex(b,e,ind,bbase) -- ind: Alt font の enc/fam/ser/shape, bbase: 基底フォントの enc/fam/ser/shape if b>e then b, e = e, b end if b*e<=0 then - ltjb.package_eror('luatexja', + ltjb.package_error('luatexja', 'bad character range ([' .. b .. ',' .. e .. ']). ' .. 'I take the intersection with [0x80, 0x10ffff].') b, e = math.max(0x80,b),math.min(ucs_out-1,e) diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua index 30389e21212..7fd68043adf 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua @@ -81,7 +81,7 @@ local function capsule_glyph(p, met, class) local q head, q = node_remove(head, p) setfield(p, 'yoffset', -fshift.down); setfield(p, 'next', nil) - setfield(p, 'xoffset', getfield(p, 'xoffset') + char_data.align*(fwidth-pwidth)) + setfield(p, 'xoffset', getfield(p, 'xoffset') + char_data.align*(fwidth-pwidth) - fshift.left) local box = node_new(id_hlist) setfield(box, 'width', fwidth) setfield(box, 'height', fheight) @@ -114,12 +114,7 @@ local function capsule_glyph_math(p, met, class) local y_shift, ca = - getfield(p, 'yoffset') + (has_attr(p,attr_ykblshift) or 0), char_data.align setfield(p, 'yoffset', -fshift.down) - if ca~='left' then - setfield(p, 'xoffset', getfield(p, 'xoffset') - fshift.left - + (((ca=='right') and fwidth - pwidth) or round((fwidth - pwidth)*0.5))) - else - setfield(p, 'xoffset', getfield(p, 'xoffset') - fshift.left) - end + setfield(p, 'xoffset', getfield(p, 'xoffset') + char_data.align*(fwidth-pwidth) - fshift.left) local box = node_new(id_hlist); setfield(box, 'width', fwidth) setfield(box, 'height', fheight) diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls index a543e713dc4..518f152b870 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls +++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsarticle.cls @@ -38,7 +38,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjsarticle} - [2014/01/13 ] + [2014/02/07 ] \RequirePackage{luatexja} \newif\if@restonecol \newif\if@titlepage @@ -113,6 +113,10 @@ \DeclareOption{43pt}{\renewcommand{\@ptsize}{33}} \DeclareOption{12Q}{\renewcommand{\@ptsize}{1200}} \DeclareOption{14Q}{\renewcommand{\@ptsize}{1400}} +\DeclareOption{10ptj}{\renewcommand{\@ptsize}{1001}} +\DeclareOption{10.5ptj}{\renewcommand{\@ptsize}{1051}} +\DeclareOption{11ptj}{\renewcommand{\@ptsize}{1101}} +\DeclareOption{12ptj}{\renewcommand{\@ptsize}{1201}} \hour\time \divide\hour by 60\relax \@tempcnta\hour \multiply\@tempcnta 60\relax \minute\time \advance\minute-\@tempcnta @@ -273,6 +277,22 @@ \mag 1077 \def\inv@mag{0.928505} \fi +\ifnum\@ptsize=1001 + \mag 1085 + \def\inv@mag{0.921659} +\fi +\ifnum\@ptsize=1051 + \mag 1139 + \def\inv@mag{0.877963} +\fi +\ifnum\@ptsize=1101 + \mag 1194 + \def\inv@mag{0.837521} +\fi +\ifnum\@ptsize=1201 + \mag 1302 + \def\inv@mag{0.768049} +\fi \setlength\paperwidth{\inv@mag\paperwidth}% \setlength\paperheight{\inv@mag\paperheight}% \setlength{\@tempdima}{\paperwidth} diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls index 9721f05290c..9910bae1108 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls +++ b/Master/texmf-dist/tex/luatex/luatexja/ltjsbook.cls @@ -38,7 +38,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjsbook} - [2014/01/13 ] + [2014/02/07 ] \RequirePackage{luatexja} \newif\if@restonecol \newif\if@titlepage @@ -115,6 +115,10 @@ \DeclareOption{43pt}{\renewcommand{\@ptsize}{33}} \DeclareOption{12Q}{\renewcommand{\@ptsize}{1200}} \DeclareOption{14Q}{\renewcommand{\@ptsize}{1400}} +\DeclareOption{10ptj}{\renewcommand{\@ptsize}{1001}} +\DeclareOption{10.5ptj}{\renewcommand{\@ptsize}{1051}} +\DeclareOption{11ptj}{\renewcommand{\@ptsize}{1101}} +\DeclareOption{12ptj}{\renewcommand{\@ptsize}{1201}} \hour\time \divide\hour by 60\relax \@tempcnta\hour \multiply\@tempcnta 60\relax \minute\time \advance\minute-\@tempcnta @@ -280,6 +284,22 @@ \mag 1077 \def\inv@mag{0.928505} \fi +\ifnum\@ptsize=1001 + \mag 1085 + \def\inv@mag{0.921659} +\fi +\ifnum\@ptsize=1051 + \mag 1139 + \def\inv@mag{0.877963} +\fi +\ifnum\@ptsize=1101 + \mag 1194 + \def\inv@mag{0.837521} +\fi +\ifnum\@ptsize=1201 + \mag 1302 + \def\inv@mag{0.768049} +\fi \setlength\paperwidth{\inv@mag\paperwidth}% \setlength\paperheight{\inv@mag\paperheight}% \setlength{\@tempdima}{\paperwidth} diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls index 7de97f1c800..c33b1415276 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls +++ b/Master/texmf-dist/tex/luatex/luatexja/ltjskiyou.cls @@ -38,7 +38,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjskiyou} - [2014/01/13 ] + [2014/02/07 ] \RequirePackage{luatexja} \newif\if@restonecol \newif\if@titlepage @@ -113,6 +113,10 @@ \DeclareOption{43pt}{\renewcommand{\@ptsize}{33}} \DeclareOption{12Q}{\renewcommand{\@ptsize}{1200}} \DeclareOption{14Q}{\renewcommand{\@ptsize}{1400}} +\DeclareOption{10ptj}{\renewcommand{\@ptsize}{1001}} +\DeclareOption{10.5ptj}{\renewcommand{\@ptsize}{1051}} +\DeclareOption{11ptj}{\renewcommand{\@ptsize}{1101}} +\DeclareOption{12ptj}{\renewcommand{\@ptsize}{1201}} \hour\time \divide\hour by 60\relax \@tempcnta\hour \multiply\@tempcnta 60\relax \minute\time \advance\minute-\@tempcnta @@ -273,6 +277,22 @@ \mag 1077 \def\inv@mag{0.928505} \fi +\ifnum\@ptsize=1001 + \mag 1085 + \def\inv@mag{0.921659} +\fi +\ifnum\@ptsize=1051 + \mag 1139 + \def\inv@mag{0.877963} +\fi +\ifnum\@ptsize=1101 + \mag 1194 + \def\inv@mag{0.837521} +\fi +\ifnum\@ptsize=1201 + \mag 1302 + \def\inv@mag{0.768049} +\fi \mag 977 \def\inv@mag{1.02354} \setlength\paperwidth{\inv@mag\paperwidth}% diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls b/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls index 829dc6e13ef..251d916f69c 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls +++ b/Master/texmf-dist/tex/luatex/luatexja/ltjspf.cls @@ -38,7 +38,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjspf} - [2014/01/13 ] + [2014/02/07 ] \RequirePackage{luatexja} \newif\if@restonecol \newif\if@titlepage @@ -113,6 +113,10 @@ \DeclareOption{43pt}{\renewcommand{\@ptsize}{33}} \DeclareOption{12Q}{\renewcommand{\@ptsize}{1200}} \DeclareOption{14Q}{\renewcommand{\@ptsize}{1400}} +\DeclareOption{10ptj}{\renewcommand{\@ptsize}{1001}} +\DeclareOption{10.5ptj}{\renewcommand{\@ptsize}{1051}} +\DeclareOption{11ptj}{\renewcommand{\@ptsize}{1101}} +\DeclareOption{12ptj}{\renewcommand{\@ptsize}{1201}} \hour\time \divide\hour by 60\relax \@tempcnta\hour \multiply\@tempcnta 60\relax \minute\time \advance\minute-\@tempcnta @@ -273,6 +277,22 @@ \mag 1077 \def\inv@mag{0.928505} \fi +\ifnum\@ptsize=1001 + \mag 1085 + \def\inv@mag{0.921659} +\fi +\ifnum\@ptsize=1051 + \mag 1139 + \def\inv@mag{0.877963} +\fi +\ifnum\@ptsize=1101 + \mag 1194 + \def\inv@mag{0.837521} +\fi +\ifnum\@ptsize=1201 + \mag 1302 + \def\inv@mag{0.768049} +\fi \setlength\paperwidth{\inv@mag\paperwidth}% \setlength\paperheight{\inv@mag\paperheight}% \setlength{\@tempdima}{\paperwidth} diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua index cfa499ae0e9..0e9f64ee310 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua @@ -43,6 +43,8 @@ stack_table_index.PRE = 0x200000 -- characterごと stack_table_index.POST = 0x400000 -- characterごと stack_table_index.KCAT = 0x600000 -- characterごと stack_table_index.XSP = 0x800000 -- characterごと +stack_table_index.RIPRE = 0xA00000 -- characterごと,ruby pre +stack_table_index.RIPOST = 0xC00000 -- characterごと,ruby post stack_table_index.JWP = 0 -- これだけ stack_table_index.KSK = 1 -- これだけ stack_table_index.XSK = 2 -- これだけ @@ -275,12 +277,20 @@ do local to_direct = (Dnode ~= node) and Dnode.todirect or nullfunc -- mode = true iff main_process is called from pre_linebreak_filter local function main_process(head, mode, dir) + tex.setattribute('global', attr_icflag, 0) local p = to_direct(head) p = ltjj.main(p,mode) if p then p = ltjw.set_ja_width(p, dir) end return to_node(p) end - + + local function adjust_icflag(h) + -- kern from luaotfload will have icflag = 1 + -- (same as italic correction) + tex.setattribute('global', attr_icflag, 1) + return h + end + -- callbacks luatexbase.add_to_callback( @@ -297,6 +307,9 @@ do end,'ltj.hpack_filter', luatexbase.priority_in_callback('hpack_filter', 'luaotfload.node_processor') + 1) + luatexbase.add_to_callback('pre_linebreak_filter', adjust_icflag, 'adjust_icflag', 1) + luatexbase.add_to_callback('hpack_filter', adjust_icflag, 'adjust_icflag', 1) + end -- define_font diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty index 3fbc35372c9..9d04afe9641 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty @@ -31,7 +31,7 @@ \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} %fontencoding{JT3}\selectfont -\fontencoding{JY3}\selectfont\adjustbaseline +\kanjiencoding{JY3}\selectfont\adjustbaseline \DeclareTextFontCommand{\textmc}{\mcfamily} \DeclareTextFontCommand{\textgt}{\gtfamily} diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty index 6c9529f0eaa..5157a1e9a59 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty @@ -429,9 +429,10 @@ \ifin@\edef\k@family{#1}\else% \directlua{luatexja.jfont.is_Nkfam(\tmp@enc, \tmp@item)}% \ifin@\@notkfamtrue\else% - \def\@temp##1+{\lowercase{\def\@@temp{##1#1.fd}}}\expandafter\@temp\k@encoding+% - \message{(I search kanjifont definition file: \@@temp)}% - \IfFileExists{\@@temp#1.fd}{\@tempswztrue}{\@tempswzfalse}% + % filename of font definition file is always lowercase + \edef\@temp{\lowercase{\noexpand\IfFileExists{\k@encoding#1.fd}}}% + \message{(I search kanjifont definition file)}% + \@temp{\@tempswztrue}{\@tempswzfalse}% \if@tempswz \directlua{luatexja.jfont.add_kfam_list(\tmp@enc, \tmp@item)}% \edef\k@family{#1}% @@ -450,9 +451,10 @@ \ifin@\edef\f@family{#1}\else \directlua{luatexja.jfont.is_Nffam(\tmp@enc, \tmp@item)}% \ifin@\@notffamtrue\else - \def\@temp##1+{\lowercase{\def\@@temp{##1#1.fd}}}\expandafter\@temp\f@encoding+% - \message{(I search font definition file: \@@temp)}% - \IfFileExists{\@@temp#1.fd}{\@tempswztrue}{\@tempswzfalse}% + % filename of font definition file is always lowercase + \edef\@temp{\lowercase{\noexpand\IfFileExists{\f@encoding#1.fd}}}% + \message{(I search font definition file)}% + \@temp{\@tempswztrue}{\@tempswzfalse}% \if@tempswz \directlua{luatexja.jfont.add_ffam_list(\tmp@enc, \tmp@item)}% \edef\f@family{#1}% -- cgit v1.2.3