Received: by nummer-3.proteosys id <01C19443.AC085F2C@nummer-3.proteosys>; Thu, 3 Jan 2002 11:44:51 +0100 Return-Path: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C19443.AC085F2C" x-vm-v5-data: ([nil nil nil nil nil nil nil nil nil][nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message Subject: Some excerpts from the previous discussion re nfss 2 Date: Wed, 24 Jun 1992 10:11:25 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Rainer Schoepf" Sender: "Mailing list for the LaTeX3 project" To: "Rainer M. Schoepf" Reply-To: "Mailing list for the LaTeX3 project" Status: R X-Status: X-Keywords: X-UID: 722 This is a multi-part message in MIME format. ------_=_NextPart_001_01C19443.AC085F2C Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Chris showed some examples on how scaled math fonts could be specified: So here are some examples of possible simple cases: these could be implemented fairly easily using the techniques similar to those in Frank's recent stuff for scaled fonts. (Disclaimer: Rainer is not responsible for the following, unless they turn out to be "just what is needed":-}.) There are two examples here, the second is upwardly compatible with the first. 1. For use with scalable text fonts and unscalable math fonts: Three constant functions. 2. For use with scalable text fonts and scalable math fonts: Three linear functions, but only one type of specification (values at end-points of the range). I cannot see how anything less general than this can be useful for scaled fonts. Here are the types of input required to set-up the tables: something of this form would replace the present collection of \define@mathsizes commands. 1. Constants: \mathsizes@table{% <*5-5.5>{5}{5}{5}% <*5.5-6.5>{6}{5}{5}% <*6.5-7.5>{7}{6}{5}% <*7.5-8.5>{8}{6}{5}% <*8.5-9.5>{9}{7}{5}% <*9.5-10.5>{10}{8}{6}% <*10.5-11.5>{11}{9}{7}% <*11.5-12.5>{12}{10}{8}% ) [Semantics (eg): <*7.5-8.5>{8}{6}{5}% means that for text-size in the range 7.5pt to 8.5pt, math-size is 8pt scriptsize is 6pt scriptscriptsize is 5pt ] 2. This one also contains more general linear functions (defined by their end-point values): \mathsizes@table{% <*5-5.5>{5}{5}{5}% <*5.5-6.5>{*I}{5}{5}% <*6.5-7.5>{*I}{*5-5.5}{5}% <*7.5-8.5>{*I}{*5.5-6.5}{5}% <*8.5-9.5>{*I}{*6.5-7.5}{*5-5.5}% <*9.5-10.5>{*I}{*7.5-8.5}{{*5.5-6.5}}% <*10.5-11.5>{*I}{8.5-9.5}{*6.5-7.5}% <*11.5-12.5>{*I}{*9.5-10.5}{*7.5-8.5}% } [Semantics (eg): <*7.5-8.5>{*I}{*5.5-6.5}{5}% means that for text-size in the range 7.5pt to 8.5pt, math-size is equal to text-size (I is short for "identical") scriptsize is calculated by linear interpolation (a straight-line graph) between the value of 5.5pt when text-size is 7.5pt and 6.5pt when the text-size is 8.5pt scriptscriptsize is 5pt ] ----------- The first time a text-size is called in a document, the result of consulting tables such as the above is stored in the same way as all math-sizes are stored at present; so that the next time that same size is called, the math-sizes are immediately available---no need to analyse the set-up table again. For example, in Example 2, if \size{9.2} is used, then "\S@9.2" is defined to be the following token list (without spaces, hoffentlich!): \gdef\mf@size{9.2} \gdef\sf@size{7.2} \gdef\ssf@size{5.35} Note that this means that the math-sizes table in use should not be changed within a document. ------------ To which I replied: Yes, but I pointed out before that the relation between \fontsize, and the corresponding three mathsizes may change when fonts are changed. Example: imagine switching from cm-type fonts to ccr or grotesque-type or whatever. It may then be that the math sizes have to be calculated anew, in other words, what has been stored before has to be deleted. I think it is crucial to allow such a change. I *don't* think it has to be as efficient as the rest of the font change mechanism. Finally, something that was only briefly mentioned in our pensees du jardin: some dimen parameters should change with the size, e.g. the height of \bigggggggggggggg delimiters, or \jot. The idea was to record this in the mathsizes table, e.g. \mathsizes@table{% <*5-5.5>{5}{5}{5}{\jot:*1.5-1.8}% <*5.5-6.5>{*I}{5}{5}{\jot:*1.8-2}% <*6.5-7.5>{*I}{*5-5.5}{5}{\jot:2-2.3}% . da capo at nausea } Open questions: 1. Is this a good idea? 2. If so, which syntax is apropriate? So, I'd appreciate comments on that issue. Rainer Sch"opf ------_=_NextPart_001_01C19443.AC085F2C Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Some excerpts from the previous discussion re nfss 2

