-\ifnum\@ptsize=1
- \mag 1095 % formerly 1100
- \def\inv@mag{0.913242}
-\fi
-\ifnum\@ptsize=2
- \mag 1200
- \def\inv@mag{0.833333}
-\fi
-\ifnum\@ptsize=4
- \mag 1440
- \def\inv@mag{0.694444}
-\fi
-\ifnum\@ptsize=7
- \mag 1728
- \def\inv@mag{0.578704}
-\fi
-\ifnum\@ptsize=10
- \mag 2000
- \def\inv@mag{0.5}
-\fi
-\ifnum\@ptsize=11
- \mag 2074
- \def\inv@mag{0.48216}
-\fi
-\ifnum\@ptsize=15
- \mag 2488
- \def\inv@mag{0.401929}
-\fi
-\ifnum\@ptsize=20
- \mag 2986
- \def\inv@mag{0.334896}
-\fi
-\ifnum\@ptsize=26
- \mag 3583
- \def\inv@mag{0.279096}
-\fi
-\ifnum\@ptsize=33
- \mag 4300
- \def\inv@mag{0.232558}
-\fi
-\ifnum\@ptsize=1200
- \mag 923
- \def\inv@mag{1.0834236}
-\fi
-\ifnum\@ptsize=1400
- \mag 1077
- \def\inv@mag{0.928505}
-\fi
-\mag 977
-\def\inv@mag{1.02354}
-\setlength\paperwidth{\inv@mag\paperwidth}%
-\setlength\paperheight{\inv@mag\paperheight}%
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
+\newcommand{\@ptsize}{0}
+\ifdim\jsc@mpt=1.0954\p@ \renewcommand{\@ptsize}{1}\else
+\ifdim\jsc@mpt=1.2\p@ \renewcommand{\@ptsize}{2}\else
+\renewcommand{\@ptsize}{-20}\fi\fi
+\if@ltjs@mag@xreal
+\ifdim\jsc@mpt=\p@\else
+ \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+ \expandafter\let\csname TU/lmr/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{
+ local getdimen, mpt=tex.getdimen, tex.getdimen('jsc@mpt')/65536
+ local t = lua.get_functions_table()
+ t[\the\ltjs@@magnify@font@calc] = function()
+ tex.sprint(-2,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(-2, (s:match('%.0$')) and s:sub(1,-3) or s )
+ end
+ }
+ \endgroup
+ \def\ltjs@magnify@external@font#1 at#2 at#3\@nil{%
+ \def\@tempa{#1}\def\@tempb{#2}%
+ \ifx\@tempb\@empty
+ \edef\@tempb{ scaled\directlua{%
+ tex.sprint(-2,math.floor(0.5+\jsc@magscale*1000))
+ }}%
+ \else
+ \dimen@\@tempb\relax
+ \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{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
+\def\jsc@smallskip{\vspace\jsc@smallskipamount}
+\newskip\jsc@smallskipamount
+\jsc@smallskipamount=3\jsc@mpt plus 1\jsc@mpt minus 1\jsc@mpt