X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltjsbook.cls;h=70042be7a4da03582d99920997df708d0bef2ea3;hb=ab23049deb6fb90ca689fdf4924b3783f08f8f2e;hp=d1d24de0ac56d2938e5867741eea358adb41c41b;hpb=79eef549c0ec757d2cfa020ad43f21474ebd4fea;p=luatex-ja%2Fluatexja.git diff --git a/src/ltjsbook.cls b/src/ltjsbook.cls index d1d24de..70042be 100644 --- a/src/ltjsbook.cls +++ b/src/ltjsbook.cls @@ -38,7 +38,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltjsbook} - [2016/03/27 ltjsclasses ] + [2016/03/31 ltjsclasses ] \RequirePackage{luatexja} \newif\if@restonecol \newif\if@titlepage @@ -120,7 +120,7 @@ \DeclareOption{11ptj}{\def\ltjs@magscale{1.194}} \DeclareOption{12ptj}{\def\ltjs@magscale{1.302}} \newif\if@ltjs@mag@xreal -\@ltjs@mag@xrealfalse +\@ltjs@mag@xrealtrue \DeclareOption{xreal}{\@ltjs@mag@xrealtrue} \DeclareOption{noxreal}{\@ltjs@mag@xrealfalse} \DeclareOption{real}{\@ltjs@mag@xrealfalse} @@ -236,15 +236,21 @@ \ifdim\ltjs@mpt=1.0954\p@ \renewcommand{\@ptsize}{1}\else \ifdim\ltjs@mpt=1.2\p@ \renewcommand{\@ptsize}{2}\else \renewcommand{\@ptsize}{-20}\fi\fi -\if@ltjs@mag@xreal - \RequirePackage{type1cm} +\if@ltjs@mag@xreal\RequirePackage{type1cm} +\ifdim\ltjs@mpt=\p@\else \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \newluafunction\ltjs@@magnify@font@calc \begingroup\catcode`\%=12\relax \directlua{ - function luatexja.round_pt(a) - local s = luatexja.print_scaled(math.floor(0.5+a*65536)) - return (s:match('%.0$')) and s:sub(1,-3) or s + local getdimen, mpt=tex.getdimen, tex.getdimen('ltjs@mpt')/65536 + local t = lua.get_functions_table() + t[\the\ltjs@@magnify@font@calc] = function() + tex.sprint(math.floor(0.5+mpt*getdimen('dimen@'))) + end + function luatexja.ltjs_unmagnify_fsize(a) + local s = luatexja.print_scaled(math.floor(0.5+a/mpt*65536)) + tex.sprint( (s:match('%.0$')) and s:sub(1,-3) or s ) end } \endgroup @@ -256,23 +262,20 @@ }}% \else \dimen@\@tempb\relax - \edef\@tempb{ at\directlua{% - tex.sprint(math.floor(0.5+\ltjs@magscale*tex.getdimen('dimen@'))) - }sp}% + \edef\@tempb{ at\luafunction\ltjs@@magnify@font@calc sp}% \fi \edef\@tempa{\def\noexpand\external@font{\@tempa\@tempb}} } \let\ltjs@orig@get@external@font=\get@external@font \def\get@external@font{% - \edef\f@size{\directlua{% - tex.sprint(luatexja.round_pt(\f@size/\ltjs@magscale))}}% + \edef\f@size{\directlua{luatexja.ltjs_unmagnify_fsize(\f@size)}}% \ltjs@orig@get@external@font \begingroup \edef\@tempa{\external@font\space at\space at}% \expandafter\ltjs@magnify@external@font\@tempa\@nil \expandafter\endgroup\@tempa } -\fi +\fi\fi \setlength{\@tempdima}{\paperwidth} \setlength{\@tempdimb}{\paperheight} \iftombow