added LaTeXMathML files
[lambda.git] / jsMath / plugins / noCache.js
1 /*
2  *  noCache.js
3  *  
4  *  Part of the jsMath package for mathematics on the web.
5  *
6  *  This file disables the equation cache that jsMath uses to
7  *  store the typeset versions of TeX code so that common expressions
8  *  won't need to be re-typeset.
9  *
10  *  ---------------------------------------------------------------------
11  *
12  *  Copyright 2006 by Davide P. Cervone
13  * 
14  *  Licensed under the Apache License, Version 2.0 (the "License");
15  *  you may not use this file except in compliance with the License.
16  *  You may obtain a copy of the License at
17  * 
18  *      http://www.apache.org/licenses/LICENSE-2.0
19  * 
20  *  Unless required by applicable law or agreed to in writing, software
21  *  distributed under the License is distributed on an "AS IS" BASIS,
22  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  *  See the License for the specific language governing permissions and
24  *  limitations under the License.
25  */
26
27 jsMath.Add(jsMath,{
28
29   /*
30    *  Get the width and height (in ems) of an HTML string
31    */
32   EmBoxFor: function (s) {
33     var bbox = this.BBoxFor(s);
34     return {w: bbox.w/this.em, h: bbox.h/this.em};
35   },
36
37   /*
38    *  For browsers that don't handle sizes of italics properly (MSIE)
39    */
40   EmBoxForItalics: function (s) {
41     var bbox = this.BBoxFor(s);
42     if (s.match(/<i>|class=\"(icm|italic|igreek|iaccent)/i)) {
43       bbox.w = this.BBoxFor(s+jsMath.Browser.italicString).w
44                 - jsMath.Browser.italicCorrection;
45     }
46     return {w: bbox.w/this.em, h: bbox.h/this.em};
47   }
48   
49 });
50
51 jsMath.Add(jsMath.Translate,{
52
53   /*
54    *  Typeset a string in \textstyle and return the HTML for it
55    */
56   TextMode: function (s) {
57     var parse = jsMath.Parse(s,null,null,'T');
58     parse.Atomize();
59     return parse.Typeset();
60   },
61
62   /*
63    *  Typeset a string in \displaystyle and return the HTML for it
64    */
65   DisplayMode: function (s) {
66     var parse = jsMath.Parse(s,null,null,'D');
67     parse.Atomize();
68     return parse.Typeset();
69   }
70
71 });