luametatex-rejected.tex /size: 3119 b    last modification: 2024-01-16 10:21
1% language=us runpath=texruns:manuals/luametatex
2
3\environment luametatex-style
4
5\startcomponent luametatex-rejected
6
7\startchapter[reference=rejected,title={Rejected features}]
8
9\startsection[title=Introduction]
10
11I should have started this chapter sooner because some experiments were removed
12without them being documented. This chapter is mostly for myself so that I don't
13revisit rejected features.
14
15\stopsection
16
17\startsection[title=Text]
18
19{\em todo}
20
21\stopsection
22
23\startsection[title=Math]
24
25\startsubsection[title=Fences]
26
27The \tex {mathfencesmode} primitive could be used to force the atom class of the
28fake fences to be the old inner class instead of the new fence class but we
29dropped that: it's now always a fence subtype (class). Unpacking is therefore now
30controlled by a class option and not enforced by the (new in \LUAMETATEX) subtype.
31
32\stopsubsection
33
34\startsubsection[title=Delimiters]
35
36The \tex {mathdelimitersmode} primitive was experimental and dealt with the
37following (potential) problems. Three bits can be set. The first bit prevents an
38unwanted shift when the fence symbol is not scaled (a cambria side effect). The
39second bit forces italic correction between a preceding character ordinal and the
40fenced subformula, while the third bit turns that subformula into an ordinary so
41that the same spacing applies as with unfenced variants.
42
43So, when set to 7 fenced subformulas with unscaled delimiters came out the same
44as unfenced ones. This could be handy for cases where one was forced to use \prm
45{left} and \prm {right} always because of unpredictable content. The full list of
46flags that we had at the time of removal is given in the next table:
47
48\starttabulate[|c|l|]
49\DB value  \BC meaning \NC \NR
50\TB
51\NC \type{"01} \NC don't apply the usual shift \NC \NR
52\NC \type{"02} \NC apply italic correction when possible \NC \NR
53\NC \type{"04} \NC force an ordinary subformula \NC \NR
54\NC \type{"08} \NC no shift when a base character \NC \NR
55\NC \type{"10} \NC only shift when an extensible \NC \NR
56\NC \type{"20} \NC don't error on a missing right  \NC \NR
57\LL
58\stoptabulate
59
60Because the effect depends on the font (and for Cambria one could use for
61instance \type {"16}) we finally decided to kick it out and correct the font
62instead using the font goodie file. After all it's more a \CONTEXT\ preference
63than an overall demand (read: we think no one else cares much about this).
64
65The \type {"20} options to not error on a missing right fence has been turned
66into \prm {mathcheckfencesmode}.
67
68\stopsubsection
69
70\startsubsection[title=Flattening]
71
72The \tex {mathflattenmode} primitive is gone as we have other ways to deal with
73this now. It related to italic corrections in traditional fonts.
74
75\stopsubsection
76
77\startsubsection[title=Rules]
78
79The \tex {mathrulethicknessmode} feature has been turned into a class option
80which is more granular.
81
82\stopsection
83
84\startsubsection[title=Control]
85
86Although it has its use when developing \LUAMETATEX\ the \tex {mathcontrolmode}
87parameters is no longer there. We have plenty of (more) detailed control now.
88
89\stopsection
90
91
92\stopchapter
93
94\stopcomponent
95