blob: 7827d76c65a4e8ac109545844bda8679d6e8532b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_codedecl \typosize {Font managing macros from OPmac <2020-03-27>} % loaded in format
\_protected\_def \_typosize [#1/#2]{%
\_textfontsize{#1}\_mathfontsize{#1}\_setbaselineskip{#2}%
\_setmainvalues \_ignorespaces
}
\_protected\_def \_textfontsize #1{\_if$#1$\_else \_setfontsize{at#1\_ptunit}\_fi}
\_def \_mathfontsize #1{\_if$#1$\_else
\_tmpdim=#1\_ptunit
\_edef\_sizemtext{\_ea\_ignorept \_the\_tmpdim \_ptmunit}%
\_tmpdim=0.7\_tmpdim
\_edef\_sizemscript{\_ea\_ignorept \_the\_tmpdim \_ptmunit}%
\_tmpdim=#1\_ptunit \_tmpdim=0.5\_tmpdim
\_edef\_sizemsscript{\_ea\_ignorept \_the\_tmpdim \_ptmunit}%
\_fi
}
\_protected\_def \_typoscale [#1/#2]{%
\_ifx$#1$\_def\_tmp{[/}\_else
\_settmpdim{#1}\_optsize
\_edef\_tmp{[\_ea\_ignorept\_the\_tmpdim/}\_fi
\_ifx$#2$\_edef\_tmp{\_tmp]}\_else
\_settmpdim{#2}\_baselineskip
\_edef\_tmp{\_tmp \_ea\_ignorept\_the\_tmpdim]}\fi
\_ea\_typosize\_tmp
}
\def\_settmpdim#1#2{%
\_tmpdim=#1pt \_divide\_tmpdim by1000
\_tmpdim=\_ea\_ignorept \_the#2\_tmpdim
}
\_def \_setbaselineskip #1{\_if$#1$\_else
\_tmpdim=#1\_ptunit
\_baselineskip=\_tmpdim \_relax
\_bigskipamount=\_tmpdim plus.33333\_tmpdim minus.33333\_tmpdim
\_medskipamount=.5\_tmpdim plus.16666\_tmpdim minus.16666\_tmpdim
\_smallskipamount=.25\_tmpdim plus.08333\_tmpdim minus.08333\_tmpdim
\_normalbaselineskip=\_tmpdim
\_jot=.25\_tmpdim
\_maxdepth=.33333\_tmpdim
\_setbox\_strutbox=\_hbox{\_vrule height.709\_tmpdim depth.291\_tmpdim width0pt}%
\_fi
}
\_def\_setmainvalues {%
\_mainbaselineskip=\_baselineskip
\_mainfosize=\_optsize
\_topskip=\_mainfosize \_splittopskip=\_topskip % added 2020-03-27
\_bf \_it \_bi \_rm \_normalmath % load fonts if \typosize is running firstly
\_let \_setmainvalues =\_setmainvaluesL
}
\_def\_setmainvaluesL {\_rm \_everymath={\_normalmath}\_everydisplay={\_normalmath}}
\_def\_scalemain {%
\_ifdim \_mainfosize=0pt
\_mainfosize=10pt \_mainbaselineskip=12pt
\_let \_setmainvalues=\_setmainvaluesL
\fi
\_optsize=\_mainfosize \_baselineskip=\_mainbaselineskip
}
\_newskip \_mainbaselineskip \_mainbaselineskip=0pt \_relax
\_newdimen \_mainfosize \_mainfosize=0pt
\_protected\_def\_thefontsize[#1]{\_if$#1$\_else
\_tmpdim=#1\_ptunit
\_newcurrfontsize{at\_tmpdim}%
\_fi
\_ignorespaces
}
\_protected\_def\_thefontscale[#1]{\_ifx$#1$\_else
\_tmpdim=#1pt \_divide\_tmpdim by1000
\_tmpdim=\_ea\_ea\_ea\_ignorept \_pdffontsize\_font \_tmpdim
\_newcurrfontsize{at\_tmpdim}%
\_fi
\_ignorespaces
}
\_protected\_def\_em {%
\_ea\_ifx \_the\_font \_tenit \_additcorr \_rm \_else
\_ea\_ifx \_the\_font \_tenbf \_bi\_aftergroup\_afteritcorr\_else
\_ea\_ifx \_the\_font \_tenbi \_additcorr \_bf \_else
\_it \_aftergroup\_afteritcorr\_fi\_fi\_fi
}
\_def\_additcorr{\_ifdim\_lastskip>0pt
\_skip0=\_lastskip \_unskip\_italcorr \_hskip\_skip0 \_else\_italcorr \_fi}
\_def\_afteritcorr{\_futurelet\_next\_afteritcorrA}
\_def\_afteritcorrA{\_ifx\_next.\_else\_ifx\_next,\_else \_italcorr \_fi\_fi}
\_let\_italcorr=\/
\_protected\_def \_boldify {%
\_let \_setmainvalues=\_setmainvaluesL
\_let\it =\_bi \_let\rm =\_bf \_let\_normalmath=\_boldmath
\_let\_it=\_bi \_let\_rm=\_bf \_rm
}
\_public \typosize \typoscale \thefontsize \thefontscale \em \boldify
\scalemain \mainfosize \mainbaselineskip ;
\_endcode % -------------------------------------
|