OSDN Git Service

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