home *** CD-ROM | disk | FTP | other *** search
/ Freelog 121 / FreelogMagazineJuilletAout2014-No121.iso / Bureautique / calibre / calibre-1.35.0.msi / file_701 < prev    next >
Text File  |  2013-05-28  |  2KB  |  56 lines

  1. /*************************************************************
  2.  *
  3.  *  MathJax/jax/output/SVG/autoload/ms.js
  4.  *  
  5.  *  Implements the SVG output for <ms> elements.
  6.  *
  7.  *  ---------------------------------------------------------------------
  8.  *  
  9.  *  Copyright (c) 2011-2012 Design Science, Inc.
  10.  * 
  11.  *  Licensed under the Apache License, Version 2.0 (the "License");
  12.  *  you may not use this file except in compliance with the License.
  13.  *  You may obtain a copy of the License at
  14.  * 
  15.  *      http://www.apache.org/licenses/LICENSE-2.0
  16.  * 
  17.  *  Unless required by applicable law or agreed to in writing, software
  18.  *  distributed under the License is distributed on an "AS IS" BASIS,
  19.  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  20.  *  See the License for the specific language governing permissions and
  21.  *  limitations under the License.
  22.  */
  23.  
  24. MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
  25.   var VERSION = "2.0";
  26.   var MML = MathJax.ElementJax.mml,
  27.       SVG = MathJax.OutputJax.SVG;
  28.   
  29.   MML.ms.Augment({
  30.     toSVG: function () {
  31.       var svg = this.SVG(); this.SVGhandleSpace(svg);
  32.       var values = this.getValues("lquote","rquote");
  33.       var variant = this.SVGgetVariant(), scale = this.SVGgetScale();
  34.       var text = this.data.join("");  // FIXME:  handle mglyph?
  35.       var pattern = [];
  36.       if (values.lquote.length === 1) {pattern.push(this.SVGquoteRegExp(values.lquote))}
  37.       if (values.rquote.length === 1) {pattern.push(this.SVGquoteRegExp(values.rquote))}
  38.       if (pattern.length) {text = text.replace(RegExp("("+pattern.join("|")+")","g"),"\\$1")}
  39.       svg.Add(this.SVGhandleVariant(variant,scale,values.lquote+text+values.rquote));
  40.       svg.Clean();
  41.       this.SVGhandleColor(svg);
  42.       this.SVGsaveData(svg);
  43.       return svg;
  44.     },
  45.     SVGquoteRegExp: function (string) {
  46.       return string.replace(/([.*+?|{}()\[\]\\])/g,"\\$1");
  47.     }
  48.   });
  49.   MML.ms.prototype.defaults.mathvariant = 'monospace';
  50.   
  51.   MathJax.Hub.Startup.signal.Post("SVG ms Ready");
  52.   MathJax.Ajax.loadComplete(SVG.autoloadDir+"/ms.js");
  53.  
  54. });
  55.  
  56.