Chris showed some examples on how scaled math fonts = could be
specified:

So here are some examples of possible simple cases: = these could be
implemented fairly easily using the techniques = similar to those in
Frank's recent stuff for scaled fonts. (Disclaimer: = Rainer is not
responsible for the following, unless they turn out = to be "just what
is needed":-}.)

There are two examples here, the second is upwardly = compatible with
the first.

1.  For use with scalable text fonts and = unscalable math fonts:

Three constant functions.

2.  For use with scalable text fonts and scalable = math fonts:

Three linear functions, but only one type of = specification (values at
end-points of the range).  I cannot see how = anything less general than
this can be useful for scaled fonts.


Here are the types of input required to set-up the = tables:
something of this form would replace the present = collection of
\define@mathsizes commands.

1. Constants:

\mathsizes@table{%
<*5-5.5>{5}{5}{5}%
<*5.5-6.5>{6}{5}{5}%
<*6.5-7.5>{7}{6}{5}%
<*7.5-8.5>{8}{6}{5}%
<*8.5-9.5>{9}{7}{5}%
<*9.5-10.5>{10}{8}{6}%
<*10.5-11.5>{11}{9}{7}%
<*11.5-12.5>{12}{10}{8}%
)

[Semantics (eg):

<*7.5-8.5>{8}{6}{5}%   means that for = text-size in the range
  7.5pt to 8.5pt,

  math-size is 8pt
  scriptsize is 6pt
  scriptscriptsize is 5pt ]


2. This one also contains more general linear = functions
(defined by their end-point values):

\mathsizes@table{%
<*5-5.5>{5}{5}{5}%
<*5.5-6.5>{*I}{5}{5}%
<*6.5-7.5>{*I}{*5-5.5}{5}%
<*7.5-8.5>{*I}{*5.5-6.5}{5}%
<*8.5-9.5>{*I}{*6.5-7.5}{*5-5.5}%
<*9.5-10.5>{*I}{*7.5-8.5}{{*5.5-6.5}}%
<*10.5-11.5>{*I}{8.5-9.5}{*6.5-7.5}%
<*11.5-12.5>{*I}{*9.5-10.5}{*7.5-8.5}%
}

[Semantics (eg):

<*7.5-8.5>{*I}{*5.5-6.5}{5}%   means = that for text-size in the range
  7.5pt to 8.5pt,

  math-size is equal to text-size (I is short for = "identical")
  scriptsize is calculated by linear = interpolation (a straight-line
    graph) between the value of 5.5pt = when text-size is 7.5pt and 6.5pt
    when the text-size is 8.5pt
  scriptscriptsize is 5pt ]

-----------

The first time a text-size is called in a document, = the result of
consulting tables such as the above is stored in the = same way as all
math-sizes are stored at present; so that the next = time that same size
is called, the math-sizes are immediately = available---no need to
analyse the set-up table again.

For example, in Example 2, if \size{9.2} is used, = then

"\S@9.2"  is defined to be the = following token list (without spaces,
hoffentlich!):

\gdef\mf@size{9.2}
\gdef\sf@size{7.2}
\gdef\ssf@size{5.35}

Note that this means that the math-sizes table in use = should not be
changed within a document.

------------

To which I replied:

Yes, but I pointed out before that the relation = between \fontsize, and
the corresponding three mathsizes may change when = fonts are changed.
Example: imagine switching from cm-type fonts to ccr = or grotesque-type
or whatever. It may then be that the math sizes have = to be calculated
anew, in other words, what has been stored before has = to be deleted.

I think it is crucial to allow such a change. I = *don't* think it has
to be as efficient as the rest of the font change = mechanism.

Finally, something that was only briefly mentioned in = our pensees du
jardin: some dimen parameters should change with the = size, e.g. the
height of \bigggggggggggggg delimiters, or \jot. The = idea was to
record this in the mathsizes table, e.g.

\mathsizes@table{%
<*5-5.5>{5}{5}{5}{\jot:*1.5-1.8}%
<*5.5-6.5>{*I}{5}{5}{\jot:*1.8-2}%
<*6.5-7.5>{*I}{*5-5.5}{5}{\jot:2-2.3}%
. da capo at nausea
}


Open questions:

1. Is this a good idea?
2. If so, which syntax is apropriate?


So, I'd appreciate comments on that issue.

Rainer Sch"opf

------_=_NextPart_001_01C19443.AC085F2C--