OSDN Git Service

fix #37610
[luatex-ja/luatexja.git] / test / test22-ltjs-mag.tex
1 \batchmode\directlua{
2   luatexbase.module_warning=function()end
3 }
4 \ifdefined\fsize\else\def\fsize{10pt}\fi
5 \edef\head{\noexpand\documentclass[\fsize,xreal]{ltjsarticle}}
6 \head\usepackage[OT1]{fontenc}\def\rmdefault{cmr}
7 \usepackage{type1cm}\normalfont\noralsize
8 \makeatletter
9 \let\ltj@selectfont@patch\relax
10 \newcount\cI\newcount\cF\newdimen\szd
11 \gdef\S@#1at#2at#3\@nil{%
12    \def\@tempa{#2}
13    \ifx\@tempa\@empty\else
14       \@tempdima=\dimexpr#2-\@tempdimb\relax
15       \ifdim\@tempdima<\z@ \@tempdima=\@tempdima\fi
16       \ifdim\@tempdima>\szd \global\szd=\@tempdima\fi
17    \fi
18 }
19 \def\S#1{%
20   \setbox0\hbox{\fontsize{#1\jsc@mpt}{10}\selectfont
21     \@tempdimb=#1\jsc@mpt
22     \edef\@tempa{\scantextokens\expandafter{\fontname\font}\space at\space at}%
23     \expandafter\S@\@tempa\@nil
24   }%
25 }
26 \def\js@setfontsize#1#2#3{%
27   \edef\Fsize{\the\dimexpr\directlua{tex.sprint(#2*\js@magscale)}pt}%
28   \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
29 \def\R#1{{%
30   #1\message{^^J\string#1: \fontname\font\space (ideal: \Fsize)}%
31 }}
32
33 \def\T@#1#2#3{\global\count@=}
34 \def\T#1#2{%
35   \setbox0\hbox{\fontsize{#1\jsc@mpt}{10}\selectfont
36     \expandafter\T@\romannumeral-`0\fontname\font
37   }%
38   \ifnum\count@=#2\else
39     \typeout{@FAIL: #1\string\jsc@mpt\space selects cmr\the\count@
40     \space(should be cmr#2)}\szd=1pt%
41   \fi
42 }
43 \begin{document}\errorstopmode
44 \typeout{^^J@part 1: optical size for cmr}
45 \szd=0pt
46 \T{5.99999}{5}
47 \T66
48 \T{6.99999}{6}
49 \T77
50 \T{7.99999}{7}
51 \T88
52 \T{8.99999}{8}
53 \T99
54 \T{9.99999}{9}
55 \T{10}{10}
56 \T{11.99999}{10}
57 \T{12}{12}
58 \T{16.99999}{12}
59 \T{17}{17}
60 \ifdim\szd=0pt\typeout{--> @PASSED}\fi
61
62 \typeout{^^J@part 2: size difference}
63 \cI=1 \loop\ifnum\cI<50 {%
64   \cF=0 \loop\ifnum\cF<10
65     \edef\@tempa{\the\cI.\the\cF}\S{\@tempa}
66     \edef\@tempa{\the\cI.\the\cF5}\S{\@tempa}
67     \advance\cF1
68   \repeat
69 }\advance\cI1 \repeat
70 \directlua{print('--> @max difference = ' .. tex.getdimen('szd') .. 'sp')}
71 \end{document}